XF86VIDMODE(3X11)

XF86VIDMODE(3X11)

XF86VidModeQueryExtension Home Page Subroutines Index XF86VidModeSwitchMode


NAME
       XF86VidModeQueryExtension,        XF86VidModeQueryVersion,
       XF86VidModeGetModeLine,        XF86VidModeGetAllModeLines,
       XF86VidModeDeleteModeLine,         XF86VidModeModModeLine,
       XF86VidModeValidateModeLine,        XF86VidModeSwitchMode,
       XF86VidModeSwitchToMode,        XF86VidModeLockModeSwitch,
       XF86VidModeGetMonitor, XF86VidModeGetViewPort, XF86VidMod-
       eSetViewPort  -  XFree86-VidMode extension interface func-
       tions

SYNTAX
       #include <X11/extensions/xf86vmode.h>

       Bool XF86VidModeQueryExtension(
           Display *display,
           int *event_base_return,
           int *error_base_return);

       Bool XF86VidModeQueryVersion(
           Display *display,
           int *major_version_return,
           int *minor_version_return);

       Bool XF86VidModeGetModeLine(
           Display *display,
           int screen,
           int *dotclock_return,
           XF86VidModeModeLine *modeline);

       Bool XF86VidModeGetAllModeLines(
           Display *display,
           int screen,
           int *modecount_return,
           XF86VidModeModeInfo **modesinfo);

       Bool XF86VidModeDeleteModeLine(
           Display *display,
           int screen,
           XF86VidModeModeInfo *modeline);

       Bool XF86VidModeModModeLine(
           Display *display,
           int screen,
           XF86VidModeModeLine *modeline);

       Status XF86VidModeValidateModeLine(
           Display *display,
           int screen,
           XF86VidModeModeLine *modeline);

       Bool XF86VidModeSwitchMode(
           Display *display,
           int screen,
           int zoom);

       Bool XF86VidModeSwitchToMode(
           Display *display,
           int screen,
           XF86VidModeModeInfo *modeline);

       Bool XF86VidModeLockModeSwitch(
           Display *display,
           int screen,
           int lock);

       Bool XF86VidModeGetMonitor(
           Display *display,
           int screen,
           XF86VidModeMonitor *monitor);

       Bool XF86VidModeGetViewPort(
           Display *display,
           int screen,
           int *x_return,
           int *y_return);

       Bool XF86VidModeSetViewPort(
           Display *display,
           int screen,
           int x,
           int y);

ARGUMENTS
       display             Specifies  the  connection  to  the  X
                           server.

       screen              Specifies which screen number the set-
                           ting apply to.

       event_base_return   Returns the base event number for  the
                           extension.

       error_base_return   Returns  the base error number for the
                           extension.

       major_version_return
                           Returns the major  version  number  of
                           the extension.

       minor_version_return
                           Returns  the  minor  version number of
                           the extension.

       dotclock_return     Returns the clock for the mode line.

       modecount_return    Returns  the  number  of  video  modes
                           available in the server.

       zoom                If  greater  than zero, indicates that
                           the server should switch to  the  next
                           mode, otherwise switch to the previous
                           mode.

       lock                Indicates that mode  switching  should
                           be locked, if non-zero.

       modeline            Specifies or returns the timing values
                           for a video mode.

       modesinfo           Returns the  timing  values  and  dot-
                           clocks  for all of the available video
                           modes.

       monitor             Returns information about the monitor.

       x                   Specifies  the  desired X location for
                           the viewport.

       x_return            Returns the current X location of  the
                           viewport.

       y                   Specifies  the  desired Y location for
                           the viewport.

       y_return            Returns the current Y location of  the
                           viewport.

STRUCTURES
       Video Mode Settings:
       typedef struct {
           unsigned short    hdisplay;    /* Number of display pixels horizontally */
           unsigned short    hsyncstart;  /* Horizontal sync start */
           unsigned short    hsyncend;    /* Horizontal sync end */
           unsigned short    htotal;      /* Total horizontal pixels */
           unsigned short    vdisplay;    /* Number of display pixels vertically */
           unsigned short    vsyncstart;  /* Vertical sync start */
           unsigned short    vsyncend;    /* Vertical sync start */
           unsigned short    vtotal;      /* Total vertical pixels */
           unsigned int      flags;       /* Mode flags */
           int               privsize;    /* Size of private */
           INT32             *private;    /* Server privates */
       } XF86VidModeModeLine;

       typedef struct {
           unsigned int      dotclock;    /* Pixel clock */
           unsigned short    hdisplay;    /* Number of display pixels horizontally */
           unsigned short    hsyncstart;  /* Horizontal sync start */
           unsigned short    hsyncend;    /* Horizontal sync end */
           unsigned short    htotal;      /* Total horizontal pixels */
           unsigned short    vdisplay;    /* Number of display pixels vertically */
           unsigned short    vsyncstart;  /* Vertical sync start */
           unsigned short    vsyncend;    /* Vertical sync start */
           unsigned short    vtotal;      /* Total vertical pixels */

           unsigned int      flags;       /* Mode flags */
           int               privsize;    /* Size of private */
           INT32             *private;    /* Server privates */
       } XF86VidModeModeInfo;

       Monitor information:
       typedef struct {
           char*             vendor;      /* Name of manufacturer */
           char*             model;       /* Model name */
           float             bandwidth;   /* Monitor bandwidth */
           unsigned char     nhsync;      /* Number of horiz sync ranges */
           XF86VidModeSyncRange*          hsync;/* Horizontal sync ranges */
           unsigned char     nvsync;      /* Number of vert sync ranges */
           XF86VidModeSyncRange*          vsync;/* Vertical sync ranges */
       } XF86VidModeMonitor;

       typedef struct {
           float             hi;          /* Top of range */
           float             lo;          /* Bottom of range */
       } XF86VidModeSyncRange;

