Xutil.h
资源名称:X264CODEC.rar [点击查看]
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:21k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /* $Xorg: Xutil.h,v 1.8 2001/02/09 02:03:39 xorgcvs Exp $ */
- /***********************************************************
- Copyright 1987, 1998 The Open Group
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
- 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 THE
- OPEN GROUP 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 The Open Group shall not be
- used in advertising or otherwise to promote the sale, use or other dealings
- in this Software without prior written authorization from The Open Group.
- Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
- All Rights Reserved
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the name of Digital not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
- ******************************************************************/
- /* $XFree86: xc/lib/X11/Xutil.h,v 3.6 2003/04/13 19:22:20 dawes Exp $ */
- #ifndef _XUTIL_H_
- #define _XUTIL_H_
- /* You must include <X11/Xlib.h> before including this file */
- #include <X11/Xlib.h>
- #include <X11/keysym.h>
- /*
- * Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
- * value (x, y, width, height) was found in the parsed string.
- */
- #define NoValue 0x0000
- #define XValue 0x0001
- #define YValue 0x0002
- #define WidthValue 0x0004
- #define HeightValue 0x0008
- #define AllValues 0x000F
- #define XNegative 0x0010
- #define YNegative 0x0020
- /*
- * new version containing base_width, base_height, and win_gravity fields;
- * used with WM_NORMAL_HINTS.
- */
- typedef struct {
- long flags; /* marks which fields in this structure are defined */
- int x, y; /* obsolete for new window mgrs, but clients */
- int width, height; /* should set so old wm's don't mess up */
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
- struct {
- int x; /* numerator */
- int y; /* denominator */
- } min_aspect, max_aspect;
- int base_width, base_height; /* added by ICCCM version 1 */
- int win_gravity; /* added by ICCCM version 1 */
- } XSizeHints;
- /*
- * The next block of definitions are for window manager properties that
- * clients and applications use for communication.
- */
- /* flags argument in size hints */
- #define USPosition (1L << 0) /* user specified x, y */
- #define USSize (1L << 1) /* user specified width, height */
- #define PPosition (1L << 2) /* program specified position */
- #define PSize (1L << 3) /* program specified size */
- #define PMinSize (1L << 4) /* program specified minimum size */
- #define PMaxSize (1L << 5) /* program specified maximum size */
- #define PResizeInc (1L << 6) /* program specified resize increments */
- #define PAspect (1L << 7) /* program specified min and max aspect ratios */
- #define PBaseSize (1L << 8) /* program specified base for incrementing */
- #define PWinGravity (1L << 9) /* program specified window gravity */
- /* obsolete */
- #define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
- typedef struct {
- long flags; /* marks which fields in this structure are defined */
- Bool input; /* does this application rely on the window manager to
- get keyboard input? */
- int initial_state; /* see below */
- Pixmap icon_pixmap; /* pixmap to be used as icon */
- Window icon_window; /* window to be used as icon */
- int icon_x, icon_y; /* initial position of icon */
- Pixmap icon_mask; /* icon mask bitmap */
- XID window_group; /* id of related window group */
- /* this structure may be extended in the future */
- } XWMHints;
- /* definition for flags of XWMHints */
- #define InputHint (1L << 0)
- #define StateHint (1L << 1)
- #define IconPixmapHint (1L << 2)
- #define IconWindowHint (1L << 3)
- #define IconPositionHint (1L << 4)
- #define IconMaskHint (1L << 5)
- #define WindowGroupHint (1L << 6)
- #define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint|
- IconPositionHint|IconMaskHint|WindowGroupHint)
- #define XUrgencyHint (1L << 8)
- /* definitions for initial window state */
- #define WithdrawnState 0 /* for windows that are not mapped */
- #define NormalState 1 /* most applications want to start this way */
- #define IconicState 3 /* application wants to start as an icon */
- /*
- * Obsolete states no longer defined by ICCCM
- */
- #define DontCareState 0 /* don't know or care */
- #define ZoomState 2 /* application wants to start zoomed */
- #define InactiveState 4 /* application believes it is seldom used; */
- /* some wm's may put it on inactive menu */
- /*
- * new structure for manipulating TEXT properties; used with WM_NAME,
- * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
- */
- typedef struct {
- unsigned char *value; /* same as Property routines */
- Atom encoding; /* prop type */
- int format; /* prop data format: 8, 16, or 32 */
- unsigned long nitems; /* number of data items in value */
- } XTextProperty;
- #define XNoMemory -1
- #define XLocaleNotSupported -2
- #define XConverterNotFound -3
- typedef enum {
- XStringStyle, /* STRING */
- XCompoundTextStyle, /* COMPOUND_TEXT */
- XTextStyle, /* text in owner's encoding (current locale)*/
- XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
- /* The following is an XFree86 extension, introduced in November 2000 */
- XUTF8StringStyle /* UTF8_STRING */
- } XICCEncodingStyle;
- typedef struct {
- int min_width, min_height;
- int max_width, max_height;
- int width_inc, height_inc;
- } XIconSize;
- typedef struct {
- char *res_name;
- char *res_class;
- } XClassHint;
- #ifdef XUTIL_DEFINE_FUNCTIONS
- extern int XDestroyImage(
- XImage *ximage);
- extern unsigned long XGetPixel(
- XImage *ximage,
- int x, int y);
- extern int XPutPixel(
- XImage *ximage,
- int x, int y,
- unsigned long pixel);
- extern XImage *XSubImage(
- XImage *ximage,
- int x, int y,
- unsigned int width, unsigned int height);
- extern int XAddPixel(
- XImage *ximage,
- long value);
- #else
- /*
- * These macros are used to give some sugar to the image routines so that
- * naive people are more comfortable with them.
- */
- #define XDestroyImage(ximage)
- ((*((ximage)->f.destroy_image))((ximage)))
- #define XGetPixel(ximage, x, y)
- ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
- #define XPutPixel(ximage, x, y, pixel)
- ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
- #define XSubImage(ximage, x, y, width, height)
- ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
- #define XAddPixel(ximage, value)
- ((*((ximage)->f.add_pixel))((ximage), (value)))
- #endif
- /*
- * Compose sequence status structure, used in calling XLookupString.
- */
- typedef struct _XComposeStatus {
- XPointer compose_ptr; /* state table pointer */
- int chars_matched; /* match state */
- } XComposeStatus;
- /*
- * Keysym macros, used on Keysyms to test for classes of symbols
- */
- #define IsKeypadKey(keysym)
- (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
- #define IsPrivateKeypadKey(keysym)
- (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
- #define IsCursorKey(keysym)
- (((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
- #define IsPFKey(keysym)
- (((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
- #define IsFunctionKey(keysym)
- (((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
- #define IsMiscFunctionKey(keysym)
- (((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
- #ifdef XK_XKB_KEYS
- #define IsModifierKey(keysym)
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R))
- || (((KeySym)(keysym) >= XK_ISO_Lock) &&
- ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock))
- || ((KeySym)(keysym) == XK_Mode_switch)
- || ((KeySym)(keysym) == XK_Num_Lock))
- #else
- #define IsModifierKey(keysym)
- ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R))
- || ((KeySym)(keysym) == XK_Mode_switch)
- || ((KeySym)(keysym) == XK_Num_Lock))
- #endif
- /*
- * opaque reference to Region data type
- */
- typedef struct _XRegion *Region;
- /* Return values from XRectInRegion() */
- #define RectangleOut 0
- #define RectangleIn 1
- #define RectanglePart 2
- /*
- * Information used by the visual utility routines to find desired visual
- * type from the many visuals a display may support.
- */
- typedef struct {
- Visual *visual;
- VisualID visualid;
- int screen;
- int depth;
- #if defined(__cplusplus) || defined(c_plusplus)
- int c_class; /* C++ */
- #else
- int class;
- #endif
- unsigned long red_mask;
- unsigned long green_mask;
- unsigned long blue_mask;
- int colormap_size;
- int bits_per_rgb;
- } XVisualInfo;
- #define VisualNoMask 0x0
- #define VisualIDMask 0x1
- #define VisualScreenMask 0x2
- #define VisualDepthMask 0x4
- #define VisualClassMask 0x8
- #define VisualRedMaskMask 0x10
- #define VisualGreenMaskMask 0x20
- #define VisualBlueMaskMask 0x40
- #define VisualColormapSizeMask 0x80
- #define VisualBitsPerRGBMask 0x100
- #define VisualAllMask 0x1FF
- /*
- * This defines a window manager property that clients may use to
- * share standard color maps of type RGB_COLOR_MAP:
- */
- typedef struct {
- Colormap colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
- VisualID visualid; /* added by ICCCM version 1 */
- XID killid; /* added by ICCCM version 1 */
- } XStandardColormap;
- #define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
- /*
- * return codes for XReadBitmapFile and XWriteBitmapFile
- */
- #define BitmapSuccess 0
- #define BitmapOpenFailed 1
- #define BitmapFileInvalid 2
- #define BitmapNoMemory 3
- /****************************************************************
- *
- * Context Management
- *
- ****************************************************************/
- /* Associative lookup table return codes */
- #define XCSUCCESS 0 /* No error. */
- #define XCNOMEM 1 /* Out of memory */
- #define XCNOENT 2 /* No entry in table */
- typedef int XContext;
- #define XUniqueContext() ((XContext) XrmUniqueQuark())
- #define XStringToContext(string) ((XContext) XrmStringToQuark(string))
- _XFUNCPROTOBEGIN
- /* The following declarations are alphabetized. */
- extern XClassHint *XAllocClassHint (
- void
- );
- extern XIconSize *XAllocIconSize (
- void
- );
- extern XSizeHints *XAllocSizeHints (
- void
- );
- extern XStandardColormap *XAllocStandardColormap (
- void
- );
- extern XWMHints *XAllocWMHints (
- void
- );
- extern int XClipBox(
- Region /* r */,
- XRectangle* /* rect_return */
- );
- extern Region XCreateRegion(
- void
- );
- extern const char *XDefaultString (void);
- extern int XDeleteContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */
- );
- extern int XDestroyRegion(
- Region /* r */
- );
- extern int XEmptyRegion(
- Region /* r */
- );
- extern int XEqualRegion(
- Region /* r1 */,
- Region /* r2 */
- );
- extern int XFindContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- XPointer* /* data_return */
- );
- extern Status XGetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints_return */
- );
- extern Status XGetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize** /* size_list_return */,
- int* /* count_return */
- );
- extern Status XGetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */
- );
- extern Status XGetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap** /* stdcmap_return */,
- int* /* count_return */,
- Atom /* property */
- );
- extern Status XGetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- Atom /* property */
- );
- extern Status XGetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap_return */,
- Atom /* property */
- );
- extern Status XGetTextProperty(
- Display* /* display */,
- Window /* window */,
- XTextProperty* /* text_prop_return */,
- Atom /* property */
- );
- extern XVisualInfo *XGetVisualInfo(
- Display* /* display */,
- long /* vinfo_mask */,
- XVisualInfo* /* vinfo_template */,
- int* /* nitems_return */
- );
- extern Status XGetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
- );
- extern XWMHints *XGetWMHints(
- Display* /* display */,
- Window /* w */
- );
- extern Status XGetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
- );
- extern Status XGetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop_return */
- );
- extern Status XGetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */
- );
- extern Status XGetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints_return */,
- long* /* supplied_return */,
- Atom /* property */
- );
- extern Status XGetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints_return */
- );
- extern int XIntersectRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
- );
- extern void XConvertCase(
- KeySym /* sym */,
- KeySym* /* lower */,
- KeySym* /* upper */
- );
- extern int XLookupString(
- XKeyEvent* /* event_struct */,
- char* /* buffer_return */,
- int /* bytes_buffer */,
- KeySym* /* keysym_return */,
- XComposeStatus* /* status_in_out */
- );
- extern Status XMatchVisualInfo(
- Display* /* display */,
- int /* screen */,
- int /* depth */,
- int /* class */,
- XVisualInfo* /* vinfo_return */
- );
- extern int XOffsetRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
- );
- extern Bool XPointInRegion(
- Region /* r */,
- int /* x */,
- int /* y */
- );
- extern Region XPolygonRegion(
- XPoint* /* points */,
- int /* n */,
- int /* fill_rule */
- );
- extern int XRectInRegion(
- Region /* r */,
- int /* x */,
- int /* y */,
- unsigned int /* width */,
- unsigned int /* height */
- );
- extern int XSaveContext(
- Display* /* display */,
- XID /* rid */,
- XContext /* context */,
- _Xconst char* /* data */
- );
- extern int XSetClassHint(
- Display* /* display */,
- Window /* w */,
- XClassHint* /* class_hints */
- );
- extern int XSetIconSizes(
- Display* /* display */,
- Window /* w */,
- XIconSize* /* size_list */,
- int /* count */
- );
- extern int XSetNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
- );
- extern void XSetRGBColormaps(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* stdcmaps */,
- int /* count */,
- Atom /* property */
- );
- extern int XSetSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
- );
- extern int XSetStandardProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- Pixmap /* icon_pixmap */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* hints */
- );
- extern void XSetTextProperty(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */,
- Atom /* property */
- );
- extern void XSetWMClientMachine(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
- );
- extern int XSetWMHints(
- Display* /* display */,
- Window /* w */,
- XWMHints* /* wm_hints */
- );
- extern void XSetWMIconName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
- );
- extern void XSetWMName(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* text_prop */
- );
- extern void XSetWMNormalHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */
- );
- extern void XSetWMProperties(
- Display* /* display */,
- Window /* w */,
- XTextProperty* /* window_name */,
- XTextProperty* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
- );
- extern void XmbSetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
- );
- extern void Xutf8SetWMProperties(
- Display* /* display */,
- Window /* w */,
- _Xconst char* /* window_name */,
- _Xconst char* /* icon_name */,
- char** /* argv */,
- int /* argc */,
- XSizeHints* /* normal_hints */,
- XWMHints* /* wm_hints */,
- XClassHint* /* class_hints */
- );
- extern void XSetWMSizeHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* hints */,
- Atom /* property */
- );
- extern int XSetRegion(
- Display* /* display */,
- GC /* gc */,
- Region /* r */
- );
- extern void XSetStandardColormap(
- Display* /* display */,
- Window /* w */,
- XStandardColormap* /* colormap */,
- Atom /* property */
- );
- extern int XSetZoomHints(
- Display* /* display */,
- Window /* w */,
- XSizeHints* /* zhints */
- );
- extern int XShrinkRegion(
- Region /* r */,
- int /* dx */,
- int /* dy */
- );
- extern Status XStringListToTextProperty(
- char** /* list */,
- int /* count */,
- XTextProperty* /* text_prop_return */
- );
- extern int XSubtractRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
- );
- extern int XmbTextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
- );
- extern int XwcTextListToTextProperty(
- Display* display,
- wchar_t** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
- );
- extern int Xutf8TextListToTextProperty(
- Display* display,
- char** list,
- int count,
- XICCEncodingStyle style,
- XTextProperty* text_prop_return
- );
- extern void XwcFreeStringList(
- wchar_t** list
- );
- extern Status XTextPropertyToStringList(
- XTextProperty* /* text_prop */,
- char*** /* list_return */,
- int* /* count_return */
- );
- extern int XmbTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
- );
- extern int XwcTextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- wchar_t*** list_return,
- int* count_return
- );
- extern int Xutf8TextPropertyToTextList(
- Display* display,
- const XTextProperty* text_prop,
- char*** list_return,
- int* count_return
- );
- extern int XUnionRectWithRegion(
- XRectangle* /* rectangle */,
- Region /* src_region */,
- Region /* dest_region_return */
- );
- extern int XUnionRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
- );
- extern int XWMGeometry(
- Display* /* display */,
- int /* screen_number */,
- _Xconst char* /* user_geometry */,
- _Xconst char* /* default_geometry */,
- unsigned int /* border_width */,
- XSizeHints* /* hints */,
- int* /* x_return */,
- int* /* y_return */,
- int* /* width_return */,
- int* /* height_return */,
- int* /* gravity_return */
- );
- extern int XXorRegion(
- Region /* sra */,
- Region /* srb */,
- Region /* dr_return */
- );
- _XFUNCPROTOEND
- #endif /* _XUTIL_H_ */