mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 15:59:30 +02:00
699 lines
20 KiB
ObjectPascal
699 lines
20 KiB
ObjectPascal
{
|
|
$Id$
|
|
}
|
|
Unit XUtil;
|
|
|
|
{$MODE objfpc}
|
|
|
|
interface
|
|
uses
|
|
x,xlib;
|
|
|
|
{$LinkLib c}
|
|
{$LinkLib X11}
|
|
|
|
{
|
|
Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
|
|
value (x, y, width, height) was found in the parsed string.
|
|
}
|
|
Const
|
|
NoValue = $0000;
|
|
XValue = $0001;
|
|
YValue = $0002;
|
|
WidthValue = $0004;
|
|
HeightValue = $0008;
|
|
AllValues = $000F;
|
|
XNegative = $0010;
|
|
YNegative = $0020;
|
|
|
|
{
|
|
new version containing base_width, base_height, and win_gravity fields;
|
|
used with WM_NORMAL_HINTS.
|
|
}
|
|
Type
|
|
long = Cardinal; { Untill we know better. M.}
|
|
PLong = ^Long;
|
|
PInteger = ^Integer;
|
|
|
|
Type
|
|
TAspectRecord = record
|
|
x,y : longint;
|
|
end;
|
|
|
|
TXSizeHints = record
|
|
flags : Long; { marks which fields in this structure are defined }
|
|
x, y : longint ; { obsolete for new window mgrs, but clients }
|
|
width, height: longint ; { should set so old wm's don't mess up }
|
|
min_width, min_height : longint ;
|
|
max_width, max_height : longint ;
|
|
width_inc, height_inc : longint ;
|
|
min_aspect, max_aspect : TAspectRecord;
|
|
base_width, base_height : longint ; { added by ICCCM version 1 }
|
|
win_gravity : longint ; { added by ICCCM version 1 }
|
|
end;
|
|
PXSizeHints=^TXSizeHints;
|
|
|
|
{
|
|
The next block of definitions are for window manager properties that
|
|
clients and applications use for communication.
|
|
}
|
|
|
|
{ flags argument in size hints }
|
|
Const
|
|
USPosition = 1 shl 0; { user specified x, y }
|
|
USSize = 1 shl 1; { user specified width, height }
|
|
|
|
PPosition = 1 shl 2; { program specified position }
|
|
PSize = 1 shl 3; { program specified size }
|
|
PMinSize = 1 shl 4; { program specified minimum size }
|
|
PMaxSize = 1 shl 5; { program specified maximum size }
|
|
PResizeInc = 1 shl 6; { program specified resize increments }
|
|
PAspect = 1 shl 7; { program specified min and max aspect ratios }
|
|
PBaseSize = 1 shl 8; { program specified base for incrementing }
|
|
PWinGravity = 1 shl 9; { program specified window gravity }
|
|
{ obsolete }
|
|
PAllHints = PPosition or PSize or PMinSize or PMaxSize or PResizeInc or PAspect;
|
|
|
|
Type
|
|
TXWMHints = record
|
|
flags : long; { marks which fields in this structure are defined }
|
|
input : TBool ; { does this application rely on the window manager to
|
|
get keyboard input? }
|
|
initial_state : longint ; { see below }
|
|
icon_pixmap : TPixmap ; { pixmap to be used as icon }
|
|
icon_window : TWindow ; { window to be used as icon }
|
|
icon_x, icon_y : longint ; { initial position of icon }
|
|
icon_mask : TPixmap ; { icon mask bitmap }
|
|
window_group : TXID ; { id of related window group }
|
|
{ this structure may be extended in the future }
|
|
end;
|
|
PXWMHints = ^TXWMHints;
|
|
|
|
{ definition for flags of XWMHints }
|
|
Const
|
|
InputHint = 1 shl 0;
|
|
StateHint = 1 shl 1;
|
|
IconPixmapHint = 1 shl 2;
|
|
IconWindowHint = 1 shl 3;
|
|
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;
|
|
XUrgencyHint = 1 shl 8;
|
|
{ definitions for initial window state }
|
|
WithdrawnState = 0; { for windows that are not mapped }
|
|
NormalState = 1; { most applications want to start this way }
|
|
IconicState = 3; { application wants to start as an icon }
|
|
{ Obsolete states no longer defined by ICCCM }
|
|
DontCareState = 0; { don't know or care }
|
|
ZoomState = 2; { application wants to start zoomed }
|
|
InactiveState = 4; { application believes it is seldom used; }
|
|
{ some wm's may put it on inactive menu }
|
|
|
|
{
|
|
new structure for manipulating TEXT properties; used with WM_NAME,
|
|
WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
|
|
}
|
|
type
|
|
TXTextProperty = record
|
|
value : pchar; { same as Property routines }
|
|
encoding : TAtom; { prop type }
|
|
format : longint ; { prop data format: 8, 16, or 32 }
|
|
nitems : Cardinal; { number of data items in value }
|
|
end;
|
|
PXTextProperty = ^TXTextProperty;
|
|
|
|
Const
|
|
XNoMemory =-1;
|
|
XLocaleNotSupported =-2;
|
|
XConverterNotFound =-3;
|
|
|
|
Type
|
|
TXICCEncodingStyle = longint;
|
|
|
|
Const
|
|
XStringStyle = 0; { STRING }
|
|
XCompoundTextStyle = 1; { COMPOUND_TEXT }
|
|
XTextStyle = 2; { text in owner's encoding (current locale)}
|
|
XStdICCTextStyle = 3; { STRING, else COMPOUND_TEXT }
|
|
|
|
Type
|
|
TXIconSize = record
|
|
min_width, min_height,
|
|
max_width, max_height,
|
|
width_inc, height_inc : longint;
|
|
end;
|
|
PXIconSize = ^TXIconSize;
|
|
PPXIconSize = ^PXIconSize;
|
|
|
|
type
|
|
TXClassHint = record
|
|
res_name,
|
|
res_class : pchar;
|
|
end;
|
|
PXClassHint = ^TXClassHint;
|
|
|
|
{
|
|
* These macros are used to give some sugar to the image routines so that
|
|
* naive people are more comfortable with them.
|
|
}
|
|
|
|
{
|
|
XDestroyImage(ximage) \
|
|
((*((ximage)->f.destroy_image))((ximage)))
|
|
XGetPixel(ximage, x, y) \
|
|
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
|
|
XPutPixel(ximage, x, y, pixel) \
|
|
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
|
|
XSubImage(ximage, x, y, width, height) \
|
|
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
|
|
XAddPixel(ximage, value) \
|
|
((*((ximage)->f.add_pixel))((ximage), (value)))
|
|
}
|
|
{
|
|
* Compose sequence status structure, used in calling XLookupString.
|
|
}
|
|
|
|
TXComposeStatus = record
|
|
compose_ptr : TXPointer ; { state table pointer }
|
|
chars_matched : longint ; { match state }
|
|
end;
|
|
PXComposeStatus = ^TXComposeStatus;
|
|
|
|
{
|
|
* Keysym macros, used on Keysyms to test for classes of symbols
|
|
}
|
|
{
|
|
IsKeypadKey(keysym) \
|
|
(((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
|
|
|
|
IsPrivateKeypadKey(keysym) \
|
|
(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
|
|
|
|
IsCursorKey(keysym) \
|
|
(((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
|
|
|
|
IsPFKey(keysym) \
|
|
(((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
|
|
|
|
IsFunctionKey(keysym) \
|
|
(((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
|
|
|
|
IsMiscFunctionKey(keysym) \
|
|
(((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
|
|
|
|
IsModifierKey(keysym) \
|
|
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
|
|
or or ((KeySym)(keysym) == XK_Mode_switch) \
|
|
or or ((KeySym)(keysym) == XK_Num_Lock))
|
|
}
|
|
{
|
|
* opaque reference to Region data type
|
|
}
|
|
|
|
type
|
|
{
|
|
typedef struct _XRegion *Region;
|
|
}
|
|
TRegion = Pointer;
|
|
|
|
{ Return values from XRectInRegion() }
|
|
Const
|
|
RectangleOut =0;
|
|
RectangleIn =1;
|
|
RectanglePart=2;
|
|
|
|
|
|
{
|
|
* Information used by the visual utility routines to find desired visual
|
|
* type from the many visuals a display may support.
|
|
}
|
|
|
|
Type
|
|
TXVisualInfo = record
|
|
visual : PVisual;
|
|
visualid : TVisualID ;
|
|
screen : longint;
|
|
depth : longint;
|
|
c_class : longint;
|
|
red_mask : cardinal;
|
|
green_mask : cardinal;
|
|
blue_mask : Cardinal;
|
|
colormap_size : longint;
|
|
bits_per_rgb : longint;
|
|
end;
|
|
PXVisualInfo = ^TXVisualInfo;
|
|
|
|
Const
|
|
VisualNoMask = $0;
|
|
VisualIDMask = $1;
|
|
VisualScreenMask = $2;
|
|
VisualDepthMask = $4;
|
|
VisualClassMask = $8;
|
|
VisualRedMaskMask = $10;
|
|
VisualGreenMaskMask = $20;
|
|
VisualBlueMaskMask = $40;
|
|
VisualColormapSizeMask = $80;
|
|
VisualBitsPerRGBMask = $100;
|
|
VisualAllMask = $1FF;
|
|
|
|
{
|
|
* This defines a window manager property that clients may use to
|
|
* share standard color maps of type RGB_COLOR_MAP:
|
|
}
|
|
Type
|
|
TXStandardColormap = record
|
|
colormap : TColormap ;
|
|
red_max : Cardinal;
|
|
red_mult : Cardinal;
|
|
green_max : Cardinal;
|
|
green_mult : Cardinal;
|
|
blue_max : Cardinal;
|
|
blue_mult : Cardinal;
|
|
base_pixel : Cardinal;
|
|
visualid : TVisualID; { added by ICCCM version 1 }
|
|
killid : TXID ; { added by ICCCM version 1 }
|
|
end;
|
|
PXStandardColormap = ^TXStandardColormap;
|
|
PPXStandardColormap = ^PXStandardColormap;
|
|
|
|
Const
|
|
ReleaseByFreeingColormap = 1; { for killid field above }
|
|
{ return codes for XReadBitmapFile and XWriteBitmapFile }
|
|
BitmapSuccess =0;
|
|
BitmapOpenFailed =1;
|
|
BitmapFileInvalid =2;
|
|
BitmapNoMemory =3;
|
|
|
|
|
|
{***************************************************************
|
|
* Context Management
|
|
***************************************************************}
|
|
|
|
const
|
|
{ Associative lookup table return codes }
|
|
XCSUCCESS =0; { No error. }
|
|
XCNOMEM =1; { Out of memory }
|
|
XCNOENT =2; { No entry in table }
|
|
type
|
|
TXContext = longint;
|
|
{
|
|
XUniqueContext() ((XContext) XrmUniqueQuark())
|
|
XStringToContext(string) ((XContext) XrmStringToQuark(string))
|
|
}
|
|
|
|
function XGetVisualInfo(display: PDisplay; vinfo_mask: LongInt;
|
|
vinfo_template: PXVisualInfo; var nitems_return: longint): PXVisualInfo;
|
|
cdecl; external;
|
|
|
|
{ The following declarations are alphabetized. }
|
|
|
|
function XAllocClassHint: PXClassHint; cdecl; external;
|
|
function XAllocIconSize: PXIconSize; cdecl; external;
|
|
function XAllocSizeHints: PXSizeHints; cdecl; external;
|
|
function XAllocStandardColormap: PXStandardColormap; cdecl; external;
|
|
function XAllocWMHints: PXWMHints; cdecl; external;
|
|
procedure XClipBox(r: TRegion; rect_return: PXRectangle); cdecl; external;
|
|
function XCreateRegion: TRegion; cdecl; external;
|
|
function XDefaultString: PChar; cdecl; external;
|
|
function XDeleteContext(display: PDisplay; rid: TXID;
|
|
context: TXContext): LongInt; cdecl; external;
|
|
procedure XDestroyRegion(r: TRegion); cdecl; external;
|
|
function XEmptyRegion(r: TRegion): TBool; cdecl; external;
|
|
function XEqualRegion(r1, r2: TRegion): TBool; cdecl; external;
|
|
function XFindContext(display: PDisplay; rid: TXID; context: TXContext;
|
|
data_return: PXPointer): LongInt; cdecl; external;
|
|
function XGetClassHint(display: PDisplay; w: TWindow;
|
|
class_hints_return: PXClassHint): TStatus; cdecl; external;
|
|
function XGetIconSizes(display: PDisplay; w: TWindow;
|
|
size_list_return: PPXIconSize; count_return: PInteger): TStatus;
|
|
cdecl; external;
|
|
function XGetNormalHints(display: PDisplay; w: TWindow;
|
|
hints_return: PXSizeHints): TStatus; cdecl; external;
|
|
function XGetRGBColormaps(display: PDisplay; w: TWindow;
|
|
stdcmap_return: PPXStandardColormap; count_return: PInteger;
|
|
_property: TAtom): TStatus; cdecl; external;
|
|
function XGetSizeHints(display: PDisplay; w: TWindow;
|
|
hints_return: PXSizeHints; _property: TAtom): TStatus; cdecl; external;
|
|
function XGetStandardColormap(display: PDisplay; w: TWindow;
|
|
colormap_return: PXStandardColormap; _property: TAtom): TStatus;
|
|
cdecl; external;
|
|
|
|
(*
|
|
extern Status XGetTextProperty(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { window },
|
|
XTextProperty* { text_prop_return },
|
|
Atom { property }
|
|
#endif
|
|
);
|
|
|
|
extern XVisualInfo *XGetVisualInfo(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
long { vinfo_mask },
|
|
XVisualInfo* { vinfo_template },
|
|
int* { nitems_return }
|
|
#endif
|
|
);
|
|
|
|
extern Status XGetWMClientMachine(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
);
|
|
|
|
extern XWMHints *XGetWMHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w }
|
|
#endif
|
|
);
|
|
|
|
extern Status XGetWMIconName(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
);
|
|
|
|
extern Status XGetWMName(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
);*)
|
|
|
|
function XGetWMNormalHints(display: PDisplay; w: TWindow;
|
|
hints_return: PXSizeHints; supplied_return: PLong): TStatus; cdecl; external;
|
|
|
|
(*
|
|
extern Status XGetWMSizeHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XSizeHints* { hints_return },
|
|
long* { supplied_return },
|
|
Atom { property }
|
|
#endif
|
|
);
|
|
|
|
extern Status XGetZoomHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XSizeHints* { zhints_return }
|
|
#endif
|
|
); *)
|
|
|
|
function XIntersectRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern void XConvertCase(
|
|
#if NeedFunctionPrototypes
|
|
KeySym { sym },
|
|
KeySym* { lower },
|
|
KeySym* { upper }
|
|
#endif
|
|
); *)
|
|
|
|
function XLookupString(event_struct: PXKeyEvent; buffer_return: PChar;
|
|
bytes_buffer: LongInt; keysym_return: PKeySym;
|
|
status_in_out: PXComposeStatus): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern Status XMatchVisualInfo(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
int { screen },
|
|
int { depth },
|
|
int { class },
|
|
XVisualInfo* { vinfo_return }
|
|
#endif
|
|
);
|
|
|
|
extern XOffsetRegion(
|
|
#if NeedFunctionPrototypes
|
|
Region { r },
|
|
int { dx },
|
|
int { dy }
|
|
#endif
|
|
);
|
|
|
|
extern Bool XPointInRegion(
|
|
#if NeedFunctionPrototypes
|
|
Region { r },
|
|
int { x },
|
|
int { y }
|
|
#endif
|
|
);
|
|
|
|
extern Region XPolygonRegion(
|
|
#if NeedFunctionPrototypes
|
|
XPoint* { points },
|
|
int { n },
|
|
int { fill_rule }
|
|
#endif
|
|
);
|
|
|
|
extern longint XRectInRegion(
|
|
#if NeedFunctionPrototypes
|
|
Region { r },
|
|
int { x },
|
|
int { y },
|
|
unsigned int { width },
|
|
unsigned int { height }
|
|
#endif
|
|
);
|
|
|
|
extern longint XSaveContext(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
XID { rid },
|
|
XContext { context },
|
|
_Xconst char* { data }
|
|
#endif
|
|
);
|
|
|
|
extern XSetClassHint(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XClassHint* { class_hints }
|
|
#endif
|
|
);
|
|
|
|
extern XSetIconSizes(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XIconSize* { size_list },
|
|
int { count }
|
|
#endif
|
|
); *)
|
|
|
|
procedure XSetNormalHints(display: PDisplay; w: TWindow;
|
|
hints: PXSizeHints); cdecl; external;
|
|
|
|
(*
|
|
extern void XSetRGBColormaps(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XStandardColormap* { stdcmaps },
|
|
int { count },
|
|
Atom { property }
|
|
#endif
|
|
);
|
|
|
|
extern XSetSizeHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XSizeHints* { hints },
|
|
Atom { property }
|
|
#endif
|
|
); *)
|
|
|
|
function XSetStandardProperties(display: PDisplay; w: TWindow;
|
|
const window_name, icon_name: PChar; icon_pixmap: TPixmap;
|
|
argv: PPChar; argc: LongInt; hints: PXSizeHints): LongInt;
|
|
cdecl; external;
|
|
|
|
procedure XSetTextProperty(display: PDisplay; w: TWindow;
|
|
text_prop: PXTextProperty; AProperty: TAtom); cdecl; external;
|
|
|
|
procedure XSetWMClientMachine(display: PDisplay; w: TWindow;
|
|
text_prop: PXTextProperty); cdecl; external;
|
|
|
|
function XSetWMHints(display: PDisplay; w: TWindow;
|
|
wm_hints: PXWMHints): LongInt; cdecl; external;
|
|
|
|
procedure XSetWMIconName(display: PDisplay; w: TWindow;
|
|
text_prop: PXTextProperty); cdecl; external;
|
|
|
|
procedure XSetWMName(display: PDisplay; w: TWindow;
|
|
text_prop: PXTextProperty); cdecl; external;
|
|
|
|
procedure XSetWMNormalHints(display: PDisplay; w: TWindow;
|
|
hints: PXSizeHints); cdecl; external;
|
|
|
|
procedure XSetWMProperties(display: PDisplay; w: TWindow;
|
|
window_name, icon_name: PXTextProperty; argv: PPChar; argc: LongInt;
|
|
normal_hints: PXSizeHints; wm_hints: PXWMHints; class_hints: PXClassHint);
|
|
cdecl; external;
|
|
|
|
(*
|
|
extern void XmbSetWMProperties(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
_Xconst char* { window_name },
|
|
_Xconst char* { icon_name },
|
|
char** { argv },
|
|
int { argc },
|
|
XSizeHints* { normal_hints },
|
|
XWMHints* { wm_hints },
|
|
XClassHint* { class_hints }
|
|
#endif
|
|
);
|
|
|
|
extern void XSetWMSizeHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XSizeHints* { hints },
|
|
Atom { property }
|
|
#endif
|
|
); *)
|
|
|
|
function XSetRegion(display: PDisplay; gc: TGC; r: TRegion): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern void XSetStandardColormap(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XStandardColormap* { colormap },
|
|
Atom { property }
|
|
#endif
|
|
);
|
|
|
|
extern XSetZoomHints(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
Window { w },
|
|
XSizeHints* { zhints }
|
|
#endif
|
|
); *)
|
|
|
|
function XShrinkRegion(r: TRegion; dx, dy: LongInt): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern Status XStringListToTextProperty(
|
|
#if NeedFunctionPrototypes
|
|
char** { list },
|
|
int { count },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
); *)
|
|
|
|
function XSubtractRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern longint XmbTextListToTextProperty(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
char** { list },
|
|
int { count },
|
|
XICCEncodingStyle { style },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
);
|
|
|
|
extern longint XwcTextListToTextProperty(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
wchar_t** { list },
|
|
int { count },
|
|
XICCEncodingStyle { style },
|
|
XTextProperty* { text_prop_return }
|
|
#endif
|
|
);
|
|
|
|
extern void XwcFreeStringList(
|
|
#if NeedFunctionPrototypes
|
|
wchar_t** { list }
|
|
#endif
|
|
);
|
|
|
|
extern Status XTextPropertyToStringList(
|
|
#if NeedFunctionPrototypes
|
|
XTextProperty* { text_prop },
|
|
char*** { list_return },
|
|
int* { count_return }
|
|
#endif
|
|
);
|
|
|
|
extern longint XmbTextPropertyToTextList(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
XTextProperty* { text_prop },
|
|
char*** { list_return },
|
|
int* { count_return }
|
|
#endif
|
|
);
|
|
|
|
extern longint XwcTextPropertyToTextList(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
XTextProperty* { text_prop },
|
|
wchar_t*** { list_return },
|
|
int* { count_return }
|
|
#endif
|
|
);*)
|
|
|
|
function XUnionRectWithRegion(rectangle: PXRectangle;
|
|
src_region, dest_region_return: TRegion): LongInt; cdecl; external;
|
|
|
|
function XUnionRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
|
|
|
|
(*
|
|
extern longint XWMGeometry(
|
|
#if NeedFunctionPrototypes
|
|
Display* { display },
|
|
int { screen_number },
|
|
_Xconst char* { user_geometry },
|
|
_Xconst char* { default_geometry },
|
|
unsigned int { border_width },
|
|
XSizeHints* { hints },
|
|
int* { x_return },
|
|
int* { y_return },
|
|
int* { width_return },
|
|
int* { height_return },
|
|
int* { gravity_return }
|
|
#endif
|
|
); *)
|
|
|
|
function XXorRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
|
|
|
|
|
|
Implementation
|
|
|
|
end.
|
|
{
|
|
$Log$
|
|
Revision 1.3 2000-12-23 22:48:33 sg
|
|
* Converted declaration of XSetWMProperties (merged from fixbranch)
|
|
|
|
Revision 1.2 2000/07/13 11:33:34 michael
|
|
+ removed logs
|
|
|
|
}
|