|
Carlos Lopez |
a09598 |
/*
|
|
Carlos Lopez |
a09598 |
* Common internal rootless definitions and code
|
|
Carlos Lopez |
a09598 |
*
|
|
Carlos Lopez |
a09598 |
* Greg Parker gparker@cs.stanford.edu
|
|
Carlos Lopez |
a09598 |
*/
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Permission is hereby granted, free of charge, to any person
|
|
Carlos Lopez |
a09598 |
obtaining a copy of this software and associated documentation files
|
|
Carlos Lopez |
a09598 |
(the "Software"), to deal in the Software without restriction,
|
|
Carlos Lopez |
a09598 |
including without limitation the rights to use, copy, modify, merge,
|
|
Carlos Lopez |
a09598 |
publish, distribute, sublicense, and/or sell copies of the Software,
|
|
Carlos Lopez |
a09598 |
and to permit persons to whom the Software is furnished to do so,
|
|
Carlos Lopez |
a09598 |
subject to the following conditions:
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
The above copyright notice and this permission notice shall be
|
|
Carlos Lopez |
a09598 |
included in all copies or substantial portions of the Software.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
Carlos Lopez |
a09598 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
Carlos Lopez |
a09598 |
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
Carlos Lopez |
a09598 |
NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
|
|
Carlos Lopez |
a09598 |
HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
Carlos Lopez |
a09598 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
Carlos Lopez |
a09598 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
Carlos Lopez |
a09598 |
DEALINGS IN THE SOFTWARE.
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
Except as contained in this notice, the name(s) of the above
|
|
Carlos Lopez |
a09598 |
copyright holders shall not be used in advertising or otherwise to
|
|
Carlos Lopez |
a09598 |
promote the sale, use or other dealings in this Software without
|
|
Carlos Lopez |
a09598 |
prior written authorization. */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/rootlessCommon.h,v 1.6 2002/07/24 05:58:33 torrey Exp $ */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifndef _ROOTLESSCOMMON_H
|
|
Carlos Lopez |
a09598 |
#define _ROOTLESSCOMMON_H
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#include "rootless.h"
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#include "pixmapstr.h"
|
|
Carlos Lopez |
a09598 |
#include "windowstr.h"
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifdef RENDER
|
|
Carlos Lopez |
a09598 |
#include "picturestr.h"
|
|
Carlos Lopez |
a09598 |
#endif
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Debug output, or not. */
|
|
Carlos Lopez |
a09598 |
#ifdef ROOTLESSDEBUG
|
|
Carlos Lopez |
a09598 |
#define RL_DEBUG_MSG ErrorF
|
|
Carlos Lopez |
a09598 |
#else
|
|
Carlos Lopez |
a09598 |
#define RL_DEBUG_MSG(a, ...)
|
|
Carlos Lopez |
a09598 |
#endif
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#undef MIN
|
|
Carlos Lopez |
a09598 |
#define MIN(x,y) ((x) < (y) ? (x) : (y))
|
|
Carlos Lopez |
a09598 |
#undef MAX
|
|
Carlos Lopez |
a09598 |
#define MAX(x,y) ((x) > (y) ? (x) : (y))
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Global variables */
|
|
Carlos Lopez |
a09598 |
extern int rootlessGCPrivateIndex;
|
|
Carlos Lopez |
a09598 |
extern int rootlessScreenPrivateIndex;
|
|
Carlos Lopez |
a09598 |
extern int rootlessWindowPrivateIndex;
|
|
Carlos Lopez |
a09598 |
extern int rootlessNoDRIDrawing;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* RootlessGCRec: private per-gc data */
|
|
Carlos Lopez |
a09598 |
typedef struct {
|
|
Carlos Lopez |
a09598 |
GCFuncs *originalFuncs;
|
|
Carlos Lopez |
a09598 |
GCOps *originalOps;
|
|
Carlos Lopez |
a09598 |
} RootlessGCRec;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* RootlessWindowRec: private per-window data */
|
|
Carlos Lopez |
a09598 |
typedef struct RootlessWindowRec {
|
|
Carlos Lopez |
a09598 |
int x, y;
|
|
Carlos Lopez |
a09598 |
unsigned int width, height;
|
|
Carlos Lopez |
a09598 |
unsigned int borderWidth;
|
|
Carlos Lopez |
a09598 |
int level;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
xp_window_id wid;
|
|
Carlos Lopez |
a09598 |
WindowPtr win;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Valid when locked (i.e. is_drawing is set) */
|
|
Carlos Lopez |
a09598 |
void *data;
|
|
Carlos Lopez |
a09598 |
unsigned int rowbytes;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
PixmapPtr pixmap;
|
|
Carlos Lopez |
a09598 |
PixmapPtr oldPixmap;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
unsigned long unrealize_time; /* in seconds */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
unsigned int is_drawing :1;
|
|
Carlos Lopez |
a09598 |
unsigned int is_update_disabled :1;
|
|
Carlos Lopez |
a09598 |
unsigned int is_reorder_pending :1;
|
|
Carlos Lopez |
a09598 |
unsigned int is_offscreen :1;
|
|
Carlos Lopez |
a09598 |
unsigned int is_obscured :1;
|
|
Carlos Lopez |
a09598 |
} RootlessWindowRec;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* RootlessScreenRec: per-screen private data */
|
|
Carlos Lopez |
a09598 |
typedef struct {
|
|
Carlos Lopez |
a09598 |
ScreenPtr pScreen;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
CreateScreenResourcesProcPtr CreateScreenResources;
|
|
Carlos Lopez |
a09598 |
CloseScreenProcPtr CloseScreen;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
CreateWindowProcPtr CreateWindow;
|
|
Carlos Lopez |
a09598 |
DestroyWindowProcPtr DestroyWindow;
|
|
Carlos Lopez |
a09598 |
RealizeWindowProcPtr RealizeWindow;
|
|
Carlos Lopez |
a09598 |
UnrealizeWindowProcPtr UnrealizeWindow;
|
|
Carlos Lopez |
a09598 |
ReparentWindowProcPtr ReparentWindow;
|
|
Carlos Lopez |
a09598 |
MoveWindowProcPtr MoveWindow;
|
|
Carlos Lopez |
a09598 |
ResizeWindowProcPtr ResizeWindow;
|
|
Carlos Lopez |
a09598 |
RestackWindowProcPtr RestackWindow;
|
|
Carlos Lopez |
a09598 |
ChangeBorderWidthProcPtr ChangeBorderWidth;
|
|
Carlos Lopez |
a09598 |
PositionWindowProcPtr PositionWindow;
|
|
Carlos Lopez |
a09598 |
ChangeWindowAttributesProcPtr ChangeWindowAttributes;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
CreateGCProcPtr CreateGC;
|
|
Carlos Lopez |
a09598 |
PaintWindowBackgroundProcPtr PaintWindowBackground;
|
|
Carlos Lopez |
a09598 |
PaintWindowBorderProcPtr PaintWindowBorder;
|
|
Carlos Lopez |
a09598 |
CopyWindowProcPtr CopyWindow;
|
|
Carlos Lopez |
a09598 |
GetImageProcPtr GetImage;
|
|
Carlos Lopez |
a09598 |
SourceValidateProcPtr SourceValidate;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
|
|
Carlos Lopez |
a09598 |
ValidateTreeProcPtr ValidateTree;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifdef SHAPE
|
|
Carlos Lopez |
a09598 |
SetShapeProcPtr SetShape;
|
|
Carlos Lopez |
a09598 |
#endif
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifdef RENDER
|
|
Carlos Lopez |
a09598 |
CompositeProcPtr Composite;
|
|
Carlos Lopez |
a09598 |
GlyphsProcPtr Glyphs;
|
|
Carlos Lopez |
a09598 |
#endif
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
InstallColormapProcPtr InstallColormap;
|
|
Carlos Lopez |
a09598 |
UninstallColormapProcPtr UninstallColormap;
|
|
Carlos Lopez |
a09598 |
StoreColorsProcPtr StoreColors;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
void *pixmap_data;
|
|
Carlos Lopez |
a09598 |
unsigned int pixmap_data_size;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
ColormapPtr colormap;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
void *redisplay_timer;
|
|
Carlos Lopez |
a09598 |
CARD32 last_redisplay;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
unsigned int redisplay_timer_set :1;
|
|
Carlos Lopez |
a09598 |
unsigned int redisplay_queued :1;
|
|
Carlos Lopez |
a09598 |
unsigned int redisplay_expired :1;
|
|
Carlos Lopez |
a09598 |
unsigned int colormap_changed :1;
|
|
Carlos Lopez |
a09598 |
} RootlessScreenRec;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* "Definition of the Porting Layer for the X11 Sample Server" says
|
|
Carlos Lopez |
a09598 |
unwrap and rewrap of screen functions is unnecessary, but
|
|
Carlos Lopez |
a09598 |
screen->CreateGC changes after a call to cfbCreateGC. */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define SCREEN_UNWRAP(screen, fn) \
|
|
Carlos Lopez |
a09598 |
screen->fn = SCREENREC(screen)->fn;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define SCREEN_WRAP(screen, fn) \
|
|
Carlos Lopez |
a09598 |
SCREENREC(screen)->fn = screen->fn; \
|
|
Carlos Lopez |
a09598 |
screen->fn = Rootless##fn
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Accessors for screen and window privates */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define SCREENREC(pScreen) \
|
|
Carlos Lopez |
a09598 |
((RootlessScreenRec*)(pScreen)->devPrivates[rootlessScreenPrivateIndex].ptr)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define WINREC(pWin) \
|
|
Carlos Lopez |
a09598 |
((RootlessWindowRec *)(pWin)->devPrivates[rootlessWindowPrivateIndex].ptr)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* BoxRec manipulators (Copied from shadowfb) */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define TRIM_BOX(box, pGC) { \
|
|
Carlos Lopez |
a09598 |
BoxPtr extents = &pGC->pCompositeClip->extents;\
|
|
Carlos Lopez |
a09598 |
if(box.x1 < extents->x1) box.x1 = extents->x1; \
|
|
Carlos Lopez |
a09598 |
if(box.x2 > extents->x2) box.x2 = extents->x2; \
|
|
Carlos Lopez |
a09598 |
if(box.y1 < extents->y1) box.y1 = extents->y1; \
|
|
Carlos Lopez |
a09598 |
if(box.y2 > extents->y2) box.y2 = extents->y2; \
|
|
Carlos Lopez |
a09598 |
}
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define TRANSLATE_BOX(box, pDraw) { \
|
|
Carlos Lopez |
a09598 |
box.x1 += pDraw->x; \
|
|
Carlos Lopez |
a09598 |
box.x2 += pDraw->x; \
|
|
Carlos Lopez |
a09598 |
box.y1 += pDraw->y; \
|
|
Carlos Lopez |
a09598 |
box.y2 += pDraw->y; \
|
|
Carlos Lopez |
a09598 |
}
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define TRIM_AND_TRANSLATE_BOX(box, pDraw, pGC) { \
|
|
Carlos Lopez |
a09598 |
TRANSLATE_BOX(box, pDraw); \
|
|
Carlos Lopez |
a09598 |
TRIM_BOX(box, pGC); \
|
|
Carlos Lopez |
a09598 |
}
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define BOX_NOT_EMPTY(box) \
|
|
Carlos Lopez |
a09598 |
(((box.x2 - box.x1) > 0) && ((box.y2 - box.y1) > 0))
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* We don't want to clip windows to the edge of the screen. HUGE_ROOT
|
|
Carlos Lopez |
a09598 |
temporarily makes the root window really big. This is needed as a
|
|
Carlos Lopez |
a09598 |
wrapper around any function that calls SetWinSize or SetBorderSize
|
|
Carlos Lopez |
a09598 |
which clip a window against its parents, including the root. */
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
extern RegionRec rootlessHugeRoot;
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define HUGE_ROOT(pWin) \
|
|
Carlos Lopez |
a09598 |
do { \
|
|
Carlos Lopez |
a09598 |
WindowPtr w = pWin; \
|
|
Carlos Lopez |
a09598 |
while (w->parent != NULL) \
|
|
Carlos Lopez |
a09598 |
w = w->parent; \
|
|
Carlos Lopez |
a09598 |
saveRoot = w->winSize; \
|
|
Carlos Lopez |
a09598 |
w->winSize = rootlessHugeRoot; \
|
|
Carlos Lopez |
a09598 |
} while (0)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#define NORMAL_ROOT(pWin) \
|
|
Carlos Lopez |
a09598 |
do { \
|
|
Carlos Lopez |
a09598 |
WindowPtr w = pWin; \
|
|
Carlos Lopez |
a09598 |
while (w->parent != NULL) \
|
|
Carlos Lopez |
a09598 |
w = w->parent; \
|
|
Carlos Lopez |
a09598 |
w->winSize = saveRoot; \
|
|
Carlos Lopez |
a09598 |
} while (0)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Returns TRUE if this window is a top-level window (i.e. child of the root)
|
|
Carlos Lopez |
a09598 |
The root is not a top-level window. */
|
|
Carlos Lopez |
a09598 |
#define IsTopLevel(pWin) \
|
|
Carlos Lopez |
a09598 |
((pWin) != NULL && (pWin)->parent != NULL && (pWin)->parent->parent == NULL)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Returns TRUE if this window is a root window */
|
|
Carlos Lopez |
a09598 |
#define IsRoot(pWin) \
|
|
Carlos Lopez |
a09598 |
((pWin) == WindowTable[(pWin)->drawable.pScreen->myNum])
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Returns the top-level parent of pWindow.
|
|
Carlos Lopez |
a09598 |
The root is the top-level parent of itself, even though the root is
|
|
Carlos Lopez |
a09598 |
not otherwise considered to be a top-level window. */
|
|
Carlos Lopez |
a09598 |
extern WindowPtr TopLevelParent (WindowPtr pWindow);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Returns TRUE if this window is visible inside a frame (e.g. it is
|
|
Carlos Lopez |
a09598 |
visible and has a top-level or root parent) */
|
|
Carlos Lopez |
a09598 |
extern Bool IsFramedWindow (WindowPtr pWin);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Adjust base address of pixmap by DX,DY */
|
|
Carlos Lopez |
a09598 |
extern void TranslatePixmapBase (PixmapPtr pPix, int dx, int dy);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Prepare a window for direct access to its backing buffer. */
|
|
Carlos Lopez |
a09598 |
extern void RootlessStartDrawing (WindowPtr pWindow);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Mark that no more drawing operations will hit the window until ``start
|
|
Carlos Lopez |
a09598 |
drawing'' is issued again. */
|
|
Carlos Lopez |
a09598 |
extern void RootlessFinishedDrawing (WindowPtr pWindow);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Finish drawing to a window's backing buffer. */
|
|
Carlos Lopez |
a09598 |
extern void RootlessStopDrawing (WindowPtr pWindow, Bool flush);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Routines that cause regions to get redrawn.
|
|
Carlos Lopez |
a09598 |
DamageRegion and DamageRect are in global coordinates.
|
|
Carlos Lopez |
a09598 |
DamageBox is in window-local coordinates. */
|
|
Carlos Lopez |
a09598 |
extern void RootlessDamageRegion (WindowPtr pWindow, RegionPtr pRegion);
|
|
Carlos Lopez |
a09598 |
extern void RootlessDamageRect (WindowPtr pWindow, int x, int y, int w, int h);
|
|
Carlos Lopez |
a09598 |
extern void RootlessDamageBox (WindowPtr pWindow, BoxPtr pBox);
|
|
Carlos Lopez |
a09598 |
extern void RootlessRedisplay (WindowPtr pWindow);
|
|
Carlos Lopez |
a09598 |
extern void RootlessRedisplayScreen (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
extern void RootlessQueueRedisplay (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
extern Bool RootlessMayRedisplay (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
extern void RootlessScreenExpose (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Return the colormap currently installed on the given screen. */
|
|
Carlos Lopez |
a09598 |
extern ColormapPtr RootlessGetColormap (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Convert colormap to ARGB. */
|
|
Carlos Lopez |
a09598 |
extern Bool RootlessResolveColormap (ScreenPtr pScreen, int first_color,
|
|
Carlos Lopez |
a09598 |
int n_colors, uint32_t *colors);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
extern void RootlessFlushWindowColormap (WindowPtr pWin);
|
|
Carlos Lopez |
a09598 |
extern void RootlessFlushScreenColormaps (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Move windows back to their position relative to the screen origin. */
|
|
Carlos Lopez |
a09598 |
extern void RootlessRepositionWindow (WindowPtr pWin);
|
|
Carlos Lopez |
a09598 |
extern void RootlessRepositionWindows (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Move the window to it's correct place in the physical stacking order */
|
|
Carlos Lopez |
a09598 |
extern void RootlessReorderWindow (WindowPtr pWin);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
/* Bit mask for alpha channel with a particular number of bits per
|
|
Carlos Lopez |
a09598 |
pixel. Note that we only care for 32bpp data. OS X uses planar alpha
|
|
Carlos Lopez |
a09598 |
for 16bpp. */
|
|
Carlos Lopez |
a09598 |
#define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0)
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#ifdef RENDER
|
|
Carlos Lopez |
a09598 |
extern void RootlessComposite(CARD8 op, PicturePtr pSrc,
|
|
Carlos Lopez |
a09598 |
PicturePtr pMask, PicturePtr pDst,
|
|
Carlos Lopez |
a09598 |
INT16 xSrc, INT16 ySrc,
|
|
Carlos Lopez |
a09598 |
INT16 xMask, INT16 yMask,
|
|
Carlos Lopez |
a09598 |
INT16 xDst, INT16 yDst,
|
|
Carlos Lopez |
a09598 |
CARD16 width, CARD16 height);
|
|
Carlos Lopez |
a09598 |
#endif
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
extern void RootlessNativeWindowStateChanged (xp_window_id id,
|
|
Carlos Lopez |
a09598 |
unsigned int state);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
extern void RootlessEnableRoot (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
extern void RootlessDisableRoot (ScreenPtr pScreen);
|
|
Carlos Lopez |
a09598 |
extern void RootlessSetWindowLevel (WindowPtr pWin, int level);
|
|
Carlos Lopez |
a09598 |
|
|
Carlos Lopez |
a09598 |
#endif /* _ROOTLESSCOMMON_H */
|