* new X11 conversion from 4.0.x headers

This commit is contained in:
peter 2000-12-28 21:23:39 +00:00
parent 679b2ec5e4
commit e8dd512f65
7 changed files with 3469 additions and 3189 deletions

View File

@ -1,5 +1,5 @@
#
# Makefile generated by fpcmake v1.00 [2000/12/19]
# Makefile generated by fpcmake v1.00 [2000/12/22]
#
defaultrule: all
@ -50,6 +50,25 @@ else
SRCEXEEXT=.exe
endif
# The extension of batch files / scripts
ifdef inUnix
BATCHEXT=.sh
else
ifdef inOS2
BATCHEXT=.cmd
else
BATCHEXT=.bat
endif
endif
# Path Separator, the subst trick is necessary for the \ that can't exists
# at the end of a line
ifdef inUnix
PATHSEP=/
else
PATHSEP=$(subst /,\,/)
endif
# The path which is searched separated by spaces
ifdef inUnix
SEARCHPATH=$(subst :, ,$(PATH))
@ -178,7 +197,7 @@ endif
# Targets
override UNITOBJECTS+=x xlib xutil xresource
override UNITOBJECTS+=x xlib xutil xresource xcms
# Clean
@ -295,15 +314,7 @@ LD=ld
endif
# ppas.bat / ppas.sh
ifdef inUnix
PPAS=ppas.sh
else
ifdef inOS2
PPAS=ppas.cmd
else
PPAS=ppas.bat
endif
endif
PPAS=ppas$(BATCHEXT)
# ldconfig to rebuild .so cache
ifdef inUnix
@ -1076,18 +1087,48 @@ USETAR=1
endif
endif
# Use a wrapper script by default for OS/2
ifdef inOS2
USEZIPWRAPPER=1
endif
# Create commands to create the zip/tar file
ZIPWRAPPER=$(DESTZIPDIR)/fpczip$(BATCHEXT)
ZIPCMD_CDPACK:=cd $(subst /,$(PATHSEP),$(PACKDIR))
ZIPCMD_CDBASE:=cd $(subst /,$(PATHSEP),$(BASEDIR))
ifdef USETAR
ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
else
ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
ZIPCMD_ZIP:=$(subst /,$(PATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
endif
fpc_zipinstall:
ifndef ZIPNAME
@$(ECHO) "Please specify ZIPNAME!"
@exit 1
else
$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
ifdef USETAR
$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
cd $(PACKDIR) ; $(TARPROG) cf$(TAROPT) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR)
$(DEL) $(ZIPDESTFILE)
ifdef USEZIPWRAPPER
ifneq ($(ECHO),echo)
$(ECHO) "$(ZIPCMD_CDPACK)" > $(ZIPWRAPPER)
$(ECHO) "$(ZIPCMD_ZIP)" >> $(ZIPWRAPPER)
$(ECHO) "$(ZIPCMD_CDBASE)" >> $(ZIPWRAPPER)
else
$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR)
$(ECHO) $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
$(ECHO) $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
$(ECHO) $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
endif
ifdef inUnix
/bin/sh $(ZIPWRAPPER)
else
$(ZIPWRAPPER)
endif
$(DEL) $(ZIPWRAPPER)
else
$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
endif
$(DELTREE) $(PACKDIR)
endif

View File

@ -3,7 +3,7 @@
#
[targets]
units=x xlib xutil xresource
units=x xlib xutil xresource xcms
[dirs]
fpcdir=../..

File diff suppressed because it is too large Load Diff

371
packages/x11/xcms.pp Normal file
View File

