# $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 XF86VidModeModeLine XF86VidModeModeLine*{.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 XF86VidModeModeInfo XF86VidModeModeInfo*{.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 XF86VidModeSyncRange XF86VidModeSyncRange*{.final.} = object hi*: cfloat lo*: cfloat PXF86VidModeMonitor* = ptr XF86VidModeMonitor XF86VidModeMonitor*{.final.} = object vendor*: cstring model*: cstring EMPTY*: cfloat nhsync*: char hsync*: PXF86VidModeSyncRange nvsync*: char vsync*: PXF86VidModeSyncRange PXF86VidModeNotifyEvent* = ptr XF86VidModeNotifyEvent XF86VidModeNotifyEvent*{.final.} = object theType*: cint # of event serial*: culong # # of last request processed by server send_event*: XBool # true if this came from a SendEvent req display*: PDisplay # Display the event was read from root*: Window # root window of event screen state*: cint # What happened kind*: cint # What happened forced*: XBool # extents of new region time*: Time # event timestamp PXF86VidModeGamma* = ptr XF86VidModeGamma XF86VidModeGamma*{.final.} = object red*: cfloat # Red Gamma value green*: cfloat # Green Gamma value blue*: cfloat # Blue Gamma value {.deprecated: [TXF86VidModeModeLine: XF86VidModeModeLine].} {.deprecated: [TXF86VidModeModeInfo: XF86VidModeModeInfo].} {.deprecated: [TXF86VidModeSyncRange: XF86VidModeSyncRange].} {.deprecated: [TXF86VidModeMonitor: XF86VidModeMonitor].} {.deprecated: [TXF86VidModeNotifyEvent: XF86VidModeNotifyEvent].} {.deprecated: [TXF86VidModeGamma: XF86VidModeGamma].} when defined(MACROS): proc XF86VidModeSelectNextMode*(disp: PDisplay, scr: cint): XBool proc XF86VidModeSelectPrevMode*(disp: PDisplay, scr: cint): XBool proc XF86VidModeQueryVersion*(dpy: PDisplay, majorVersion: Pcint, minorVersion: Pcint): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSetClientVersion*(dpy: PDisplay): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetModeLine*(dpy: PDisplay, screen: cint, dotclock: Pcint, modeline: PXF86VidModeModeLine): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetAllModeLines*(dpy: PDisplay, screen: cint, modecount: Pcint, modelinesPtr: PPPXF86VidModeModeInfo): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeAddModeLine*(dpy: PDisplay, screen: cint, new_modeline: PXF86VidModeModeInfo, after_modeline: PXF86VidModeModeInfo): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeDeleteModeLine*(dpy: PDisplay, screen: cint, modeline: PXF86VidModeModeInfo): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeModModeLine*(dpy: PDisplay, screen: cint, modeline: PXF86VidModeModeLine): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeValidateModeLine*(dpy: PDisplay, screen: cint, modeline: PXF86VidModeModeInfo): Status{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSwitchMode*(dpy: PDisplay, screen: cint, zoom: cint): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSwitchToMode*(dpy: PDisplay, screen: cint, modeline: PXF86VidModeModeInfo): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeLockModeSwitch*(dpy: PDisplay, screen: cint, lock: cint): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetMonitor*(dpy: PDisplay, screen: cint, monitor: PXF86VidModeMonitor): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetViewPort*(dpy: PDisplay, screen: cint, x_return: Pcint, y_return: Pcint): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSetViewPort*(dpy: PDisplay, screen: cint, x: cint, y: cint): XBool{. 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): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeSetGammaRamp*(dpy: PDisplay, screen: cint, size: cint, red_array: Pcushort, green_array: Pcushort, blue_array: Pcushort): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetGammaRamp*(dpy: PDisplay, screen: cint, size: cint, red_array: Pcushort, green_array: Pcushort, blue_array: Pcushort): XBool{.cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetGammaRampSize*(dpy: PDisplay, screen: cint, size: Pcint): XBool{. cdecl, dynlib: libXxf86vm, importc.} proc XF86VidModeGetPermissions*(dpy: PDisplay, screen: cint, permissions: Pcint): XBool{. cdecl, dynlib: libXxf86vm, importc.} # implementation #when defined(MACROS): proc XF86VidModeSelectNextMode(disp: PDisplay, scr: cint): XBool = XF86VidModeSwitchMode(disp, scr, 1) proc XF86VidModeSelectPrevMode(disp: PDisplay, scr: cint): XBool = XF86VidModeSwitchMode(disp, scr, - 1)