Ver código fonte

+ Initial import from Nikolay Nikolov

michael 20 anos atrás
pai
commit
c77ecccdfa
1 arquivos alterados com 339 adições e 0 exclusões
  1. 339 0
      packages/extra/x11/xf86vmode.pp

+ 339 - 0
packages/extra/x11/xf86vmode.pp

@@ -0,0 +1,339 @@
+{ $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 }
+
+Unit xf86vmode;
+
+{$PACKRECORDS c}
+{$DEFINE MACROS}
+
+Interface
+
+Uses
+  ctypes, x, xlib;
+
+Const
+  libXxf86vm = 'Xxf86vm';
+
+Type
+  PINT32 = ^LongInt; {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;
+
+{$IFDEF XF86VIDMODE_EVENTS}
+  XF86VidModeNotify             = 0;
+  XF86VidModeNumberEvents       = (XF86VidModeNotify + 1);
+
+  XF86VidModeNotifyMask         = $00000001;
+
+  XF86VidModeNonEvent           = 0;
+  XF86VidModeModeChange         = 1;
+{$ELSE XF86VIDMODE_EVENTS}
+  XF86VidModeNumberEvents       = 0;
+{$ENDIF XF86VIDMODE_EVENTS}
+
+  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 = ^TXF86VidModeModeLine;
+  TXF86VidModeModeLine = Record
+    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;
+  End;
+
+  PPPXF86VidModeModeInfo = ^PPXF86VidModeModeInfo;
+  PPXF86VidModeModeInfo = ^PXF86VidModeModeInfo;
+  PXF86VidModeModeInfo = ^TXF86VidModeModeInfo;
+  TXF86VidModeModeInfo = Record
+    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;
+  End;
+
+  PXF86VidModeSyncRange = ^TXF86VidModeSyncRange;
+  TXF86VidModeSyncRange = Record
+    hi : cfloat;
+    lo : cfloat;
+  End;
+
+  PXF86VidModeMonitor = ^TXF86VidModeMonitor;
+  TXF86VidModeMonitor = Record
+    vendor : PChar;
+    model : PChar;
+    EMPTY : cfloat;
+    nhsync : cuchar;
+    hsync : PXF86VidModeSyncRange;
+    nvsync : cuchar;
+    vsync : PXF86VidModeSyncRange;
+  End;
+
+  PXF86VidModeNotifyEvent = ^TXF86VidModeNotifyEvent;
+  TXF86VidModeNotifyEvent = Record
+    _type : 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 }
+  End;
+
+  PXF86VidModeGamma = ^TXF86VidModeGamma;
+  TXF86VidModeGamma = Record
+    red : cfloat;   { Red Gamma value }
+    green : cfloat; { Green Gamma value }
+    blue : cfloat;  { Blue Gamma value }
+  End;
+
+{$IFDEF MACROS}
+Function XF86VidModeSelectNextMode(disp : PDisplay; scr : cint) : TBool;
+Function XF86VidModeSelectPrevMode(disp : PDisplay; scr : cint) : TBool;
+{$ENDIF MACROS}
+
+Function XF86VidModeQueryVersion(
+    dpy : PDisplay;
+    majorVersion : Pcint;
+    minorVersion : Pcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeQueryExtension(
+    dpy : PDisplay;
+    event_base : Pcint;
+    error_base : Pcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeSetClientVersion(
+    dpy : PDisplay
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetModeLine(
+    dpy : PDisplay;
+    screen : cint;
+    dotclock : Pcint;
+    modeline : PXF86VidModeModeLine
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetAllModeLines(
+    dpy : PDisplay;
+    screen : cint;
+    modecount : Pcint;
+    modelinesPtr : PPPXF86VidModeModeInfo
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeAddModeLine(
+    dpy : PDisplay;
+    screen : cint;
+    new_modeline : PXF86VidModeModeInfo;
+    after_modeline : PXF86VidModeModeInfo
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeDeleteModeLine(
+    dpy : PDisplay;
+    screen : cint;
+    modeline : PXF86VidModeModeInfo
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeModModeLine(
+    dpy : PDisplay;
+    screen : cint;
+    modeline : PXF86VidModeModeLine
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeValidateModeLine(
+    dpy : PDisplay;
+    screen : cint;
+    modeline : PXF86VidModeModeInfo
+  ) : TStatus; CDecl; External libXxf86vm;
+
+Function XF86VidModeSwitchMode(
+    dpy : PDisplay;
+    screen : cint;
+    zoom : cint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeSwitchToMode(
+    dpy : PDisplay;
+    screen : cint;
+    modeline : PXF86VidModeModeInfo
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeLockModeSwitch(
+    dpy : PDisplay;
+    screen : cint;
+    lock : cint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetMonitor(
+    dpy : PDisplay;
+    screen : cint;
+    monitor : PXF86VidModeMonitor
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetViewPort(
+    dpy : PDisplay;
+    screen : cint;
+    x_return : Pcint;
+    y_return : Pcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeSetViewPort(
+    dpy : PDisplay;
+    screen : cint;
+    x : cint;
+    y : cint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetDotClocks(
+    dpy : PDisplay;
+    screen : cint;
+    flags_return : Pcint;
+    number_of_clocks_return : Pcint;
+    max_dot_clock_return : Pcint;
+    clocks_return : PPcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetGamma(
+    dpy : PDisplay;
+    screen : cint;
+    Gamma : PXF86VidModeGamma
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeSetGamma(
+    dpy : PDisplay;
+    screen : cint;
+    Gamma : PXF86VidModeGamma
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeSetGammaRamp(
+    dpy : PDisplay;
+    screen : cint;
+    size : cint;
+    red_array : Pcushort;
+    green_array : Pcushort;
+    blue_array : Pcushort
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetGammaRamp(
+    dpy : PDisplay;
+    screen : cint;
+    size : cint;
+    red_array : Pcushort;
+    green_array : Pcushort;
+    blue_array : Pcushort
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetGammaRampSize(
+    dpy : PDisplay;
+    screen : cint;
+    size : Pcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Function XF86VidModeGetPermissions(
+    dpy : PDisplay;
+    screen : cint;
+    permissions : Pcint
+  ) : TBool; CDecl; External libXxf86vm;
+
+Implementation
+
+{$IFDEF MACROS}
+Function XF86VidModeSelectNextMode(disp : PDisplay; scr : cint) : TBool;
+
+Begin
+  XF86VidModeSelectNextMode := XF86VidModeSwitchMode(disp, scr, 1);
+End;
+
+Function XF86VidModeSelectPrevMode(disp : PDisplay; scr : cint) : TBool;
+
+Begin
+  XF86VidModeSelectPrevMode := XF86VidModeSwitchMode(disp, scr, -1);
+End;
+{$ENDIF MACROS}
+
+End.