DESCRIPTION
       These  functions provide an interface to the server exten-
       sion XFree86-VidModeExtension which allows the video modes
       to  be queried and adjusted dynamically and mode switching
       to be controlled.  Applications that use  these  functions
       must be linked with -lXxf86vm

   MODELINE FUNCTIONS
       The  XF86VidModeGetModeLine  function is used to query the
       settings for the currently selected video mode.  The call-
       ing program should pass a pointer to a XF86VidModeModeLine
       structure that it has  already  allocated.   The  function
       fills in the fields of the structure.

       If  there  are  any  server private values (currently only
       applicable to the S3 server) the  function  will  allocate
       storage  for  them.   Therefore,  if the privsize field is
       non-zero, the calling program should  call  Xfree(private)
       to free the storage.

       XF86VidModeGetAllModeLines  returns  the  settings for all
       video modes.  The calling program supplies the address  of
       a pointer which will be set by the function to point to an
       array of XF86VidModeModeInfo structures.  The memory occu-
       pied by the array is dynamically allocated by the XF86Vid-
       ModeGetAllModeLines function and should be  freed  by  the
       caller.  The first element of the array corresponds to the
       current video mode.

       The XF86VidModeModModeLine function can be used to  change
       the  settings  of  the  current  video  mode  provided the
       requested settings are valid (e.g. they don't  exceed  the
       capabilities of the monitor).

       Modes  can  be  deleted with the XF86VidModeDeleteModeLine
       function.  The specified mode must match an existing mode.
       To  be  considered a match, all of the fields of the given
       XF86VidModeModeInfo structure must match, except the priv-
       size and private fields.  If the mode to be deleted is the
       current mode, a mode switch to the next  mode  will  occur
       first.  The last remaining mode can not be deleted.

       The validity of a mode can be checked with the XF86VidMod-
       eValidateModeLine function.  If the specified mode can  be
       used  by the server (i.e. meets all the constraints placed
       upon a mode by the combination of the  server,  card,  and
       monitor)   the  function  returns  MODE_OK,  otherwise  it
       returns a value indicating the  reason  why  the  mode  is
       invalid (as defined in xf86.h)

   MODE SWITCH FUNCTIONS
       When  the  function  XF86VidModeSwitchMode  is called, the
       server will change the video mode to  next  (or  previous)
       video  mode.  The  XF86VidModeSwitchToMode function can be
       used to switch directly to the specified  mode.   Matching
       is  as  specified  in  the  description of the XF86VidMod-
       eDeleteModeLine function above.   The  XF86VidModeLockMod-
       eSwitch  function  can  be  used to allow or disallow mode
       switching whether the request to switch modes comes from a
       call  to the XF86VidModeSwitchMode or XF86VidModeSwitchTo-
       Mode  functions  or  from  one  of  the  mode  switch  key
       sequences.

   MONITOR FUNCTIONS
       Information  known  to  the  server  about  the monitor is
       returned by the XF86VidModeGetMonitor function.  The hsync
       and vsync fields each point to an array of XF86VidModeSyn-
       cRange structures.  The arrays contain nhsync  and  nvsync
       elements,  respectively.   The  hi  and low values will be
       equal if a discreate value was  given  in  the  XF86Config
       file.

       The vendor, model, hsync, and vsync fields point to dynam-
       ically allocated storage  that  should  be  freed  by  the
       caller.

   VIEWPORT FUNCTIONS
       The   XF86VidModeGetViewPort   and  XF86VidModeSetViewPort
       functions can be used to, respectively, query  and  change
       the location of the upper left corner of the viewport into
       the virtual screen.

   OTHER FUNCTIONS
       The XF86VidModeQueryVersion function can be used to deter-
       mine the version of the extension built into the server.

       The  function XF86VidModeQueryExtension returns the lowest
       numbered error and event values assigned to the extension.

SEE ALSO
       XFree86(1) XF86Config(4/5) xvidtune(1) 

AUTHORS
       Kaleb Keithley, Jon Tombs, David Dawes, and Joe Moss

XF86VidModeQueryExtension Home Page Subroutines Index XF86VidModeSwitchMode