mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-12 06:18:51 +00:00
removed x11
This commit is contained in:
@@ -1,71 +0,0 @@
|
||||
import xlib, xutil, x, keysym
|
||||
|
||||
const
|
||||
WINDOW_WIDTH = 400
|
||||
WINDOW_HEIGHT = 300
|
||||
|
||||
var
|
||||
width, height: cuint
|
||||
display: PDisplay
|
||||
screen: cint
|
||||
depth: int
|
||||
win: TWindow
|
||||
sizeHints: TXSizeHints
|
||||
|
||||
proc create_window =
|
||||
width = WINDOW_WIDTH
|
||||
height = WINDOW_HEIGHT
|
||||
|
||||
display = XOpenDisplay(nil)
|
||||
if display == nil:
|
||||
echo("Verbindung zum X-Server fehlgeschlagen")
|
||||
quit(1)
|
||||
|
||||
screen = XDefaultScreen(display)
|
||||
depth = XDefaultDepth(display, screen)
|
||||
var rootwin = XRootWindow(display, screen)
|
||||
win = XCreateSimpleWindow(display, rootwin, 100, 10,
|
||||
width, height, 5,
|
||||
XBlackPixel(display, screen),
|
||||
XWhitePixel(display, screen))
|
||||
size_hints.flags = PSize or PMinSize or PMaxSize
|
||||
size_hints.min_width = width.cint
|
||||
size_hints.max_width = width.cint
|
||||
size_hints.min_height = height.cint
|
||||
size_hints.max_height = height.cint
|
||||
discard XSetStandardProperties(display, win, "Simple Window", "window",
|
||||
0, nil, 0, addr(size_hints))
|
||||
discard XSelectInput(display, win, ButtonPressMask or KeyPressMask or
|
||||
PointerMotionMask)
|
||||
discard XMapWindow(display, win)
|
||||
|
||||
proc close_window =
|
||||
discard XDestroyWindow(display, win)
|
||||
discard XCloseDisplay(display)
|
||||
|
||||
var
|
||||
xev: TXEvent
|
||||
|
||||
proc process_event =
|
||||
var key: TKeySym
|
||||
case int(xev.theType)
|
||||
of KeyPress:
|
||||
key = XLookupKeysym(cast[ptr TXKeyEvent](addr(xev)), 0)
|
||||
if key.int != 0:
|
||||
echo("keyboard event")
|
||||
of ButtonPressMask, PointerMotionMask:
|
||||
Echo("Mouse event")
|
||||
else: nil
|
||||
|
||||
proc eventloop =
|
||||
discard XFlush(display)
|
||||
var num_events = int(XPending(display))
|
||||
while num_events != 0:
|
||||
dec(num_events)
|
||||
discard XNextEvent(display, addr(xev))
|
||||
process_event()
|
||||
|
||||
create_window()
|
||||
while true:
|
||||
eventloop()
|
||||
close_window()
|
||||
@@ -1,110 +0,0 @@
|
||||
# $Xorg: cursorfont.h,v 1.4 2001/02/09 02:03:39 xorgcvs Exp $
|
||||
#
|
||||
#
|
||||
#Copyright 1987, 1998 The Open Group
|
||||
#
|
||||
#Permission to use, copy, modify, distribute, and sell this software and its
|
||||
#documentation for any purpose is hereby granted without fee, provided that
|
||||
#the above copyright notice appear in all copies and that both that
|
||||
#copyright notice and this permission notice appear in supporting
|
||||
#documentation.
|
||||
#
|
||||
#The above copyright notice and this permission notice shall be included
|
||||
#in all copies or substantial portions of the Software.
|
||||
#
|
||||
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
#OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
#IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
#OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
#ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
#OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
#Except as contained in this notice, the name of The Open Group shall
|
||||
#not be used in advertising or otherwise to promote the sale, use or
|
||||
#other dealings in this Software without prior written authorization
|
||||
#from The Open Group.
|
||||
#
|
||||
#
|
||||
|
||||
const
|
||||
XC_num_glyphs* = 154
|
||||
XC_X_cursor* = 0
|
||||
XC_arrow* = 2
|
||||
XC_based_arrow_down* = 4
|
||||
XC_based_arrow_up* = 6
|
||||
XC_boat* = 8
|
||||
XC_bogosity* = 10
|
||||
XC_bottom_left_corner* = 12
|
||||
XC_bottom_right_corner* = 14
|
||||
XC_bottom_side* = 16
|
||||
XC_bottom_tee* = 18
|
||||
XC_box_spiral* = 20
|
||||
XC_center_ptr* = 22
|
||||
XC_circle* = 24
|
||||
XC_clock* = 26
|
||||
XC_coffee_mug* = 28
|
||||
XC_cross* = 30
|
||||
XC_cross_reverse* = 32
|
||||
XC_crosshair* = 34
|
||||
XC_diamond_cross* = 36
|
||||
XC_dot* = 38
|
||||
XC_dotbox* = 40
|
||||
XC_double_arrow* = 42
|
||||
XC_draft_large* = 44
|
||||
XC_draft_small* = 46
|
||||
XC_draped_box* = 48
|
||||
XC_exchange* = 50
|
||||
XC_fleur* = 52
|
||||
XC_gobbler* = 54
|
||||
XC_gumby* = 56
|
||||
XC_hand1* = 58
|
||||
XC_hand2* = 60
|
||||
XC_heart* = 62
|
||||
XC_icon* = 64
|
||||
XC_iron_cross* = 66
|
||||
XC_left_ptr* = 68
|
||||
XC_left_side* = 70
|
||||
XC_left_tee* = 72
|
||||
XC_leftbutton* = 74
|
||||
XC_ll_angle* = 76
|
||||
XC_lr_angle* = 78
|
||||
XC_man* = 80
|
||||
XC_middlebutton* = 82
|
||||
XC_mouse* = 84
|
||||
XC_pencil* = 86
|
||||
XC_pirate* = 88
|
||||
XC_plus* = 90
|
||||
XC_question_arrow* = 92
|
||||
XC_right_ptr* = 94
|
||||
XC_right_side* = 96
|
||||
XC_right_tee* = 98
|
||||
XC_rightbutton* = 100
|
||||
XC_rtl_logo* = 102
|
||||
XC_sailboat* = 104
|
||||
XC_sb_down_arrow* = 106
|
||||
XC_sb_h_double_arrow* = 108
|
||||
XC_sb_left_arrow* = 110
|
||||
XC_sb_right_arrow* = 112
|
||||
XC_sb_up_arrow* = 114
|
||||
XC_sb_v_double_arrow* = 116
|
||||
XC_shuttle* = 118
|
||||
XC_sizing* = 120
|
||||
XC_spider* = 122
|
||||
XC_spraycan* = 124
|
||||
XC_star* = 126
|
||||
XC_target* = 128
|
||||
XC_tcross* = 130
|
||||
XC_top_left_arrow* = 132
|
||||
XC_top_left_corner* = 134
|
||||
XC_top_right_corner* = 136
|
||||
XC_top_side* = 138
|
||||
XC_top_tee* = 140
|
||||
XC_trek* = 142
|
||||
XC_ul_angle* = 144
|
||||
XC_umbrella* = 146
|
||||
XC_ur_angle* = 148
|
||||
XC_watch* = 150
|
||||
XC_xterm* = 152
|
||||
|
||||
# implementation
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,401 +0,0 @@
|
||||
|
||||
#
|
||||
# Automatically converted by H2Pas 0.99.15 from x.h
|
||||
# The following command line parameters were used:
|
||||
# -p
|
||||
# -T
|
||||
# -S
|
||||
# -d
|
||||
# -c
|
||||
# x.h
|
||||
#
|
||||
# Pointers to basic pascal types, inserted by h2pas conversion program.
|
||||
import unsigned
|
||||
|
||||
const
|
||||
X_PROTOCOL* = 11
|
||||
X_PROTOCOL_REVISION* = 0
|
||||
|
||||
type
|
||||
PXID* = ptr TXID
|
||||
TXID* = culong
|
||||
PMask* = ptr TMask
|
||||
TMask* = culong
|
||||
PPAtom* = ptr PAtom
|
||||
PAtom* = ptr TAtom
|
||||
TAtom* = culong
|
||||
PVisualID* = ptr TVisualID
|
||||
TVisualID* = culong
|
||||
PTime* = ptr TTime
|
||||
TTime* = culong
|
||||
PPWindow* = ptr PWindow
|
||||
PWindow* = ptr TWindow
|
||||
TWindow* = TXID
|
||||
PDrawable* = ptr TDrawable
|
||||
TDrawable* = TXID
|
||||
PFont* = ptr TFont
|
||||
TFont* = TXID
|
||||
PPixmap* = ptr TPixmap
|
||||
TPixmap* = TXID
|
||||
PCursor* = ptr TCursor
|
||||
TCursor* = TXID
|
||||
PColormap* = ptr TColormap
|
||||
TColormap* = TXID
|
||||
PGContext* = ptr TGContext
|
||||
TGContext* = TXID
|
||||
PKeySym* = ptr TKeySym
|
||||
TKeySym* = TXID
|
||||
PKeyCode* = ptr TKeyCode
|
||||
TKeyCode* = cuchar
|
||||
|
||||
proc `==`*(a, b: TAtom): bool =
|
||||
return unsigned.`==`(a,b)
|
||||
|
||||
const
|
||||
None* = 0
|
||||
ParentRelative* = 1
|
||||
CopyFromParent* = 0
|
||||
PointerWindow* = 0
|
||||
InputFocus* = 1
|
||||
PointerRoot* = 1
|
||||
AnyPropertyType* = 0
|
||||
AnyKey* = 0
|
||||
AnyButton* = 0
|
||||
AllTemporary* = 0
|
||||
CurrentTime* = 0
|
||||
NoSymbol* = 0
|
||||
NoEventMask* = 0
|
||||
KeyPressMask* = 1 shl 0
|
||||
KeyReleaseMask* = 1 shl 1
|
||||
ButtonPressMask* = 1 shl 2
|
||||
ButtonReleaseMask* = 1 shl 3
|
||||
EnterWindowMask* = 1 shl 4
|
||||
LeaveWindowMask* = 1 shl 5
|
||||
PointerMotionMask* = 1 shl 6
|
||||
PointerMotionHintMask* = 1 shl 7
|
||||
Button1MotionMask* = 1 shl 8
|
||||
Button2MotionMask* = 1 shl 9
|
||||
Button3MotionMask* = 1 shl 10
|
||||
Button4MotionMask* = 1 shl 11
|
||||
Button5MotionMask* = 1 shl 12
|
||||
ButtonMotionMask* = 1 shl 13
|
||||
KeymapStateMask* = 1 shl 14
|
||||
ExposureMask* = 1 shl 15
|
||||
VisibilityChangeMask* = 1 shl 16
|
||||
StructureNotifyMask* = 1 shl 17
|
||||
ResizeRedirectMask* = 1 shl 18
|
||||
SubstructureNotifyMask* = 1 shl 19
|
||||
SubstructureRedirectMask* = 1 shl 20
|
||||
FocusChangeMask* = 1 shl 21
|
||||
PropertyChangeMask* = 1 shl 22
|
||||
ColormapChangeMask* = 1 shl 23
|
||||
OwnerGrabButtonMask* = 1 shl 24
|
||||
KeyPress* = 2
|
||||
KeyRelease* = 3
|
||||
ButtonPress* = 4
|
||||
ButtonRelease* = 5
|
||||
MotionNotify* = 6
|
||||
EnterNotify* = 7
|
||||
LeaveNotify* = 8
|
||||
FocusIn* = 9
|
||||
FocusOut* = 10
|
||||
KeymapNotify* = 11
|
||||
Expose* = 12
|
||||
GraphicsExpose* = 13
|
||||
NoExpose* = 14
|
||||
VisibilityNotify* = 15
|
||||
CreateNotify* = 16
|
||||
DestroyNotify* = 17
|
||||
UnmapNotify* = 18
|
||||
MapNotify* = 19
|
||||
MapRequest* = 20
|
||||
ReparentNotify* = 21
|
||||
ConfigureNotify* = 22
|
||||
ConfigureRequest* = 23
|
||||
GravityNotify* = 24
|
||||
ResizeRequest* = 25
|
||||
CirculateNotify* = 26
|
||||
CirculateRequest* = 27
|
||||
PropertyNotify* = 28
|
||||
SelectionClear* = 29
|
||||
SelectionRequest* = 30
|
||||
SelectionNotify* = 31
|
||||
ColormapNotify* = 32
|
||||
ClientMessage* = 33
|
||||
MappingNotify* = 34
|
||||
LASTEvent* = 35
|
||||
ShiftMask* = 1 shl 0
|
||||
LockMask* = 1 shl 1
|
||||
ControlMask* = 1 shl 2
|
||||
Mod1Mask* = 1 shl 3
|
||||
Mod2Mask* = 1 shl 4
|
||||
Mod3Mask* = 1 shl 5
|
||||
Mod4Mask* = 1 shl 6
|
||||
Mod5Mask* = 1 shl 7
|
||||
ShiftMapIndex* = 0
|
||||
LockMapIndex* = 1
|
||||
ControlMapIndex* = 2
|
||||
Mod1MapIndex* = 3
|
||||
Mod2MapIndex* = 4
|
||||
Mod3MapIndex* = 5
|
||||
Mod4MapIndex* = 6
|
||||
Mod5MapIndex* = 7
|
||||
Button1Mask* = 1 shl 8
|
||||
Button2Mask* = 1 shl 9
|
||||
Button3Mask* = 1 shl 10
|
||||
Button4Mask* = 1 shl 11
|
||||
Button5Mask* = 1 shl 12
|
||||
AnyModifier* = 1 shl 15
|
||||
Button1* = 1
|
||||
Button2* = 2
|
||||
Button3* = 3
|
||||
Button4* = 4
|
||||
Button5* = 5
|
||||
NotifyNormal* = 0
|
||||
NotifyGrab* = 1
|
||||
NotifyUngrab* = 2
|
||||
NotifyWhileGrabbed* = 3
|
||||
NotifyHint* = 1
|
||||
NotifyAncestor* = 0
|
||||
NotifyVirtual* = 1
|
||||
NotifyInferior* = 2
|
||||
NotifyNonlinear* = 3
|
||||
NotifyNonlinearVirtual* = 4
|
||||
NotifyPointer* = 5
|
||||
NotifyPointerRoot* = 6
|
||||
NotifyDetailNone* = 7
|
||||
VisibilityUnobscured* = 0
|
||||
VisibilityPartiallyObscured* = 1
|
||||
VisibilityFullyObscured* = 2
|
||||
PlaceOnTop* = 0
|
||||
PlaceOnBottom* = 1
|
||||
FamilyInternet* = 0
|
||||
FamilyDECnet* = 1
|
||||
FamilyChaos* = 2
|
||||
FamilyInternet6* = 6
|
||||
FamilyServerInterpreted* = 5
|
||||
PropertyNewValue* = 0
|
||||
PropertyDelete* = 1
|
||||
ColormapUninstalled* = 0
|
||||
ColormapInstalled* = 1
|
||||
GrabModeSync* = 0
|
||||
GrabModeAsync* = 1
|
||||
GrabSuccess* = 0
|
||||
AlreadyGrabbed* = 1
|
||||
GrabInvalidTime* = 2
|
||||
GrabNotViewable* = 3
|
||||
GrabFrozen* = 4
|
||||
AsyncPointer* = 0
|
||||
SyncPointer* = 1
|
||||
ReplayPointer* = 2
|
||||
AsyncKeyboard* = 3
|
||||
SyncKeyboard* = 4
|
||||
ReplayKeyboard* = 5
|
||||
AsyncBoth* = 6
|
||||
SyncBoth* = 7
|
||||
RevertToNone* = None
|
||||
RevertToPointerRoot* = PointerRoot
|
||||
RevertToParent* = 2
|
||||
Success* = 0
|
||||
BadRequest* = 1
|
||||
BadValue* = 2
|
||||
BadWindow* = 3
|
||||
BadPixmap* = 4
|
||||
BadAtom* = 5
|
||||
BadCursor* = 6
|
||||
BadFont* = 7
|
||||
BadMatch* = 8
|
||||
BadDrawable* = 9
|
||||
BadAccess* = 10
|
||||
BadAlloc* = 11
|
||||
BadColor* = 12
|
||||
BadGC* = 13
|
||||
BadIDChoice* = 14
|
||||
BadName* = 15
|
||||
BadLength* = 16
|
||||
BadImplementation* = 17
|
||||
FirstExtensionError* = 128
|
||||
LastExtensionError* = 255
|
||||
InputOutput* = 1
|
||||
InputOnly* = 2
|
||||
CWBackPixmap* = 1 shl 0
|
||||
CWBackPixel* = 1 shl 1
|
||||
CWBorderPixmap* = 1 shl 2
|
||||
CWBorderPixel* = 1 shl 3
|
||||
CWBitGravity* = 1 shl 4
|
||||
CWWinGravity* = 1 shl 5
|
||||
CWBackingStore* = 1 shl 6
|
||||
CWBackingPlanes* = 1 shl 7
|
||||
CWBackingPixel* = 1 shl 8
|
||||
CWOverrideRedirect* = 1 shl 9
|
||||
CWSaveUnder* = 1 shl 10
|
||||
CWEventMask* = 1 shl 11
|
||||
CWDontPropagate* = 1 shl 12
|
||||
CWColormap* = 1 shl 13
|
||||
CWCursor* = 1 shl 14
|
||||
CWX* = 1 shl 0
|
||||
CWY* = 1 shl 1
|
||||
CWWidth* = 1 shl 2
|
||||
CWHeight* = 1 shl 3
|
||||
CWBorderWidth* = 1 shl 4
|
||||
CWSibling* = 1 shl 5
|
||||
CWStackMode* = 1 shl 6
|
||||
ForgetGravity* = 0
|
||||
NorthWestGravity* = 1
|
||||
NorthGravity* = 2
|
||||
NorthEastGravity* = 3
|
||||
WestGravity* = 4
|
||||
CenterGravity* = 5
|
||||
EastGravity* = 6
|
||||
SouthWestGravity* = 7
|
||||
SouthGravity* = 8
|
||||
SouthEastGravity* = 9
|
||||
StaticGravity* = 10
|
||||
UnmapGravity* = 0
|
||||
NotUseful* = 0
|
||||
WhenMapped* = 1
|
||||
Always* = 2
|
||||
IsUnmapped* = 0
|
||||
IsUnviewable* = 1
|
||||
IsViewable* = 2
|
||||
SetModeInsert* = 0
|
||||
SetModeDelete* = 1
|
||||
DestroyAll* = 0
|
||||
RetainPermanent* = 1
|
||||
RetainTemporary* = 2
|
||||
Above* = 0
|
||||
Below* = 1
|
||||
TopIf* = 2
|
||||
BottomIf* = 3
|
||||
Opposite* = 4
|
||||
RaiseLowest* = 0
|
||||
LowerHighest* = 1
|
||||
PropModeReplace* = 0
|
||||
PropModePrepend* = 1
|
||||
PropModeAppend* = 2
|
||||
GXclear* = 0x00000000
|
||||
GXand* = 0x00000001
|
||||
GXandReverse* = 0x00000002
|
||||
GXcopy* = 0x00000003
|
||||
GXandInverted* = 0x00000004
|
||||
GXnoop* = 0x00000005
|
||||
GXxor* = 0x00000006
|
||||
GXor* = 0x00000007
|
||||
GXnor* = 0x00000008
|
||||
GXequiv* = 0x00000009
|
||||
GXinvert* = 0x0000000A
|
||||
GXorReverse* = 0x0000000B
|
||||
GXcopyInverted* = 0x0000000C
|
||||
GXorInverted* = 0x0000000D
|
||||
GXnand* = 0x0000000E
|
||||
GXset* = 0x0000000F
|
||||
LineSolid* = 0
|
||||
LineOnOffDash* = 1
|
||||
LineDoubleDash* = 2
|
||||
CapNotLast* = 0
|
||||
CapButt* = 1
|
||||
CapRound* = 2
|
||||
CapProjecting* = 3
|
||||
JoinMiter* = 0
|
||||
JoinRound* = 1
|
||||
JoinBevel* = 2
|
||||
FillSolid* = 0
|
||||
FillTiled* = 1
|
||||
FillStippled* = 2
|
||||
FillOpaqueStippled* = 3
|
||||
EvenOddRule* = 0
|
||||
WindingRule* = 1
|
||||
ClipByChildren* = 0
|
||||
IncludeInferiors* = 1
|
||||
Unsorted* = 0
|
||||
YSorted* = 1
|
||||
YXSorted* = 2
|
||||
YXBanded* = 3
|
||||
CoordModeOrigin* = 0
|
||||
CoordModePrevious* = 1
|
||||
Complex* = 0
|
||||
Nonconvex* = 1
|
||||
Convex* = 2
|
||||
ArcChord* = 0
|
||||
ArcPieSlice* = 1
|
||||
GCFunction* = 1 shl 0
|
||||
GCPlaneMask* = 1 shl 1
|
||||
GCForeground* = 1 shl 2
|
||||
GCBackground* = 1 shl 3
|
||||
GCLineWidth* = 1 shl 4
|
||||
GCLineStyle* = 1 shl 5
|
||||
GCCapStyle* = 1 shl 6
|
||||
GCJoinStyle* = 1 shl 7
|
||||
GCFillStyle* = 1 shl 8
|
||||
GCFillRule* = 1 shl 9
|
||||
GCTile* = 1 shl 10
|
||||
GCStipple* = 1 shl 11
|
||||
GCTileStipXOrigin* = 1 shl 12
|
||||
GCTileStipYOrigin* = 1 shl 13
|
||||
GCFont* = 1 shl 14
|
||||
GCSubwindowMode* = 1 shl 15
|
||||
GCGraphicsExposures* = 1 shl 16
|
||||
GCClipXOrigin* = 1 shl 17
|
||||
GCClipYOrigin* = 1 shl 18
|
||||
GCClipMask* = 1 shl 19
|
||||
GCDashOffset* = 1 shl 20
|
||||
GCDashList* = 1 shl 21
|
||||
GCArcMode* = 1 shl 22
|
||||
GCLastBit* = 22
|
||||
FontLeftToRight* = 0
|
||||
FontRightToLeft* = 1
|
||||
FontChange* = 255
|
||||
XYBitmap* = 0
|
||||
XYPixmap* = 1
|
||||
ZPixmap* = 2
|
||||
AllocNone* = 0
|
||||
AllocAll* = 1
|
||||
DoRed* = 1 shl 0
|
||||
DoGreen* = 1 shl 1
|
||||
DoBlue* = 1 shl 2
|
||||
CursorShape* = 0
|
||||
TileShape* = 1
|
||||
StippleShape* = 2
|
||||
AutoRepeatModeOff* = 0
|
||||
AutoRepeatModeOn* = 1
|
||||
AutoRepeatModeDefault* = 2
|
||||
LedModeOff* = 0
|
||||
LedModeOn* = 1
|
||||
KBKeyClickPercent* = 1 shl 0
|
||||
KBBellPercent* = 1 shl 1
|
||||
KBBellPitch* = 1 shl 2
|
||||
KBBellDuration* = 1 shl 3
|
||||
KBLed* = 1 shl 4
|
||||
KBLedMode* = 1 shl 5
|
||||
KBKey* = 1 shl 6
|
||||
KBAutoRepeatMode* = 1 shl 7
|
||||
MappingSuccess* = 0
|
||||
MappingBusy* = 1
|
||||
MappingFailed* = 2
|
||||
MappingModifier* = 0
|
||||
MappingKeyboard* = 1
|
||||
MappingPointer* = 2
|
||||
DontPreferBlanking* = 0
|
||||
PreferBlanking* = 1
|
||||
DefaultBlanking* = 2
|
||||
DisableScreenSaver* = 0
|
||||
DisableScreenInterval* = 0
|
||||
DontAllowExposures* = 0
|
||||
AllowExposures* = 1
|
||||
DefaultExposures* = 2
|
||||
ScreenSaverReset* = 0
|
||||
ScreenSaverActive* = 1
|
||||
HostInsert* = 0
|
||||
HostDelete* = 1
|
||||
EnableAccess* = 1
|
||||
DisableAccess* = 0
|
||||
StaticGray* = 0
|
||||
GrayScale* = 1
|
||||
StaticColor* = 2
|
||||
PseudoColor* = 3
|
||||
TrueColor* = 4
|
||||
DirectColor* = 5
|
||||
LSBFirst* = 0
|
||||
MSBFirst* = 1
|
||||
|
||||
# implementation
|
||||
@@ -1,20 +0,0 @@
|
||||
# included from xlib bindings
|
||||
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libx11, cdecl, importc.}
|
||||
{.pragma: libx11c, cdecl.}
|
||||
when defined(use_pkg_config_static):
|
||||
{.passl: gorge("pkg-config x11 --static --libs").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config x11 --libs").}
|
||||
else:
|
||||
when defined(macosx):
|
||||
const
|
||||
libX11* = "libX11.dylib"
|
||||
else:
|
||||
const
|
||||
libX11* = "libX11.so"
|
||||
|
||||
{.pragma: libx11, cdecl, dynlib: libX11, importc.}
|
||||
{.pragma: libx11c, cdecl, dynlib: libX11.}
|
||||
@@ -1,81 +0,0 @@
|
||||
#
|
||||
# THIS IS A GENERATED FILE
|
||||
#
|
||||
# Do not change! Changing this file implies a protocol change!
|
||||
#
|
||||
|
||||
import
|
||||
X
|
||||
|
||||
const
|
||||
XA_PRIMARY* = TAtom(1)
|
||||
XA_SECONDARY* = TAtom(2)
|
||||
XA_ARC* = TAtom(3)
|
||||
XA_ATOM* = TAtom(4)
|
||||
XA_BITMAP* = TAtom(5)
|
||||
XA_CARDINAL* = TAtom(6)
|
||||
XA_COLORMAP* = TAtom(7)
|
||||
XA_CURSOR* = TAtom(8)
|
||||
XA_CUT_BUFFER0* = TAtom(9)
|
||||
XA_CUT_BUFFER1* = TAtom(10)
|
||||
XA_CUT_BUFFER2* = TAtom(11)
|
||||
XA_CUT_BUFFER3* = TAtom(12)
|
||||
XA_CUT_BUFFER4* = TAtom(13)
|
||||
XA_CUT_BUFFER5* = TAtom(14)
|
||||
XA_CUT_BUFFER6* = TAtom(15)
|
||||
XA_CUT_BUFFER7* = TAtom(16)
|
||||
XA_DRAWABLE* = TAtom(17)
|
||||
XA_FONT* = TAtom(18)
|
||||
XA_INTEGER* = TAtom(19)
|
||||
XA_PIXMAP* = TAtom(20)
|
||||
XA_POINT* = TAtom(21)
|
||||
XA_RECTANGLE* = TAtom(22)
|
||||
XA_RESOURCE_MANAGER* = TAtom(23)
|
||||
XA_RGB_COLOR_MAP* = TAtom(24)
|
||||
XA_RGB_BEST_MAP* = TAtom(25)
|
||||
XA_RGB_BLUE_MAP* = TAtom(26)
|
||||
XA_RGB_DEFAULT_MAP* = TAtom(27)
|
||||
XA_RGB_GRAY_MAP* = TAtom(28)
|
||||
XA_RGB_GREEN_MAP* = TAtom(29)
|
||||
XA_RGB_RED_MAP* = TAtom(30)
|
||||
XA_STRING* = TAtom(31)
|
||||
XA_VISUALID* = TAtom(32)
|
||||
XA_WINDOW* = TAtom(33)
|
||||
XA_WM_COMMAND* = TAtom(34)
|
||||
XA_WM_HINTS* = TAtom(35)
|
||||
XA_WM_CLIENT_MACHINE* = TAtom(36)
|
||||
XA_WM_ICON_NAME* = TAtom(37)
|
||||
XA_WM_ICON_SIZE* = TAtom(38)
|
||||
XA_WM_NAME* = TAtom(39)
|
||||
XA_WM_NORMAL_HINTS* = TAtom(40)
|
||||
XA_WM_SIZE_HINTS* = TAtom(41)
|
||||
XA_WM_ZOOM_HINTS* = TAtom(42)
|
||||
XA_MIN_SPACE* = TAtom(43)
|
||||
XA_NORM_SPACE* = TAtom(44)
|
||||
XA_MAX_SPACE* = TAtom(45)
|
||||
XA_END_SPACE* = TAtom(46)
|
||||
XA_SUPERSCRIPT_X* = TAtom(47)
|
||||
XA_SUPERSCRIPT_Y* = TAtom(48)
|
||||
XA_SUBSCRIPT_X* = TAtom(49)
|
||||
XA_SUBSCRIPT_Y* = TAtom(50)
|
||||
XA_UNDERLINE_POSITION* = TAtom(51)
|
||||
XA_UNDERLINE_THICKNESS* = TAtom(52)
|
||||
XA_STRIKEOUT_ASCENT* = TAtom(53)
|
||||
XA_STRIKEOUT_DESCENT* = TAtom(54)
|
||||
XA_ITALIC_ANGLE* = TAtom(55)
|
||||
XA_X_HEIGHT* = TAtom(56)
|
||||
XA_QUAD_WIDTH* = TAtom(57)
|
||||
XA_WEIGHT* = TAtom(58)
|
||||
XA_POINT_SIZE* = TAtom(59)
|
||||
XA_RESOLUTION* = TAtom(60)
|
||||
XA_COPYRIGHT* = TAtom(61)
|
||||
XA_NOTICE* = TAtom(62)
|
||||
XA_FONT_NAME* = TAtom(63)
|
||||
XA_FAMILY_NAME* = TAtom(64)
|
||||
XA_FULL_NAME* = TAtom(65)
|
||||
XA_CAP_HEIGHT* = TAtom(66)
|
||||
XA_WM_CLASS* = TAtom(67)
|
||||
XA_WM_TRANSIENT_FOR* = TAtom(68)
|
||||
XA_LAST_PREDEFINED* = TAtom(68)
|
||||
|
||||
# implementation
|
||||
@@ -1,396 +0,0 @@
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
#const
|
||||
# libX11* = "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
|
||||
#
|
||||
|
||||
const
|
||||
XcmsFailure* = 0
|
||||
XcmsSuccess* = 1
|
||||
XcmsSuccessWithCompression* = 2
|
||||
|
||||
type
|
||||
PXcmsColorFormat* = ptr TXcmsColorFormat
|
||||
TXcmsColorFormat* = int32
|
||||
|
||||
proc XcmsUndefinedFormat*(): TXcmsColorFormat
|
||||
proc XcmsCIEXYZFormat*(): TXcmsColorFormat
|
||||
proc XcmsCIEuvYFormat*(): TXcmsColorFormat
|
||||
proc XcmsCIExyYFormat*(): TXcmsColorFormat
|
||||
proc XcmsCIELabFormat*(): TXcmsColorFormat
|
||||
proc XcmsCIELuvFormat*(): TXcmsColorFormat
|
||||
proc XcmsTekHVCFormat*(): TXcmsColorFormat
|
||||
proc XcmsRGBFormat*(): TXcmsColorFormat
|
||||
proc XcmsRGBiFormat*(): TXcmsColorFormat
|
||||
const
|
||||
XcmsInitNone* = 0x00000000
|
||||
XcmsInitSuccess* = 0x00000001
|
||||
XcmsInitFailure* = 0x000000FF
|
||||
|
||||
when defined(MACROS):
|
||||
proc DisplayOfCCC*(ccc: int32): int32
|
||||
proc ScreenNumberOfCCC*(ccc: int32): int32
|
||||
proc VisualOfCCC*(ccc: int32): int32
|
||||
proc ClientWhitePointOfCCC*(ccc: int32): int32
|
||||
proc ScreenWhitePointOfCCC*(ccc: int32): int32
|
||||
proc FunctionSetOfCCC*(ccc: int32): int32
|
||||
type
|
||||
PXcmsFloat* = ptr TXcmsFloat
|
||||
TXcmsFloat* = float64
|
||||
PXcmsRGB* = ptr TXcmsRGB
|
||||
TXcmsRGB*{.final.} = object
|
||||
red*: int16
|
||||
green*: int16
|
||||
blue*: int16
|
||||
|
||||
PXcmsRGBi* = ptr TXcmsRGBi
|
||||
TXcmsRGBi*{.final.} = object
|
||||
red*: TXcmsFloat
|
||||
green*: TXcmsFloat
|
||||
blue*: TXcmsFloat
|
||||
|
||||
PXcmsCIEXYZ* = ptr TXcmsCIEXYZ
|
||||
TXcmsCIEXYZ*{.final.} = object
|
||||
X*: TXcmsFloat
|
||||
Y*: TXcmsFloat
|
||||
Z*: TXcmsFloat
|
||||
|
||||
PXcmsCIEuvY* = ptr TXcmsCIEuvY
|
||||
TXcmsCIEuvY*{.final.} = object
|
||||
u_prime*: TXcmsFloat
|
||||
v_prime*: TXcmsFloat
|
||||
Y*: TXcmsFloat
|
||||
|
||||
PXcmsCIExyY* = ptr TXcmsCIExyY
|
||||
TXcmsCIExyY*{.final.} = object
|
||||
x*: TXcmsFloat
|
||||
y*: TXcmsFloat
|
||||
theY*: TXcmsFloat
|
||||
|
||||
PXcmsCIELab* = ptr TXcmsCIELab
|
||||
TXcmsCIELab*{.final.} = object
|
||||
L_star*: TXcmsFloat
|
||||
a_star*: TXcmsFloat
|
||||
b_star*: TXcmsFloat
|
||||
|
||||
PXcmsCIELuv* = ptr TXcmsCIELuv
|
||||
TXcmsCIELuv*{.final.} = object
|
||||
L_star*: TXcmsFloat
|
||||
u_star*: TXcmsFloat
|
||||
v_star*: TXcmsFloat
|
||||
|
||||
PXcmsTekHVC* = ptr TXcmsTekHVC
|
||||
TXcmsTekHVC*{.final.} = object
|
||||
H*: TXcmsFloat
|
||||
V*: TXcmsFloat
|
||||
C*: TXcmsFloat
|
||||
|
||||
PXcmsPad* = ptr TXcmsPad
|
||||
TXcmsPad*{.final.} = object
|
||||
pad0*: TXcmsFloat
|
||||
pad1*: TXcmsFloat
|
||||
pad2*: TXcmsFloat
|
||||
pad3*: TXcmsFloat
|
||||
|
||||
PXcmsColor* = ptr TXcmsColor
|
||||
TXcmsColor*{.final.} = object # 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;
|
||||
pad*: TXcmsPad
|
||||
pixel*: int32
|
||||
format*: TXcmsColorFormat
|
||||
|
||||
PXcmsPerScrnInfo* = ptr TXcmsPerScrnInfo
|
||||
TXcmsPerScrnInfo*{.final.} = object
|
||||
screenWhitePt*: TXcmsColor
|
||||
functionSet*: TXPointer
|
||||
screenData*: TXPointer
|
||||
state*: int8
|
||||
pad*: array[0..2, char]
|
||||
|
||||
PXcmsCCC* = ptr TXcmsCCC
|
||||
TXcmsCompressionProc* = proc (para1: PXcmsCCC, para2: PXcmsColor,
|
||||
para3: int32, para4: int32, para5: PBool): TStatus{.
|
||||
cdecl.}
|
||||
TXcmsWhiteAdjustProc* = proc (para1: PXcmsCCC, para2: PXcmsColor,
|
||||
para3: PXcmsColor, para4: TXcmsColorFormat,
|
||||
para5: PXcmsColor, para6: int32, para7: PBool): TStatus{.
|
||||
cdecl.}
|
||||
TXcmsCCC*{.final.} = object
|
||||
dpy*: PDisplay
|
||||
screenNumber*: int32
|
||||
visual*: PVisual
|
||||
clientWhitePt*: TXcmsColor
|
||||
gamutCompProc*: TXcmsCompressionProc
|
||||
gamutCompClientData*: TXPointer
|
||||
whitePtAdjProc*: TXcmsWhiteAdjustProc
|
||||
whitePtAdjClientData*: TXPointer
|
||||
pPerScrnInfo*: PXcmsPerScrnInfo
|
||||
|
||||
TXcmsCCCRec* = TXcmsCCC
|
||||
PXcmsCCCRec* = ptr TXcmsCCCRec
|
||||
TXcmsScreenInitProc* = proc (para1: PDisplay, para2: int32,
|
||||
para3: PXcmsPerScrnInfo): TStatus{.cdecl.}
|
||||
TXcmsScreenFreeProc* = proc (para1: TXPointer){.cdecl.}
|
||||
TXcmsConversionProc* = proc (){.cdecl.}
|
||||
PXcmsFuncListPtr* = ptr TXcmsFuncListPtr
|
||||
TXcmsFuncListPtr* = TXcmsConversionProc
|
||||
TXcmsParseStringProc* = proc (para1: cstring, para2: PXcmsColor): int32{.cdecl.}
|
||||
PXcmsColorSpace* = ptr TXcmsColorSpace
|
||||
TXcmsColorSpace*{.final.} = object
|
||||
prefix*: cstring
|
||||
id*: TXcmsColorFormat
|
||||
parseString*: TXcmsParseStringProc
|
||||
to_CIEXYZ*: TXcmsFuncListPtr
|
||||
from_CIEXYZ*: TXcmsFuncListPtr
|
||||
inverse_flag*: int32
|
||||
|
||||
PXcmsFunctionSet* = ptr TXcmsFunctionSet
|
||||
TXcmsFunctionSet*{.final.} = object # error
|
||||
#extern Status XcmsAddColorSpace (
|
||||
#in declaration at line 323
|
||||
DDColorSpaces*: ptr PXcmsColorSpace
|
||||
screenInitProc*: TXcmsScreenInitProc
|
||||
screenFreeProc*: TXcmsScreenFreeProc
|
||||
|
||||
|
||||
proc XcmsAddFunctionSet*(para1: PXcmsFunctionSet): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsAllocColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor,
|
||||
para4: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsAllocNamedColor*(para1: PDisplay, para2: TColormap, para3: cstring,
|
||||
para4: PXcmsColor, para5: PXcmsColor,
|
||||
para6: TXcmsColorFormat): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCCCOfColormap*(para1: PDisplay, para2: TColormap): TXcmsCCC{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELabClipab*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELabClipL*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELabClipLab*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELabQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELabQueryMaxL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELabQueryMaxLC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIELabQueryMinL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELabToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIELabWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor,
|
||||
para3: PXcmsColor, para4: TXcmsColorFormat,
|
||||
para5: PXcmsColor, para6: int32, para7: PBool): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvClipL*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvClipLuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvClipuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELuvQueryMaxL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELuvQueryMaxLC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvQueryMinL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsCIELuvToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIELuvWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor,
|
||||
para3: PXcmsColor, para4: TXcmsColorFormat,
|
||||
para5: PXcmsColor, para6: int32, para7: PBool): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEXYZToCIELab*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEXYZToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEXYZToCIExyY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEXYZToRGBi*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEuvYToCIELuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEuvYToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIEuvYToTekHVC*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsCIExyYToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsClientWhitePointOfCCC*(para1: TXcmsCCC): PXcmsColor{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsConvertColors*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: TXcmsColorFormat, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsCreateCCC*(para1: PDisplay, para2: int32, para3: PVisual,
|
||||
para4: PXcmsColor, para5: TXcmsCompressionProc,
|
||||
para6: TXPointer, para7: TXcmsWhiteAdjustProc,
|
||||
para8: TXPointer): TXcmsCCC{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsDefaultCCC*(para1: PDisplay, para2: int32): TXcmsCCC{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsDisplayOfCCC*(para1: TXcmsCCC): PDisplay{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsFormatOfPrefix*(para1: cstring): TXcmsColorFormat{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsFreeCCC*(para1: TXcmsCCC){.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsLookupColor*(para1: PDisplay, para2: TColormap, para3: cstring,
|
||||
para4: PXcmsColor, para5: PXcmsColor,
|
||||
para6: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsPrefixOfFormat*(para1: TXcmsColorFormat): cstring{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsQueryBlack*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsQueryBlue*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsQueryColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor,
|
||||
para4: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsQueryColors*(para1: PDisplay, para2: TColormap, para3: PXcmsColor,
|
||||
para4: int32, para5: TXcmsColorFormat): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsQueryGreen*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsQueryRed*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsQueryWhite*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsRGBiToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsRGBiToRGB*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsRGBToRGBi*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsScreenNumberOfCCC*(para1: TXcmsCCC): int32{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsScreenWhitePointOfCCC*(para1: TXcmsCCC): PXcmsColor{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsSetCCCOfColormap*(para1: PDisplay, para2: TColormap, para3: TXcmsCCC): TXcmsCCC{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsSetCompressionProc*(para1: TXcmsCCC, para2: TXcmsCompressionProc,
|
||||
para3: TXPointer): TXcmsCompressionProc{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsSetWhiteAdjustProc*(para1: TXcmsCCC, para2: TXcmsWhiteAdjustProc,
|
||||
para3: TXPointer): TXcmsWhiteAdjustProc{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsSetWhitePoint*(para1: TXcmsCCC, para2: PXcmsColor): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsStoreColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsStoreColors*(para1: PDisplay, para2: TColormap, para3: PXcmsColor,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCClipC*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCClipV*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCClipVC*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32,
|
||||
para4: int32, para5: PBool): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsTekHVCQueryMaxV*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsTekHVCQueryMaxVC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCQueryMaxVSamples*(para1: TXcmsCCC, para2: TXcmsFloat,
|
||||
para3: PXcmsColor, para4: int32): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCQueryMinV*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat,
|
||||
para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XcmsTekHVCToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor,
|
||||
para4: int32): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsTekHVCWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor,
|
||||
para3: PXcmsColor, para4: TXcmsColorFormat,
|
||||
para5: PXcmsColor, para6: int32, para7: PBool): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XcmsVisualOfCCC*(para1: TXcmsCCC): PVisual{.cdecl, dynlib: libX11, importc.}
|
||||
# implementation
|
||||
|
||||
proc XcmsUndefinedFormat(): TXcmsColorFormat =
|
||||
result = 0x00000000'i32
|
||||
|
||||
proc XcmsCIEXYZFormat(): TXcmsColorFormat =
|
||||
result = 0x00000001'i32
|
||||
|
||||
proc XcmsCIEuvYFormat(): TXcmsColorFormat =
|
||||
result = 0x00000002'i32
|
||||
|
||||
proc XcmsCIExyYFormat(): TXcmsColorFormat =
|
||||
result = 0x00000003'i32
|
||||
|
||||
proc XcmsCIELabFormat(): TXcmsColorFormat =
|
||||
result = 0x00000004'i32
|
||||
|
||||
proc XcmsCIELuvFormat(): TXcmsColorFormat =
|
||||
result = 0x00000005'i32
|
||||
|
||||
proc XcmsTekHVCFormat(): TXcmsColorFormat =
|
||||
result = 0x00000006'i32
|
||||
|
||||
proc XcmsRGBFormat(): TXcmsColorFormat =
|
||||
result = 0x80000000'i32
|
||||
|
||||
proc XcmsRGBiFormat(): TXcmsColorFormat =
|
||||
result = 0x80000001'i32
|
||||
|
||||
when defined(MACROS):
|
||||
proc DisplayOfCCC(ccc: int32): int32 =
|
||||
result = ccc.dpy
|
||||
|
||||
proc ScreenNumberOfCCC(ccc: int32): int32 =
|
||||
result = ccc.screenNumber
|
||||
|
||||
proc VisualOfCCC(ccc: int32): int32 =
|
||||
result = ccc.visual
|
||||
|
||||
proc ClientWhitePointOfCCC(ccc: int32): int32 =
|
||||
result = addr(ccc.clientWhitePt)
|
||||
|
||||
proc ScreenWhitePointOfCCC(ccc: int32): int32 =
|
||||
result = addr(ccc.pPerScrnInfo.screenWhitePt)
|
||||
|
||||
proc FunctionSetOfCCC(ccc: int32): int32 =
|
||||
result = ccc.pPerScrnInfo.functionSet
|
||||
@@ -1,235 +0,0 @@
|
||||
#
|
||||
# Copyright (c) 1999 XFree86 Inc
|
||||
#
|
||||
# $XFree86: xc/include/extensions/xf86dga.h,v 3.20 1999/10/13 04:20:48 dawes Exp $
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
const
|
||||
libXxf86dga* = "libXxf86dga.so"
|
||||
|
||||
#type
|
||||
# cfloat* = float32
|
||||
|
||||
# $XFree86: xc/include/extensions/xf86dga1.h,v 1.2 1999/04/17 07:05:41 dawes Exp $
|
||||
#
|
||||
#
|
||||
#Copyright (c) 1995 Jon Tombs
|
||||
#Copyright (c) 1995 XFree86 Inc
|
||||
#
|
||||
#
|
||||
#************************************************************************
|
||||
#
|
||||
# THIS IS THE OLD DGA API AND IS OBSOLETE. PLEASE DO NOT USE IT ANYMORE
|
||||
#
|
||||
#************************************************************************
|
||||
|
||||
type
|
||||
PPcchar* = ptr ptr cstring
|
||||
|
||||
const
|
||||
X_XF86DGAQueryVersion* = 0
|
||||
X_XF86DGAGetVideoLL* = 1
|
||||
X_XF86DGADirectVideo* = 2
|
||||
X_XF86DGAGetViewPortSize* = 3
|
||||
X_XF86DGASetViewPort* = 4
|
||||
X_XF86DGAGetVidPage* = 5
|
||||
X_XF86DGASetVidPage* = 6
|
||||
X_XF86DGAInstallColormap* = 7
|
||||
X_XF86DGAQueryDirectVideo* = 8
|
||||
X_XF86DGAViewPortChanged* = 9
|
||||
XF86DGADirectPresent* = 0x00000001
|
||||
XF86DGADirectGraphics* = 0x00000002
|
||||
XF86DGADirectMouse* = 0x00000004
|
||||
XF86DGADirectKeyb* = 0x00000008
|
||||
XF86DGAHasColormap* = 0x00000100
|
||||
XF86DGADirectColormap* = 0x00000200
|
||||
|
||||
proc XF86DGAQueryVersion*(dpy: PDisplay, majorVersion: Pcint,
|
||||
minorVersion: Pcint): TBool{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): TBool{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAGetVideoLL*(dpy: PDisplay, screen: cint, base_addr: Pcint,
|
||||
width: Pcint, bank_size: Pcint, ram_size: Pcint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAGetVideo*(dpy: PDisplay, screen: cint, base_addr: PPcchar,
|
||||
width: Pcint, bank_size: Pcint, ram_size: Pcint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGADirectVideo*(dpy: PDisplay, screen: cint, enable: cint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGADirectVideoLL*(dpy: PDisplay, screen: cint, enable: cint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAGetViewPortSize*(dpy: PDisplay, screen: cint, width: Pcint,
|
||||
height: Pcint): TStatus{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGASetViewPort*(dpy: PDisplay, screen: cint, x: cint, y: cint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAGetVidPage*(dpy: PDisplay, screen: cint, vid_page: Pcint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGASetVidPage*(dpy: PDisplay, screen: cint, vid_page: cint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAInstallColormap*(dpy: PDisplay, screen: cint, Colormap: TColormap): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAForkApp*(screen: cint): cint{.CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAQueryDirectVideo*(dpy: PDisplay, screen: cint, flags: Pcint): TStatus{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XF86DGAViewPortChanged*(dpy: PDisplay, screen: cint, n: cint): TBool{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
const
|
||||
X_XDGAQueryVersion* = 0 # 1 through 9 are in xf86dga1.pp
|
||||
# 10 and 11 are reserved to avoid conflicts with rogue DGA extensions
|
||||
X_XDGAQueryModes* = 12
|
||||
X_XDGASetMode* = 13
|
||||
X_XDGASetViewport* = 14
|
||||
X_XDGAInstallColormap* = 15
|
||||
X_XDGASelectInput* = 16
|
||||
X_XDGAFillRectangle* = 17
|
||||
X_XDGACopyArea* = 18
|
||||
X_XDGACopyTransparentArea* = 19
|
||||
X_XDGAGetViewportStatus* = 20
|
||||
X_XDGASync* = 21
|
||||
X_XDGAOpenFramebuffer* = 22
|
||||
X_XDGACloseFramebuffer* = 23
|
||||
X_XDGASetClientVersion* = 24
|
||||
X_XDGAChangePixmapMode* = 25
|
||||
X_XDGACreateColormap* = 26
|
||||
XDGAConcurrentAccess* = 0x00000001
|
||||
XDGASolidFillRect* = 0x00000002
|
||||
XDGABlitRect* = 0x00000004
|
||||
XDGABlitTransRect* = 0x00000008
|
||||
XDGAPixmap* = 0x00000010
|
||||
XDGAInterlaced* = 0x00010000
|
||||
XDGADoublescan* = 0x00020000
|
||||
XDGAFlipImmediate* = 0x00000001
|
||||
XDGAFlipRetrace* = 0x00000002
|
||||
XDGANeedRoot* = 0x00000001
|
||||
XF86DGANumberEvents* = 7
|
||||
XDGAPixmapModeLarge* = 0
|
||||
XDGAPixmapModeSmall* = 1
|
||||
XF86DGAClientNotLocal* = 0
|
||||
XF86DGANoDirectVideoMode* = 1
|
||||
XF86DGAScreenNotActive* = 2
|
||||
XF86DGADirectNotActivated* = 3
|
||||
XF86DGAOperationNotSupported* = 4
|
||||
XF86DGANumberErrors* = (XF86DGAOperationNotSupported + 1)
|
||||
|
||||
type
|
||||
PXDGAMode* = ptr TXDGAMode
|
||||
TXDGAMode*{.final.} = object
|
||||
num*: cint # A unique identifier for the mode (num > 0)
|
||||
name*: cstring # name of mode given in the XF86Config
|
||||
verticalRefresh*: cfloat
|
||||
flags*: cint # DGA_CONCURRENT_ACCESS, etc...
|
||||
imageWidth*: cint # linear accessible portion (pixels)
|
||||
imageHeight*: cint
|
||||
pixmapWidth*: cint # Xlib accessible portion (pixels)
|
||||
pixmapHeight*: cint # both fields ignored if no concurrent access
|
||||
bytesPerScanline*: cint
|
||||
byteOrder*: cint # MSBFirst, LSBFirst
|
||||
depth*: cint
|
||||
bitsPerPixel*: cint
|
||||
redMask*: culong
|
||||
greenMask*: culong
|
||||
blueMask*: culong
|
||||
visualClass*: cshort
|
||||
viewportWidth*: cint
|
||||
viewportHeight*: cint
|
||||
xViewportStep*: cint # viewport position granularity
|
||||
yViewportStep*: cint
|
||||
maxViewportX*: cint # max viewport origin
|
||||
maxViewportY*: cint
|
||||
viewportFlags*: cint # types of page flipping possible
|
||||
reserved1*: cint
|
||||
reserved2*: cint
|
||||
|
||||
PXDGADevice* = ptr TXDGADevice
|
||||
TXDGADevice*{.final.} = object
|
||||
mode*: TXDGAMode
|
||||
data*: Pcuchar
|
||||
pixmap*: TPixmap
|
||||
|
||||
PXDGAButtonEvent* = ptr TXDGAButtonEvent
|
||||
TXDGAButtonEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong
|
||||
display*: PDisplay
|
||||
screen*: cint
|
||||
time*: TTime
|
||||
state*: cuint
|
||||
button*: cuint
|
||||
|
||||
PXDGAKeyEvent* = ptr TXDGAKeyEvent
|
||||
TXDGAKeyEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong
|
||||
display*: PDisplay
|
||||
screen*: cint
|
||||
time*: TTime
|
||||
state*: cuint
|
||||
keycode*: cuint
|
||||
|
||||
PXDGAMotionEvent* = ptr TXDGAMotionEvent
|
||||
TXDGAMotionEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong
|
||||
display*: PDisplay
|
||||
screen*: cint
|
||||
time*: TTime
|
||||
state*: cuint
|
||||
dx*: cint
|
||||
dy*: cint
|
||||
|
||||
PXDGAEvent* = ptr TXDGAEvent
|
||||
TXDGAEvent*{.final.} = object
|
||||
pad*: array[0..23, clong] # sorry you have to cast if you want access
|
||||
#Case LongInt Of
|
||||
# 0 : (_type : cint);
|
||||
# 1 : (xbutton : TXDGAButtonEvent);
|
||||
# 2 : (xkey : TXDGAKeyEvent);
|
||||
# 3 : (xmotion : TXDGAMotionEvent);
|
||||
# 4 : (pad : Array[0..23] Of clong);
|
||||
|
||||
|
||||
proc XDGAQueryExtension*(dpy: PDisplay, eventBase: Pcint, erroBase: Pcint): TBool{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XDGAQueryVersion*(dpy: PDisplay, majorVersion: Pcint, minorVersion: Pcint): TBool{.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XDGAQueryModes*(dpy: PDisplay, screen: cint, num: Pcint): PXDGAMode{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGASetMode*(dpy: PDisplay, screen: cint, mode: cint): PXDGADevice{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGAOpenFramebuffer*(dpy: PDisplay, screen: cint): TBool{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGACloseFramebuffer*(dpy: PDisplay, screen: cint){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGASetViewport*(dpy: PDisplay, screen: cint, x: cint, y: cint, flags: cint){.
|
||||
CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XDGAInstallColormap*(dpy: PDisplay, screen: cint, cmap: TColormap){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGACreateColormap*(dpy: PDisplay, screen: cint, device: PXDGADevice,
|
||||
alloc: cint): TColormap{.CDecl, dynlib: libXxf86dga,
|
||||
importc.}
|
||||
proc XDGASelectInput*(dpy: PDisplay, screen: cint, event_mask: clong){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGAFillRectangle*(dpy: PDisplay, screen: cint, x: cint, y: cint,
|
||||
width: cuint, height: cuint, color: culong){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGACopyArea*(dpy: PDisplay, screen: cint, srcx: cint, srcy: cint,
|
||||
width: cuint, height: cuint, dstx: cint, dsty: cint){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGACopyTransparentArea*(dpy: PDisplay, screen: cint, srcx: cint,
|
||||
srcy: cint, width: cuint, height: cuint,
|
||||
dstx: cint, dsty: cint, key: culong){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGAGetViewportStatus*(dpy: PDisplay, screen: cint): cint{.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
proc XDGASync*(dpy: PDisplay, screen: cint){.CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XDGASetClientVersion*(dpy: PDisplay): TBool{.CDecl, dynlib: libXxf86dga,
|
||||
importc.}
|
||||
proc XDGAChangePixmapMode*(dpy: PDisplay, screen: cint, x: Pcint, y: Pcint,
|
||||
mode: cint){.CDecl, dynlib: libXxf86dga, importc.}
|
||||
proc XDGAKeyEventToXKeyEvent*(dk: PXDGAKeyEvent, xk: PXKeyEvent){.CDecl,
|
||||
dynlib: libXxf86dga, importc.}
|
||||
# implementation
|
||||
@@ -1,229 +0,0 @@
|
||||
# $XFree86: xc/include/extensions/xf86vmode.h,v 3.30 2001/05/07 20:09:50 mvojkovi Exp $
|
||||
#
|
||||
#
|
||||
#Copyright 1995 Kaleb S. KEITHLEY
|
||||
#
|
||||
#Permission is hereby granted, free of charge, to any person obtaining
|
||||
#a copy of this software and associated documentation files (the
|
||||
#"Software"), to deal in the Software without restriction, including
|
||||
#without limitation the rights to use, copy, modify, merge, publish,
|
||||
#distribute, sublicense, and/or sell copies of the Software, and to
|
||||
#permit persons to whom the Software is furnished to do so, subject to
|
||||
#the following conditions:
|
||||
#
|
||||
#The above copyright notice and this permission notice shall be
|
||||
#included in all copies or substantial portions of the Software.
|
||||
#
|
||||
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
#EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
#IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
|
||||
#OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
#ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
#OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
#Except as contained in this notice, the name of Kaleb S. KEITHLEY
|
||||
#shall not be used in advertising or otherwise to promote the sale, use
|
||||
#or other dealings in this Software without prior written authorization
|
||||
#from Kaleb S. KEITHLEY
|
||||
#
|
||||
#
|
||||
# $Xorg: xf86vmode.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $
|
||||
# THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
const
|
||||
libXxf86vm* = "libXxf86vm.so"
|
||||
|
||||
type
|
||||
PINT32* = ptr int32
|
||||
|
||||
const
|
||||
X_XF86VidModeQueryVersion* = 0
|
||||
X_XF86VidModeGetModeLine* = 1
|
||||
X_XF86VidModeModModeLine* = 2
|
||||
X_XF86VidModeSwitchMode* = 3
|
||||
X_XF86VidModeGetMonitor* = 4
|
||||
X_XF86VidModeLockModeSwitch* = 5
|
||||
X_XF86VidModeGetAllModeLines* = 6
|
||||
X_XF86VidModeAddModeLine* = 7
|
||||
X_XF86VidModeDeleteModeLine* = 8
|
||||
X_XF86VidModeValidateModeLine* = 9
|
||||
X_XF86VidModeSwitchToMode* = 10
|
||||
X_XF86VidModeGetViewPort* = 11
|
||||
X_XF86VidModeSetViewPort* = 12 # new for version 2.x of this extension
|
||||
X_XF86VidModeGetDotClocks* = 13
|
||||
X_XF86VidModeSetClientVersion* = 14
|
||||
X_XF86VidModeSetGamma* = 15
|
||||
X_XF86VidModeGetGamma* = 16
|
||||
X_XF86VidModeGetGammaRamp* = 17
|
||||
X_XF86VidModeSetGammaRamp* = 18
|
||||
X_XF86VidModeGetGammaRampSize* = 19
|
||||
X_XF86VidModeGetPermissions* = 20
|
||||
CLKFLAG_PROGRAMABLE* = 1
|
||||
|
||||
when defined(XF86VIDMODE_EVENTS):
|
||||
const
|
||||
XF86VidModeNotify* = 0
|
||||
XF86VidModeNumberEvents* = (XF86VidModeNotify + 1)
|
||||
XF86VidModeNotifyMask* = 0x00000001
|
||||
XF86VidModeNonEvent* = 0
|
||||
XF86VidModeModeChange* = 1
|
||||
else:
|
||||
const
|
||||
XF86VidModeNumberEvents* = 0
|
||||
const
|
||||
XF86VidModeBadClock* = 0
|
||||
XF86VidModeBadHTimings* = 1
|
||||
XF86VidModeBadVTimings* = 2
|
||||
XF86VidModeModeUnsuitable* = 3
|
||||
XF86VidModeExtensionDisabled* = 4
|
||||
XF86VidModeClientNotLocal* = 5
|
||||
XF86VidModeZoomLocked* = 6
|
||||
XF86VidModeNumberErrors* = (XF86VidModeZoomLocked + 1)
|
||||
XF86VM_READ_PERMISSION* = 1
|
||||
XF86VM_WRITE_PERMISSION* = 2
|
||||
|
||||
type
|
||||
PXF86VidModeModeLine* = ptr TXF86VidModeModeLine
|
||||
TXF86VidModeModeLine*{.final.} = object
|
||||
hdisplay*: cushort
|
||||
hsyncstart*: cushort
|
||||
hsyncend*: cushort
|
||||
htotal*: cushort
|
||||
hskew*: cushort
|
||||
vdisplay*: cushort
|
||||
vsyncstart*: cushort
|
||||
vsyncend*: cushort
|
||||
vtotal*: cushort
|
||||
flags*: cuint
|
||||
privsize*: cint
|
||||
c_private*: PINT32
|
||||
|
||||
PPPXF86VidModeModeInfo* = ptr PPXF86VidModeModeInfo
|
||||
PPXF86VidModeModeInfo* = ptr PXF86VidModeModeInfo
|
||||
PXF86VidModeModeInfo* = ptr TXF86VidModeModeInfo
|
||||
TXF86VidModeModeInfo*{.final.} = object
|
||||
dotclock*: cuint
|
||||
hdisplay*: cushort
|
||||
hsyncstart*: cushort
|
||||
hsyncend*: cushort
|
||||
htotal*: cushort
|
||||
hskew*: cushort
|
||||
vdisplay*: cushort
|
||||
vsyncstart*: cushort
|
||||
vsyncend*: cushort
|
||||
vtotal*: cushort
|
||||
flags*: cuint
|
||||
privsize*: cint
|
||||
c_private*: PINT32
|
||||
|
||||
PXF86VidModeSyncRange* = ptr TXF86VidModeSyncRange
|
||||
TXF86VidModeSyncRange*{.final.} = object
|
||||
hi*: cfloat
|
||||
lo*: cfloat
|
||||
|
||||
PXF86VidModeMonitor* = ptr TXF86VidModeMonitor
|
||||
TXF86VidModeMonitor*{.final.} = object
|
||||
vendor*: cstring
|
||||
model*: cstring
|
||||
EMPTY*: cfloat
|
||||
nhsync*: cuchar
|
||||
hsync*: PXF86VidModeSyncRange
|
||||
nvsync*: cuchar
|
||||
vsync*: PXF86VidModeSyncRange
|
||||
|
||||
PXF86VidModeNotifyEvent* = ptr TXF86VidModeNotifyEvent
|
||||
TXF86VidModeNotifyEvent*{.final.} = object
|
||||
theType*: cint # of event
|
||||
serial*: culong # # of last request processed by server
|
||||
send_event*: TBool # true if this came from a SendEvent req
|
||||
display*: PDisplay # Display the event was read from
|
||||
root*: TWindow # root window of event screen
|
||||
state*: cint # What happened
|
||||
kind*: cint # What happened
|
||||
forced*: TBool # extents of new region
|
||||
time*: TTime # event timestamp
|
||||
|
||||
PXF86VidModeGamma* = ptr TXF86VidModeGamma
|
||||
TXF86VidModeGamma*{.final.} = object
|
||||
red*: cfloat # Red Gamma value
|
||||
green*: cfloat # Green Gamma value
|
||||
blue*: cfloat # Blue Gamma value
|
||||
|
||||
|
||||
when defined(MACROS):
|
||||
proc XF86VidModeSelectNextMode*(disp: PDisplay, scr: cint): TBool
|
||||
proc XF86VidModeSelectPrevMode*(disp: PDisplay, scr: cint): TBool
|
||||
proc XF86VidModeQueryVersion*(dpy: PDisplay, majorVersion: Pcint,
|
||||
minorVersion: Pcint): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeQueryExtension*(dpy: PDisplay, event_base: Pcint,
|
||||
error_base: Pcint): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeSetClientVersion*(dpy: PDisplay): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetModeLine*(dpy: PDisplay, screen: cint, dotclock: Pcint,
|
||||
modeline: PXF86VidModeModeLine): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetAllModeLines*(dpy: PDisplay, screen: cint, modecount: Pcint,
|
||||
modelinesPtr: PPPXF86VidModeModeInfo): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeAddModeLine*(dpy: PDisplay, screen: cint,
|
||||
new_modeline: PXF86VidModeModeInfo,
|
||||
after_modeline: PXF86VidModeModeInfo): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeDeleteModeLine*(dpy: PDisplay, screen: cint,
|
||||
modeline: PXF86VidModeModeInfo): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeModModeLine*(dpy: PDisplay, screen: cint,
|
||||
modeline: PXF86VidModeModeLine): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeValidateModeLine*(dpy: PDisplay, screen: cint,
|
||||
modeline: PXF86VidModeModeInfo): TStatus{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeSwitchMode*(dpy: PDisplay, screen: cint, zoom: cint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeSwitchToMode*(dpy: PDisplay, screen: cint,
|
||||
modeline: PXF86VidModeModeInfo): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeLockModeSwitch*(dpy: PDisplay, screen: cint, lock: cint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetMonitor*(dpy: PDisplay, screen: cint,
|
||||
monitor: PXF86VidModeMonitor): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetViewPort*(dpy: PDisplay, screen: cint, x_return: Pcint,
|
||||
y_return: Pcint): TBool{.CDecl, dynlib: libXxf86vm,
|
||||
importc.}
|
||||
proc XF86VidModeSetViewPort*(dpy: PDisplay, screen: cint, x: cint, y: cint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetDotClocks*(dpy: PDisplay, screen: cint, flags_return: Pcint,
|
||||
number_of_clocks_return: Pcint,
|
||||
max_dot_clock_return: Pcint, clocks_return: PPcint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeSetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeSetGammaRamp*(dpy: PDisplay, screen: cint, size: cint,
|
||||
red_array: Pcushort, green_array: Pcushort,
|
||||
blue_array: Pcushort): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetGammaRamp*(dpy: PDisplay, screen: cint, size: cint,
|
||||
red_array: Pcushort, green_array: Pcushort,
|
||||
blue_array: Pcushort): TBool{.CDecl,
|
||||
dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetGammaRampSize*(dpy: PDisplay, screen: cint, size: Pcint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
proc XF86VidModeGetPermissions*(dpy: PDisplay, screen: cint, permissions: Pcint): TBool{.
|
||||
CDecl, dynlib: libXxf86vm, importc.}
|
||||
# implementation
|
||||
|
||||
when defined(MACROS):
|
||||
proc XF86VidModeSelectNextMode(disp: PDisplay, scr: cint): TBool =
|
||||
XF86VidModeSelectNextMode = XF86VidModeSwitchMode(disp, scr, 1)
|
||||
|
||||
proc XF86VidModeSelectPrevMode(disp: PDisplay, scr: cint): TBool =
|
||||
XF86VidModeSelectPrevMode = XF86VidModeSwitchMode(disp, scr, - 1)
|
||||
@@ -1,307 +0,0 @@
|
||||
#
|
||||
# $Xorg: XI.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $
|
||||
#
|
||||
#************************************************************
|
||||
#
|
||||
#Copyright 1989, 1998 The Open Group
|
||||
#
|
||||
#Permission to use, copy, modify, distribute, and sell this software and its
|
||||
#documentation for any purpose is hereby granted without fee, provided that
|
||||
#the above copyright notice appear in all copies and that both that
|
||||
#copyright notice and this permission notice appear in supporting
|
||||
#documentation.
|
||||
#
|
||||
#The above copyright notice and this permission notice shall be included in
|
||||
#all copies or substantial portions of the Software.
|
||||
#
|
||||
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
#OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
#AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
#CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
#Except as contained in this notice, the name of The Open Group shall not be
|
||||
#used in advertising or otherwise to promote the sale, use or other dealings
|
||||
#in this Software without prior written authorization from The Open Group.
|
||||
#
|
||||
#Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
#Permission to use, copy, modify, and distribute this software and its
|
||||
#documentation for any purpose and without fee is hereby granted,
|
||||
#provided that the above copyright notice appear in all copies and that
|
||||
#both that copyright notice and this permission notice appear in
|
||||
#supporting documentation, and that the name of Hewlett-Packard not be
|
||||
#used in advertising or publicity pertaining to distribution of the
|
||||
#software without specific, written prior permission.
|
||||
#
|
||||
#HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
#HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
#SOFTWARE.
|
||||
#
|
||||
#********************************************************/
|
||||
# $XFree86: xc/include/extensions/XI.h,v 1.5 2001/12/14 19:53:28 dawes Exp $
|
||||
#
|
||||
# Definitions used by the server, library and client
|
||||
#
|
||||
# Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il
|
||||
#
|
||||
#Histroy:
|
||||
# 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and chnaged it to
|
||||
# "reocrd" only.
|
||||
# 2004/10/07 - Removed the "uses X;" line. The unit does not need it.
|
||||
# 2004/10/03 - Conversion from C header to Pascal unit.
|
||||
#
|
||||
|
||||
const
|
||||
sz_xGetExtensionVersionReq* = 8
|
||||
sz_xGetExtensionVersionReply* = 32
|
||||
sz_xListInputDevicesReq* = 4
|
||||
sz_xListInputDevicesReply* = 32
|
||||
sz_xOpenDeviceReq* = 8
|
||||
sz_xOpenDeviceReply* = 32
|
||||
sz_xCloseDeviceReq* = 8
|
||||
sz_xSetDeviceModeReq* = 8
|
||||
sz_xSetDeviceModeReply* = 32
|
||||
sz_xSelectExtensionEventReq* = 12
|
||||
sz_xGetSelectedExtensionEventsReq* = 8
|
||||
sz_xGetSelectedExtensionEventsReply* = 32
|
||||
sz_xChangeDeviceDontPropagateListReq* = 12
|
||||
sz_xGetDeviceDontPropagateListReq* = 8
|
||||
sz_xGetDeviceDontPropagateListReply* = 32
|
||||
sz_xGetDeviceMotionEventsReq* = 16
|
||||
sz_xGetDeviceMotionEventsReply* = 32
|
||||
sz_xChangeKeyboardDeviceReq* = 8
|
||||
sz_xChangeKeyboardDeviceReply* = 32
|
||||
sz_xChangePointerDeviceReq* = 8
|
||||
sz_xChangePointerDeviceReply* = 32
|
||||
sz_xGrabDeviceReq* = 20
|
||||
sz_xGrabDeviceReply* = 32
|
||||
sz_xUngrabDeviceReq* = 12
|
||||
sz_xGrabDeviceKeyReq* = 20
|
||||
sz_xGrabDeviceKeyReply* = 32
|
||||
sz_xUngrabDeviceKeyReq* = 16
|
||||
sz_xGrabDeviceButtonReq* = 20
|
||||
sz_xGrabDeviceButtonReply* = 32
|
||||
sz_xUngrabDeviceButtonReq* = 16
|
||||
sz_xAllowDeviceEventsReq* = 12
|
||||
sz_xGetDeviceFocusReq* = 8
|
||||
sz_xGetDeviceFocusReply* = 32
|
||||
sz_xSetDeviceFocusReq* = 16
|
||||
sz_xGetFeedbackControlReq* = 8
|
||||
sz_xGetFeedbackControlReply* = 32
|
||||
sz_xChangeFeedbackControlReq* = 12
|
||||
sz_xGetDeviceKeyMappingReq* = 8
|
||||
sz_xGetDeviceKeyMappingReply* = 32
|
||||
sz_xChangeDeviceKeyMappingReq* = 8
|
||||
sz_xGetDeviceModifierMappingReq* = 8
|
||||
sz_xSetDeviceModifierMappingReq* = 8
|
||||
sz_xSetDeviceModifierMappingReply* = 32
|
||||
sz_xGetDeviceButtonMappingReq* = 8
|
||||
sz_xGetDeviceButtonMappingReply* = 32
|
||||
sz_xSetDeviceButtonMappingReq* = 8
|
||||
sz_xSetDeviceButtonMappingReply* = 32
|
||||
sz_xQueryDeviceStateReq* = 8
|
||||
sz_xQueryDeviceStateReply* = 32
|
||||
sz_xSendExtensionEventReq* = 16
|
||||
sz_xDeviceBellReq* = 8
|
||||
sz_xSetDeviceValuatorsReq* = 8
|
||||
sz_xSetDeviceValuatorsReply* = 32
|
||||
sz_xGetDeviceControlReq* = 8
|
||||
sz_xGetDeviceControlReply* = 32
|
||||
sz_xChangeDeviceControlReq* = 8
|
||||
sz_xChangeDeviceControlReply* = 32
|
||||
|
||||
const
|
||||
INAME* = "XInputExtension"
|
||||
|
||||
const
|
||||
XI_KEYBOARD* = "KEYBOARD"
|
||||
XI_MOUSE* = "MOUSE"
|
||||
XI_TABLET* = "TABLET"
|
||||
XI_TOUCHSCREEN* = "TOUCHSCREEN"
|
||||
XI_TOUCHPAD* = "TOUCHPAD"
|
||||
XI_BARCODE* = "BARCODE"
|
||||
XI_BUTTONBOX* = "BUTTONBOX"
|
||||
XI_KNOB_BOX* = "KNOB_BOX"
|
||||
XI_ONE_KNOB* = "ONE_KNOB"
|
||||
XI_NINE_KNOB* = "NINE_KNOB"
|
||||
XI_TRACKBALL* = "TRACKBALL"
|
||||
XI_QUADRATURE* = "QUADRATURE"
|
||||
XI_ID_MODULE* = "ID_MODULE"
|
||||
XI_SPACEBALL* = "SPACEBALL"
|
||||
XI_DATAGLOVE* = "DATAGLOVE"
|
||||
XI_EYETRACKER* = "EYETRACKER"
|
||||
XI_CURSORKEYS* = "CURSORKEYS"
|
||||
XI_FOOTMOUSE* = "FOOTMOUSE"
|
||||
|
||||
const
|
||||
Dont_Check* = 0
|
||||
XInput_Initial_Release* = 1
|
||||
XInput_Add_XDeviceBell* = 2
|
||||
XInput_Add_XSetDeviceValuators* = 3
|
||||
XInput_Add_XChangeDeviceControl* = 4
|
||||
|
||||
const
|
||||
XI_Absent* = 0
|
||||
XI_Present* = 1
|
||||
|
||||
const
|
||||
XI_Initial_Release_Major* = 1
|
||||
XI_Initial_Release_Minor* = 0
|
||||
|
||||
const
|
||||
XI_Add_XDeviceBell_Major* = 1
|
||||
XI_Add_XDeviceBell_Minor* = 1
|
||||
|
||||
const
|
||||
XI_Add_XSetDeviceValuators_Major* = 1
|
||||
XI_Add_XSetDeviceValuators_Minor* = 2
|
||||
|
||||
const
|
||||
XI_Add_XChangeDeviceControl_Major* = 1
|
||||
XI_Add_XChangeDeviceControl_Minor* = 3
|
||||
|
||||
const
|
||||
DEVICE_RESOLUTION* = 1
|
||||
|
||||
const
|
||||
NoSuchExtension* = 1
|
||||
|
||||
const
|
||||
COUNT* = 0
|
||||
CREATE* = 1
|
||||
|
||||
const
|
||||
NewPointer* = 0
|
||||
NewKeyboard* = 1
|
||||
|
||||
const
|
||||
XPOINTER* = 0
|
||||
XKEYBOARD* = 1
|
||||
|
||||
const
|
||||
UseXKeyboard* = 0x000000FF
|
||||
|
||||
const
|
||||
IsXPointer* = 0
|
||||
IsXKeyboard* = 1
|
||||
IsXExtensionDevice* = 2
|
||||
|
||||
const
|
||||
AsyncThisDevice* = 0
|
||||
SyncThisDevice* = 1
|
||||
ReplayThisDevice* = 2
|
||||
AsyncOtherDevices* = 3
|
||||
AsyncAll* = 4
|
||||
SyncAll* = 5
|
||||
|
||||
const
|
||||
FollowKeyboard* = 3
|
||||
RevertToFollowKeyboard* = 3
|
||||
|
||||
const
|
||||
DvAccelNum* = int(1) shl 0
|
||||
DvAccelDenom* = int(1) shl 1
|
||||
DvThreshold* = int(1) shl 2
|
||||
|
||||
const
|
||||
DvKeyClickPercent* = int(1) shl 0
|
||||
DvPercent* = int(1) shl 1
|
||||
DvPitch* = int(1) shl 2
|
||||
DvDuration* = int(1) shl 3
|
||||
DvLed* = int(1) shl 4
|
||||
DvLedMode* = int(1) shl 5
|
||||
DvKey* = int(1) shl 6
|
||||
DvAutoRepeatMode* = 1 shl 7
|
||||
|
||||
const
|
||||
DvString* = int(1) shl 0
|
||||
|
||||
const
|
||||
DvInteger* = int(1) shl 0
|
||||
|
||||
const
|
||||
DeviceMode* = int(1) shl 0
|
||||
Relative* = 0
|
||||
Absolute* = 1 # Merged from Metrolink tree for XINPUT stuff
|
||||
TS_Raw* = 57
|
||||
TS_Scaled* = 58
|
||||
SendCoreEvents* = 59
|
||||
DontSendCoreEvents* = 60 # End of merged section
|
||||
|
||||
const
|
||||
ProximityState* = int(1) shl 1
|
||||
InProximity* = int(0) shl 1
|
||||
OutOfProximity* = int(1) shl 1
|
||||
|
||||
const
|
||||
AddToList* = 0
|
||||
DeleteFromList* = 1
|
||||
|
||||
const
|
||||
KeyClass* = 0
|
||||
ButtonClass* = 1
|
||||
ValuatorClass* = 2
|
||||
FeedbackClass* = 3
|
||||
ProximityClass* = 4
|
||||
FocusClass* = 5
|
||||
OtherClass* = 6
|
||||
|
||||
const
|
||||
KbdFeedbackClass* = 0
|
||||
PtrFeedbackClass* = 1
|
||||
StringFeedbackClass* = 2
|
||||
IntegerFeedbackClass* = 3
|
||||
LedFeedbackClass* = 4
|
||||
BellFeedbackClass* = 5
|
||||
|
||||
const
|
||||
devicePointerMotionHint* = 0
|
||||
deviceButton1Motion* = 1
|
||||
deviceButton2Motion* = 2
|
||||
deviceButton3Motion* = 3
|
||||
deviceButton4Motion* = 4
|
||||
deviceButton5Motion* = 5
|
||||
deviceButtonMotion* = 6
|
||||
deviceButtonGrab* = 7
|
||||
deviceOwnerGrabButton* = 8
|
||||
noExtensionEvent* = 9
|
||||
|
||||
const
|
||||
XI_BadDevice* = 0
|
||||
XI_BadEvent* = 1
|
||||
XI_BadMode* = 2
|
||||
XI_DeviceBusy* = 3
|
||||
XI_BadClass* = 4 # Make XEventClass be a CARD32 for 64 bit servers. Don't affect client
|
||||
# definition of XEventClass since that would be a library interface change.
|
||||
# See the top of X.h for more _XSERVER64 magic.
|
||||
#
|
||||
|
||||
when defined(XSERVER64):
|
||||
type
|
||||
XEventClass* = CARD32
|
||||
else:
|
||||
type
|
||||
XEventClass* = int32
|
||||
#******************************************************************
|
||||
# *
|
||||
# * Extension version structure.
|
||||
# *
|
||||
#
|
||||
|
||||
type
|
||||
PXExtensionVersion* = ptr TXExtensionVersion
|
||||
TXExtensionVersion*{.final.} = object
|
||||
present*: int16
|
||||
major_version*: int16
|
||||
minor_version*: int16
|
||||
|
||||
|
||||
# implementation
|
||||
@@ -1,25 +0,0 @@
|
||||
# Converted from X11/Xinerama.h
|
||||
import
|
||||
xlib
|
||||
|
||||
const
|
||||
xineramaLib = "libXinerama.so"
|
||||
|
||||
type
|
||||
PXineramaScreenInfo* = ptr TXineramaScreenInfo
|
||||
TXineramaScreenInfo*{.final.} = object
|
||||
screen_number*: cint
|
||||
x_org*: int16
|
||||
y_org*: int16
|
||||
width*: int16
|
||||
height*: int16
|
||||
|
||||
|
||||
proc XineramaQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): TBool{.
|
||||
cdecl, dynlib: xineramaLib, importc.}
|
||||
proc XineramaQueryVersion*(dpy: PDisplay, major: Pcint, minor: Pcint): TStatus{.
|
||||
cdecl, dynlib: xineramaLib, importc.}
|
||||
proc XineramaIsActive*(dpy: PDisplay): TBool{.cdecl, dynlib: xineramaLib, importc.}
|
||||
proc XineramaQueryScreens*(dpy: PDisplay, number: Pcint): PXineramaScreenInfo{.
|
||||
cdecl, dynlib: xineramaLib, importc.}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,661 +0,0 @@
|
||||
# $Xorg: XKBlib.h,v 1.6 2000/08/17 19:45:03 cpqbld Exp $
|
||||
#************************************************************
|
||||
#Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
|
||||
#
|
||||
#Permission to use, copy, modify, and distribute this
|
||||
#software and its documentation for any purpose and without
|
||||
#fee is hereby granted, provided that the above copyright
|
||||
#notice appear in all copies and that both that copyright
|
||||
#notice and this permission notice appear in supporting
|
||||
#documentation, and that the name of Silicon Graphics not be
|
||||
#used in advertising or publicity pertaining to distribution
|
||||
#of the software without specific prior written permission.
|
||||
#Silicon Graphics makes no representation about the suitability
|
||||
#of this software for any purpose. It is provided "as is"
|
||||
#without any express or implied warranty.
|
||||
#
|
||||
#SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
||||
#SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
#AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
||||
#GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
||||
#DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING `from` LOSS OF USE,
|
||||
#DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
#OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
||||
#THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
#********************************************************/
|
||||
# $XFree86: xc/lib/X11/XKBlib.h,v 3.3 2001/08/01 00:44:38 tsi Exp $
|
||||
#
|
||||
# Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il
|
||||
#
|
||||
#Thanks:
|
||||
# I want to thanks to oliebol for putting up with all of the problems that was found
|
||||
# while translating this code. ;)
|
||||
#
|
||||
# I want to thanks #fpc channel in freenode irc, for helping me, and to put up with my
|
||||
# wierd questions ;)
|
||||
#
|
||||
# Thanks for mmc in #xlib on freenode irc And so for the channel itself for the helping me to
|
||||
# understanding some of the problems I had converting this headers and pointing me to resources
|
||||
# that helped translating this headers.
|
||||
#
|
||||
# Ido
|
||||
#
|
||||
#History:
|
||||
# 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and
|
||||
# chnaged it to "reocrd" only.
|
||||
# 2004/10/10 - Added to TXkbGetAtomNameFunc and TXkbInternAtomFunc the cdecl call.
|
||||
# 2004/10/06 - 09 - Convertion `from` the c header of XKBlib.h
|
||||
#
|
||||
#
|
||||
|
||||
import
|
||||
X, Xlib, XKB
|
||||
|
||||
|
||||
include "x11pragma.nim"
|
||||
|
||||
|
||||
type
|
||||
PXkbAnyEvent* = ptr TXkbAnyEvent
|
||||
TXkbAnyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds;
|
||||
xkb_type*: int16 # XKB event minor code
|
||||
device*: int16 # device ID
|
||||
|
||||
|
||||
type
|
||||
PXkbNewKeyboardNotifyEvent* = ptr TXkbNewKeyboardNotifyEvent
|
||||
TXkbNewKeyboardNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbNewKeyboardNotify
|
||||
device*: int16 # device ID
|
||||
old_device*: int16 # device ID of previous keyboard
|
||||
min_key_code*: int16 # minimum key code
|
||||
max_key_code*: int16 # maximum key code
|
||||
old_min_key_code*: int16 # min key code of previous kbd
|
||||
old_max_key_code*: int16 # max key code of previous kbd
|
||||
changed*: int16 # changed aspects of the keyboard
|
||||
req_major*: int8 # major and minor opcode of req
|
||||
req_minor*: int8 # that caused change, if applicable
|
||||
|
||||
|
||||
type
|
||||
PXkbMapNotifyEvent* = ptr TXkbMapNotifyEvent
|
||||
TXkbMapNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbMapNotify
|
||||
device*: int16 # device ID
|
||||
changed*: int16 # fields which have been changed
|
||||
flags*: int16 # reserved
|
||||
first_type*: int16 # first changed key type
|
||||
num_types*: int16 # number of changed key types
|
||||
min_key_code*: TKeyCode
|
||||
max_key_code*: TKeyCode
|
||||
first_key_sym*: TKeyCode
|
||||
first_key_act*: TKeyCode
|
||||
first_key_behavior*: TKeyCode
|
||||
first_key_explicit*: TKeyCode
|
||||
first_modmap_key*: TKeyCode
|
||||
first_vmodmap_key*: TKeyCode
|
||||
num_key_syms*: int16
|
||||
num_key_acts*: int16
|
||||
num_key_behaviors*: int16
|
||||
num_key_explicit*: int16
|
||||
num_modmap_keys*: int16
|
||||
num_vmodmap_keys*: int16
|
||||
vmods*: int16 # mask of changed virtual mods
|
||||
|
||||
|
||||
type
|
||||
PXkbStateNotifyEvent* = ptr TXkbStateNotifyEvent
|
||||
TXkbStateNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbStateNotify
|
||||
device*: int16 # device ID
|
||||
changed*: int16 # mask of changed state components
|
||||
group*: int16 # keyboard group
|
||||
base_group*: int16 # base keyboard group
|
||||
latched_group*: int16 # latched keyboard group
|
||||
locked_group*: int16 # locked keyboard group
|
||||
mods*: int16 # modifier state
|
||||
base_mods*: int16 # base modifier state
|
||||
latched_mods*: int16 # latched modifiers
|
||||
locked_mods*: int16 # locked modifiers
|
||||
compat_state*: int16 # compatibility state
|
||||
grab_mods*: int8 # mods used for grabs
|
||||
compat_grab_mods*: int8 # grab mods for non-XKB clients
|
||||
lookup_mods*: int8 # mods sent to clients
|
||||
compat_lookup_mods*: int8 # mods sent to non-XKB clients
|
||||
ptr_buttons*: int16 # pointer button state
|
||||
keycode*: TKeyCode # keycode that caused the change
|
||||
event_type*: int8 # KeyPress or KeyRelease
|
||||
req_major*: int8 # Major opcode of request
|
||||
req_minor*: int8 # Minor opcode of request
|
||||
|
||||
|
||||
type
|
||||
PXkbControlsNotifyEvent* = ptr TXkbControlsNotifyEvent
|
||||
TXkbControlsNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbControlsNotify
|
||||
device*: int16 # device ID
|
||||
changed_ctrls*: int16 # controls with changed sub-values
|
||||
enabled_ctrls*: int16 # controls currently enabled
|
||||
enabled_ctrl_changes*: int16 # controls just {en,dis}abled
|
||||
num_groups*: int16 # total groups on keyboard
|
||||
keycode*: TKeyCode # key that caused change or 0
|
||||
event_type*: int8 # type of event that caused change
|
||||
req_major*: int8 # if keycode==0, major and minor
|
||||
req_minor*: int8 # opcode of req that caused change
|
||||
|
||||
|
||||
type
|
||||
PXkbIndicatorNotifyEvent* = ptr TXkbIndicatorNotifyEvent
|
||||
TXkbIndicatorNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbIndicatorNotify
|
||||
device*: int16 # device
|
||||
changed*: int16 # indicators with new state or map
|
||||
state*: int16 # current state of all indicators
|
||||
|
||||
|
||||
type
|
||||
PXkbNamesNotifyEvent* = ptr TXkbNamesNotifyEvent
|
||||
TXkbNamesNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbNamesNotify
|
||||
device*: int16 # device ID
|
||||
changed*: int32 # names that have changed
|
||||
first_type*: int16 # first key type with new name
|
||||
num_types*: int16 # number of key types with new names
|
||||
first_lvl*: int16 # first key type new new level names
|
||||
num_lvls*: int16 # # of key types w/new level names
|
||||
num_aliases*: int16 # total number of key aliases
|
||||
num_radio_groups*: int16 # total number of radio groups
|
||||
changed_vmods*: int16 # virtual modifiers with new names
|
||||
changed_groups*: int16 # groups with new names
|
||||
changed_indicators*: int16 # indicators with new names
|
||||
first_key*: int16 # first key with new name
|
||||
num_keys*: int16 # number of keys with new names
|
||||
|
||||
|
||||
type
|
||||
PXkbCompatMapNotifyEvent* = ptr TXkbCompatMapNotifyEvent
|
||||
TXkbCompatMapNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbCompatMapNotify
|
||||
device*: int16 # device ID
|
||||
changed_groups*: int16 # groups with new compat maps
|
||||
first_si*: int16 # first new symbol interp
|
||||
num_si*: int16 # number of new symbol interps
|
||||
num_total_si*: int16 # total # of symbol interps
|
||||
|
||||
|
||||
type
|
||||
PXkbBellNotifyEvent* = ptr TXkbBellNotifyEvent
|
||||
TXkbBellNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbBellNotify
|
||||
device*: int16 # device ID
|
||||
percent*: int16 # requested volume as a % of maximum
|
||||
pitch*: int16 # requested pitch in Hz
|
||||
duration*: int16 # requested duration in useconds
|
||||
bell_class*: int16 # (input extension) feedback class
|
||||
bell_id*: int16 # (input extension) ID of feedback
|
||||
name*: TAtom # "name" of requested bell
|
||||
window*: TWindow # window associated with event
|
||||
event_only*: bool # "event only" requested
|
||||
|
||||
|
||||
type
|
||||
PXkbActionMessageEvent* = ptr TXkbActionMessageEvent
|
||||
TXkbActionMessageEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbActionMessage
|
||||
device*: int16 # device ID
|
||||
keycode*: TKeyCode # key that generated the event
|
||||
press*: bool # true if act caused by key press
|
||||
key_event_follows*: bool # true if key event also generated
|
||||
group*: int16 # effective group
|
||||
mods*: int16 # effective mods
|
||||
message*: array[0..XkbActionMessageLength, Char] # message -- leave space for NUL
|
||||
|
||||
|
||||
type
|
||||
PXkbAccessXNotifyEvent* = ptr TXkbAccessXNotifyEvent
|
||||
TXkbAccessXNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbAccessXNotify
|
||||
device*: int16 # device ID
|
||||
detail*: int16 # XkbAXN_*
|
||||
keycode*: int16 # key of event
|
||||
sk_delay*: int16 # current slow keys delay
|
||||
debounce_delay*: int16 # current debounce delay
|
||||
|
||||
|
||||
type
|
||||
PXkbExtensionDeviceNotifyEvent* = ptr TXkbExtensionDeviceNotifyEvent
|
||||
TXkbExtensionDeviceNotifyEvent*{.final.} = object
|
||||
theType*: int16 # XkbAnyEvent
|
||||
serial*: int32 # of last req processed by server
|
||||
send_event*: bool # is this `from` a SendEvent request?
|
||||
display*: PDisplay # Display the event was read `from`
|
||||
time*: TTime # milliseconds
|
||||
xkb_type*: int16 # XkbExtensionDeviceNotify
|
||||
device*: int16 # device ID
|
||||
reason*: int16 # reason for the event
|
||||
supported*: int16 # mask of supported features
|
||||
unsupported*: int16 # mask of unsupported features
|
||||
# that some app tried to use
|
||||
first_btn*: int16 # first button that changed
|
||||
num_btns*: int16 # range of buttons changed
|
||||
leds_defined*: int16 # indicators with names or maps
|
||||
led_state*: int16 # current state of the indicators
|
||||
led_class*: int16 # feedback class for led changes
|
||||
led_id*: int16 # feedback id for led changes
|
||||
|
||||
|
||||
type
|
||||
PXkbEvent* = ptr TXkbEvent
|
||||
TXkbEvent*{.final.} = object
|
||||
theType*: int16
|
||||
any*: TXkbAnyEvent
|
||||
new_kbd*: TXkbNewKeyboardNotifyEvent
|
||||
map*: TXkbMapNotifyEvent
|
||||
state*: TXkbStateNotifyEvent
|
||||
ctrls*: TXkbControlsNotifyEvent
|
||||
indicators*: TXkbIndicatorNotifyEvent
|
||||
names*: TXkbNamesNotifyEvent
|
||||
compat*: TXkbCompatMapNotifyEvent
|
||||
bell*: TXkbBellNotifyEvent
|
||||
message*: TXkbActionMessageEvent
|
||||
accessx*: TXkbAccessXNotifyEvent
|
||||
device*: TXkbExtensionDeviceNotifyEvent
|
||||
core*: TXEvent
|
||||
|
||||
|
||||
type
|
||||
PXkbKbdDpyStatePtr* = ptr TXkbKbdDpyStateRec
|
||||
TXkbKbdDpyStateRec*{.final.} = object # XkbOpenDisplay error codes
|
||||
|
||||
const
|
||||
XkbOD_Success* = 0
|
||||
XkbOD_BadLibraryVersion* = 1
|
||||
XkbOD_ConnectionRefused* = 2
|
||||
XkbOD_NonXkbServer* = 3
|
||||
XkbOD_BadServerVersion* = 4 # Values for XlibFlags
|
||||
|
||||
const
|
||||
XkbLC_ForceLatin1Lookup* = 1 shl 0
|
||||
XkbLC_ConsumeLookupMods* = 1 shl 1
|
||||
XkbLC_AlwaysConsumeShiftAndLock* = 1 shl 2
|
||||
XkbLC_IgnoreNewKeyboards* = 1 shl 3
|
||||
XkbLC_ControlFallback* = 1 shl 4
|
||||
XkbLC_ConsumeKeysOnComposeFail* = 1 shl 29
|
||||
XkbLC_ComposeLED* = 1 shl 30
|
||||
XkbLC_BeepOnComposeFail* = 1 shl 31
|
||||
XkbLC_AllComposeControls* = 0xC0000000
|
||||
XkbLC_AllControls* = 0xC000001F
|
||||
|
||||
proc XkbIgnoreExtension*(ignore: bool): bool{.libx11c,
|
||||
importc: "XkbIgnoreExtension".}
|
||||
proc XkbOpenDisplay*(name: cstring, ev_rtrn, err_rtrn, major_rtrn, minor_rtrn,
|
||||
reason: ptr int16): PDisplay{.libx11c, importc: "XkbOpenDisplay".}
|
||||
proc XkbQueryExtension*(dpy: PDisplay, opcodeReturn, eventBaseReturn,
|
||||
errorBaseReturn, majorRtrn, minorRtrn: ptr int16): bool{.
|
||||
libx11c, importc: "XkbQueryExtension".}
|
||||
proc XkbUseExtension*(dpy: PDisplay, major_rtrn, minor_rtrn: ptr int16): bool{.
|
||||
libx11c, importc: "XkbUseExtension".}
|
||||
proc XkbLibraryVersion*(libMajorRtrn, libMinorRtrn: ptr int16): bool{.libx11c, importc: "XkbLibraryVersion".}
|
||||
proc XkbSetXlibControls*(dpy: PDisplay, affect, values: int16): int16{.libx11c, importc: "XkbSetXlibControls".}
|
||||
proc XkbGetXlibControls*(dpy: PDisplay): int16{.libx11c,
|
||||
importc: "XkbGetXlibControls".}
|
||||
type
|
||||
TXkbInternAtomFunc* = proc (dpy: PDisplay, name: cstring, only_if_exists: bool): TAtom{.
|
||||
cdecl.}
|
||||
|
||||
type
|
||||
TXkbGetAtomNameFunc* = proc (dpy: PDisplay, atom: TAtom): cstring{.cdecl.}
|
||||
|
||||
proc XkbSetAtomFuncs*(getAtom: TXkbInternAtomFunc, getName: TXkbGetAtomNameFunc){.
|
||||
libx11c, importc: "XkbSetAtomFuncs".}
|
||||
proc XkbKeycodeToKeysym*(dpy: PDisplay, kc: TKeyCode, group, level: int16): TKeySym{.
|
||||
libx11c, importc: "XkbKeycodeToKeysym".}
|
||||
proc XkbKeysymToModifiers*(dpy: PDisplay, ks: TKeySym): int16{.libx11c, importc: "XkbKeysymToModifiers".}
|
||||
proc XkbLookupKeySym*(dpy: PDisplay, keycode: TKeyCode,
|
||||
modifiers, modifiers_return: int16, keysym_return: PKeySym): bool{.
|
||||
libx11c, importc: "XkbLookupKeySym".}
|
||||
proc XkbLookupKeyBinding*(dpy: PDisplay, sym_rtrn: TKeySym, mods: int16,
|
||||
buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
|
||||
libx11c, importc: "XkbLookupKeyBinding".}
|
||||
proc XkbTranslateKeyCode*(xkb: PXkbDescPtr, keycode: TKeyCode,
|
||||
modifiers, modifiers_return: int16,
|
||||
keysym_return: PKeySym): bool{.libx11c,
|
||||
importc: "XkbTranslateKeyCode".}
|
||||
proc XkbTranslateKeySym*(dpy: PDisplay, sym_return: TKeySym, modifiers: int16,
|
||||
buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{.
|
||||
libx11c, importc: "XkbTranslateKeySym".}
|
||||
proc XkbSetAutoRepeatRate*(dpy: PDisplay, deviceSpec, delay, interval: int16): bool{.
|
||||
libx11c, importc: "XkbSetAutoRepeatRate".}
|
||||
proc XkbGetAutoRepeatRate*(dpy: PDisplay, deviceSpec: int16,
|
||||
delayRtrn, intervalRtrn: PWord): bool{.libx11c, importc: "XkbGetAutoRepeatRate".}
|
||||
proc XkbChangeEnabledControls*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
libx11c, importc: "XkbChangeEnabledControls".}
|
||||
proc XkbDeviceBell*(dpy: PDisplay, win: TWindow,
|
||||
deviceSpec, bellClass, bellID, percent: int16, name: TAtom): bool{.
|
||||
libx11c, importc: "XkbDeviceBell".}
|
||||
proc XkbForceDeviceBell*(dpy: PDisplay,
|
||||
deviceSpec, bellClass, bellID, percent: int16): bool{.
|
||||
libx11c, importc: "XkbForceDeviceBell".}
|
||||
proc XkbDeviceBellEvent*(dpy: PDisplay, win: TWindow,
|
||||
deviceSpec, bellClass, bellID, percent: int16,
|
||||
name: TAtom): bool{.libx11c,
|
||||
importc: "XkbDeviceBellEvent".}
|
||||
proc XkbBell*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{.
|
||||
libx11c, importc: "XkbBell".}
|
||||
proc XkbForceBell*(dpy: PDisplay, percent: int16): bool{.libx11c,
|
||||
importc: "XkbForceBell".}
|
||||
proc XkbBellEvent*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{.
|
||||
libx11c, importc: "XkbBellEvent".}
|
||||
proc XkbSelectEvents*(dpy: PDisplay, deviceID, affect, values: int16): bool{.
|
||||
libx11c, importc: "XkbSelectEvents".}
|
||||
proc XkbSelectEventDetails*(dpy: PDisplay, deviceID, eventType: int16,
|
||||
affect, details: int32): bool{.libx11c, importc: "XkbSelectEventDetails".}
|
||||
proc XkbNoteMapChanges*(old: PXkbMapChangesPtr, new: PXkbMapNotifyEvent,
|
||||
wanted: int16){.libx11c,
|
||||
importc: "XkbNoteMapChanges".}
|
||||
proc XkbNoteNameChanges*(old: PXkbNameChangesPtr, new: PXkbNamesNotifyEvent,
|
||||
wanted: int16){.libx11c,
|
||||
importc: "XkbNoteNameChanges".}
|
||||
proc XkbGetIndicatorState*(dpy: PDisplay, deviceSpec: int16, pStateRtrn: PWord): TStatus{.
|
||||
libx11c, importc: "XkbGetIndicatorState".}
|
||||
proc XkbGetDeviceIndicatorState*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
pStateRtrn: PWord): TStatus{.libx11c, importc: "XkbGetDeviceIndicatorState".}
|
||||
proc XkbGetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetIndicatorMap".}
|
||||
proc XkbSetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
|
||||
libx11c, importc: "XkbSetIndicatorMap".}
|
||||
proc XkbNoteIndicatorMapChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
|
||||
proc XkbNoteIndicatorStateChanges*(o, n: PXkbIndicatorChangesPtr, w: int16)
|
||||
proc XkbGetIndicatorMapChanges*(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbIndicatorChangesPtr): TStatus
|
||||
proc XkbChangeIndicatorMaps*(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbIndicatorChangesPtr): bool
|
||||
proc XkbGetNamedIndicator*(dpy: PDisplay, name: TAtom, pNdxRtrn: ptr int16,
|
||||
pStateRtrn: ptr bool, pMapRtrn: PXkbIndicatorMapPtr,
|
||||
pRealRtrn: ptr bool): bool{.libx11c,
|
||||
importc: "XkbGetNamedIndicator".}
|
||||
proc XkbGetNamedDeviceIndicator*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
name: TAtom, pNdxRtrn: ptr int16,
|
||||
pStateRtrn: ptr bool,
|
||||
pMapRtrn: PXkbIndicatorMapPtr,
|
||||
pRealRtrn: ptr bool): bool{.libx11c, importc: "XkbGetNamedDeviceIndicator".}
|
||||
proc XkbSetNamedIndicator*(dpy: PDisplay, name: TAtom,
|
||||
changeState, state, createNewMap: bool,
|
||||
pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedIndicator".}
|
||||
proc XkbSetNamedDeviceIndicator*(dpy: PDisplay,
|
||||
deviceSpec, ledClass, ledID: int16,
|
||||
name: TAtom,
|
||||
changeState, state, createNewMap: bool,
|
||||
pMap: PXkbIndicatorMapPtr): bool{.libx11c, importc: "XkbSetNamedDeviceIndicator".}
|
||||
proc XkbLockModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
libx11c, importc: "XkbLockModifiers".}
|
||||
proc XkbLatchModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{.
|
||||
libx11c, importc: "XkbLatchModifiers".}
|
||||
proc XkbLockGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLockGroup".}
|
||||
proc XkbLatchGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.libx11c, importc: "XkbLatchGroup".}
|
||||
proc XkbSetServerInternalMods*(dpy: PDisplay, deviceSpec, affectReal,
|
||||
realValues, affectVirtual, virtualValues: int16): bool{.libx11c, importc: "XkbSetServerInternalMods".}
|
||||
proc XkbSetIgnoreLockMods*(dpy: PDisplay, deviceSpec, affectReal, realValues,
|
||||
affectVirtual, virtualValues: int16): bool{.libx11c,
|
||||
importc: "XkbSetIgnoreLockMods".}
|
||||
proc XkbVirtualModsToReal*(dpy: PDisplay, virtual_mask: int16, mask_rtrn: PWord): bool{.
|
||||
libx11c, importc: "XkbVirtualModsToReal".}
|
||||
proc XkbComputeEffectiveMap*(xkb: PXkbDescPtr, theType: PXkbKeyTypePtr,
|
||||
map_rtrn: PByte): bool{.libx11c,
|
||||
importc: "XkbComputeEffectiveMap".}
|
||||
proc XkbInitCanonicalKeyTypes*(xkb: PXkbDescPtr, which: int16, keypadVMod: int16): TStatus{.
|
||||
libx11c, importc: "XkbInitCanonicalKeyTypes".}
|
||||
proc XkbAllocKeyboard*(): PXkbDescPtr{.libx11c,
|
||||
importc: "XkbAllocKeyboard".}
|
||||
proc XkbFreeKeyboard*(xkb: PXkbDescPtr, which: int16, freeDesc: bool){.libx11c, importc: "XkbFreeKeyboard".}
|
||||
proc XkbAllocClientMap*(xkb: PXkbDescPtr, which, nTypes: int16): TStatus{.libx11c, importc: "XkbAllocClientMap".}
|
||||
proc XkbAllocServerMap*(xkb: PXkbDescPtr, which, nActions: int16): TStatus{.
|
||||
libx11c, importc: "XkbAllocServerMap".}
|
||||
proc XkbFreeClientMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeClientMap".}
|
||||
proc XkbFreeServerMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.libx11c, importc: "XkbFreeServerMap".}
|
||||
proc XkbAddKeyType*(xkb: PXkbDescPtr, name: TAtom, map_count: int16,
|
||||
want_preserve: bool, num_lvls: int16): PXkbKeyTypePtr{.
|
||||
libx11c, importc: "XkbAddKeyType".}
|
||||
proc XkbAllocIndicatorMaps*(xkb: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbAllocIndicatorMaps".}
|
||||
proc XkbFreeIndicatorMaps*(xkb: PXkbDescPtr){.libx11c,
|
||||
importc: "XkbFreeIndicatorMaps".}
|
||||
proc XkbGetMap*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.libx11c, importc: "XkbGetMap".}
|
||||
proc XkbGetUpdatedMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetUpdatedMap".}
|
||||
proc XkbGetMapChanges*(dpy: PDisplay, xkb: PXkbDescPtr,
|
||||
changes: PXkbMapChangesPtr): TStatus{.libx11c, importc: "XkbGetMapChanges".}
|
||||
proc XkbRefreshKeyboardMapping*(event: PXkbMapNotifyEvent): TStatus{.libx11c, importc: "XkbRefreshKeyboardMapping".}
|
||||
proc XkbGetKeyTypes*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetKeyTypes".}
|
||||
proc XkbGetKeySyms*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetKeySyms".}
|
||||
proc XkbGetKeyActions*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetKeyActions".}
|
||||
proc XkbGetKeyBehaviors*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbGetKeyBehaviors".}
|
||||
proc XkbGetVirtualMods*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetVirtualMods".}
|
||||
proc XkbGetKeyExplicitComponents*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.libx11c, importc: "XkbGetKeyExplicitComponents".}
|
||||
proc XkbGetKeyModifierMap*(dpy: PDisplay, firstKey, nKeys: int16,
|
||||
desc: PXkbDescPtr): TStatus{.libx11c,
|
||||
importc: "XkbGetKeyModifierMap".}
|
||||
proc XkbAllocControls*(xkb: PXkbDescPtr, which: int16): TStatus{.libx11c, importc: "XkbAllocControls".}
|
||||
proc XkbFreeControls*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeControls".}
|
||||
proc XkbGetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetControls".}
|
||||
proc XkbSetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{.
|
||||
libx11c, importc: "XkbSetControls".}
|
||||
proc XkbNoteControlsChanges*(old: PXkbControlsChangesPtr,
|
||||
new: PXkbControlsNotifyEvent, wanted: int16){.
|
||||
libx11c, importc: "XkbNoteControlsChanges".}
|
||||
proc XkbGetControlsChanges*(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbControlsChangesPtr): TStatus
|
||||
proc XkbChangeControls*(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool
|
||||
proc XkbAllocCompatMap*(xkb: PXkbDescPtr, which, nInterpret: int16): TStatus{.
|
||||
libx11c, importc: "XkbAllocCompatMap".}
|
||||
proc XkbFreeCompatMap*(xkib: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeCompatMap".}
|
||||
proc XkbGetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetCompatMap".}
|
||||
proc XkbSetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr,
|
||||
updateActions: bool): bool{.libx11c,
|
||||
importc: "XkbSetCompatMap".}
|
||||
proc XkbAddSymInterpret*(xkb: PXkbDescPtr, si: PXkbSymInterpretPtr,
|
||||
updateMap: bool, changes: PXkbChangesPtr): PXkbSymInterpretPtr{.
|
||||
libx11c, importc: "XkbAddSymInterpret".}
|
||||
proc XkbAllocNames*(xkb: PXkbDescPtr, which: int16,
|
||||
nTotalRG, nTotalAliases: int16): TStatus{.libx11c, importc: "XkbAllocNames".}
|
||||
proc XkbGetNames*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{.
|
||||
libx11c, importc: "XkbGetNames".}
|
||||
proc XkbSetNames*(dpy: PDisplay, which, firstType, nTypes: int16,
|
||||
desc: PXkbDescPtr): bool{.libx11c,
|
||||
importc: "XkbSetNames".}
|
||||
proc XkbChangeNames*(dpy: PDisplay, xkb: PXkbDescPtr,
|
||||
changes: PXkbNameChangesPtr): bool{.libx11c,
|
||||
importc: "XkbChangeNames".}
|
||||
proc XkbFreeNames*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.libx11c, importc: "XkbFreeNames".}
|
||||
proc XkbGetState*(dpy: PDisplay, deviceSpec: int16, rtrnState: PXkbStatePtr): TStatus{.
|
||||
libx11c, importc: "XkbGetState".}
|
||||
proc XkbSetMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): bool{.libx11c, importc: "XkbSetMap".}
|
||||
proc XkbChangeMap*(dpy: PDisplay, desc: PXkbDescPtr, changes: PXkbMapChangesPtr): bool{.
|
||||
libx11c, importc: "XkbChangeMap".}
|
||||
proc XkbSetDetectableAutoRepeat*(dpy: PDisplay, detectable: bool,
|
||||
supported: ptr bool): bool{.libx11c, importc: "XkbSetDetectableAutoRepeat".}
|
||||
proc XkbGetDetectableAutoRepeat*(dpy: PDisplay, supported: ptr bool): bool{.
|
||||
libx11c, importc: "XkbGetDetectableAutoRepeat".}
|
||||
proc XkbSetAutoResetControls*(dpy: PDisplay, changes: int16,
|
||||
auto_ctrls, auto_values: PWord): bool{.libx11c, importc: "XkbSetAutoResetControls".}
|
||||
proc XkbGetAutoResetControls*(dpy: PDisplay, auto_ctrls, auto_ctrl_values: PWord): bool{.
|
||||
libx11c, importc: "XkbGetAutoResetControls".}
|
||||
proc XkbSetPerClientControls*(dpy: PDisplay, change: int16, values: PWord): bool{.
|
||||
libx11c, importc: "XkbSetPerClientControls".}
|
||||
proc XkbGetPerClientControls*(dpy: PDisplay, ctrls: PWord): bool{.libx11c, importc: "XkbGetPerClientControls".}
|
||||
proc XkbCopyKeyType*(`from`, into: PXkbKeyTypePtr): TStatus{.libx11c, importc: "XkbCopyKeyType".}
|
||||
proc XkbCopyKeyTypes*(`from`, into: PXkbKeyTypePtr, num_types: int16): TStatus{.
|
||||
libx11c, importc: "XkbCopyKeyTypes".}
|
||||
proc XkbResizeKeyType*(xkb: PXkbDescPtr, type_ndx, map_count: int16,
|
||||
want_preserve: bool, new_num_lvls: int16): TStatus{.
|
||||
libx11c, importc: "XkbResizeKeyType".}
|
||||
proc XkbResizeKeySyms*(desc: PXkbDescPtr, forKey, symsNeeded: int16): PKeySym{.
|
||||
libx11c, importc: "XkbResizeKeySyms".}
|
||||
proc XkbResizeKeyActions*(desc: PXkbDescPtr, forKey, actsNeeded: int16): PXkbAction{.
|
||||
libx11c, importc: "XkbResizeKeyActions".}
|
||||
proc XkbChangeTypesOfKey*(xkb: PXkbDescPtr, key, num_groups: int16,
|
||||
groups: int16, newTypes: ptr int16,
|
||||
pChanges: PXkbMapChangesPtr): TStatus{.libx11c, importc: "XkbChangeTypesOfKey".}
|
||||
|
||||
proc XkbListComponents*(dpy: PDisplay, deviceSpec: int16,
|
||||
ptrns: PXkbComponentNamesPtr, max_inout: ptr int16): PXkbComponentListPtr{.
|
||||
libx11c, importc: "XkbListComponents".}
|
||||
proc XkbFreeComponentList*(list: PXkbComponentListPtr){.libx11c,
|
||||
importc: "XkbFreeComponentList".}
|
||||
proc XkbGetKeyboard*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.
|
||||
libx11c, importc: "XkbGetKeyboard".}
|
||||
proc XkbGetKeyboardByName*(dpy: PDisplay, deviceSpec: int16,
|
||||
names: PXkbComponentNamesPtr, want, need: int16,
|
||||
load: bool): PXkbDescPtr{.libx11c,
|
||||
importc: "XkbGetKeyboardByName".}
|
||||
|
||||
proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr,
|
||||
map_width: int16, # keyboard device
|
||||
core_syms: PKeySym, # always mapWidth symbols
|
||||
protected: int16, # explicit key types
|
||||
types_inout: ptr int16, # always four type indices
|
||||
xkb_syms_rtrn: PKeySym): int16{.libx11c, importc: "XkbKeyTypesForCoreSymbols".}
|
||||
# must have enough space
|
||||
proc XkbApplyCompatMapToKey*(xkb: PXkbDescPtr,
|
||||
key: TKeyCode, # key to be updated
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyCompatMapToKey".}
|
||||
# resulting changes to map
|
||||
proc XkbUpdateMapFromCore*(xkb: PXkbDescPtr,
|
||||
first_key: TKeyCode, # first changed key
|
||||
num_keys,
|
||||
map_width: int16,
|
||||
core_keysyms: PKeySym, # symbols `from` core keymap
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbUpdateMapFromCore".}
|
||||
|
||||
proc XkbAddDeviceLedInfo*(devi: PXkbDeviceInfoPtr, ledClass, ledId: int16): PXkbDeviceLedInfoPtr{.
|
||||
libx11c, importc: "XkbAddDeviceLedInfo".}
|
||||
proc XkbResizeDeviceButtonActions*(devi: PXkbDeviceInfoPtr, newTotal: int16): TStatus{.
|
||||
libx11c, importc: "XkbResizeDeviceButtonActions".}
|
||||
proc XkbAllocDeviceInfo*(deviceSpec, nButtons, szLeds: int16): PXkbDeviceInfoPtr{.
|
||||
libx11c, importc: "XkbAllocDeviceInfo".}
|
||||
proc XkbFreeDeviceInfo*(devi: PXkbDeviceInfoPtr, which: int16, freeDevI: bool){.
|
||||
libx11c, importc: "XkbFreeDeviceInfo".}
|
||||
proc XkbNoteDeviceChanges*(old: PXkbDeviceChangesPtr,
|
||||
new: PXkbExtensionDeviceNotifyEvent, wanted: int16){.
|
||||
libx11c, importc: "XkbNoteDeviceChanges".}
|
||||
proc XkbGetDeviceInfo*(dpy: PDisplay, which, deviceSpec, ledClass, ledID: int16): PXkbDeviceInfoPtr{.
|
||||
libx11c, importc: "XkbGetDeviceInfo".}
|
||||
proc XkbGetDeviceInfoChanges*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
changes: PXkbDeviceChangesPtr): TStatus{.libx11c, importc: "XkbGetDeviceInfoChanges".}
|
||||
proc XkbGetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
all: bool, first, nBtns: int16): TStatus{.libx11c, importc: "XkbGetDeviceButtonActions".}
|
||||
proc XkbGetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
ledClass, ledId, which: int16): TStatus{.libx11c, importc: "XkbGetDeviceLedInfo".}
|
||||
proc XkbSetDeviceInfo*(dpy: PDisplay, which: int16, devi: PXkbDeviceInfoPtr): bool{.
|
||||
libx11c, importc: "XkbSetDeviceInfo".}
|
||||
proc XkbChangeDeviceInfo*(dpy: PDisplay, desc: PXkbDeviceInfoPtr,
|
||||
changes: PXkbDeviceChangesPtr): bool{.libx11c, importc: "XkbChangeDeviceInfo".}
|
||||
proc XkbSetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
ledClass, ledID, which: int16): bool{.libx11c, importc: "XkbSetDeviceLedInfo".}
|
||||
proc XkbSetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr,
|
||||
first, nBtns: int16): bool{.libx11c, importc: "XkbSetDeviceButtonActions".}
|
||||
|
||||
proc XkbToControl*(c: int8): int8{.libx11c,
|
||||
importc: "XkbToControl".}
|
||||
|
||||
proc XkbSetDebuggingFlags*(dpy: PDisplay, mask, flags: int16, msg: cstring,
|
||||
ctrls_mask, ctrls, rtrn_flags, rtrn_ctrls: int16): bool{.
|
||||
libx11c, importc: "XkbSetDebuggingFlags".}
|
||||
proc XkbApplyVirtualModChanges*(xkb: PXkbDescPtr, changed: int16,
|
||||
changes: PXkbChangesPtr): bool{.libx11c, importc: "XkbApplyVirtualModChanges".}
|
||||
|
||||
# implementation
|
||||
|
||||
proc XkbNoteIndicatorMapChanges(o, n: PXkbIndicatorChangesPtr, w: int16) =
|
||||
##define XkbNoteIndicatorMapChanges(o,n,w) ((o)->map_changes|=((n)->map_changes&(w)))
|
||||
o.map_changes = o.map_changes or (n.map_changes and w)
|
||||
|
||||
proc XkbNoteIndicatorStateChanges(o, n: PXkbIndicatorChangesPtr, w: int16) =
|
||||
##define XkbNoteIndicatorStateChanges(o,n,w) ((o)->state_changes|=((n)->state_changes&(w)))
|
||||
o.state_changes = o.state_changes or (n.state_changes and (w))
|
||||
|
||||
proc XkbGetIndicatorMapChanges(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbIndicatorChangesPtr): TStatus =
|
||||
##define XkbGetIndicatorMapChanges(d,x,c) (XkbGetIndicatorMap((d),(c)->map_changes,x)
|
||||
Result = XkbGetIndicatorMap(d, c.map_changes, x)
|
||||
|
||||
proc XkbChangeIndicatorMaps(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbIndicatorChangesPtr): bool =
|
||||
##define XkbChangeIndicatorMaps(d,x,c) (XkbSetIndicatorMap((d),(c)->map_changes,x))
|
||||
Result = XkbSetIndicatorMap(d, c.map_changes, x)
|
||||
|
||||
proc XkbGetControlsChanges(d: PDisplay, x: PXkbDescPtr,
|
||||
c: PXkbControlsChangesPtr): TStatus =
|
||||
##define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
|
||||
Result = XkbGetControls(d, c.changed_ctrls, x)
|
||||
|
||||
proc XkbChangeControls(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool =
|
||||
##define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
|
||||
Result = XkbSetControls(d, c.changed_ctrls, x)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,194 +0,0 @@
|
||||
#
|
||||
# $XFree86: xc/lib/Xrandr/Xrandr.h,v 1.9 2002/09/29 23:39:44 keithp Exp $
|
||||
#
|
||||
# Copyright (C) 2000 Compaq Computer Corporation, Inc.
|
||||
# Copyright (C) 2002 Hewlett-Packard Company, Inc.
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of Compaq not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. HP makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
#
|
||||
# HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
|
||||
# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# Author: Jim Gettys, HP Labs, HP.
|
||||
#
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
const
|
||||
libXrandr* = "libXrandr.so"
|
||||
|
||||
# * $XFree86: xc/include/extensions/randr.h,v 1.4 2001/11/24 07:24:58 keithp Exp $
|
||||
# *
|
||||
# * Copyright (C) 2000, Compaq Computer Corporation,
|
||||
# * Copyright (C) 2002, Hewlett Packard, Inc.
|
||||
# *
|
||||
# * Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# * documentation for any purpose is hereby granted without fee, provided that
|
||||
# * the above copyright notice appear in all copies and that both that
|
||||
# * copyright notice and this permission notice appear in supporting
|
||||
# * documentation, and that the name of Compaq or HP not be used in advertising
|
||||
# * or publicity pertaining to distribution of the software without specific,
|
||||
# * written prior permission. HP makes no representations about the
|
||||
# * suitability of this software for any purpose. It is provided "as is"
|
||||
# * without express or implied warranty.
|
||||
# *
|
||||
# * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
|
||||
# * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
|
||||
# * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
# * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
# * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
# * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
# *
|
||||
# * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
|
||||
# *
|
||||
|
||||
type
|
||||
PRotation* = ptr TRotation
|
||||
TRotation* = cushort
|
||||
PSizeID* = ptr TSizeID
|
||||
TSizeID* = cushort
|
||||
PSubpixelOrder* = ptr TSubpixelOrder
|
||||
TSubpixelOrder* = cushort
|
||||
|
||||
const
|
||||
RANDR_NAME* = "RANDR"
|
||||
RANDR_MAJOR* = 1
|
||||
RANDR_MINOR* = 1
|
||||
RRNumberErrors* = 0
|
||||
RRNumberEvents* = 1
|
||||
constX_RRQueryVersion* = 0 # we skip 1 to make old clients fail pretty immediately
|
||||
X_RROldGetScreenInfo* = 1
|
||||
X_RR1_0SetScreenConfig* = 2 # V1.0 apps share the same set screen config request id
|
||||
constX_RRSetScreenConfig* = 2
|
||||
X_RROldScreenChangeSelectInput* = 3 # 3 used to be ScreenChangeSelectInput; deprecated
|
||||
constX_RRSelectInput* = 4
|
||||
constX_RRGetScreenInfo* = 5 # used in XRRSelectInput
|
||||
RRScreenChangeNotifyMask* = 1 shl 0
|
||||
RRScreenChangeNotify* = 0 # used in the rotation field; rotation and reflection in 0.1 proto.
|
||||
RR_Rotate_0* = 1
|
||||
RR_Rotate_90* = 2
|
||||
RR_Rotate_180* = 4
|
||||
RR_Rotate_270* = 8 # new in 1.0 protocol, to allow reflection of screen
|
||||
RR_Reflect_X* = 16
|
||||
RR_Reflect_Y* = 32
|
||||
RRSetConfigSuccess* = 0
|
||||
RRSetConfigInvalidConfigTime* = 1
|
||||
RRSetConfigInvalidTime* = 2
|
||||
RRSetConfigFailed* = 3
|
||||
|
||||
type
|
||||
PXRRScreenSize* = ptr TXRRScreenSize
|
||||
TXRRScreenSize*{.final.} = object #
|
||||
# Events.
|
||||
#
|
||||
width*, height*: cint
|
||||
mwidth*, mheight*: cint
|
||||
|
||||
TXRRScreenChangeNotifyEvent*{.final.} = object # internal representation is private to the library
|
||||
typ*: cint # event base
|
||||
serial*: culong # # of last request processed by server
|
||||
send_event*: TBool # true if this came from a SendEvent request
|
||||
display*: PDisplay # Display the event was read from
|
||||
window*: TWindow # window which selected for this event
|
||||
root*: TWindow # Root window for changed screen
|
||||
timestamp*: TTime # when the screen change occurred
|
||||
config_timestamp*: TTime # when the last configuration change
|
||||
size_index*: TSizeID
|
||||
subpixel_order*: TSubpixelOrder
|
||||
rotation*: TRotation
|
||||
width*: cint
|
||||
height*: cint
|
||||
mwidth*: cint
|
||||
mheight*: cint
|
||||
|
||||
PXRRScreenConfiguration* = ptr TXRRScreenConfiguration
|
||||
TXRRScreenConfiguration*{.final.} = object
|
||||
|
||||
proc XRRQueryExtension*(dpy: PDisplay, event_basep, error_basep: Pcint): TBool{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRQueryVersion*(dpy: PDisplay, major_versionp: Pcint,
|
||||
minor_versionp: Pcint): TStatus{.cdecl, dynlib: libXrandr,
|
||||
importc.}
|
||||
proc XRRGetScreenInfo*(dpy: PDisplay, draw: TDrawable): PXRRScreenConfiguration{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRFreeScreenConfigInfo*(config: PXRRScreenConfiguration){.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
#
|
||||
# Note that screen configuration changes are only permitted if the client can
|
||||
# prove it has up to date configuration information. We are trying to
|
||||
# insist that it become possible for screens to change dynamically, so
|
||||
# we want to ensure the client knows what it is talking about when requesting
|
||||
# changes.
|
||||
#
|
||||
proc XRRSetScreenConfig*(dpy: PDisplay, config: PXRRScreenConfiguration,
|
||||
draw: TDrawable, size_index: cint, rotation: TRotation,
|
||||
timestamp: TTime): TStatus{.cdecl, dynlib: libXrandr,
|
||||
importc.}
|
||||
# added in v1.1, sorry for the lame name
|
||||
proc XRRSetScreenConfigAndRate*(dpy: PDisplay, config: PXRRScreenConfiguration,
|
||||
draw: TDrawable, size_index: cint,
|
||||
rotation: TRotation, rate: cshort,
|
||||
timestamp: TTime): TStatus{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
proc XRRConfigRotations*(config: PXRRScreenConfiguration,
|
||||
current_rotation: PRotation): TRotation{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
proc XRRConfigTimes*(config: PXRRScreenConfiguration, config_timestamp: PTime): TTime{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRConfigSizes*(config: PXRRScreenConfiguration, nsizes: Pcint): PXRRScreenSize{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRConfigRates*(config: PXRRScreenConfiguration, sizeID: cint,
|
||||
nrates: Pcint): ptr int16{.cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRConfigCurrentConfiguration*(config: PXRRScreenConfiguration,
|
||||
rotation: PRotation): TSizeID{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
proc XRRConfigCurrentRate*(config: PXRRScreenConfiguration): cshort{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
proc XRRRootToScreen*(dpy: PDisplay, root: TWindow): cint{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
#
|
||||
# returns the screen configuration for the specified screen; does a lazy
|
||||
# evalution to delay getting the information, and caches the result.
|
||||
# These routines should be used in preference to XRRGetScreenInfo
|
||||
# to avoid unneeded round trips to the X server. These are new
|
||||
# in protocol version 0.1.
|
||||
#
|
||||
proc XRRScreenConfig*(dpy: PDisplay, screen: cint): PXRRScreenConfiguration{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRConfig*(screen: PScreen): PXRRScreenConfiguration{.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
proc XRRSelectInput*(dpy: PDisplay, window: TWindow, mask: cint){.cdecl,
|
||||
dynlib: libXrandr, importc.}
|
||||
#
|
||||
# the following are always safe to call, even if RandR is not implemented
|
||||
# on a screen
|
||||
#
|
||||
proc XRRRotations*(dpy: PDisplay, screen: cint, current_rotation: PRotation): TRotation{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRSizes*(dpy: PDisplay, screen: cint, nsizes: Pcint): PXRRScreenSize{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRRates*(dpy: PDisplay, screen: cint, sizeID: cint, nrates: Pcint): ptr int16{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
proc XRRTimes*(dpy: PDisplay, screen: cint, config_timestamp: PTime): TTime{.
|
||||
cdecl, dynlib: libXrandr, importc.}
|
||||
#
|
||||
# intended to take RRScreenChangeNotify, or
|
||||
# ConfigureNotify (on the root window)
|
||||
# returns 1 if it is an event type it understands, 0 if not
|
||||
#
|
||||
proc XRRUpdateConfiguration*(event: PXEvent): cint{.cdecl, dynlib: libXrandr,
|
||||
importc.}
|
||||
# implementation
|
||||
@@ -1,241 +0,0 @@
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
when defined(use_pkg_config) or defined(use_pkg_config_static):
|
||||
{.pragma: libxrender, cdecl, importc.}
|
||||
when defined(use_pkg_config):
|
||||
{.passl: gorge("pkg-config xrender --libs").}
|
||||
else:
|
||||
{.passl: gorge("pkg-config xrender --static --libs").}
|
||||
else:
|
||||
when defined(macosx):
|
||||
const
|
||||
libXrender* = "libXrender.dylib"
|
||||
else:
|
||||
const
|
||||
libXrender* = "libXrender.so"
|
||||
|
||||
|
||||
{.pragma: libxrender, dynlib: libXrender, cdecl, importc.}
|
||||
#const
|
||||
# libXrender* = "libXrender.so"
|
||||
|
||||
#
|
||||
# Automatically converted by H2Pas 0.99.15 from xrender.h
|
||||
# The following command line parameters were used:
|
||||
# -p
|
||||
# -T
|
||||
# -S
|
||||
# -d
|
||||
# -c
|
||||
# xrender.h
|
||||
#
|
||||
|
||||
type
|
||||
PGlyph* = ptr TGlyph
|
||||
TGlyph* = int32
|
||||
PGlyphSet* = ptr TGlyphSet
|
||||
TGlyphSet* = int32
|
||||
PPicture* = ptr TPicture
|
||||
TPicture* = int32
|
||||
PPictFormat* = ptr TPictFormat
|
||||
TPictFormat* = int32
|
||||
|
||||
const
|
||||
RENDER_NAME* = "RENDER"
|
||||
RENDER_MAJOR* = 0
|
||||
RENDER_MINOR* = 0
|
||||
constX_RenderQueryVersion* = 0
|
||||
X_RenderQueryPictFormats* = 1
|
||||
X_RenderQueryPictIndexValues* = 2
|
||||
X_RenderQueryDithers* = 3
|
||||
constX_RenderCreatePicture* = 4
|
||||
constX_RenderChangePicture* = 5
|
||||
X_RenderSetPictureClipRectangles* = 6
|
||||
constX_RenderFreePicture* = 7
|
||||
constX_RenderComposite* = 8
|
||||
X_RenderScale* = 9
|
||||
X_RenderTrapezoids* = 10
|
||||
X_RenderTriangles* = 11
|
||||
X_RenderTriStrip* = 12
|
||||
X_RenderTriFan* = 13
|
||||
X_RenderColorTrapezoids* = 14
|
||||
X_RenderColorTriangles* = 15
|
||||
X_RenderTransform* = 16
|
||||
constX_RenderCreateGlyphSet* = 17
|
||||
constX_RenderReferenceGlyphSet* = 18
|
||||
constX_RenderFreeGlyphSet* = 19
|
||||
constX_RenderAddGlyphs* = 20
|
||||
constX_RenderAddGlyphsFromPicture* = 21
|
||||
constX_RenderFreeGlyphs* = 22
|
||||
constX_RenderCompositeGlyphs8* = 23
|
||||
constX_RenderCompositeGlyphs16* = 24
|
||||
constX_RenderCompositeGlyphs32* = 25
|
||||
BadPictFormat* = 0
|
||||
BadPicture* = 1
|
||||
BadPictOp* = 2
|
||||
BadGlyphSet* = 3
|
||||
BadGlyph* = 4
|
||||
RenderNumberErrors* = BadGlyph + 1
|
||||
PictTypeIndexed* = 0
|
||||
PictTypeDirect* = 1
|
||||
PictOpClear* = 0
|
||||
PictOpSrc* = 1
|
||||
PictOpDst* = 2
|
||||
PictOpOver* = 3
|
||||
PictOpOverReverse* = 4
|
||||
PictOpIn* = 5
|
||||
PictOpInReverse* = 6
|
||||
PictOpOut* = 7
|
||||
PictOpOutReverse* = 8
|
||||
PictOpAtop* = 9
|
||||
PictOpAtopReverse* = 10
|
||||
PictOpXor* = 11
|
||||
PictOpAdd* = 12
|
||||
PictOpSaturate* = 13
|
||||
PictOpMaximum* = 13
|
||||
PolyEdgeSharp* = 0
|
||||
PolyEdgeSmooth* = 1
|
||||
PolyModePrecise* = 0
|
||||
PolyModeImprecise* = 1
|
||||
CPRepeat* = 1 shl 0
|
||||
CPAlphaMap* = 1 shl 1
|
||||
CPAlphaXOrigin* = 1 shl 2
|
||||
CPAlphaYOrigin* = 1 shl 3
|
||||
CPClipXOrigin* = 1 shl 4
|
||||
CPClipYOrigin* = 1 shl 5
|
||||
CPClipMask* = 1 shl 6
|
||||
CPGraphicsExposure* = 1 shl 7
|
||||
CPSubwindowMode* = 1 shl 8
|
||||
CPPolyEdge* = 1 shl 9
|
||||
CPPolyMode* = 1 shl 10
|
||||
CPDither* = 1 shl 11
|
||||
CPLastBit* = 11
|
||||
|
||||
type
|
||||
PXRenderDirectFormat* = ptr TXRenderDirectFormat
|
||||
TXRenderDirectFormat*{.final.} = object
|
||||
red*: int16
|
||||
redMask*: int16
|
||||
green*: int16
|
||||
greenMask*: int16
|
||||
blue*: int16
|
||||
blueMask*: int16
|
||||
alpha*: int16
|
||||
alphaMask*: int16
|
||||
|
||||
PXRenderPictFormat* = ptr TXRenderPictFormat
|
||||
TXRenderPictFormat*{.final.} = object
|
||||
id*: TPictFormat
|
||||
thetype*: int32
|
||||
depth*: int32
|
||||
direct*: TXRenderDirectFormat
|
||||
colormap*: TColormap
|
||||
|
||||
|
||||
const
|
||||
PictFormatID* = 1 shl 0
|
||||
PictFormatType* = 1 shl 1
|
||||
PictFormatDepth* = 1 shl 2
|
||||
PictFormatRed* = 1 shl 3
|
||||
PictFormatRedMask* = 1 shl 4
|
||||
PictFormatGreen* = 1 shl 5
|
||||
PictFormatGreenMask* = 1 shl 6
|
||||
PictFormatBlue* = 1 shl 7
|
||||
PictFormatBlueMask* = 1 shl 8
|
||||
PictFormatAlpha* = 1 shl 9
|
||||
PictFormatAlphaMask* = 1 shl 10
|
||||
PictFormatColormap* = 1 shl 11
|
||||
|
||||
type
|
||||
PXRenderVisual* = ptr TXRenderVisual
|
||||
TXRenderVisual*{.final.} = object
|
||||
visual*: PVisual
|
||||
format*: PXRenderPictFormat
|
||||
|
||||
PXRenderDepth* = ptr TXRenderDepth
|
||||
TXRenderDepth*{.final.} = object
|
||||
depth*: int32
|
||||
nvisuals*: int32
|
||||
visuals*: PXRenderVisual
|
||||
|
||||
PXRenderScreen* = ptr TXRenderScreen
|
||||
TXRenderScreen*{.final.} = object
|
||||
depths*: PXRenderDepth
|
||||
ndepths*: int32
|
||||
fallback*: PXRenderPictFormat
|
||||
|
||||
PXRenderInfo* = ptr TXRenderInfo
|
||||
TXRenderInfo*{.final.} = object
|
||||
format*: PXRenderPictFormat
|
||||
nformat*: int32
|
||||
screen*: PXRenderScreen
|
||||
nscreen*: int32
|
||||
depth*: PXRenderDepth
|
||||
ndepth*: int32
|
||||
visual*: PXRenderVisual
|
||||
nvisual*: int32
|
||||
|
||||
PXRenderPictureAttributes* = ptr TXRenderPictureAttributes
|
||||
TXRenderPictureAttributes*{.final.} = object
|
||||
repeat*: TBool
|
||||
alpha_map*: TPicture
|
||||
alpha_x_origin*: int32
|
||||
alpha_y_origin*: int32
|
||||
clip_x_origin*: int32
|
||||
clip_y_origin*: int32
|
||||
clip_mask*: TPixmap
|
||||
graphics_exposures*: TBool
|
||||
subwindow_mode*: int32
|
||||
poly_edge*: int32
|
||||
poly_mode*: int32
|
||||
dither*: TAtom
|
||||
|
||||
PXGlyphInfo* = ptr TXGlyphInfo
|
||||
TXGlyphInfo*{.final.} = object
|
||||
width*: int16
|
||||
height*: int16
|
||||
x*: int16
|
||||
y*: int16
|
||||
xOff*: int16
|
||||
yOff*: int16
|
||||
|
||||
|
||||
proc XRenderQueryExtension*(dpy: PDisplay, event_basep: ptr int32,
|
||||
error_basep: ptr int32): TBool{.libxrender.}
|
||||
proc XRenderQueryVersion*(dpy: PDisplay, major_versionp: ptr int32,
|
||||
minor_versionp: ptr int32): TStatus{.libxrender.}
|
||||
proc XRenderQueryFormats*(dpy: PDisplay): TStatus{.libxrender.}
|
||||
proc XRenderFindVisualFormat*(dpy: PDisplay, visual: PVisual): PXRenderPictFormat{.
|
||||
libxrender.}
|
||||
proc XRenderFindFormat*(dpy: PDisplay, mask: int32,
|
||||
`template`: PXRenderPictFormat, count: int32): PXRenderPictFormat{.
|
||||
libxrender.}
|
||||
proc XRenderCreatePicture*(dpy: PDisplay, drawable: TDrawable,
|
||||
format: PXRenderPictFormat, valuemask: int32,
|
||||
attributes: PXRenderPictureAttributes): TPicture{.
|
||||
libxrender.}
|
||||
proc XRenderChangePicture*(dpy: PDisplay, picture: TPicture, valuemask: int32,
|
||||
attributes: PXRenderPictureAttributes){.libxrender.}
|
||||
proc XRenderFreePicture*(dpy: PDisplay, picture: TPicture){.libxrender.}
|
||||
proc XRenderComposite*(dpy: PDisplay, op: int32, src: TPicture, mask: TPicture,
|
||||
dst: TPicture, src_x: int32, src_y: int32, mask_x: int32,
|
||||
mask_y: int32, dst_x: int32, dst_y: int32, width: int32,
|
||||
height: int32){.libxrender.}
|
||||
proc XRenderCreateGlyphSet*(dpy: PDisplay, format: PXRenderPictFormat): TGlyphSet{.
|
||||
libxrender.}
|
||||
proc XRenderReferenceGlyphSet*(dpy: PDisplay, existing: TGlyphSet): TGlyphSet{.
|
||||
libxrender.}
|
||||
proc XRenderFreeGlyphSet*(dpy: PDisplay, glyphset: TGlyphSet){.libxrender.}
|
||||
proc XRenderAddGlyphs*(dpy: PDisplay, glyphset: TGlyphSet, gids: PGlyph,
|
||||
glyphs: PXGlyphInfo, nglyphs: int32, images: cstring,
|
||||
nbyte_images: int32){.libxrender.}
|
||||
proc XRenderFreeGlyphs*(dpy: PDisplay, glyphset: TGlyphSet, gids: PGlyph,
|
||||
nglyphs: int32){.libxrender.}
|
||||
proc XRenderCompositeString8*(dpy: PDisplay, op: int32, src: TPicture,
|
||||
dst: TPicture, maskFormat: PXRenderPictFormat,
|
||||
glyphset: TGlyphSet, xSrc: int32, ySrc: int32,
|
||||
xDst: int32, yDst: int32, str: cstring,
|
||||
nchar: int32){.libxrender.}
|
||||
# implementation
|
||||
@@ -1,200 +0,0 @@
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
#const
|
||||
# libX11* = "libX11.so"
|
||||
|
||||
#
|
||||
# Automatically converted by H2Pas 0.99.15 from xresource.h
|
||||
# The following command line parameters were used:
|
||||
# -p
|
||||
# -T
|
||||
# -S
|
||||
# -d
|
||||
# -c
|
||||
# xresource.h
|
||||
#
|
||||
|
||||
proc Xpermalloc*(para1: int32): cstring{.cdecl, dynlib: libX11, importc.}
|
||||
type
|
||||
PXrmQuark* = ptr TXrmQuark
|
||||
TXrmQuark* = int32
|
||||
TXrmQuarkList* = PXrmQuark
|
||||
PXrmQuarkList* = ptr TXrmQuarkList
|
||||
|
||||
proc NULLQUARK*(): TXrmQuark
|
||||
type
|
||||
PXrmString* = ptr TXrmString
|
||||
TXrmString* = ptr char
|
||||
|
||||
proc NULLSTRING*(): TXrmString
|
||||
proc XrmStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmPermStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmQuarkToString*(para1: TXrmQuark): TXrmString{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmUniqueQuark*(): TXrmQuark{.cdecl, dynlib: libX11, importc.}
|
||||
when defined(MACROS):
|
||||
proc XrmStringsEqual*(a1, a2: cstring): bool
|
||||
type
|
||||
PXrmBinding* = ptr TXrmBinding
|
||||
TXrmBinding* = enum
|
||||
XrmBindTightly, XrmBindLoosely
|
||||
TXrmBindingList* = PXrmBinding
|
||||
PXrmBindingList* = ptr TXrmBindingList
|
||||
|
||||
proc XrmStringToQuarkList*(para1: cstring, para2: TXrmQuarkList){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmStringToBindingQuarkList*(para1: cstring, para2: TXrmBindingList,
|
||||
para3: TXrmQuarkList){.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
type
|
||||
PXrmName* = ptr TXrmName
|
||||
TXrmName* = TXrmQuark
|
||||
PXrmNameList* = ptr TXrmNameList
|
||||
TXrmNameList* = TXrmQuarkList
|
||||
|
||||
when defined(MACROS):
|
||||
proc XrmNameToString*(name: int32): TXrmString
|
||||
proc XrmStringToName*(str: cstring): int32
|
||||
proc XrmStringToNameList*(str: cstring, name: PXrmQuark)
|
||||
type
|
||||
PXrmClass* = ptr TXrmClass
|
||||
TXrmClass* = TXrmQuark
|
||||
PXrmClassList* = ptr TXrmClassList
|
||||
TXrmClassList* = TXrmQuarkList
|
||||
|
||||
when defined(MACROS):
|
||||
proc XrmClassToString*(c_class: int32): TXrmString
|
||||
proc XrmStringToClass*(c_class: cstring): int32
|
||||
proc XrmStringToClassList*(str: cstring, c_class: PXrmQuark)
|
||||
type
|
||||
PXrmRepresentation* = ptr TXrmRepresentation
|
||||
TXrmRepresentation* = TXrmQuark
|
||||
|
||||
when defined(MACROS):
|
||||
proc XrmStringToRepresentation*(str: cstring): int32
|
||||
proc XrmRepresentationToString*(thetype: int32): TXrmString
|
||||
type
|
||||
PXrmValue* = ptr TXrmValue
|
||||
TXrmValue*{.final.} = object
|
||||
size*: int32
|
||||
address*: TXPointer
|
||||
|
||||
TXrmValuePtr* = PXrmValue
|
||||
PXrmValuePtr* = ptr TXrmValuePtr
|
||||
PXrmHashBucketRec* = ptr TXrmHashBucketRec
|
||||
TXrmHashBucketRec*{.final.} = object
|
||||
TXrmHashBucket* = PXrmHashBucketRec
|
||||
PXrmHashBucket* = ptr TXrmHashBucket
|
||||
PXrmHashTable* = ptr TXrmHashTable
|
||||
TXrmHashTable* = ptr TXrmHashBucket
|
||||
TXrmDatabase* = PXrmHashBucketRec
|
||||
PXrmDatabase* = ptr TXrmDatabase
|
||||
|
||||
proc XrmDestroyDatabase*(para1: TXrmDatabase){.cdecl, dynlib: libX11, importc.}
|
||||
proc XrmQPutResource*(para1: PXrmDatabase, para2: TXrmBindingList,
|
||||
para3: TXrmQuarkList, para4: TXrmRepresentation,
|
||||
para5: PXrmValue){.cdecl, dynlib: libX11, importc.}
|
||||
proc XrmPutResource*(para1: PXrmDatabase, para2: cstring, para3: cstring,
|
||||
para4: PXrmValue){.cdecl, dynlib: libX11, importc.}
|
||||
proc XrmQPutStringResource*(para1: PXrmDatabase, para2: TXrmBindingList,
|
||||
para3: TXrmQuarkList, para4: cstring){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmPutStringResource*(para1: PXrmDatabase, para2: cstring, para3: cstring){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XrmPutLineResource*(para1: PXrmDatabase, para2: cstring){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmQGetResource*(para1: TXrmDatabase, para2: TXrmNameList,
|
||||
para3: TXrmClassList, para4: PXrmRepresentation,
|
||||
para5: PXrmValue): TBool{.cdecl, dynlib: libX11, importc.}
|
||||
proc XrmGetResource*(para1: TXrmDatabase, para2: cstring, para3: cstring,
|
||||
para4: PPchar, para5: PXrmValue): TBool{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
# There is no definition of TXrmSearchList
|
||||
#function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external libX11;
|
||||
#function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external libX11;
|
||||
proc XrmSetDatabase*(para1: PDisplay, para2: TXrmDatabase){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmGetDatabase*(para1: PDisplay): TXrmDatabase{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmGetFileDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmCombineFileDatabase*(para1: cstring, para2: PXrmDatabase, para3: TBool): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XrmGetStringDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmPutFileDatabase*(para1: TXrmDatabase, para2: cstring){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmMergeDatabases*(para1: TXrmDatabase, para2: PXrmDatabase){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XrmCombineDatabase*(para1: TXrmDatabase, para2: PXrmDatabase, para3: TBool){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
const
|
||||
XrmEnumAllLevels* = 0
|
||||
XrmEnumOneLevel* = 1
|
||||
|
||||
type
|
||||
funcbool* = proc (): TBool {.cdecl.}
|
||||
|
||||
proc XrmEnumerateDatabase*(para1: TXrmDatabase, para2: TXrmNameList,
|
||||
para3: TXrmClassList, para4: int32, para5: funcbool,
|
||||
para6: TXPointer): TBool{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XrmLocaleOfDatabase*(para1: TXrmDatabase): cstring{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
type
|
||||
PXrmOptionKind* = ptr TXrmOptionKind
|
||||
TXrmOptionKind* = enum
|
||||
XrmoptionNoArg, XrmoptionIsArg, XrmoptionStickyArg, XrmoptionSepArg,
|
||||
XrmoptionResArg, XrmoptionSkipArg, XrmoptionSkipLine, XrmoptionSkipNArgs
|
||||
PXrmOptionDescRec* = ptr TXrmOptionDescRec
|
||||
TXrmOptionDescRec*{.final.} = object
|
||||
option*: cstring
|
||||
specifier*: cstring
|
||||
argKind*: TXrmOptionKind
|
||||
value*: TXPointer
|
||||
|
||||
TXrmOptionDescList* = PXrmOptionDescRec
|
||||
PXrmOptionDescList* = ptr TXrmOptionDescList
|
||||
|
||||
proc XrmParseCommand*(para1: PXrmDatabase, para2: TXrmOptionDescList,
|
||||
para3: int32, para4: cstring, para5: ptr int32,
|
||||
para6: PPchar){.cdecl, dynlib: libX11, importc.}
|
||||
# implementation
|
||||
|
||||
proc NULLQUARK(): TXrmQuark =
|
||||
result = TXrmQuark(0)
|
||||
|
||||
proc NULLSTRING(): TXrmString =
|
||||
result = nil
|
||||
|
||||
when defined(MACROS):
|
||||
proc XrmStringsEqual(a1, a2: cstring): bool =
|
||||
result = (strcomp(a1, a2)) == 0
|
||||
|
||||
proc XrmNameToString(name: int32): TXrmString =
|
||||
result = XrmQuarkToString(name)
|
||||
|
||||
proc XrmStringToName(str: cstring): int32 =
|
||||
result = XrmStringToQuark(str)
|
||||
|
||||
proc XrmStringToNameList(str: cstring, name: PXrmQuark) =
|
||||
XrmStringToQuarkList(str, name)
|
||||
|
||||
proc XrmClassToString(c_class: int32): TXrmString =
|
||||
result = XrmQuarkToString(c_class)
|
||||
|
||||
proc XrmStringToClass(c_class: cstring): int32 =
|
||||
result = XrmStringToQuark(c_class)
|
||||
|
||||
proc XrmStringToClassList(str: cstring, c_class: PXrmQuark) =
|
||||
XrmStringToQuarkList(str, c_class)
|
||||
|
||||
proc XrmStringToRepresentation(str: cstring): int32 =
|
||||
result = XrmStringToQuark(str)
|
||||
|
||||
proc XrmRepresentationToString(thetype: int32): TXrmString =
|
||||
result = XrmQuarkToString(thetype)
|
||||
@@ -1,77 +0,0 @@
|
||||
|
||||
import
|
||||
x, xlib
|
||||
|
||||
#const
|
||||
# libX11* = "libX11.so"
|
||||
|
||||
#
|
||||
# Automatically converted by H2Pas 0.99.15 from xshm.h
|
||||
# The following command line parameters were used:
|
||||
# -p
|
||||
# -T
|
||||
# -S
|
||||
# -d
|
||||
# -c
|
||||
# xshm.h
|
||||
#
|
||||
|
||||
const
|
||||
constX_ShmQueryVersion* = 0
|
||||
constX_ShmAttach* = 1
|
||||
constX_ShmDetach* = 2
|
||||
constX_ShmPutImage* = 3
|
||||
constX_ShmGetImage* = 4
|
||||
constX_ShmCreatePixmap* = 5
|
||||
ShmCompletion* = 0
|
||||
ShmNumberEvents* = ShmCompletion + 1
|
||||
BadShmSeg* = 0
|
||||
ShmNumberErrors* = BadShmSeg + 1
|
||||
|
||||
type
|
||||
PShmSeg* = ptr TShmSeg
|
||||
TShmSeg* = culong
|
||||
PXShmCompletionEvent* = ptr TXShmCompletionEvent
|
||||
TXShmCompletionEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong
|
||||
send_event*: TBool
|
||||
display*: PDisplay
|
||||
drawable*: TDrawable
|
||||
major_code*: cint
|
||||
minor_code*: cint
|
||||
shmseg*: TShmSeg
|
||||
offset*: culong
|
||||
|
||||
PXShmSegmentInfo* = ptr TXShmSegmentInfo
|
||||
TXShmSegmentInfo*{.final.} = object
|
||||
shmseg*: TShmSeg
|
||||
shmid*: cint
|
||||
shmaddr*: cstring
|
||||
readOnly*: TBool
|
||||
|
||||
|
||||
proc XShmQueryExtension*(para1: PDisplay): TBool{.cdecl, dynlib: libX11, importc.}
|
||||
proc XShmGetEventBase*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XShmQueryVersion*(para1: PDisplay, para2: Pcint, para3: Pcint, para4: PBool): TBool{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XShmPixmapFormat*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XShmAttach*(para1: PDisplay, para2: PXShmSegmentInfo): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XShmDetach*(para1: PDisplay, para2: PXShmSegmentInfo): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XShmPutImage*(para1: PDisplay, para2: TDrawable, para3: TGC,
|
||||
para4: PXImage, para5: cint, para6: cint, para7: cint,
|
||||
para8: cint, para9: cuint, para10: cuint, para11: TBool): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XShmGetImage*(para1: PDisplay, para2: TDrawable, para3: PXImage,
|
||||
para4: cint, para5: cint, para6: culong): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XShmCreateImage*(para1: PDisplay, para2: PVisual, para3: cuint,
|
||||
para4: cint, para5: cstring, para6: PXShmSegmentInfo,
|
||||
para7: cuint, para8: cuint): PXImage{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XShmCreatePixmap*(para1: PDisplay, para2: TDrawable, para3: cstring,
|
||||
para4: PXShmSegmentInfo, para5: cuint, para6: cuint,
|
||||
para7: cuint): TPixmap{.cdecl, dynlib: libX11, importc.}
|
||||
# implementation
|
||||
@@ -1,412 +0,0 @@
|
||||
|
||||
import
|
||||
x, xlib, keysym, unsigned
|
||||
|
||||
#const
|
||||
# libX11* = "libX11.so"
|
||||
|
||||
#
|
||||
# Automatically converted by H2Pas 0.99.15 from xutil.h
|
||||
# The following command line parameters were used:
|
||||
# -p
|
||||
# -T
|
||||
# -S
|
||||
# -d
|
||||
# -c
|
||||
# xutil.h
|
||||
#
|
||||
|
||||
const
|
||||
NoValue* = 0x00000000
|
||||
XValue* = 0x00000001
|
||||
YValue* = 0x00000002
|
||||
WidthValue* = 0x00000004
|
||||
HeightValue* = 0x00000008
|
||||
AllValues* = 0x0000000F
|
||||
XNegative* = 0x00000010
|
||||
YNegative* = 0x00000020
|
||||
|
||||
type
|
||||
TCPoint*{.final.} = object
|
||||
x*: cint
|
||||
y*: cint
|
||||
|
||||
PXSizeHints* = ptr TXSizeHints
|
||||
TXSizeHints*{.final.} = object
|
||||
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*: TCPoint
|
||||
base_width*, base_height*: cint
|
||||
win_gravity*: cint
|
||||
|
||||
|
||||
const
|
||||
USPosition* = 1 shl 0
|
||||
USSize* = 1 shl 1
|
||||
PPosition* = 1 shl 2
|
||||
PSize* = 1 shl 3
|
||||
PMinSize* = 1 shl 4
|
||||
PMaxSize* = 1 shl 5
|
||||
PResizeInc* = 1 shl 6
|
||||
PAspect* = 1 shl 7
|
||||
PBaseSize* = 1 shl 8
|
||||
PWinGravity* = 1 shl 9
|
||||
PAllHints* = PPosition or PSize or PMinSize or PMaxSize or PResizeInc or
|
||||
PAspect
|
||||
|
||||
type
|
||||
PXWMHints* = ptr TXWMHints
|
||||
TXWMHints*{.final.} = object
|
||||
flags*: clong
|
||||
input*: TBool
|
||||
initial_state*: cint
|
||||
icon_pixmap*: TPixmap
|
||||
icon_window*: TWindow
|
||||
icon_x*, icon_y*: cint
|
||||
icon_mask*: TPixmap
|
||||
window_group*: TXID
|
||||
|
||||
|
||||
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
|
||||
WithdrawnState* = 0
|
||||
NormalState* = 1
|
||||
IconicState* = 3
|
||||
DontCareState* = 0
|
||||
ZoomState* = 2
|
||||
InactiveState* = 4
|
||||
|
||||
type
|
||||
PXTextProperty* = ptr TXTextProperty
|
||||
TXTextProperty*{.final.} = object
|
||||
value*: pcuchar
|
||||
encoding*: TAtom
|
||||
format*: cint
|
||||
nitems*: culong
|
||||
|
||||
|
||||
const
|
||||
XNoMemory* = - 1
|
||||
XLocaleNotSupported* = - 2
|
||||
XConverterNotFound* = - 3
|
||||
|
||||
type
|
||||
PXICCEncodingStyle* = ptr TXICCEncodingStyle
|
||||
TXICCEncodingStyle* = enum
|
||||
XStringStyle, XCompoundTextStyle, XTextStyle, XStdICCTextStyle,
|
||||
XUTF8StringStyle
|
||||
PPXIconSize* = ptr PXIconSize
|
||||
PXIconSize* = ptr TXIconSize
|
||||
TXIconSize*{.final.} = object
|
||||
min_width*, min_height*: cint
|
||||
max_width*, max_height*: cint
|
||||
width_inc*, height_inc*: cint
|
||||
|
||||
PXClassHint* = ptr TXClassHint
|
||||
TXClassHint*{.final.} = object
|
||||
res_name*: cstring
|
||||
res_class*: cstring
|
||||
|
||||
|
||||
type
|
||||
PXComposeStatus* = ptr TXComposeStatus
|
||||
TXComposeStatus*{.final.} = object
|
||||
compose_ptr*: TXPointer
|
||||
chars_matched*: cint
|
||||
|
||||
|
||||
type
|
||||
PXRegion* = ptr TXRegion
|
||||
TXRegion*{.final.} = object
|
||||
TRegion* = PXRegion
|
||||
PRegion* = ptr TRegion
|
||||
|
||||
const
|
||||
RectangleOut* = 0
|
||||
RectangleIn* = 1
|
||||
RectanglePart* = 2
|
||||
|
||||
type
|
||||
PXVisualInfo* = ptr TXVisualInfo
|
||||
TXVisualInfo*{.final.} = object
|
||||
visual*: PVisual
|
||||
visualid*: TVisualID
|
||||
screen*: cint
|
||||
depth*: cint
|
||||
class*: cint
|
||||
red_mask*: culong
|
||||
green_mask*: culong
|
||||
blue_mask*: culong
|
||||
colormap_size*: cint
|
||||
bits_per_rgb*: cint
|
||||
|
||||
|
||||
const
|
||||
VisualNoMask* = 0x00000000
|
||||
VisualIDMask* = 0x00000001
|
||||
VisualScreenMask* = 0x00000002
|
||||
VisualDepthMask* = 0x00000004
|
||||
VisualClassMask* = 0x00000008
|
||||
VisualRedMaskMask* = 0x00000010
|
||||
VisualGreenMaskMask* = 0x00000020
|
||||
VisualBlueMaskMask* = 0x00000040
|
||||
VisualColormapSizeMask* = 0x00000080
|
||||
VisualBitsPerRGBMask* = 0x00000100
|
||||
VisualAllMask* = 0x000001FF
|
||||
|
||||
type
|
||||
PPXStandardColormap* = ptr PXStandardColormap
|
||||
PXStandardColormap* = ptr TXStandardColormap
|
||||
TXStandardColormap*{.final.} = object
|
||||
colormap*: TColormap
|
||||
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
|
||||
|
||||
|
||||
const
|
||||
BitmapSuccess* = 0
|
||||
BitmapOpenFailed* = 1
|
||||
BitmapFileInvalid* = 2
|
||||
BitmapNoMemory* = 3
|
||||
XCSUCCESS* = 0
|
||||
XCNOMEM* = 1
|
||||
XCNOENT* = 2
|
||||
ReleaseByFreeingColormap*: TXID = TXID(1)
|
||||
|
||||
type
|
||||
PXContext* = ptr TXContext
|
||||
TXContext* = cint
|
||||
|
||||
proc XAllocClassHint*(): PXClassHint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XAllocIconSize*(): PXIconSize{.cdecl, dynlib: libX11, importc.}
|
||||
proc XAllocSizeHints*(): PXSizeHints{.cdecl, dynlib: libX11, importc.}
|
||||
proc XAllocStandardColormap*(): PXStandardColormap{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XAllocWMHints*(): PXWMHints{.cdecl, dynlib: libX11, importc.}
|
||||
proc XClipBox*(para1: TRegion, para2: PXRectangle): cint{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XCreateRegion*(): TRegion{.cdecl, dynlib: libX11, importc.}
|
||||
proc XDefaultString*(): cstring{.cdecl, dynlib: libX11, importc.}
|
||||
proc XDeleteContext*(para1: PDisplay, para2: TXID, para3: TXContext): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XDestroyRegion*(para1: TRegion): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XEmptyRegion*(para1: TRegion): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XEqualRegion*(para1: TRegion, para2: TRegion): cint{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XFindContext*(para1: PDisplay, para2: TXID, para3: TXContext,
|
||||
para4: PXPointer): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetClassHint*(para1: PDisplay, para2: TWindow, para3: PXClassHint): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetIconSizes*(para1: PDisplay, para2: TWindow, para3: PPXIconSize,
|
||||
para4: Pcint): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetRGBColormaps*(para1: PDisplay, para2: TWindow,
|
||||
para3: PPXStandardColormap, para4: Pcint, para5: TAtom): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints,
|
||||
para4: TAtom): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetStandardColormap*(para1: PDisplay, para2: TWindow,
|
||||
para3: PXStandardColormap, para4: TAtom): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetTextProperty*(para1: PDisplay, para2: TWindow, para3: PXTextProperty,
|
||||
para4: TAtom): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetVisualInfo*(para1: PDisplay, para2: clong, para3: PXVisualInfo,
|
||||
para4: Pcint): PXVisualInfo{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetWMClientMachine*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetWMHints*(para1: PDisplay, para2: TWindow): PXWMHints{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XGetWMIconName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetWMName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XGetWMNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints,
|
||||
para4: ptr int): TStatus{.cdecl, dynlib: libX11, importc.}
|
||||
proc XGetWMSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints,
|
||||
para4: ptr int, para5: TAtom): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XGetZoomHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): TStatus{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XIntersectRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XConvertCase*(para1: TKeySym, para2: PKeySym, para3: PKeySym){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XLookupString*(para1: PXKeyEvent, para2: cstring, para3: cint,
|
||||
para4: PKeySym, para5: PXComposeStatus): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XMatchVisualInfo*(para1: PDisplay, para2: cint, para3: cint, para4: cint,
|
||||
para5: PXVisualInfo): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XOffsetRegion*(para1: TRegion, para2: cint, para3: cint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XPointInRegion*(para1: TRegion, para2: cint, para3: cint): TBool{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XPolygonRegion*(para1: PXPoint, para2: cint, para3: cint): TRegion{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XRectInRegion*(para1: TRegion, para2: cint, para3: cint, para4: cuint,
|
||||
para5: cuint): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XSaveContext*(para1: PDisplay, para2: TXID, para3: TXContext,
|
||||
para4: cstring): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetClassHint*(para1: PDisplay, para2: TWindow, para3: PXClassHint): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetIconSizes*(para1: PDisplay, para2: TWindow, para3: PXIconSize,
|
||||
para4: cint): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetRGBColormaps*(para1: PDisplay, para2: TWindow,
|
||||
para3: PXStandardColormap, para4: cint, para5: TAtom){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints,
|
||||
para4: TAtom): cint{.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetStandardProperties*(para1: PDisplay, para2: TWindow, para3: cstring,
|
||||
para4: cstring, para5: TPixmap, para6: PPchar,
|
||||
para7: cint, para8: PXSizeHints): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XSetTextProperty*(para1: PDisplay, para2: TWindow, para3: PXTextProperty,
|
||||
para4: TAtom){.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMClientMachine*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMHints*(para1: PDisplay, para2: TWindow, para3: PXWMHints): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMIconName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XSetWMNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMProperties*(para1: PDisplay, para2: TWindow, para3: PXTextProperty,
|
||||
para4: PXTextProperty, para5: PPchar, para6: cint,
|
||||
para7: PXSizeHints, para8: PXWMHints, para9: PXClassHint){.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XmbSetWMProperties*(para1: PDisplay, para2: TWindow, para3: cstring,
|
||||
para4: cstring, para5: PPchar, para6: cint,
|
||||
para7: PXSizeHints, para8: PXWMHints,
|
||||
para9: PXClassHint){.cdecl, dynlib: libX11, importc.}
|
||||
proc Xutf8SetWMProperties*(para1: PDisplay, para2: TWindow, para3: cstring,
|
||||
para4: cstring, para5: PPchar, para6: cint,
|
||||
para7: PXSizeHints, para8: PXWMHints,
|
||||
para9: PXClassHint){.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetWMSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints,
|
||||
para4: TAtom){.cdecl, dynlib: libX11, importc.}
|
||||
proc XSetRegion*(para1: PDisplay, para2: TGC, para3: TRegion): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XSetStandardColormap*(para1: PDisplay, para2: TWindow,
|
||||
para3: PXStandardColormap, para4: TAtom){.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XSetZoomHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XShrinkRegion*(para1: TRegion, para2: cint, para3: cint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XStringListToTextProperty*(para1: PPchar, para2: cint,
|
||||
para3: PXTextProperty): TStatus{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XSubtractRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XmbTextListToTextProperty*(para1: PDisplay, para2: PPchar, para3: cint,
|
||||
para4: TXICCEncodingStyle, para5: PXTextProperty): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XwcTextListToTextProperty*(para1: PDisplay, para2: ptr ptr int16, para3: cint,
|
||||
para4: TXICCEncodingStyle, para5: PXTextProperty): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc Xutf8TextListToTextProperty*(para1: PDisplay, para2: PPchar, para3: cint,
|
||||
para4: TXICCEncodingStyle,
|
||||
para5: PXTextProperty): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XwcFreeStringList*(para1: ptr ptr int16){.cdecl, dynlib: libX11, importc.}
|
||||
proc XTextPropertyToStringList*(para1: PXTextProperty, para2: PPPchar,
|
||||
para3: Pcint): TStatus{.cdecl, dynlib: libX11,
|
||||
importc.}
|
||||
proc XmbTextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty,
|
||||
para3: PPPchar, para4: Pcint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XwcTextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty,
|
||||
para3: ptr ptr ptr int16, para4: Pcint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc Xutf8TextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty,
|
||||
para3: PPPchar, para4: Pcint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XUnionRectWithRegion*(para1: PXRectangle, para2: TRegion, para3: TRegion): cint{.
|
||||
cdecl, dynlib: libX11, importc.}
|
||||
proc XUnionRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XWMGeometry*(para1: PDisplay, para2: cint, para3: cstring, para4: cstring,
|
||||
para5: cuint, para6: PXSizeHints, para7: Pcint, para8: Pcint,
|
||||
para9: Pcint, para10: Pcint, para11: Pcint): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
proc XXorRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.cdecl,
|
||||
dynlib: libX11, importc.}
|
||||
#when defined(MACROS):
|
||||
proc XDestroyImage*(ximage: PXImage): cint
|
||||
proc XGetPixel*(ximage: PXImage, x, y: cint): culong
|
||||
proc XPutPixel*(ximage: PXImage, x, y: cint, pixel: culong): cint
|
||||
proc XSubImage*(ximage: PXImage, x, y: cint, width, height: cuint): PXImage
|
||||
proc XAddPixel*(ximage: PXImage, value: clong): cint
|
||||
proc IsKeypadKey*(keysym: TKeySym): bool
|
||||
proc IsPrivateKeypadKey*(keysym: TKeySym): bool
|
||||
proc IsCursorKey*(keysym: TKeySym): bool
|
||||
proc IsPFKey*(keysym: TKeySym): bool
|
||||
proc IsFunctionKey*(keysym: TKeySym): bool
|
||||
proc IsMiscFunctionKey*(keysym: TKeySym): bool
|
||||
proc IsModifierKey*(keysym: TKeySym): bool
|
||||
#function XUniqueContext : TXContext;
|
||||
#function XStringToContext(_string : Pchar) : TXContext;
|
||||
# implementation
|
||||
|
||||
#when defined(MACROS):
|
||||
proc XDestroyImage(ximage: PXImage): cint =
|
||||
ximage.f.destroy_image(ximage)
|
||||
|
||||
proc XGetPixel(ximage: PXImage, x, y: cint): culong =
|
||||
ximage.f.get_pixel(ximage, x, y)
|
||||
|
||||
proc XPutPixel(ximage: PXImage, x, y: cint, pixel: culong): cint =
|
||||
ximage.f.put_pixel(ximage, x, y, pixel)
|
||||
|
||||
proc XSubImage(ximage: PXImage, x, y: cint, width, height: cuint): PXImage =
|
||||
ximage.f.sub_image(ximage, x, y, width, height)
|
||||
|
||||
proc XAddPixel(ximage: PXImage, value: clong): cint =
|
||||
ximage.f.add_pixel(ximage, value)
|
||||
|
||||
proc IsKeypadKey(keysym: TKeySym): bool =
|
||||
(keysym >= XK_KP_Space) and (keysym <= XK_KP_Equal)
|
||||
|
||||
proc IsPrivateKeypadKey(keysym: TKeySym): bool =
|
||||
(keysym >= 0x11000000.TKeySym) and (keysym <= 0x1100FFFF.TKeySym)
|
||||
|
||||
proc IsCursorKey(keysym: TKeySym): bool =
|
||||
(keysym >= XK_Home) and (keysym < XK_Select)
|
||||
|
||||
proc IsPFKey(keysym: TKeySym): bool =
|
||||
(keysym >= XK_KP_F1) and (keysym <= XK_KP_F4)
|
||||
|
||||
proc IsFunctionKey(keysym: TKeySym): bool =
|
||||
(keysym >= XK_F1) and (keysym <= XK_F35)
|
||||
|
||||
proc IsMiscFunctionKey(keysym: TKeySym): bool =
|
||||
(keysym >= XK_Select) and (keysym <= XK_Break)
|
||||
|
||||
proc IsModifierKey(keysym: TKeySym): bool =
|
||||
((keysym >= XK_Shift_L) And (keysym <= XK_Hyper_R)) Or
|
||||
(keysym == XK_Mode_switch) Or (keysym == XK_Num_Lock)
|
||||
@@ -1,84 +0,0 @@
|
||||
#***********************************************************
|
||||
#Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
#and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
#Permission to use, copy, modify, and distribute this software and its
|
||||
#documentation for any purpose and without fee is hereby granted,
|
||||
#provided that the above copyright notice appear in all copies and that
|
||||
#both that copyright notice and this permission notice appear in
|
||||
#supporting documentation, and that the names of Digital or MIT not be
|
||||
#used in advertising or publicity pertaining to distribution of the
|
||||
#software without specific, written prior permission.
|
||||
#
|
||||
#DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
#DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
#SOFTWARE.
|
||||
#
|
||||
#******************************************************************
|
||||
# $XFree86: xc/include/extensions/Xv.h,v 1.3 1999/05/23 06:33:22 dawes Exp $
|
||||
|
||||
import
|
||||
x
|
||||
|
||||
const
|
||||
XvName* = "libXVideo.so"
|
||||
XvVersion* = 2
|
||||
XvRevision* = 2 # Symbols
|
||||
|
||||
type
|
||||
TXvPortID* = TXID
|
||||
TXvEncodingID* = TXID
|
||||
|
||||
const
|
||||
XvNone* = 0
|
||||
XvInput* = 0
|
||||
XvOutput* = 1
|
||||
XvInputMask* = 1 shl XvInput
|
||||
XvOutputMask* = 1 shl XvOutput
|
||||
XvVideoMask* = 0x00000004
|
||||
XvStillMask* = 0x00000008
|
||||
XvImageMask* = 0x00000010 # These two are not client viewable
|
||||
XvPixmapMask* = 0x00010000
|
||||
XvWindowMask* = 0x00020000
|
||||
XvGettable* = 0x00000001
|
||||
XvSettable* = 0x00000002
|
||||
XvRGB* = 0
|
||||
XvYUV* = 1
|
||||
XvPacked* = 0
|
||||
XvPlanar* = 1
|
||||
XvTopToBottom* = 0
|
||||
XvBottomToTop* = 1 # Events
|
||||
XvVideoNotify* = 0
|
||||
XvPortNotify* = 1
|
||||
XvNumEvents* = 2 # Video Notify Reasons
|
||||
XvStarted* = 0
|
||||
XvStopped* = 1
|
||||
XvBusy* = 2
|
||||
XvPreempted* = 3
|
||||
XvHardError* = 4
|
||||
XvLastReason* = 4
|
||||
XvNumReasons* = XvLastReason + 1
|
||||
XvStartedMask* = 1 shl XvStarted
|
||||
XvStoppedMask* = 1 shl XvStopped
|
||||
XvBusyMask* = 1 shl XvBusy
|
||||
XvPreemptedMask* = 1 shl XvPreempted
|
||||
XvHardErrorMask* = 1 shl XvHardError
|
||||
XvAnyReasonMask* = (1 shl XvNumReasons) - 1
|
||||
XvNoReasonMask* = 0 # Errors
|
||||
XvBadPort* = 0
|
||||
XvBadEncoding* = 1
|
||||
XvBadControl* = 2
|
||||
XvNumErrors* = 3 # Status
|
||||
XvBadExtension* = 1
|
||||
XvAlreadyGrabbed* = 2
|
||||
XvInvalidTime* = 3
|
||||
XvBadReply* = 4
|
||||
XvBadAlloc* = 5
|
||||
|
||||
# implementation
|
||||
@@ -1,234 +0,0 @@
|
||||
#***********************************************************
|
||||
#Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
#and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
#
|
||||
# All Rights Reserved
|
||||
#
|
||||
#Permission to use, copy, modify, and distribute this software and its
|
||||
#documentation for any purpose and without fee is hereby granted,
|
||||
#provided that the above copyright notice appear in all copies and that
|
||||
#both that copyright notice and this permission notice appear in
|
||||
#supporting documentation, and that the names of Digital or MIT not be
|
||||
#used in advertising or publicity pertaining to distribution of the
|
||||
#software without specific, written prior permission.
|
||||
#
|
||||
#DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
#DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
#SOFTWARE.
|
||||
#
|
||||
#******************************************************************
|
||||
# $XFree86: xc/include/extensions/Xvlib.h,v 1.3 1999/12/11 19:28:48 mvojkovi Exp $
|
||||
#*
|
||||
#** File:
|
||||
#**
|
||||
#** Xvlib.h --- Xv library public header file
|
||||
#**
|
||||
#** Author:
|
||||
#**
|
||||
#** David Carver (Digital Workstation Engineering/Project Athena)
|
||||
#**
|
||||
#** Revisions:
|
||||
#**
|
||||
#** 26.06.91 Carver
|
||||
#** - changed XvFreeAdaptors to XvFreeAdaptorInfo
|
||||
#** - changed XvFreeEncodings to XvFreeEncodingInfo
|
||||
#**
|
||||
#** 11.06.91 Carver
|
||||
#** - changed SetPortControl to SetPortAttribute
|
||||
#** - changed GetPortControl to GetPortAttribute
|
||||
#** - changed QueryBestSize
|
||||
#**
|
||||
#** 05.15.91 Carver
|
||||
#** - version 2.0 upgrade
|
||||
#**
|
||||
#** 01.24.91 Carver
|
||||
#** - version 1.4 upgrade
|
||||
#**
|
||||
#*
|
||||
|
||||
import
|
||||
x, xlib, xshm, xv
|
||||
|
||||
const
|
||||
libXv* = "libXv.so"
|
||||
|
||||
type
|
||||
PXvRational* = ptr TXvRational
|
||||
TXvRational*{.final.} = object
|
||||
numerator*: cint
|
||||
denominator*: cint
|
||||
|
||||
PXvAttribute* = ptr TXvAttribute
|
||||
TXvAttribute*{.final.} = object
|
||||
flags*: cint # XvGettable, XvSettable
|
||||
min_value*: cint
|
||||
max_value*: cint
|
||||
name*: cstring
|
||||
|
||||
PPXvEncodingInfo* = ptr PXvEncodingInfo
|
||||
PXvEncodingInfo* = ptr TXvEncodingInfo
|
||||
TXvEncodingInfo*{.final.} = object
|
||||
encoding_id*: TXvEncodingID
|
||||
name*: cstring
|
||||
width*: culong
|
||||
height*: culong
|
||||
rate*: TXvRational
|
||||
num_encodings*: culong
|
||||
|
||||
PXvFormat* = ptr TXvFormat
|
||||
TXvFormat*{.final.} = object
|
||||
depth*: cchar
|
||||
visual_id*: culong
|
||||
|
||||
PPXvAdaptorInfo* = ptr PXvAdaptorInfo
|
||||
PXvAdaptorInfo* = ptr TXvAdaptorInfo
|
||||
TXvAdaptorInfo*{.final.} = object
|
||||
base_id*: TXvPortID
|
||||
num_ports*: culong
|
||||
thetype*: cchar
|
||||
name*: cstring
|
||||
num_formats*: culong
|
||||
formats*: PXvFormat
|
||||
num_adaptors*: culong
|
||||
|
||||
PXvVideoNotifyEvent* = ptr TXvVideoNotifyEvent
|
||||
TXvVideoNotifyEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong # # of last request processed by server
|
||||
send_event*: TBool # true if this came from a SendEvent request
|
||||
display*: PDisplay # Display the event was read from
|
||||
drawable*: TDrawable # drawable
|
||||
reason*: culong # what generated this event
|
||||
port_id*: TXvPortID # what port
|
||||
time*: TTime # milliseconds
|
||||
|
||||
PXvPortNotifyEvent* = ptr TXvPortNotifyEvent
|
||||
TXvPortNotifyEvent*{.final.} = object
|
||||
theType*: cint
|
||||
serial*: culong # # of last request processed by server
|
||||
send_event*: TBool # true if this came from a SendEvent request
|
||||
display*: PDisplay # Display the event was read from
|
||||
port_id*: TXvPortID # what port
|
||||
time*: TTime # milliseconds
|
||||
attribute*: TAtom # atom that identifies attribute
|
||||
value*: clong # value of attribute
|
||||
|
||||
PXvEvent* = ptr TXvEvent
|
||||
TXvEvent*{.final.} = object
|
||||
pad*: array[0..23, clong] #case longint of
|
||||
# 0 : (
|
||||
# theType : cint;
|
||||
# );
|
||||
# 1 : (
|
||||
# xvvideo : TXvVideoNotifyEvent;
|
||||
# );
|
||||
# 2 : (
|
||||
# xvport : TXvPortNotifyEvent;
|
||||
# );
|
||||
# 3 : (
|
||||
#
|
||||
# );
|
||||
|
||||
PXvImageFormatValues* = ptr TXvImageFormatValues
|
||||
TXvImageFormatValues*{.final.} = object
|
||||
id*: cint # Unique descriptor for the format
|
||||
theType*: cint # XvRGB, XvYUV
|
||||
byte_order*: cint # LSBFirst, MSBFirst
|
||||
guid*: array[0..15, cchar] # Globally Unique IDentifier
|
||||
bits_per_pixel*: cint
|
||||
format*: cint # XvPacked, XvPlanar
|
||||
num_planes*: cint # for RGB formats only
|
||||
depth*: cint
|
||||
red_mask*: cuint
|
||||
green_mask*: cuint
|
||||
blue_mask*: cuint # for YUV formats only
|
||||
y_sample_bits*: cuint
|
||||
u_sample_bits*: cuint
|
||||
v_sample_bits*: cuint
|
||||
horz_y_period*: cuint
|
||||
horz_u_period*: cuint
|
||||
horz_v_period*: cuint
|
||||
vert_y_period*: cuint
|
||||
vert_u_period*: cuint
|
||||
vert_v_period*: cuint
|
||||
component_order*: array[0..31, char] # eg. UYVY
|
||||
scanline_order*: cint # XvTopToBottom, XvBottomToTop
|
||||
|
||||
PXvImage* = ptr TXvImage
|
||||
TXvImage*{.final.} = object
|
||||
id*: cint
|
||||
width*, height*: cint
|
||||
data_size*: cint # bytes
|
||||
num_planes*: cint
|
||||
pitches*: pcint # bytes
|
||||
offsets*: pcint # bytes
|
||||
data*: pointer
|
||||
obdata*: TXPointer
|
||||
|
||||
|
||||
proc XvQueryExtension*(display: PDisplay, p_version, p_revision, p_requestBase,
|
||||
p_eventBase, p_errorBase: pcuint): cint{.cdecl, dynlib: libXv, importc.}
|
||||
proc XvQueryAdaptors*(display: PDisplay, window: TWindow, p_nAdaptors: pcuint,
|
||||
p_pAdaptors: PPXvAdaptorInfo): cint{.cdecl, dynlib: libXv,
|
||||
importc.}
|
||||
proc XvQueryEncodings*(display: PDisplay, port: TXvPortID, p_nEncoding: pcuint,
|
||||
p_pEncoding: PPXvEncodingInfo): cint{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
proc XvPutVideo*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC,
|
||||
vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvPutStill*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC,
|
||||
vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvGetVideo*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC,
|
||||
vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvGetStill*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC,
|
||||
vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvStopVideo*(display: PDisplay, port: TXvPortID, drawable: TDrawable): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvGrabPort*(display: PDisplay, port: TXvPortID, time: TTime): cint{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
proc XvUngrabPort*(display: PDisplay, port: TXvPortID, time: TTime): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvSelectVideoNotify*(display: PDisplay, drawable: TDrawable, onoff: TBool): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvSelectPortNotify*(display: PDisplay, port: TXvPortID, onoff: TBool): cint{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvSetPortAttribute*(display: PDisplay, port: TXvPortID, attribute: TAtom,
|
||||
value: cint): cint{.cdecl, dynlib: libXv, importc.}
|
||||
proc XvGetPortAttribute*(display: PDisplay, port: TXvPortID, attribute: TAtom,
|
||||
p_value: pcint): cint{.cdecl, dynlib: libXv, importc.}
|
||||
proc XvQueryBestSize*(display: PDisplay, port: TXvPortID, motion: TBool,
|
||||
vid_w, vid_h, drw_w, drw_h: cuint,
|
||||
p_actual_width, p_actual_height: pcuint): cint{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
proc XvQueryPortAttributes*(display: PDisplay, port: TXvPortID, number: pcint): PXvAttribute{.
|
||||
cdecl, dynlib: libXv, importc.}
|
||||
proc XvFreeAdaptorInfo*(adaptors: PXvAdaptorInfo){.cdecl, dynlib: libXv, importc.}
|
||||
proc XvFreeEncodingInfo*(encodings: PXvEncodingInfo){.cdecl, dynlib: libXv,
|
||||
importc.}
|
||||
proc XvListImageFormats*(display: PDisplay, port_id: TXvPortID,
|
||||
count_return: pcint): PXvImageFormatValues{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
proc XvCreateImage*(display: PDisplay, port: TXvPortID, id: cint, data: pointer,
|
||||
width, height: cint): PXvImage{.cdecl, dynlib: libXv,
|
||||
importc.}
|
||||
proc XvPutImage*(display: PDisplay, id: TXvPortID, d: TDrawable, gc: TGC,
|
||||
image: PXvImage, src_x, src_y: cint, src_w, src_h: cuint,
|
||||
dest_x, dest_y: cint, dest_w, dest_h: cuint): cint{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
proc XvShmPutImage*(display: PDisplay, id: TXvPortID, d: TDrawable, gc: TGC,
|
||||
image: PXvImage, src_x, src_y: cint, src_w, src_h: cuint,
|
||||
dest_x, dest_y: cint, dest_w, dest_h: cuint,
|
||||
send_event: TBool): cint{.cdecl, dynlib: libXv, importc.}
|
||||
proc XvShmCreateImage*(display: PDisplay, port: TXvPortID, id: cint,
|
||||
data: pointer, width, height: cint,
|
||||
shminfo: PXShmSegmentInfo): PXvImage{.cdecl,
|
||||
dynlib: libXv, importc.}
|
||||
# implementation
|
||||
Reference in New Issue
Block a user