diff --git a/docs/xml/lcl/lclplatformdef.xml b/docs/xml/lcl/lclplatformdef.xml index 8036929c30..b791565f9b 100644 --- a/docs/xml/lcl/lclplatformdef.xml +++ b/docs/xml/lcl/lclplatformdef.xml @@ -7,17 +7,20 @@ ==================================================================== --> -Contains the non-GUI dependent parts of LCL Platform definition. +Contains routines and types used in LCL Platform definitions. +

lclplatformdef.pas contains types, constants, variables and -routines used in non-GUI dependent parts of LCL Platform definition. +routines used in LCL platform definitions. +

+

This file is part of the Lazarus Component Library (LCL). +

-Represents the platforms supported in the LCL. - - +Represents the supported platforms for the LCL. + @@ -33,7 +36,7 @@ This file is part of the Lazarus Component Library (LCL). GTK version 3. -Windows API (formerly called Win32 API). +Windows API (née Win32 API). Windows CE. @@ -64,9 +67,8 @@ This file is part of the Lazarus Component Library (LCL). -Set type used to store TLCLPlatform value(s). - - +Set type used to store TLCLPlatform enumeration value(s). + @@ -75,8 +77,31 @@ This file is part of the Lazarus Component Library (LCL). Gets the platform enumeration value for the specified directory name. +

+DirNameToLCLPlatform is a TLCLPlatform function used to get the platform +identifier for the source directory specified in the ADirName argument. It is +assumed that ADirName contains only the directory name relative to +($LazarusDir)/lcl/interfaces without path delimiters. In other words, a value +like: 'win32', 'qt5', or 'gtk3'. +

+

+DirNameToLCLPlatform performs a case-insensitive comparison between ADirName +and each of the values in the LCLPlatformDirNames constant. The return value +is the enumeration value which identifies the platform and widgetset for the +specified directory. +

+

+If a matching value in LCLPlatformDirNames is not found, the return value is +set to lpGtk2. +

+

+DirNameToLCLPlatform is called from the lazbuild utility when a +widgetset override has been provided on the command line. +

+ +
@@ -90,12 +115,13 @@ This file is part of the Lazarus Component Library (LCL). Gets the value in the BuildLCLWidgetType variable.

-Used in the lazbuild utility to get the target widgetset using the -platform defines. +Used in the lazbuild utility to get the target widgetset used for the +various platform defines.

+
@@ -106,9 +132,13 @@ platform defines. Array constant with the directory names for supported LCL platforms.

-LCLPlatformDirNames is a array of Strings with directory names for the supported -LCL platforms. The directory names are relative to the './lcl/interfaces/' base path. -Values in the array are indexed by TLCLPlatform enumeration values. For example: +LCLPlatformDirNames is a array of Strings with directory names for the +platforms supported for the LCL. The directory names are relative to the +($LazarusDir)/lcl/interfaces base path and should not include path delimiters. +Values in the array are indexed by TLCLPlatform enumeration values. +

+

+For example:

// var SDir, SName: String; @@ -126,41 +156,75 @@ enumeration value.
+
Array constant with the display names for supported LCL platforms. -

- LCLPlatformDisplayNames is a array of Strings with display names for the supported - LCL platforms. Values in the array are indexed by TLCLPlatform enumeration values. - For example: -

- - // var SDir, SName: String; +

+LCLPlatformDisplayNames is a array of Strings with display names for the supported +LCL platforms. Values in the array are indexed by TLCLPlatform enumeration values. +For example: +

+ +// var SDir, SName: String; - // SDir contains 'win32' - SDir := LCLPlatformDirNames[lpWin32]; +// SDir contains 'win32' +SDir := LCLPlatformDirNames[lpWin32]; - // SName contains 'win32/win64' - SName := LCLPlatformDisplayNames[lpWin32]; - -

- Use LCLPlatformDirNames to get the directory name for a given TLCLPlatform - enumeration value. -

+// SName contains 'win32/win64' +SName := LCLPlatformDisplayNames[lpWin32]; +
+

+Use LCLPlatformDirNames to get the directory name for a given TLCLPlatform +enumeration value. +

- +
Gets the TLCLPlatform enumeration value for the current platform. +

+BuildLCLWidgetType is a TLCLPlatform variable with an enumeration value which +identifies the widgetset for the current platform. Its value is determined by +the compiler define active when the LCL was built. For example: +

+
+
MSWindows
+
Sets the variable to lpWin32.
+
darwin
+
+Sets the variable to lpCarbon for systems using the PowerPC processor. +Otherwise, the variable is set to lpCocoa. +
+
HASAMIGA
+
Sets the variable to lpMUI.
+
+

+For other platforms where a specific compiler define was not set, the +variable is set to lpGtk2. +

+

+The value in BuildLCLWidgetType is used in the lazbuild utility +to get the target widgetset used for the various platform defines, and when +GetDefaultLCLWidgetType is called from the LCL interface. +

+ +For LCL version 2.2 and higher, the default widgetset for the MacOS (darwin) +platform uses the Cocoa (lpCocoa) API. For versions prior to 2.2, the default +widgetset used was the Carbon (lpCarbon) API. For Macs using the PowerPC +processor, the widgetset continues to use the Carbon (lpCarbon) API. + + +GetDefaultLCLWidgetType