nfbScrnPriv(D4nfb)
nfbScrnPriv --
no frame buffer screen private structure
Synopsis
#include "nfbScrStr.h"
Description
One instance of the nfbScrnPriv structure
is maintained for each screen of type nfbScrnPriv.
This structure manages routines that handle
colormap operations, font cache control,
screen blanking and closing, and root window property hooks.
If the driver uses
nfbScreenInit(D3nfb),
the nfbScrnPriv structure does not need to be modified
except for the function pointers.
Structure definition
The following members can be accessed
by an NFB driver:
typedef struct _nfbScrnPriv {
PixmapRec pixmap;
unsigned int numLayers;
struct _Region *layerRegions;
unsigned int *DIDLayers;
unsigned long baseVID;
void (* ValidateVisual)();
struct _ColormapRec *installedCmap;
struct _nfbGCPriv *protoGCPriv;
void (* SetColor)();
void (* LoadColormap)();
unsigned long fontID;
void (* ClearFont)();
void (* InitRootWindow) ();
Bool (* BlankScreen)();
void (* ValidateWindowPriv)();
unsigned int clip_count;
NfbScrFontData *font;
int font_private_index;
unsigned long nfb_version;
unsigned long nfb_options;
void (* SaveGState)();
void (* RestoreGState)();
} nfbScrnPriv, *nfbScrnPrivPtr;
Structure members
The members are:
pixmap
-
used for internal debugging of nfb
numLayers
-
used in implementing X server overlays.
Untested.
*layerRegions
-
used in implementing X server overlays.
Untested.
*DIDLayers
-
used in implementing X server overlays.
Untested.
baseVID
-
number of the default Visual ID.
It is initialized by
nfbScreenInit(D3nfb).
*visualPrivs
-
(* ValidateVisual)()
-
routine that validates the current visual.
Used by hardware that can support multiple visuals and colormaps.
It is not used by
nfbScreenInit(D3nfb).
*protoGCPriv
-
pointer to the prototype GC private
to be used by
ValidateGC.
This is initialized by
nfbScreenInit(D3nfb).
(* SetColor)()
-
pointer and prototype for driver's
SetColor(D3nfb)
routine.
This must be initialized in the driver's xxxInit routine.
(* LoadColormap)()
-
pointer and prototype for driver's
genLoadColormap.D3nfb( )
routine
used to quickly load an entire colormap out to the video adapter.
The screen pointer can be found in the
Colormap structure that is defined in
Xserver/include/colormapst.h.
A sample using
SetColor( )
is in genCmap.c.
fontID
-
nfb's private count of the number font
loaded by the server.
(* ClearFont)()
-
used by display drivers that cache glyphs with
DrawMonoGlyphs(D3nfb).
ClearFont
is called when a font is unrealized (freed)
from the server.
If the display driver is caching glyphs
in the adapter's memory,
the glyphs that belong to the given
fontid
can be cleared from the cache.
(* InitRootWindow) ()
-
called when the root window is initialized.
It can be used to hang X properties
off the root window.
Its use is currently unsupported.
(* BlankScreen)()
-
pointer and prototype for driver's
BlankScreen(D3nfb)
routine.
(* ValidateWindowPriv)()
-
pointer and prototype for driver's
ValidateWindowPriv(D3nfb)
routine.
clip_count
-
number of clip regions supported by the hardware.
The default is zero.
*font
-
pointer to the
nfbScrFontData
structure that is initialized by the call made to the
nfbInitializeText8
routine (in nfbProcs.h).
font_private_index
-
used by the nfb layer for all access
to font privates in X11R5
nfb_version
-
this driver's version number
nfb_options
-
option bits associated with this driver.
See nfbDefs.h.
(* SaveGState)()
-
saves the current state of the graphics adapter, if necessary.
Any information that may be lost
during screen switching should be saved for
RestoreGState.
The graphics memory itself may not need to be saved.
See
exposeScreen
in
scoScreenInfo(D4nfb)
(* RestoreGState)()
-
restores the state of the graphics adapter
from the information saved by
SaveGState.
Version applicability
This structure is supported for NFB drivers
on all releases of SCO OpenServer 5, SVR5, and AIX 5L.
References
BlankScreen(D3nfb),
DrawMonoGlyphs(D3nfb),
nfbScreenInit(D3nfb),
scoScreenInfo(D4nfb),
ValidateWindowPriv(D3nfb)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005