1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
{
*****************************************************************************
This file is part of the Lazarus Component Library (LCL)
See the file COPYING.modifiedLGPL.txt, included in this distribution,
for details about the license.
*****************************************************************************
Contains the non-GUI dependent parts of LCL Platform definition.
}
unit LCLPlatformDef;
{$mode objfpc}{$H+}
interface
uses
SysUtils;
type
TLCLPlatform = (
lpGtk,
lpGtk2,
lpGtk3,
lpWin32,
lpWinCE,
lpCarbon,
lpQT,
lpQt5,
lpfpGUI,
lpNoGUI,
lpCocoa,
lpCustomDrawn,
lpMUI
);
TLCLPlatforms = set of TLCLPlatform;
function DirNameToLCLPlatform(const ADirName: string): TLCLPlatform;
function GetBuildLCLWidgetType: TLCLPlatform;
const
LCLPlatformDirNames: array[TLCLPlatform] of string = (
'gtk',
'gtk2',
'gtk3',
'win32',
'wince',
'carbon',
'qt',
'qt5',
'fpgui',
'nogui',
'cocoa',
'customdrawn',
'mui'
);
LCLPlatformDisplayNames: array[TLCLPlatform] of string = (
'gtk (deprecated)',
'gtk2',
'gtk3 (alpha)',
'win32/win64',
'wince',
'carbon',
'qt',
'qt5',
'fpGUI (alpha)',
'NoGUI',
'cocoa',
'customdrawn (alpha)',
'MUI'
);
var
// set by lazbuild.lpr and used by GetDefaultLCLWidgetType
BuildLCLWidgetType: TLCLPlatform =
{$IFDEF MSWindows}{$DEFINE WidgetSetDefined}
lpWin32;
{$ENDIF}
{$IFDEF darwin}{$DEFINE WidgetSetDefined}
lpCarbon;
{$ENDIF}
{$IFDEF HASAMIGA}{$DEFINE WidgetSetDefined}
lpMUI;
{$ENDIF}
{$IFNDEF WidgetSetDefined}
lpGtk2;
{$ENDIF}
implementation
function DirNameToLCLPlatform(const ADirName: string): TLCLPlatform;
begin
for Result:=Low(TLCLPlatform) to High(TLCLPlatform) do
if CompareText(ADirName,LCLPlatformDirNames[Result])=0 then exit;
Result:=lpGtk2;
end;
function GetBuildLCLWidgetType: TLCLPlatform;
begin
Result:=BuildLCLWidgetType;
end;
end.
|