@ -0,0 +1,371 @@
unit xcms;
interface
uses
x,xlib;
{$LinkLib c}
{$LinkLib X11}
{
Automatically converted by H2Pas 0.99.15 from xcms.h
The following command line parameters were used:
-p
-T
-S
-d
-c
xcms.h
}
{$PACKRECORDS C}
const
XcmsFailure = 0;
XcmsSuccess = 1;
XcmsSuccessWithCompression = 2;
type
PXcmsColorFormat = ^TXcmsColorFormat;
TXcmsColorFormat = dword;
function XcmsUndefinedFormat : TXcmsColorFormat;
function XcmsCIEXYZFormat : TXcmsColorFormat;
function XcmsCIEuvYFormat : TXcmsColorFormat;
function XcmsCIExyYFormat : TXcmsColorFormat;
function XcmsCIELabFormat : TXcmsColorFormat;
function XcmsCIELuvFormat : TXcmsColorFormat;
function XcmsTekHVCFormat : TXcmsColorFormat;
function XcmsRGBFormat : TXcmsColorFormat;
function XcmsRGBiFormat : TXcmsColorFormat;
const
XcmsInitNone = $00;
XcmsInitSuccess = $01;
XcmsInitFailure = $ff;
{$ifdef MACROS}
function DisplayOfCCC(ccc : longint) : longint;
function ScreenNumberOfCCC(ccc : longint) : longint;
function VisualOfCCC(ccc : longint) : longint;
function ClientWhitePointOfCCC(ccc : longint) : longint;
function ScreenWhitePointOfCCC(ccc : longint) : longint;
function FunctionSetOfCCC(ccc : longint) : longint;
{$endif MACROS}
type
PXcmsFloat = ^TXcmsFloat;
TXcmsFloat = double;
PXcmsRGB = ^TXcmsRGB;
TXcmsRGB = record
red : word;
green : word;
blue : word;
end;
PXcmsRGBi = ^TXcmsRGBi;
TXcmsRGBi = record
red : TXcmsFloat;
green : TXcmsFloat;
blue : TXcmsFloat;
end;
PXcmsCIEXYZ = ^TXcmsCIEXYZ;
TXcmsCIEXYZ = record
X : TXcmsFloat;
Y : TXcmsFloat;
Z : TXcmsFloat;
end;
PXcmsCIEuvY = ^TXcmsCIEuvY;
TXcmsCIEuvY = record
u_prime : TXcmsFloat;
v_prime : TXcmsFloat;
Y : TXcmsFloat;
end;
PXcmsCIExyY = ^TXcmsCIExyY;
TXcmsCIExyY = record
x : TXcmsFloat;
y : TXcmsFloat;
_Y : TXcmsFloat;
end;
PXcmsCIELab = ^TXcmsCIELab;
TXcmsCIELab = record
L_star : TXcmsFloat;
a_star : TXcmsFloat;
b_star : TXcmsFloat;
end;
PXcmsCIELuv = ^TXcmsCIELuv;
TXcmsCIELuv = record
L_star : TXcmsFloat;
u_star : TXcmsFloat;
v_star : TXcmsFloat;
end;
PXcmsTekHVC = ^TXcmsTekHVC;
TXcmsTekHVC = record
H : TXcmsFloat;
V : TXcmsFloat;
C : TXcmsFloat;
end;
PXcmsPad = ^TXcmsPad;
TXcmsPad = record
pad0 : TXcmsFloat;
pad1 : TXcmsFloat;
pad2 : TXcmsFloat;
pad3 : TXcmsFloat;
end;
PXcmsColor = ^TXcmsColor;
TXcmsColor = record
spec : record
case longint of
0 : ( RGB : TXcmsRGB );
1 : ( RGBi : TXcmsRGBi );
2 : ( CIEXYZ : TXcmsCIEXYZ );
3 : ( CIEuvY : TXcmsCIEuvY );
4 : ( CIExyY : TXcmsCIExyY );
5 : ( CIELab : TXcmsCIELab );
6 : ( CIELuv : TXcmsCIELuv );
7 : ( TekHVC : TXcmsTekHVC );
8 : ( Pad : TXcmsPad );
end;
pixel : dword;
format : TXcmsColorFormat;
end;
PXcmsPerScrnInfo = ^TXcmsPerScrnInfo;
TXcmsPerScrnInfo = record
screenWhitePt : TXcmsColor;
functionSet : TXPointer;
screenData : TXPointer;
state : byte;
pad : array[0..2] of char;
end;
PXcmsCCC = ^TXcmsCCC;
TXcmsCompressionProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;
TXcmsWhiteAdjustProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
para6:dword; para7:PBool):TStatus;cdecl;
TXcmsCCC = record
dpy : PDisplay;
screenNumber : longint;
visual : PVisual;
clientWhitePt : TXcmsColor;
gamutCompProc : TXcmsCompressionProc;
gamutCompClientData : TXPointer;
whitePtAdjProc : TXcmsWhiteAdjustProc;
whitePtAdjClientData : TXPointer;
pPerScrnInfo : PXcmsPerScrnInfo;
end;
TXcmsCCCRec = TXcmsCCC;
PXcmsCCCRec = ^TXcmsCCCRec;
TXcmsScreenInitProc = function (para1:PDisplay; para2:longint; para3:PXcmsPerScrnInfo):TStatus;cdecl;
TXcmsScreenFreeProc = procedure (para1:TXPointer);cdecl;
TXcmsConversionProc = procedure;cdecl;
PXcmsFuncListPtr = ^TXcmsFuncListPtr;
TXcmsFuncListPtr = TXcmsConversionProc;
TXcmsParseStringProc = function (para1:Pchar; para2:PXcmsColor):longint;cdecl;
PXcmsColorSpace = ^TXcmsColorSpace;
TXcmsColorSpace = record
prefix : Pchar;
id : TXcmsColorFormat;
parseString : TXcmsParseStringProc;
to_CIEXYZ : TXcmsFuncListPtr;
from_CIEXYZ : TXcmsFuncListPtr;
inverse_flag : longint;
end;
PXcmsFunctionSet = ^TXcmsFunctionSet;
TXcmsFunctionSet = record
DDColorSpaces : ^PXcmsColorSpace;
screenInitProc : TXcmsScreenInitProc;
screenFreeProc : TXcmsScreenFreeProc;
end;
(* error
extern Status XcmsAddColorSpace (
in declaration at line 323 *)
function XcmsAddFunctionSet(para1:PXcmsFunctionSet):TStatus;cdecl;external;
function XcmsAllocColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external;
function XcmsAllocNamedColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor;
para6:TXcmsColorFormat):TStatus;cdecl;external;
function XcmsCCCOfColormap(para1:PDisplay; para2:TColormap):TXcmsCCC;cdecl;external;
function XcmsCIELabClipab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELabClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELabClipLab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELabQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELabQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELabQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELabQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELabToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIELabWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
para6:dword; para7:PBool):TStatus;cdecl;external;
function XcmsCIELuvClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELuvClipLuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELuvClipuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsCIELuvQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELuvQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELuvQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELuvQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsCIELuvToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIELuvWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
para6:dword; para7:PBool):TStatus;cdecl;external;
function XcmsCIEXYZToCIELab(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIEXYZToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIEXYZToCIExyY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIEXYZToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
function XcmsCIEuvYToCIELuv(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIEuvYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIEuvYToTekHVC(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsCIExyYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsClientWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external;
function XcmsConvertColors(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:TXcmsColorFormat; para5:PBool):TStatus;cdecl;external;
function XcmsCreateCCC(para1:PDisplay; para2:longint; para3:PVisual; para4:PXcmsColor; para5:TXcmsCompressionProc;
para6:TXPointer; para7:TXcmsWhiteAdjustProc; para8:TXPointer):TXcmsCCC;cdecl;external;
function XcmsDefaultCCC(para1:PDisplay; para2:longint):TXcmsCCC;cdecl;external;
function XcmsDisplayOfCCC(para1:TXcmsCCC):PDisplay;cdecl;external;
function XcmsFormatOfPrefix(para1:Pchar):TXcmsColorFormat;cdecl;external;
procedure XcmsFreeCCC(para1:TXcmsCCC);cdecl;external;
function XcmsLookupColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor;
para6:TXcmsColorFormat):TStatus;cdecl;external;
function XcmsPrefixOfFormat(para1:TXcmsColorFormat):Pchar;cdecl;external;
function XcmsQueryBlack(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsQueryBlue(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsQueryColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external;
function XcmsQueryColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:TXcmsColorFormat):TStatus;cdecl;external;
function XcmsQueryGreen(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsQueryRed(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsQueryWhite(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsRGBiToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
function XcmsRGBiToRGB(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
function XcmsRGBToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
function XcmsScreenNumberOfCCC(para1:TXcmsCCC):longint;cdecl;external;
function XcmsScreenWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external;
function XcmsSetCCCOfColormap(para1:PDisplay; para2:TColormap; para3:TXcmsCCC):TXcmsCCC;cdecl;external;
function XcmsSetCompressionProc(para1:TXcmsCCC; para2:TXcmsCompressionProc; para3:TXPointer):TXcmsCompressionProc;cdecl;external;
function XcmsSetWhiteAdjustProc(para1:TXcmsCCC; para2:TXcmsWhiteAdjustProc; para3:TXPointer):TXcmsWhiteAdjustProc;cdecl;external;
function XcmsSetWhitePoint(para1:TXcmsCCC; para2:PXcmsColor):TStatus;cdecl;external;
function XcmsStoreColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsStoreColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsTekHVCClipC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsTekHVCClipV(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsTekHVCClipVC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
function XcmsTekHVCQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsTekHVCQueryMaxV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsTekHVCQueryMaxVC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
function XcmsTekHVCQueryMaxVSamples(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsTekHVCQueryMinV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
function XcmsTekHVCToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
function XcmsTekHVCWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
para6:dword; para7:PBool):TStatus;cdecl;external;
function XcmsVisualOfCCC(para1:TXcmsCCC):PVisual;cdecl;external;
implementation
function XcmsUndefinedFormat : TXcmsColorFormat;
begin
XcmsUndefinedFormat:=TXcmsColorFormat($00000000);
end;
function XcmsCIEXYZFormat : TXcmsColorFormat;
begin
XcmsCIEXYZFormat:=TXcmsColorFormat($00000001);
end;
function XcmsCIEuvYFormat : TXcmsColorFormat;
begin
XcmsCIEuvYFormat:=TXcmsColorFormat($00000002);
end;
function XcmsCIExyYFormat : TXcmsColorFormat;
begin
XcmsCIExyYFormat:=TXcmsColorFormat($00000003);
end;
function XcmsCIELabFormat : TXcmsColorFormat;
begin
XcmsCIELabFormat:=TXcmsColorFormat($00000004);
end;
function XcmsCIELuvFormat : TXcmsColorFormat;
begin
XcmsCIELuvFormat:=TXcmsColorFormat($00000005);
end;
function XcmsTekHVCFormat : TXcmsColorFormat;
begin
XcmsTekHVCFormat:=TXcmsColorFormat($00000006);
end;
function XcmsRGBFormat : TXcmsColorFormat;
begin
XcmsRGBFormat:=TXcmsColorFormat($80000000);
end;
function XcmsRGBiFormat : TXcmsColorFormat;
begin
XcmsRGBiFormat:=TXcmsColorFormat($80000001);
end;
{$ifdef MACROS}
function DisplayOfCCC(ccc : longint) : longint;
begin
DisplayOfCCC:=ccc^.dpy;
end;
function ScreenNumberOfCCC(ccc : longint) : longint;
begin
ScreenNumberOfCCC:=ccc^.screenNumber;
end;
function VisualOfCCC(ccc : longint) : longint;
begin
VisualOfCCC:=ccc^.visual;
end;
function ClientWhitePointOfCCC(ccc : longint) : longint;
begin
ClientWhitePointOfCCC:=@(ccc^.clientWhitePt);
end;
function ScreenWhitePointOfCCC(ccc : longint) : longint;
begin
ScreenWhitePointOfCCC:=@(ccc^.(pPerScrnInfo^.screenWhitePt));
end;
function FunctionSetOfCCC(ccc : longint) : longint;
begin
FunctionSetOfCCC:=ccc^.(pPerScrnInfo^.functionSet);
end;
{$endif MACROS}
end.

File diff suppressed because it is too large Load Diff

View File

@ -1,305 +1,223 @@
{
$Id$
}
unit xresource;
interface
uses
xlib;
x,xlib;
{$LinkLib c}
{$LinkLib X11}
{***************************************************************
* Quark Management
***************************************************************}
type
TXrmQuark = Longint;
PXrmQuark = ^TXrmQuark;
TXrmQuarkList = PXrmQuark;
TXrmString = Pchar;
Const
NULLQUARK = 0 ;
NULLSTRING = 0;
{ find quark for string, create new quark if none already exists }
Function XrmStringToQuark( p1 : pchar ) : TXrmQuark;cdecl;external;
Function XrmPermStringToQuark( p1 : pchar ) : TXrmQuark;cdecl;external;
{ find string for quark }
Function XrmQuarkToString( p1 : TXrmQuark) : TXrmString;cdecl;external;
Function XrmUniqueQuark : TXrmQuark;cdecl;external;
{
#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
Automatically converted by H2Pas 0.99.15 from xresource.h
The following command line parameters were used:
-p
-T
-S
-d
-c
xresource.h
}
{$PACKRECORDS C}
{***************************************************************
* Conversion of Strings to Lists
***************************************************************}
function Xpermalloc(para1:dword):Pchar;cdecl;external;
type
PXrmQuark = ^TXrmQuark;
TXrmQuark = longint;
TXrmQuarkList = PXrmQuark;
PXrmQuarkList = ^TXrmQuarkList;
function NULLQUARK : TXrmQuark;
type
TXrmBinding = longint;
TXrmBindingList = ^longint;
Const
XrmBindTightly = 0;
XrmBindLoosely = 1;
procedure XrmStringToQuarkList(
p1 : pchar { string };
p2 : TXrmQuarkList { quarks_return }
);cdecl;external;
PXrmString = ^TXrmString;
TXrmString = char;
function NULLSTRING : TXrmString;
procedure XrmStringToBindingQuarkList(
p1 : pchar { string };
p2 : TXrmBindingList { bindings_return };
p3 : TXrmQuarkList { quarks_return }
);cdecl;external;
{***************************************************************
* Name and Class lists.
***************************************************************}
function XrmStringToQuark(para1:Pchar):TXrmQuark;cdecl;external;
function XrmPermStringToQuark(para1:Pchar):TXrmQuark;cdecl;external;
function XrmQuarkToString(para1:TXrmQuark):TXrmString;cdecl;external;
function XrmUniqueQuark:TXrmQuark;cdecl;external;
{$ifdef MACROS}
function XrmStringsEqual(a1,a2 : longint) : longint;
{$endif MACROS}
type
TXrmName = TXrmQuark;
TXrmNameList = TXrmQuarkList ;
{
#define XrmNameToString(name) XrmQuarkToString(name)
#define XrmStringToName(string) XrmStringToQuark(string)
#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
}
TXrmClass = TXrmQuark;
TXrmClassList = TXrmQuarkList;
{
#define XrmClassToString(c_class) XrmQuarkToString(c_class)
#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
}
PXrmBinding = ^TXrmBinding;
TXrmBinding = (XrmBindTightly,XrmBindLoosely);
TXrmBindingList = PXrmBinding;
PXrmBindingList = ^TXrmBindingList;
{***************************************************************
* Resource Representation Types and Values
***************************************************************}
procedure XrmStringToQuarkList(para1:Pchar; para2:TXrmQuarkList);cdecl;external;
procedure XrmStringToBindingQuarkList(para1:Pchar; para2:TXrmBindingList; para3:TXrmQuarkList);cdecl;external;
type
PXrmName = ^TXrmName;
TXrmName = TXrmQuark;
PXrmNameList = ^TXrmNameList;
TXrmNameList = TXrmQuarkList;
{$ifdef MACROS}
function XrmNameToString(name : longint) : longint;
function XrmStringToName(_string : longint) : longint;
function XrmStringToNameList(str,name : longint) : longint;
{$endif MACROS}
type
TXrmRepresentation = TXrmQuark ;
PXrmRepresentation = ^TXrmRepresentation;
{
#define XrmStringToRepresentation(string) XrmStringToQuark(string)
#define XrmRepresentationToString(type) XrmQuarkToString(type)
}
PXrmClass = ^TXrmClass;
TXrmClass = TXrmQuark;
PXrmClassList = ^TXrmClassList;
TXrmClassList = TXrmQuarkList;
{$ifdef MACROS}
function XrmClassToString(c_class : longint) : longint;
function XrmStringToClass(c_class : longint) : longint;
function XrmStringToClassList(str,c_class : longint) : longint;
{$endif MACROS}
type
PXrmRepresentation = ^TXrmRepresentation;
TXrmRepresentation = TXrmQuark;
{$ifdef MACROS}
function XrmStringToRepresentation(_string : longint) : longint;
function XrmRepresentationToString(_type : longint) : longint;
{$endif MACROS}
type
TXrmValue = record
size : word;
theaddr : TXPointer;
end;
PXrmValue = ^TXrmValue;
TXrmValuePtr = PXrmValue;
PXrmValue = ^TXrmValue;
TXrmValue = record
size : dword;
addr : TXPointer;
end;
TXrmValuePtr = PXrmValue;
PXrmValuePtr = ^TXrmValuePtr;
{***************************************************************
* Resource Manager Functions
***************************************************************}
{
typedef struct _XrmHashBucketRec *XrmHashBucket;
typedef XrmHashBucket *XrmHashTable;
typedef XrmHashTable XrmSearchList[];
typedef struct _XrmHashBucketRec *XrmDatabase;
}
Type
TXrmHashBucket = pointer;
TXrmHashTable = ^TXrmHashBucket;
TXrmSearchList = ^TXrmHashTable;
TXrmDatabase = pointer;
PXrmDatabase = ^TXrmDatabase;
PXrmHashBucketRec = ^TXrmHashBucketRec;
TXrmHashBucketRec = record
end;
TXrmHashBucket = PXrmHashBucketRec;
PXrmHashBucket = ^TXrmHashBucket;
procedure XrmDestroyDatabase(
p1 : TXrmDatabase { database }
);cdecl;external;
PXrmHashTable = ^TXrmHashTable;
TXrmHashTable = TXrmHashBucket;
Procedure XrmQPutResource(
p1 : PXrmDatabase { database };
p2 : TXrmBindingList { bindings };
p3 : TXrmQuarkList { quarks };
p4 : TXrmRepresentation { type };
p5 : PXrmValue { value }
);cdecl;external;
TXrmDatabase = PXrmHashBucketRec;
PXrmDatabase = ^TXrmDatabase;
Procedure XrmPutResource(
p1 : PXrmDatabase { database };
p2 : pchar { specifier };
p3 : pchar { type };
p4 : PXrmValue { value }
);cdecl;external;
Procedure XrmQPutStringResource(
p1 : PXrmDatabase { database };
p2 : TXrmBindingList { bindings };
p3 : TXrmQuarkList { quarks };
p4 : Pchar { value }
);cdecl;external;
Procedure XrmPutStringResource(
P1 : PXrmDatabase { database };
p2,p3 : pchar
);cdecl;external;
Procedure XrmPutLineResource(
p1 : PXrmDatabase { database };
p2 : pchar { line }
);cdecl;external;
Function XrmQGetResource(
p1 : PXrmDatabase { database };
p2 : TXrmNameList { quark_name };
p3 : TXrmClassList { quark_class };
p4 : PXrmRepresentation { quark_type_return };
p5 : PXrmValue { value_return }
) : Integer;cdecl;external;
Function XrmGetResource(
p1 : TXrmDatabase { database };
p2 : pchar { str_name };
p3 : pchar { str_class };
p4 : ppchar { str_type_return };
p5 : PXrmValue { value_return }
) : Tbool;cdecl;external;
Function XrmQGetSearchList(
p1 : TXrmDatabase { database };
p2 : TXrmNameList { names };
p3 : TXrmClassList { classes };
p4 : TXrmSearchList { list_return };
p5 : integer { list_length }
) : Tbool;cdecl;external;
Function XrmQGetSearchResource(
P1 : TXrmSearchList { list };
p2 : TXrmName { name };
p3 : TXrmClass { class };
p4 : PXrmRepresentation { type_return };
p5 : PXrmValue { value_return }
) : TBool;cdecl;external;
{***************************************************************
*
* Resource Database Management
*
***************************************************************}
procedure XrmSetDatabase(
p1 : PDisplay { display };
p2 : TXrmDatabase { database }
);cdecl;external;
Function XrmGetDatabase(
p1 : PDisplay { display }
) : TXrmDatabase;cdecl;external;
Function XrmGetFileDatabase(
p1 : pchar { filename }
) : TXrmDatabase ;cdecl;external;
Function XrmCombineFileDatabase(
p1 : pchar { filename };
p2 : PXrmDatabase { target };
p3 : TBool { override }
) : TStatus ;cdecl;external;
function XrmGetStringDatabase(
p1 : pchar { data } { null terminated string }
) : TXrmDatabase ;cdecl;external;
Procedure XrmPutFileDatabase(
p1 : TXrmDatabase { database };
p2: pchar { filename }
);cdecl;external;
Procedure XrmMergeDatabases(
p1 : TXrmDatabase { source_db };
p2 : PXrmDatabase { target_db }
);cdecl;external;
procedure XrmCombineDatabase(
p1 : TXrmDatabase { source_db };
p2 : PXrmDatabase { target_db };
p3 : TBool { override }
);cdecl;external;
procedure XrmDestroyDatabase(para1:TXrmDatabase);cdecl;external;
procedure XrmQPutResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:TXrmRepresentation; para5:PXrmValue);cdecl;external;
procedure XrmPutResource(para1:PXrmDatabase; para2:Pchar; para3:Pchar; para4:PXrmValue);cdecl;external;
procedure XrmQPutStringResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:Pchar);cdecl;external;
procedure XrmPutStringResource(para1:PXrmDatabase; para2:Pchar; para3:Pchar);cdecl;external;
procedure XrmPutLineResource(para1:PXrmDatabase; para2:Pchar);cdecl;external;
function XrmQGetResource(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external;
function XrmGetResource(para1:TXrmDatabase; para2:Pchar; para3:Pchar; para4:PPchar; para5:PXrmValue):TBool;cdecl;external;
{ There is no definition of TXrmSearchList }
{function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external;
function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external;}
procedure XrmSetDatabase(para1:PDisplay; para2:TXrmDatabase);cdecl;external;
function XrmGetDatabase(para1:PDisplay):TXrmDatabase;cdecl;external;
function XrmGetFileDatabase(para1:Pchar):TXrmDatabase;cdecl;external;
function XrmCombineFileDatabase(para1:Pchar; para2:PXrmDatabase; para3:TBool):TStatus;cdecl;external;
function XrmGetStringDatabase(para1:Pchar):TXrmDatabase;cdecl;external;
procedure XrmPutFileDatabase(para1:TXrmDatabase; para2:Pchar);cdecl;external;
procedure XrmMergeDatabases(para1:TXrmDatabase; para2:PXrmDatabase);cdecl;external;
procedure XrmCombineDatabase(para1:TXrmDatabase; para2:PXrmDatabase; para3:TBool);cdecl;external;
const
XrmEnumAllLevels = 0;
XrmEnumOneLevel = 1;
(*
Function XrmEnumerateDatabase(
XrmDatabase { db };
XrmNameList { name_prefix };
XrmClassList { class_prefix };
int { mode };
Bool *(#if NeedNestedPrototypes
XrmDatabase* { db };
XrmBindingList { bindings };
XrmQuarkList { quarks };
XrmRepresentation* { type };
XrmValue* { value };
XPointer { closure }
XrmEnumAllLevels = 0;
XrmEnumOneLevel = 1;
type
funcbool=function :TBool;
function XrmEnumerateDatabase(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:longint; para5:funcbool;
para6:TXPointer):TBool;cdecl;external;
function XrmLocaleOfDatabase(para1:TXrmDatabase):Pchar;cdecl;external;
type
) { proc };
XPointer { closure }
) : TBool;
*)
PXrmOptionKind = ^TXrmOptionKind;
TXrmOptionKind = (XrmoptionNoArg,XrmoptionIsArg,XrmoptionStickyArg,
XrmoptionSepArg,XrmoptionResArg,XrmoptionSkipArg,
XrmoptionSkipLine,XrmoptionSkipNArgs);
Function XrmLocaleOfDatabase(
P1 : TXrmDatabase { database }
) : Pchar;cdecl;external;
PXrmOptionDescRec = ^TXrmOptionDescRec;
TXrmOptionDescRec = record
option : Pchar;
specifier : Pchar;
argKind : TXrmOptionKind;
value : TXPointer;
end;
TXrmOptionDescList = PXrmOptionDescRec;
PXrmOptionDescList = ^TXrmOptionDescList;
procedure XrmParseCommand(para1:PXrmDatabase; para2:TXrmOptionDescList; para3:longint; para4:Pchar; para5:Plongint;
para6:PPchar);cdecl;external;
{***************************************************************
*
* Command line option mapping to resource entries
*
***************************************************************}
implementation
Const
XrmoptionNoArg = 0; { Value is specified in OptionDescRec.value }
XrmoptionIsArg = 1; { Value is the option string itself }
XrmoptionStickyArg = 2; { Value is characters immediately following option }
XrmoptionSepArg = 3; { Value is next argument in argv }
XrmoptionResArg = 4; { Resource and value in next argument in argv }
XrmoptionSkipArg = 5; { Ignore this option and the next argument in argv }
XrmoptionSkipLine = 6; { Ignore this option and the rest of argv }
XrmoptionSkipNArgs = 7; { Ignore this option and the next
OptionDescRes.value arguments in argv }
Type TXrmOptionKind = Integer;
function NULLQUARK : TXrmQuark;
begin
NULLQUARK:=TXrmQuark(0);
end;
TXrmOptionDescRec = record
option : pchar; { Option abbreviation in argv }
specifier : pchar; { Resource specifier }
argKind : TXrmOptionKind; { Which style of option it is }
value : TXpointer; { Value to provide if XrmoptionNoArg }
function NULLSTRING : TXrmString;
begin
NULLSTRING:=TXrmString(0);
end;
{$ifdef MACROS}
function XrmStringsEqual(a1,a2 : longint) : longint;
begin
XrmStringsEqual:=(strcmp(a1,a2)) = 0;
end;
PXrmOptionDescRec= ^TXrmOptionDescRec;
TXrmOptionDescList = PXrmOptionDescRec;
function XrmNameToString(name : longint) : longint;
begin
XrmNameToString:=XrmQuarkToString(name);
end;
Procedure XrmParseCommand(
p1 : TXrmDatabase { database };
p2 : TXrmOptionDescList { table };
p3 : integer { table_count };
p4 : pchar { name };
p5 : Pointer { argc_in_out };
p6 : ppchar { argv_in_out }
);cdecl;external;
function XrmStringToName(string : longint) : longint;
begin
XrmStringToName:=XrmStringToQuark(_string);
end;
Implementation
function XrmStringToNameList(str,name : longint) : longint;
begin
XrmStringToNameList:=XrmStringToQuarkList(str,name);
end;
function XrmClassToString(c_class : longint) : longint;
begin
XrmClassToString:=XrmQuarkToString(c_class);
end;
function XrmStringToClass(c_class : longint) : longint;
begin
XrmStringToClass:=XrmStringToQuark(c_class);
end;
function XrmStringToClassList(str,c_class : longint) : longint;
begin
XrmStringToClassList:=XrmStringToQuarkList(str,c_class);
end;
function XrmStringToRepresentation(_string : longint) : longint;
begin
XrmStringToRepresentation:=XrmStringToQuark(_string);
end;
function XrmRepresentationToString(_type : longint) : longint;
begin
XrmRepresentationToString:=XrmQuarkToString(_type);
end;
{$endif MACROS}
end.
{
$Log$
Revision 1.2 2000-07-13 11:33:34 michael
+ removed logs
}

File diff suppressed because it is too large Load Diff