Support for XISF
This commit is contained in:
+522
@@ -0,0 +1,522 @@
|
||||
// ____ ______ __
|
||||
// / __ \ / ____// /
|
||||
// / /_/ // / / /
|
||||
// / ____// /___ / /___ PixInsight Class Library
|
||||
// /_/ \____//_____/ PCL 2.4.23
|
||||
// ----------------------------------------------------------------------------
|
||||
// pcl/GlobalSettings.h - Released 2022-03-12T18:59:29Z
|
||||
// ----------------------------------------------------------------------------
|
||||
// This file is part of the PixInsight Class Library (PCL).
|
||||
// PCL is a multiplatform C++ framework for development of PixInsight modules.
|
||||
//
|
||||
// Copyright (c) 2003-2022 Pleiades Astrophoto S.L. All Rights Reserved.
|
||||
//
|
||||
// Redistribution and use in both source and binary forms, with or without
|
||||
// modification, is permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. All redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. All redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. Neither the names "PixInsight" and "Pleiades Astrophoto", nor the names
|
||||
// of their contributors, may be used to endorse or promote products derived
|
||||
// from this software without specific prior written permission. For written
|
||||
// permission, please contact info@pixinsight.com.
|
||||
//
|
||||
// 4. All products derived from this software, in any form whatsoever, must
|
||||
// reproduce the following acknowledgment in the end-user documentation
|
||||
// and/or other materials provided with the product:
|
||||
//
|
||||
// "This product is based on software from the PixInsight project, developed
|
||||
// by Pleiades Astrophoto and its contributors (https://pixinsight.com/)."
|
||||
//
|
||||
// Alternatively, if that is where third-party acknowledgments normally
|
||||
// appear, this acknowledgment must be reproduced in the product itself.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY PLEIADES ASTROPHOTO AND ITS CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PLEIADES ASTROPHOTO OR ITS
|
||||
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
// EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, BUSINESS
|
||||
// INTERRUPTION; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; AND LOSS OF USE,
|
||||
// DATA OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifndef __PCL_GlobalSettings_h
|
||||
#define __PCL_GlobalSettings_h
|
||||
|
||||
/// \file pcl/GlobalSettings.h
|
||||
|
||||
#include <pcl/Defs.h>
|
||||
#include <pcl/Diagnostics.h>
|
||||
|
||||
#include <pcl/Color.h>
|
||||
#include <pcl/String.h>
|
||||
|
||||
#ifndef __PCL_BUILDING_PIXINSIGHT_APPLICATION
|
||||
#include <pcl/Font.h>
|
||||
#endif
|
||||
|
||||
namespace pcl
|
||||
{
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
* \namespace pcl::GlobalVariableType
|
||||
* \brief Data types for global platform variables
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>GlobalVariableType::Undefined</td> <td>Indicates that the requested global variable does not exist.</td></tr>
|
||||
* <tr><td>GlobalVariableType::Flag</td> <td>Boolean value.</td></tr>
|
||||
* <tr><td>GlobalVariableType::Integer</td> <td>Signed integer.</td></tr>
|
||||
* <tr><td>GlobalVariableType::Unsigned</td> <td>Unsigned integer.</td></tr>
|
||||
* <tr><td>GlobalVariableType::Real</td> <td>Floating point real (IEEE 64-bit floating point).</td></tr>
|
||||
* <tr><td>GlobalVariableType::Color</td> <td>RGBA color (uint32).</td></tr>
|
||||
* <tr><td>GlobalVariableType::Font</td> <td>A font face (a string).</td></tr>
|
||||
* <tr><td>GlobalVariableType::String</td> <td>A UTF-16 string.</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
namespace GlobalVariableType
|
||||
{
|
||||
enum value_type
|
||||
{
|
||||
Undefined, // The requested global variable doesn't exist
|
||||
Flag, // bool
|
||||
Integer, // int
|
||||
Unsigned, // unsigned
|
||||
Real, // double
|
||||
Color, // RGBA (= uint32)
|
||||
Font, // Font
|
||||
String // String
|
||||
};
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
* \class PixInsightSettings
|
||||
* \brief Retrieves global settings from the PixInsight core application
|
||||
*
|
||||
* PixInsight global settings, also known as <em>global variables</em>, are
|
||||
* identifier/value pairs available from the core application to all installed
|
||||
* modules. Settings can be of six types: flags (or Boolean), integer (signed
|
||||
* and unsigned), real (floating point), color, font, and string. See the
|
||||
* pcl::GlobalVariableType namespace for more details.
|
||||
*
|
||||
* Below is a complete list of all global settings available in current
|
||||
* versions of the PixInsight platform (updated as of core version 1.8.8-13).
|
||||
*
|
||||
* <h3>PixInsight Public Global Variables</h3>
|
||||
*
|
||||
* <h4>Global %Flags</h4>
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>Application/AutoUIScaling</td><td></td></tr>
|
||||
* <tr><td>Application/HealRegistryInformationOnUpdates</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/DefaultEmbedProfilesInGrayscaleImages</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/DefaultEmbedProfilesInRGBImages</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/DefaultGamutCheckEnabled</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/DefaultProofingEnabled</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/IsEnabled</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/IsValid</td><td>Read-only.</td></tr>
|
||||
* <tr><td>ColorManagement/UseLowResolutionCLUTs</td><td></td></tr>
|
||||
* <tr><td>ColorManagement/UseProofingBPC</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/BackupFiles</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/CreatePreviewsFromCoreProperties</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/Default24BitScreenLUT</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/DefaultEmbedProperties</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/DefaultEmbedThumbnails</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/DefaultMasksShown</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/DefaultMetricResolution</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/FastScreenRenditions</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/FileFormatWarnings</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/FollowDownloadLocations</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/HighDPIRenditions</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/LoadAstrometricSolutions</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/LoadInitialProcessingFromCoreProperties</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/MeasureScreenRenderingPerformance</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/NativeFileDialogs</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ProjectVerifyIncrementalChecksums</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/RememberFileOpenType</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/RememberFileSaveType</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowActiveSTFIndicators</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowCaptionCurrentChannels</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowCaptionFullPaths</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowCaptionIdentifiers</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowCaptionZoomRatios</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/ShowViewSelectorImageThumbnails</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/StrictFileSaveMode</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/SwapCompression</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/TouchEvents</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/UseFileNamesAsImageIdentifiers</td><td></td></tr>
|
||||
* <tr><td>ImageWindow/VerboseNetworkOperations</td><td>Not available on Windows.</td></tr>
|
||||
* <tr><td>ImageWindow/ZoomAtCursor</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AcceptDroppedFiles</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AnimateCombo</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AnimateMenu</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AnimateToolBox</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AnimateToolTip</td><td></td></tr>
|
||||
* <tr><td>MainWindow/AnimateWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/CapitalizedMenuBars</td><td></td></tr>
|
||||
* <tr><td>MainWindow/CheckForUpdatesAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ConfirmProgramTermination</td><td></td></tr>
|
||||
* <tr><td>MainWindow/DesktopSettingsAware</td><td></td></tr>
|
||||
* <tr><td>MainWindow/DoubleClickLaunchesOpenDialog</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ExpandFavoritesAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ExpandMostUsedAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ExpandRecentlyUsedAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ExplodeIcons</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FadeAutoHideWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FadeMenu</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FadeToolTip</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FadeWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FadeWorkspaces</td><td></td></tr>
|
||||
* <tr><td>MainWindow/FullScreenAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/HighQualityWallpapers</td><td></td></tr>
|
||||
* <tr><td>MainWindow/HoverableAutoHideWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ImplodeIcons</td><td></td></tr>
|
||||
* <tr><td>MainWindow/MaximizeAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/NativeMenuBar</td><td></td></tr>
|
||||
* <tr><td>MainWindow/OpenURLsWithInternalBrowser</td><td></td></tr>
|
||||
* <tr><td>MainWindow/OpenResourcesOnNewWebBrowserWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/PrivateWebBrowsingMode</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowFavorites</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowMostUsed</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowRecentlyUsed</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowSplashAtStartup</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowViewListImageThumbnails</td><td></td></tr>
|
||||
* <tr><td>MainWindow/ShowWorkspaceThumbnails</td><td></td></tr>
|
||||
* <tr><td>MainWindow/TranslucentAutoHideWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/TranslucentChildWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/TranslucentWindows</td><td></td></tr>
|
||||
* <tr><td>MainWindow/UseWallpapers</td><td></td></tr>
|
||||
* <tr><td>MainWindow/WindowButtonsOnTheLeft</td><td></td></tr>
|
||||
* <tr><td>Process/AlertOnProcessCompleted</td><td></td></tr>
|
||||
* <tr><td>Process/BackupFiles</td><td></td></tr>
|
||||
* <tr><td>Process/EnableCUDAAcceleration</td><td></td></tr>
|
||||
* <tr><td>Process/EnableExecutionStatistics</td><td></td></tr>
|
||||
* <tr><td>Process/EnableLaunchStatistics</td><td></td></tr>
|
||||
* <tr><td>Process/EnableParallelCoreColorManagement</td><td></td></tr>
|
||||
* <tr><td>Process/EnableParallelCoreRendering</td><td></td></tr>
|
||||
* <tr><td>Process/EnableParallelModuleProcessing</td><td></td></tr>
|
||||
* <tr><td>Process/EnableParallelProcessing</td><td></td></tr>
|
||||
* <tr><td>Process/EnableThreadCPUAffinity</td><td></td></tr>
|
||||
* <tr><td>Process/GenerateScriptComments</td><td></td></tr>
|
||||
* <tr><td>Process/InitCUDARuntimeAtStartup</td><td></td></tr>
|
||||
* <tr><td>Process/VerifyScriptChecksums</td><td></td></tr>
|
||||
* </table>
|
||||
*
|
||||
* <h4>Global Integers</h4>
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>Application/FontResolution</td><td>In dots per inch.</td></tr>
|
||||
* <tr><td>ColorManagement/DefaultRenderingIntent</td><td>See the pcl::ICCRenderingIntent namespace.</td></tr>
|
||||
* <tr><td>ColorManagement/OnMissingProfile</td><td>Core application policies. See the documentation for ColorManagementSetup.</td></tr>
|
||||
* <tr><td>ColorManagement/OnProfileMismatch</td><td>Core application policies. See the documentation for ColorManagementSetup.</td></tr>
|
||||
* <tr><td>ColorManagement/ProofingIntent</td><td>See the pcl::ICCRenderingIntent namespace.</td></tr>
|
||||
* <tr><td>ImageWindow/CursorTolerance</td><td>In device pixels.</td></tr>
|
||||
* <tr><td>ImageWindow/DefaultMaskMode</td><td>See the pcl::MaskMode namespace.</td></tr>
|
||||
* <tr><td>ImageWindow/DefaultTransparencyMode</td><td>See the pcl::TransparencyMode namespace.</td></tr>
|
||||
* <tr><td>ImageWindow/FastScreenRenditionThreshold</td><td>In MiB.</td></tr>
|
||||
* <tr><td>ImageWindow/ImageThumbnailSize</td><td>In image pixels.</td></tr>
|
||||
* <tr><td>ImageWindow/ProjectThumbnailSize</td><td>In image pixels.</td></tr>
|
||||
* <tr><td>ImageWindow/WheelStepAngle</td><td>In degrees, unsigned.</td></tr>
|
||||
* <tr><td>ImageWindow/WheelDirection</td><td>When >= 0, rotating forward zooms out. When < 0, rotating forward zooms in.</td></tr>
|
||||
* <tr><td>MainWindow/MaxRecentFiles</td><td>Maximum length of recent file menu lists.</td></tr>
|
||||
* <tr><td>Process/AutoSavePSMPeriod</td><td>In seconds.</td></tr>
|
||||
* <tr><td>Process/ConsoleDelay</td><td>In milliseconds.</td></tr>
|
||||
* <tr><td>Process/MaxConsoleLines</td><td>Maximum number of stored text lines on %Process %Console.</td></tr>
|
||||
* <tr><td>Process/MaxModuleThreadPriority</td><td>From 0=idle to 7=real-time.</td></tr>
|
||||
* <tr><td>Process/MaxProcessors</td><td>Maximum number of processor cores allowed for installed modules.</td></tr>
|
||||
* <tr><td>Process/MaxFileReadThreads</td><td>Maximum number of concurrent file reading threads.</td></tr>
|
||||
* <tr><td>Process/MaxFileWriteThreads</td><td>Maximum number of concurrent file writing threads.</td></tr>
|
||||
* <tr><td>Process/MaxUsageListLength</td><td>Maximum length of the <em>Recently Used</em> and <em>Most Used</em> lists on %Process %Explorer.</td></tr>
|
||||
* <tr><td>System/NumberOfProcessors</td><td>Total number of processor cores available. Read-only.</td></tr>
|
||||
* <tr><td>TransparencyBrush/Brush</td><td>See the pcl::BackgroundBrush namespace.</td></tr>
|
||||
* <tr><td>Workspace/PrimaryScreenCenterX</td><td>Read-only. In physical device pixels.</td></tr>
|
||||
* <tr><td>Workspace/PrimaryScreenCenterY</td><td>Read-only. In physical device pixels.</td></tr>
|
||||
* <tr><td>Workspace/IconGridSpacing</td><td>Grid distance for aligned icon positions on all workspaces. In logical device pixels.</td></tr>
|
||||
* </table>
|
||||
*
|
||||
* <h4>Global Reals</h4>
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>Application/StartJD</td><td>Starting time of the core application instance as a Julian day number. Read-only.</td></tr>
|
||||
* <tr><td>Application/UIScalingFactor</td><td>Global interface scaling factor of the core application. In the range [1.0,4.0].</td></tr>
|
||||
* <tr><td>ImageWindow/DefaultHorizontalResolution</td><td>In device pixels per resolution unit. See the ImageWindow/DefaultMetricResolution global variable.</td></tr>
|
||||
* <tr><td>ImageWindow/DefaultVerticalResolution</td><td>In device pixels per resolution unit. See the ImageWindow/DefaultMetricResolution global variable.</td></tr>
|
||||
* <tr><td>ImageWindow/PinchSensitivity</td><td>For touch events. In device pixels.</td></tr>
|
||||
* <tr><td>MainWindow/ActiveWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* <tr><td>MainWindow/AutoHideWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* <tr><td>MainWindow/InactiveChildWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* <tr><td>MainWindow/InactiveWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* <tr><td>MainWindow/MovingChildWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* <tr><td>MainWindow/MovingWindowOpacity</td><td>Window opacity in the [0,1] range.</td></tr>
|
||||
* </table>
|
||||
*
|
||||
* <h4>Global Colors</h4>
|
||||
*
|
||||
* Since PixInsight core version 1.8.0, most UI colors and fonts are defined in
|
||||
* cascading style sheet files loaded automatically on startup. Only the
|
||||
* following four color variables remain because they are purely functional
|
||||
* (i.e., not related to the appearance of GUI controls).
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>ColorManagement/GamutWarningColor</td><td>For signaling out-of-gamut pixels in color proofing image renditions.</td></tr>
|
||||
* <tr><td>TransparencyBrush/BackgroundColor</td><td>Background brush color for renditions of translucent image pixels.</td></tr>
|
||||
* <tr><td>TransparencyBrush/DefaultColor</td><td>Opaque color for renditions of translucent image pixels.</td></tr>
|
||||
* <tr><td>TransparencyBrush/ForegroundColor</td><td>Foreground brush color for renditions of translucent image pixels.</td></tr>
|
||||
* </table>
|
||||
*
|
||||
* <h4>Global Fonts</h4>
|
||||
*
|
||||
* Currently there are no global font variables. Since PixInsight core version
|
||||
* 1.8.0, all UI fonts are defined through cascading style sheet files loaded
|
||||
* automatically on startup.
|
||||
*
|
||||
* <h4>Global Strings</h4>
|
||||
*
|
||||
* <table border="1" cellpadding="4" cellspacing="0">
|
||||
* <tr><td>Application/AppDirectory</td><td>Full path to the distribution's core application bundle. Read-only. macOS only,</td></tr>
|
||||
* <tr><td>Application/AsteroidEphemeridesFile</td><td>File name or path of the distribution's asteroid ephemerides file (XEPH format).</td></tr>
|
||||
* <tr><td>Application/AsteroidEphemeridesFilePath</td><td>Full path to the current distribution's asteroid ephemerides file (XEPH format). Read-only.</td></tr>
|
||||
* <tr><td>Application/BaseDirectory</td><td>Base directory of the core distribution. Read-only.</td></tr>
|
||||
* <tr><td>Application/BinDirectory</td><td>Full path to the distribution's bin directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/CIP_ITRSDataFile</td><td>File name or path of the distribution's data file of CIP coordinates in the ITRS (plain text).</td></tr>
|
||||
* <tr><td>Application/CIP_ITRSDataFilePath</td><td>Full path to the current distribution's data file of CIP coordinates in the ITRS (plain text). Read-only</td></tr>
|
||||
* <tr><td>Application/CoreDirectory</td><td>Full directory of the core executable file. Read-only.</td></tr>
|
||||
* <tr><td>Application/CoreFilePath</td><td>Full file path of the core executable. Read-only.</td></tr>
|
||||
* <tr><td>Application/DeltaATDataFile</td><td>File name or path of the distribution's Delta AT (TAI-UTC) data file (plain text).</td></tr>
|
||||
* <tr><td>Application/DeltaATDataFilePath</td><td>Full path to the current distribution's Delta AT (TAI-UTC) data file (plain text). Read-only</td></tr>
|
||||
* <tr><td>Application/DeltaTDataFile</td><td>File name or path of the distribution's Delta T (TT-UT1) data file (plain text).</td></tr>
|
||||
* <tr><td>Application/DeltaTDataFilePath</td><td>Full path to the current distribution's Delta T (TT-UT1) data file (plain text). Read-only</td></tr>
|
||||
* <tr><td>Application/DocDirectory</td><td>Full path to the distribution's doc directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/EtcDirectory</td><td>Full path to the distribution's etc directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/FundamentalEphemeridesFile</td><td>File name or path of the distribution's fundamental ephemerides file (XEPH format).</td></tr>
|
||||
* <tr><td>Application/FundamentalEphemeridesFilePath</td><td>Full path to the current distribution's fundamental ephemerides file (XEPH format). Read-only.</td></tr>
|
||||
* <tr><td>Application/HighResFont</td><td>%Font family for automatic style sheet replacement on high-dpi displays.</td></tr>
|
||||
* <tr><td>Application/HighResMonoFont</td><td>Monospaced font family for automatic style sheet replacement on high-dpi displays.</td></tr>
|
||||
* <tr><td>Application/IncludeDirectory</td><td>Full path to the distribution's include directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/LibDirectory</td><td>Full path to the distribution's lib directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/LibraryDirectory</td><td>Full path to the distribution's library directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/LowResFont</td><td>%Font family for automatic style sheet replacement on low-dpi displays.</td></tr>
|
||||
* <tr><td>Application/LowResMonoFont</td><td>Monospaced font family for automatic style sheet replacement on low-dpi displays.</td></tr>
|
||||
* <tr><td>Application/NutationModelFile</td><td>File name or path of the distribution's nutation model file (XEPH format).</td></tr>
|
||||
* <tr><td>Application/NutationModelFilePath</td><td>Full path to the current distribution's nutation model file (XEPH format). Read-only.</td></tr>
|
||||
* <tr><td>Application/ResourceFile01</td><td>Core resource file #1.</td></tr>
|
||||
* <tr><td>Application/ResourceFile02</td><td>Core resource file #2.</td></tr>
|
||||
* <tr><td>Application/ResourceFile03</td><td>Core resource file #3.</td></tr>
|
||||
* <tr><td>Application/ResourceFile04</td><td>Core resource file #4.</td></tr>
|
||||
* <tr><td>Application/ResourceFile05</td><td>Core resource file #5.</td></tr>
|
||||
* <tr><td>Application/ResourceFile06</td><td>Core resource file #6.</td></tr>
|
||||
* <tr><td>Application/ResourceFile07</td><td>Core resource file #7.</td></tr>
|
||||
* <tr><td>Application/ResourceFile08</td><td>Core resource file #8.</td></tr>
|
||||
* <tr><td>Application/ResourceFile09</td><td>Core resource file #9.</td></tr>
|
||||
* <tr><td>Application/ResourceFile10</td><td>Core resource file #10.</td></tr>
|
||||
* <tr><td>Application/RscDirectory</td><td>Full path to the distribution's rsc directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/ShortTermAsteroidEphemeridesFile</td><td>File name or path of the distribution's asteroid ephemerides file (XEPH format) - short-term version (reduced time span).</td></tr>
|
||||
* <tr><td>Application/ShortTermAsteroidEphemeridesFilePath</td><td>Full path to the current distribution's asteroid ephemerides file (XEPH format) - short-term version (reduced time span). Read-only.</td></tr>
|
||||
* <tr><td>Application/ShortTermFundamentalEphemeridesFile</td><td>File name or path of the distribution's fundamental ephemerides file (XEPH format) - short-term version (reduced time span).</td></tr>
|
||||
* <tr><td>Application/ShortTermFundamentalEphemeridesFilePath</td><td>Full path to the current distribution's fundamental ephemerides file (XEPH format) - short-term version (reduced time span). Read-only.</td></tr>
|
||||
* <tr><td>Application/ShortTermNutationModelFile</td><td>File name or path of the distribution's nutation model file (XEPH format) - short-term version (reduced time span).</td></tr>
|
||||
* <tr><td>Application/ShortTermNutationModelFilePath</td><td>Full path to the current distribution's nutation model file (XEPH format) - short-term version (reduced time span). Read-only.</td></tr>
|
||||
* <tr><td>Application/SrcDirectory</td><td>Full path to the distribution's src directory. Read-only.</td></tr>
|
||||
* <tr><td>Application/StartTime</td><td>Starting time of the core application in ISO 8601 extended format. Read-only.</td></tr>
|
||||
* <tr><td>Application/StyleSheetFile</td><td>Main core stile sheet file.</td></tr>
|
||||
* <tr><td>ColorManagement/DefaultGrayscaleProfilePath</td><td>Full path to the default ICC color profile for grayscale monochrome images.</td></tr>
|
||||
* <tr><td>ColorManagement/DefaultRGBProfilePath</td><td>Full path to the default ICC color profile for RGB color images.</td></tr>
|
||||
* <tr><td>ColorManagement/MonitorProfilePath</td><td>Full path to the ICC color profile associated with the primary monitor. Read-only.</td></tr>
|
||||
* <tr><td>ColorManagement/ProofingProfilePath</td><td>Full path to the ICC color profile for the color proofing target device.</td></tr>
|
||||
* <tr><td>ColorManagement/UpdateMonitorProfile</td><td>Full path to the scheduled new ICC color profile for the primary monitor. Write-only. See the documentation for ColorManagementSetup.</td></tr>
|
||||
* <tr><td>FileFormat/ReadFilters</td><td>A list of file filters for file formats capable of image read operations, suitable for file dialogs. Read-only. Updated dynamically on-demand.</td></tr>
|
||||
* <tr><td>FileFormat/WriteFilters</td><td>A list of file filters for file formats capable of image write operations, suitable for file dialogs. Read-only. Updated dynamically on-demand.</td></tr>
|
||||
* <tr><td>ImageContainerIcon/Prefix</td><td>Prefix for automatically generated image container identifiers.</td></tr>
|
||||
* <tr><td>ImageWindow/ClonePostfix</td><td>Postfix appended to image duplicates</td></tr>
|
||||
* <tr><td>ImageWindow/DefaultFileExtension</td><td>The default file suffix used to save newly created images.</td></tr>
|
||||
* <tr><td>ImageWindow/DownloadsDirectory</td><td>Full path to the core downloads directory.</td></tr>
|
||||
* <tr><td>ImageWindow/NewImageCaption</td><td>Window title token for signaling newly created images.</td></tr>
|
||||
* <tr><td>ImageWindow/Prefix</td><td>Prefix used for automatically generated image identifiers.</td></tr>
|
||||
* <tr><td>ImageWindow/ProxyURL</td><td>The proxy that will be used for core network operations.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile01</td><td>Core workspace wallpaper file #1.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile02</td><td>Core workspace wallpaper file #2.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile03</td><td>Core workspace wallpaper file #3.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile04</td><td>Core workspace wallpaper file #4.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile05</td><td>Core workspace wallpaper file #5.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile06</td><td>Core workspace wallpaper file #6.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile07</td><td>Core workspace wallpaper file #7.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile08</td><td>Core workspace wallpaper file #8.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile09</td><td>Core workspace wallpaper file #9.</td></tr>
|
||||
* <tr><td>MainWindow/WallpaperFile10</td><td>Core workspace wallpaper file #10.</td></tr>
|
||||
* <tr><td>Preview/Prefix</td><td>Prefix used for automatically generated preview identifiers.</td></tr>
|
||||
* <tr><td>ProcessIcon/Prefix</td><td>Prefix used for automatically generated process icon identifiers.</td></tr>
|
||||
* <tr><td>View/BrokenLinkText</td><td>Text fragment used to signal broken image and/or process relations, such as missing masks.</td></tr>
|
||||
* <tr><td>ViewList/NoPreviewSelectedText</td><td>Text fragment used when there are no previews selected.</td></tr>
|
||||
* <tr><td>ViewList/NoPreviewsAvailableText</td><td>Text fragment used when there are no previews available.</td></tr>
|
||||
* <tr><td>ViewList/NoViewSelectedText</td><td>Text fragment used when there are no views selected.</td></tr>
|
||||
* <tr><td>ViewList/NoViewsAvailableText</td><td>Text fragment used when there are no views available.</td></tr>
|
||||
* <tr><td>Workspace/Prefix</td><td>Prefix used for automatically generated workspace identifiers.</td></tr>
|
||||
* </table>
|
||||
*/
|
||||
class PCL_CLASS PixInsightSettings
|
||||
{
|
||||
public:
|
||||
|
||||
/*!
|
||||
* Represents the data type of a global variable.
|
||||
*/
|
||||
typedef GlobalVariableType::value_type variable_type;
|
||||
|
||||
/*!
|
||||
* Default constructor. This constructor is disabled because
|
||||
* %PixInsightSettings is not an instantiable class.
|
||||
*/
|
||||
PixInsightSettings() = delete;
|
||||
|
||||
/*!
|
||||
* Copy constructor. This constructor is disabled because
|
||||
* %PixInsightSettings is not an instantiable class.
|
||||
*/
|
||||
PixInsightSettings( const PixInsightSettings& ) = delete;
|
||||
|
||||
/*!
|
||||
* Copy assignment. This operator is disabled because
|
||||
* %PixInsightSettings is not an instantiable class.
|
||||
*/
|
||||
PixInsightSettings& operator =( const PixInsightSettings& ) = delete;
|
||||
|
||||
/*!
|
||||
* Virtual destructor. This destructor is disabled because
|
||||
* %PixInsightSettings is not an instantiable class.
|
||||
*/
|
||||
virtual ~PixInsightSettings() = delete;
|
||||
|
||||
/*!
|
||||
* Retrieves the type of a global variable \a globalId.
|
||||
*/
|
||||
static variable_type GlobalVariableType( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Returns true iff the specified global variable \a globalId is defined in
|
||||
* the current PixInsight platform.
|
||||
*/
|
||||
static bool IsGlobalVariableDefined( const IsoString& globalId )
|
||||
{
|
||||
return GlobalVariableType( globalId ) != GlobalVariableType::Undefined;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Returns the value of a global boolean variable.
|
||||
*/
|
||||
static bool GlobalFlag( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Returns the value of a global signed integer variable.
|
||||
*/
|
||||
static int GlobalInteger( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Returns the value of a global unsigned integer variable.
|
||||
*/
|
||||
static unsigned GlobalUnsigned( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Returns the value of a global floating point real variable.
|
||||
*/
|
||||
static double GlobalReal( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Returns the value of a global RGBA color variable.
|
||||
*/
|
||||
static RGBA GlobalColor( const IsoString& globalId );
|
||||
|
||||
#ifndef __PCL_BUILDING_PIXINSIGHT_APPLICATION
|
||||
/*!
|
||||
* Returns the value of a global font face variable.
|
||||
*/
|
||||
static Font GlobalFont( const IsoString& globalId );
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* Returns the value of a global string variable.
|
||||
*/
|
||||
static String GlobalString( const IsoString& globalId );
|
||||
|
||||
/*!
|
||||
* Begins a global variable update operation.
|
||||
*
|
||||
* \sa EndUpdate(), CalcelUpdate()
|
||||
*/
|
||||
static void BeginUpdate();
|
||||
|
||||
/*!
|
||||
* Terminates a global variable update operation.
|
||||
*
|
||||
* \sa BeginUpdate(), CancelUpdate()
|
||||
*/
|
||||
static void EndUpdate();
|
||||
|
||||
/*!
|
||||
* Aborts an ongoing global variable update operation.
|
||||
*
|
||||
* Use this function if you catch an exception during the sequence of
|
||||
* SetGlobalXXX() calls. After cancelling an update operation, you
|
||||
* shouldn't call EndUpdate().
|
||||
*
|
||||
* \sa BeginUpdate(), EndUpdate()
|
||||
*/
|
||||
static void CancelUpdate();
|
||||
|
||||
/*!
|
||||
* Sets the value of a global boolean variable.
|
||||
*/
|
||||
static void SetGlobalFlag( const IsoString& globalId, bool );
|
||||
|
||||
/*!
|
||||
* Sets the value of a global signed integer variable.
|
||||
*/
|
||||
static void SetGlobalInteger( const IsoString& globalId, int );
|
||||
|
||||
/*!
|
||||
* Sets the value of a global unsigned integer variable.
|
||||
*/
|
||||
static void SetGlobalUnsigned( const IsoString& globalId, unsigned );
|
||||
|
||||
/*!
|
||||
* Sets the value of a global floating point real variable.
|
||||
*/
|
||||
static void SetGlobalReal( const IsoString& globalId, double );
|
||||
|
||||
/*!
|
||||
* Sets the value of a global RGBA color variable.
|
||||
*/
|
||||
static void SetGlobalColor( const IsoString& globalId, RGBA );
|
||||
|
||||
#ifndef __PCL_BUILDING_PIXINSIGHT_APPLICATION
|
||||
/*!
|
||||
* Sets the value of a global font face variable.
|
||||
*/
|
||||
static void SetGlobalFont( const IsoString& globalId, const Font& );
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* Sets the value of a global string variable.
|
||||
*/
|
||||
static void SetGlobalString( const IsoString& globalId, const String& );
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
} // pcl
|
||||
|
||||
#endif // __PCL_GlobalSettings_h
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// EOF pcl/GlobalSettings.h - Released 2022-03-12T18:59:29Z
|
||||
Reference in New Issue
Block a user