Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

dmxpict.c File Reference

#include "dmx.h"
#include "dmxsync.h"
#include "dmxpict.h"
#include "dmxwindow.h"
#include "dmxpixmap.h"
#include "fb.h"
#include "pixmapstr.h"
#include "dixstruct.h"
#include "render.h"
#include "renderproto.h"
#include "picture.h"
#include "picturestr.h"
#include "mipict.h"
#include "fbpict.h"

Functions

void dmxInitRender (void)
void dmxResetRender (void)
Bool dmxPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
Bool dmxBEFreeGlyphSet (ScreenPtr pScreen, GlyphSetPtr glyphSet)
void dmxCreatePictureList (WindowPtr pWindow)
int dmxCreatePicture (PicturePtr pPicture)
Bool dmxBEFreePicture (PicturePtr pPicture)
Bool dmxDestroyPictureList (WindowPtr pWindow)
void dmxDestroyPicture (PicturePtr pPicture)
int dmxChangePictureClip (PicturePtr pPicture, int clipType, pointer value, int n)
void dmxDestroyPictureClip (PicturePtr pPicture)
void dmxChangePicture (PicturePtr pPicture, Mask mask)
void dmxValidatePicture (PicturePtr pPicture, Mask mask)
void dmxComposite (CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
void dmxGlyphs (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists, GlyphPtr *glyphs)
void dmxCompositeRects (CARD8 op, PicturePtr pDst, xRenderColor *color, int nRect, xRectangle *rects)
Bool dmxInitIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxCloseIndexed (ScreenPtr pScreen, PictFormatPtr pFormat)
void dmxUpdateIndexed (ScreenPtr pScreen, PictFormatPtr pFormat, int ndef, xColorItem *pdef)
void dmxTrapezoids (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid *traps)
void dmxTriangles (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntri, xTriangle *tris)
void dmxTriStrip (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)
void dmxTriFan (CARD8 op, PicturePtr pSrc, PicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int npoint, xPointFixed *points)

Detailed Description

Provide support for the RENDER extension (version 0.8).

Function Documentation

Bool dmxBEFreeGlyphSet ScreenPtr  pScreen,
GlyphSetPtr  glyphSet
 

Free glyphSet on back-end screen number idx.

Bool dmxBEFreePicture PicturePtr  pPicture  ) 
 

Destroy pPicture on the back-end server.

void dmxChangePicture PicturePtr  pPicture,
Mask  mask
 

Change the attributes of the pictures. If the picture has not yet been created due to lazy window creation, save the mask so that it can be used to appropriately initialize the picture's attributes when it is created later.

int dmxChangePictureClip PicturePtr  pPicture,
int  clipType,
pointer  value,
int  n
 

Change the picture's list of clip rectangles.

void dmxCloseIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat
 

Indexed color visuals are not yet supported.

void dmxComposite CARD8  op,
PicturePtr  pSrc,
PicturePtr  pMask,
PicturePtr  pDst,
INT16  xSrc,
INT16  ySrc,
INT16  xMask,
INT16  yMask,
INT16  xDst,
INT16  yDst,
CARD16  width,
CARD16  height
 

Composite a picture on the appropriate screen by combining the specified rectangle of the transformed src and mask operands with the specified rectangle of the dst using op as the compositing operator. For a complete description see the protocol document of the RENDER library.

void dmxCompositeRects CARD8  op,
PicturePtr  pDst,
xRenderColor *  color,
int  nRect,
xRectangle *  rects
 

Fill a rectangle on the appropriate screen by combining the color with the dest picture in the area specified by the list of rectangles. For a complete description see the protocol document of the RENDER library.

int dmxCreatePicture PicturePtr  pPicture  ) 
 

Create a picture. This function handles the CreatePicture unwrapping/wrapping and calls dmxDoCreatePicture to actually create the picture on the appropriate screen.

void dmxCreatePictureList WindowPtr  pWindow  ) 
 

Create a list of pictures. This function is called by dmxCreateAndRealizeWindow() during the lazy window creation realization process. It creates the entire list of pictures that are associated with the given window.

void dmxDestroyPicture PicturePtr  pPicture  ) 
 

Destroy a picture. This function calls the wrapped function that frees the resources in the DMX server associated with this picture.

void dmxDestroyPictureClip PicturePtr  pPicture  ) 
 

Destroy the picture's list of clip rectangles.

Bool dmxDestroyPictureList WindowPtr  pWindow  ) 
 

Destroy a list of pictures that are associated with the window that is being destroyed. This function is called by dmxDestroyWindow().

void dmxGlyphs CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  nlists,
GlyphListPtr  lists,
GlyphPtr *  glyphs
 

Null function to catch when/if RENDER calls lower level mi hooks. Compositing glyphs is handled by dmxProcRenderCompositeGlyphs(). This function should never be called.

Bool dmxInitIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat
 

Indexed color visuals are not yet supported.

void dmxInitRender void   ) 
 

Initialize the Proc Vector for the RENDER extension. The functions here cannot be handled by the mi layer RENDER hooks either because the required information is no longer available when it reaches the mi layer or no mi layer hooks exist. This function is called from InitOutput() since it should be initialized only once per server generation.

Bool dmxPictureInit ScreenPtr  pScreen,
PictFormatPtr  formats,
int  nformats
 

Initialize the RENDER extension, allocate the picture privates and wrap mi function hooks. If the shadow frame buffer is used, then call the appropriate fb initialization function.

void dmxResetRender void   ) 
 

Reset the Proc Vector for the RENDER extension back to the original functions. This function is called from dmxCloseScreen() during the server reset (only for screen #0).

void dmxTrapezoids CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  ntrap,
xTrapezoid *  traps
 

Composite a list of trapezoids on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriangles CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  ntri,
xTriangle *  tris
 

Composite a list of triangles on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriFan CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  npoint,
xPointFixed *  points
 

Composite a triangle fan on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxTriStrip CARD8  op,
PicturePtr  pSrc,
PicturePtr  pDst,
PictFormatPtr  maskFormat,
INT16  xSrc,
INT16  ySrc,
int  npoint,
xPointFixed *  points
 

Composite a triangle strip on the appropriate screen. For a complete description see the protocol document of the RENDER library.

void dmxUpdateIndexed ScreenPtr  pScreen,
PictFormatPtr  pFormat,
int  ndef,
xColorItem *  pdef
 

Indexed color visuals are not yet supported.

void dmxValidatePicture PicturePtr  pPicture,
Mask  mask
 

Validate the picture's attributes before rendering to it. Update any picture attributes that have been changed by one of the higher layers.


Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4.