* Nikolay Nikolov: uses the ctypes unit now

This commit is contained in:
florian 2005-03-13 10:10:42 +00:00
parent 6b28a6fcb1
commit ef864ade38

View File

@ -1,7 +1,7 @@
unit xutil;
interface
uses
x,xlib,keysym;
ctypes,x,xlib,keysym;
{$define MACROS}
@ -41,28 +41,18 @@ type
PXSizeHints = ^TXSizeHints;
TXSizeHints = record
flags : longint;
x : longint;
y : longint;
width : longint;
height : longint;
min_width : longint;
min_height : longint;
max_width : longint;
max_height : longint;
width_inc : longint;
height_inc : longint;
min_aspect : record
x : longint;
y : longint;
flags : clong;
x, y : cint;
width, height : cint;
min_width, min_height : cint;
max_width, max_height : cint;
width_inc, height_inc : cint;
min_aspect, max_aspect : record
x : cint;
y : cint;
end;
max_aspect : record
x : longint;
y : longint;
end;
base_width : longint;
base_height : longint;
win_gravity : longint;
base_width, base_height : cint;
win_gravity : cint;
end;
const
@ -76,18 +66,17 @@ const
PAspect = 1 shl 7;
PBaseSize = 1 shl 8;
PWinGravity = 1 shl 9;
PAllHints = ((((PPosition or PSize) or PMinSize) or PMaxSize) or PResizeInc) or PAspect;
PAllHints = PPosition or PSize or PMinSize or PMaxSize or PResizeInc or PAspect;
type
PXWMHints = ^TXWMHints;
TXWMHints = record
flags : longint;
flags : clong;
input : TBool;
initial_state : longint;
initial_state : cint;
icon_pixmap : TPixmap;
icon_window : TWindow;
icon_x : longint;
icon_y : longint;
icon_x, icon_y : cint;
icon_mask : TPixmap;
window_group : TXID;
end;
@ -100,7 +89,7 @@ const
IconPositionHint = 1 shl 4;
IconMaskHint = 1 shl 5;
WindowGroupHint = 1 shl 6;
AllHints = (((((InputHint or StateHint) or IconPixmapHint) or IconWindowHint) or IconPositionHint) or IconMaskHint) or WindowGroupHint;
AllHints = InputHint or StateHint or IconPixmapHint or IconWindowHint or IconPositionHint or IconMaskHint or WindowGroupHint;
XUrgencyHint = 1 shl 8;
WithdrawnState = 0;
NormalState = 1;
@ -112,31 +101,28 @@ type
PXTextProperty = ^TXTextProperty;
TXTextProperty = record
value : Pbyte;
value : pcuchar;
encoding : TAtom;
format : longint;
nitems : dword;
format : cint;
nitems : culong;
end;
const
XNoMemory = -(1);
XLocaleNotSupported = -(2);
XConverterNotFound = -(3);
XNoMemory = -1;
XLocaleNotSupported = -2;
XConverterNotFound = -3;
type
PXICCEncodingStyle = ^TXICCEncodingStyle;
TXICCEncodingStyle = (XStringStyle,XCompoundTextStyle,XTextStyle,
XStdICCTextStyle);
XStdICCTextStyle,XUTF8StringStyle);
PPXIconSize = ^PXIconSize;
PXIconSize = ^TXIconSize;
TXIconSize = record
min_width : longint;
min_height : longint;
max_width : longint;
max_height : longint;
width_inc : longint;
height_inc : longint;
min_width, min_height : cint;
max_width, max_height : cint;
width_inc, height_inc : cint;
end;
PXClassHint = ^TXClassHint;
@ -150,7 +136,7 @@ type
PXComposeStatus = ^TXComposeStatus;
TXComposeStatus = record
compose_ptr : TXPointer;
chars_matched : longint;
chars_matched : cint;
end;
type
@ -171,14 +157,14 @@ type
TXVisualInfo = record
visual : PVisual;
visualid : TVisualID;
screen : longint;
depth : longint;
_class : longint;
red_mask : dword;
green_mask : dword;
blue_mask : dword;
colormap_size : longint;
bits_per_rgb : longint;
screen : cint;
depth : cint;
_class : cint;
red_mask : culong;
green_mask : culong;
blue_mask : culong;
colormap_size : cint;
bits_per_rgb : cint;
end;
const
@ -199,13 +185,13 @@ type
PXStandardColormap = ^TXStandardColormap;
TXStandardColormap = record
colormap : TColormap;
red_max : dword;
red_mult : dword;
green_max : dword;
green_mult : dword;
blue_max : dword;
blue_mult : dword;
base_pixel : dword;
red_max : culong;
red_mult : culong;
green_max : culong;
green_mult : culong;
blue_max : culong;
blue_mult : culong;
base_pixel : culong;
visualid : TVisualID;
killid : TXID;
end;
@ -222,88 +208,92 @@ const
type
PXContext = ^TXContext;
TXContext = longint;
TXContext = cint;
function XAllocClassHint:PXClassHint;cdecl;external libX11;
function XAllocIconSize:PXIconSize;cdecl;external libX11;
function XAllocSizeHints:PXSizeHints;cdecl;external libX11;
function XAllocStandardColormap:PXStandardColormap;cdecl;external libX11;
function XAllocWMHints:PXWMHints;cdecl;external libX11;
function XClipBox(para1:TRegion; para2:PXRectangle):longint;cdecl;external libX11;
function XClipBox(para1:TRegion; para2:PXRectangle):cint;cdecl;external libX11;
function XCreateRegion:TRegion;cdecl;external libX11;
function XDefaultString:Pchar;cdecl;external libX11;
function XDeleteContext(para1:PDisplay; para2:TXID; para3:TXContext):longint;cdecl;external libX11;
function XDestroyRegion(para1:TRegion):longint;cdecl;external libX11;
function XEmptyRegion(para1:TRegion):longint;cdecl;external libX11;
function XEqualRegion(para1:TRegion; para2:TRegion):longint;cdecl;external libX11;
function XFindContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:PXPointer):longint;cdecl;external libX11;
function XDeleteContext(para1:PDisplay; para2:TXID; para3:TXContext):cint;cdecl;external libX11;
function XDestroyRegion(para1:TRegion):cint;cdecl;external libX11;
function XEmptyRegion(para1:TRegion):cint;cdecl;external libX11;
function XEqualRegion(para1:TRegion; para2:TRegion):cint;cdecl;external libX11;
function XFindContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:PXPointer):cint;cdecl;external libX11;
function XGetClassHint(para1:PDisplay; para2:TWindow; para3:PXClassHint):TStatus;cdecl;external libX11;
function XGetIconSizes(para1:PDisplay; para2:TWindow; para3:PPXIconSize; para4:Plongint):TStatus;cdecl;external libX11;
function XGetIconSizes(para1:PDisplay; para2:TWindow; para3:PPXIconSize; para4:Pcint):TStatus;cdecl;external libX11;
function XGetNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):TStatus;cdecl;external libX11;
function XGetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PPXStandardColormap; para4:Plongint; para5:TAtom):TStatus;cdecl;external libX11;
function XGetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PPXStandardColormap; para4:Pcint; para5:TAtom):TStatus;cdecl;external libX11;
function XGetSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom):TStatus;cdecl;external libX11;
function XGetStandardColormap(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:TAtom):TStatus;cdecl;external libX11;
function XGetTextProperty(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:TAtom):TStatus;cdecl;external libX11;
function XGetVisualInfo(para1:PDisplay; para2:longint; para3:PXVisualInfo; para4:Plongint):PXVisualInfo;cdecl;external libX11;
function XGetVisualInfo(para1:PDisplay; para2:clong; para3:PXVisualInfo; para4:Pcint):PXVisualInfo;cdecl;external libX11;
function XGetWMClientMachine(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external libX11;
function XGetWMHints(para1:PDisplay; para2:TWindow):PXWMHints;cdecl;external libX11;
function XGetWMIconName(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external libX11;
function XGetWMName(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external libX11;
function XGetWMNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Plongint):TStatus;cdecl;external libX11;
function XGetWMSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Plongint; para5:TAtom):TStatus;cdecl;external libX11;
function XGetWMNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Pclong):TStatus;cdecl;external libX11;
function XGetWMSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Pclong; para5:TAtom):TStatus;cdecl;external libX11;
function XGetZoomHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):TStatus;cdecl;external libX11;
function XIntersectRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external libX11;
function XIntersectRegion(para1:TRegion; para2:TRegion; para3:TRegion):cint;cdecl;external libX11;
procedure XConvertCase(para1:TKeySym; para2:PKeySym; para3:PKeySym);cdecl;external libX11;
function XLookupString(para1:PXKeyEvent; para2:Pchar; para3:longint; para4:PKeySym; para5:PXComposeStatus):longint;cdecl;external libX11;
function XMatchVisualInfo(para1:PDisplay; para2:longint; para3:longint; para4:longint; para5:PXVisualInfo):TStatus;cdecl;external libX11;
function XOffsetRegion(para1:TRegion; para2:longint; para3:longint):longint;cdecl;external libX11;
function XPointInRegion(para1:TRegion; para2:longint; para3:longint):TBool;cdecl;external libX11;
function XPolygonRegion(para1:PXPoint; para2:longint; para3:longint):TRegion;cdecl;external libX11;
function XRectInRegion(para1:TRegion; para2:longint; para3:longint; para4:dword; para5:dword):longint;cdecl;external libX11;
function XSaveContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:Pchar):longint;cdecl;external libX11;
function XSetClassHint(para1:PDisplay; para2:TWindow; para3:PXClassHint):longint;cdecl;external libX11;
function XSetIconSizes(para1:PDisplay; para2:TWindow; para3:PXIconSize; para4:longint):longint;cdecl;external libX11;
function XSetNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):longint;cdecl;external libX11;
procedure XSetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:longint; para5:TAtom);cdecl;external libX11;
function XSetSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom):longint;cdecl;external libX11;
function XLookupString(para1:PXKeyEvent; para2:Pchar; para3:cint; para4:PKeySym; para5:PXComposeStatus):cint;cdecl;external libX11;
function XMatchVisualInfo(para1:PDisplay; para2:cint; para3:cint; para4:cint; para5:PXVisualInfo):TStatus;cdecl;external libX11;
function XOffsetRegion(para1:TRegion; para2:cint; para3:cint):cint;cdecl;external libX11;
function XPointInRegion(para1:TRegion; para2:cint; para3:cint):TBool;cdecl;external libX11;
function XPolygonRegion(para1:PXPoint; para2:cint; para3:cint):TRegion;cdecl;external libX11;
function XRectInRegion(para1:TRegion; para2:cint; para3:cint; para4:cuint; para5:cuint):cint;cdecl;external libX11;
function XSaveContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:Pchar):cint;cdecl;external libX11;
function XSetClassHint(para1:PDisplay; para2:TWindow; para3:PXClassHint):cint;cdecl;external libX11;
function XSetIconSizes(para1:PDisplay; para2:TWindow; para3:PXIconSize; para4:cint):cint;cdecl;external libX11;
function XSetNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):cint;cdecl;external libX11;
procedure XSetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:cint; para5:TAtom);cdecl;external libX11;
function XSetSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom):cint;cdecl;external libX11;
function XSetStandardProperties(para1:PDisplay; para2:TWindow; para3:Pchar; para4:Pchar; para5:TPixmap;
para6:PPchar; para7:longint; para8:PXSizeHints):longint;cdecl;external libX11;
para6:PPchar; para7:cint; para8:PXSizeHints):cint;cdecl;external libX11;
procedure XSetTextProperty(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:TAtom);cdecl;external libX11;
procedure XSetWMClientMachine(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external libX11;
function XSetWMHints(para1:PDisplay; para2:TWindow; para3:PXWMHints):longint;cdecl;external libX11;
function XSetWMHints(para1:PDisplay; para2:TWindow; para3:PXWMHints):cint;cdecl;external libX11;
procedure XSetWMIconName(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external libX11;
procedure XSetWMName(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external libX11;
procedure XSetWMNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints);cdecl;external libX11;
procedure XSetWMProperties(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:PXTextProperty; para5:PPchar;
para6:longint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external libX11;
para6:cint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external libX11;
procedure XmbSetWMProperties(para1:PDisplay; para2:TWindow; para3:Pchar; para4:Pchar; para5:PPchar;
para6:longint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external libX11;
para6:cint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external libX11;
procedure Xutf8SetWMProperties(para1:PDisplay; para2:TWindow; para3:Pchar; para4:Pchar; para5:PPchar;
para6:cint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external libX11;
procedure XSetWMSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom);cdecl;external libX11;
function XSetRegion(para1:PDisplay; para2:TGC; para3:TRegion):longint;cdecl;external libX11;
function XSetRegion(para1:PDisplay; para2:TGC; para3:TRegion):cint;cdecl;external libX11;
procedure XSetStandardColormap(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:TAtom);cdecl;external libX11;
function XSetZoomHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):longint;cdecl;external libX11;
function XShrinkRegion(para1:TRegion; para2:longint; para3:longint):longint;cdecl;external libX11;
function XStringListToTextProperty(para1:PPchar; para2:longint; para3:PXTextProperty):TStatus;cdecl;external libX11;
function XSubtractRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external libX11;
function XmbTextListToTextProperty(para1:PDisplay; para2:PPchar; para3:longint; para4:TXICCEncodingStyle; para5:PXTextProperty):longint;cdecl;external libX11;
function XwcTextListToTextProperty(para1:PDisplay; para2:PPWideChar; para3:longint; para4:TXICCEncodingStyle; para5:PXTextProperty):longint;cdecl;external libX11;
function XSetZoomHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):cint;cdecl;external libX11;
function XShrinkRegion(para1:TRegion; para2:cint; para3:cint):cint;cdecl;external libX11;
function XStringListToTextProperty(para1:PPchar; para2:cint; para3:PXTextProperty):TStatus;cdecl;external libX11;
function XSubtractRegion(para1:TRegion; para2:TRegion; para3:TRegion):cint;cdecl;external libX11;
function XmbTextListToTextProperty(para1:PDisplay; para2:PPchar; para3:cint; para4:TXICCEncodingStyle; para5:PXTextProperty):cint;cdecl;external libX11;
function XwcTextListToTextProperty(para1:PDisplay; para2:PPWideChar; para3:cint; para4:TXICCEncodingStyle; para5:PXTextProperty):cint;cdecl;external libX11;
function Xutf8TextListToTextProperty(para1:PDisplay; para2:PPchar; para3:cint; para4:TXICCEncodingStyle; para5:PXTextProperty):cint;cdecl;external libX11;
procedure XwcFreeStringList(para1:PPWideChar);cdecl;external libX11;
function XTextPropertyToStringList(para1:PXTextProperty; para2:PPPchar; para3:Plongint):TStatus;cdecl;external libX11;
function XmbTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPchar; para4:Plongint):longint;cdecl;external libX11;
function XwcTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPWideChar; para4:Plongint):longint;cdecl;external libX11;
function XUnionRectWithRegion(para1:PXRectangle; para2:TRegion; para3:TRegion):longint;cdecl;external libX11;
function XUnionRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external libX11;
function XWMGeometry(para1:PDisplay; para2:longint; para3:Pchar; para4:Pchar; para5:dword;
para6:PXSizeHints; para7:Plongint; para8:Plongint; para9:Plongint; para10:Plongint;
para11:Plongint):longint;cdecl;external libX11;
function XXorRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external libX11;
function XTextPropertyToStringList(para1:PXTextProperty; para2:PPPchar; para3:Pcint):TStatus;cdecl;external libX11;
function XmbTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPchar; para4:Pcint):cint;cdecl;external libX11;
function XwcTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPWideChar; para4:Pcint):cint;cdecl;external libX11;
function Xutf8TextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPchar; para4:Pcint):cint;cdecl;external libX11;
function XUnionRectWithRegion(para1:PXRectangle; para2:TRegion; para3:TRegion):cint;cdecl;external libX11;
function XUnionRegion(para1:TRegion; para2:TRegion; para3:TRegion):cint;cdecl;external libX11;
function XWMGeometry(para1:PDisplay; para2:cint; para3:Pchar; para4:Pchar; para5:cuint;
para6:PXSizeHints; para7:Pcint; para8:Pcint; para9:Pcint; para10:Pcint;
para11:Pcint):cint;cdecl;external libX11;
function XXorRegion(para1:TRegion; para2:TRegion; para3:TRegion):cint;cdecl;external libX11;
{$ifdef MACROS}
function XDestroyImage(ximage : PXImage) : longint;
function XGetPixel(ximage : PXImage; x, y : longint) : dword;
function XPutPixel(ximage : PXImage; x, y : longint; pixel : dword) : longint;
function XSubImage(ximage : PXImage; x, y : longint; width, height : dword) : PXImage;
function XAddPixel(ximage : PXImage; value : longint) : longint;
function XDestroyImage(ximage : PXImage) : cint;
function XGetPixel(ximage : PXImage; x, y : cint) : culong;
function XPutPixel(ximage : PXImage; x, y : cint; pixel : culong) : cint;
function XSubImage(ximage : PXImage; x, y : cint; width, height : cuint) : PXImage;
function XAddPixel(ximage : PXImage; value : clong) : cint;
function IsKeypadKey(keysym : TKeySym) : Boolean;
function IsPrivateKeypadKey(keysym : TKeySym) : Boolean;
function IsCursorKey(keysym : TKeySym) : Boolean;
@ -319,28 +309,28 @@ implementation
{$ifdef MACROS}
function XDestroyImage(ximage : PXImage) : longint;
function XDestroyImage(ximage : PXImage) : cint;
begin
XDestroyImage := ximage^.f.destroy_image(ximage);
end;
function XGetPixel(ximage : PXImage; x, y : longint) : dword;
function XGetPixel(ximage : PXImage; x, y : cint) : culong;
begin
XGetPixel:=ximage^.f.get_pixel(ximage, x, y);
end;
function XPutPixel(ximage : PXImage; x, y : longint; pixel : dword) : longint;
function XPutPixel(ximage : PXImage; x, y : cint; pixel : culong) : cint;
begin
XPutPixel:=ximage^.f.put_pixel(ximage, x, y, pixel);
end;
function XSubImage(ximage : PXImage; x, y : longint; width, height : dword) : PXImage;
function XSubImage(ximage : PXImage; x, y : cint; width, height : cuint) : PXImage;
begin
XSubImage:=ximage^.f.sub_image(ximage, x, y, width, height);
end;
function XAddPixel(ximage : PXImage; value : longint) : longint;
function XAddPixel(ximage : PXImage; value : clong) : cint;
begin
XAddPixel:=ximage^.f.add_pixel(ximage, value);
end;