18 #ifndef _MAGICKCORE_XWINDOW_PRIVATE_H
19 #define _MAGICKCORE_XWINDOW_PRIVATE_H
21 #if defined(__cplusplus) || defined(c_plusplus)
30 #if defined(MAGICKCORE_X11_DELEGATE)
34 #include <X11/Xatom.h>
35 #include <X11/cursorfont.h>
36 #include <X11/keysym.h>
37 #include <X11/Xresource.h>
38 #include <X11/Xutil.h>
40 #if defined(__cplusplus) || defined(c_plusplus)
41 # define klass c_class
49 #if XlibSpecificationRelease < 6
50 #if !defined(PRE_R6_ICCCM)
57 #if !defined(XlibSpecificationRelease)
63 #if !defined(PWinGravity)
67 #define MaxIconSize 96
68 #define MaxNumberPens 11
69 #define MaxNumberFonts 11
70 #define MaxXWindows 12
73 #define ThrowXWindowException(severity,tag,context) \
78 GetExceptionInfo(&exception); \
79 (void) ThrowMagickException(&exception,GetMagickModule(),severity, \
80 tag == (const char *) NULL ? "unknown" : tag,"`%s': %s",context, \
82 CatchException(&exception); \
83 (void) DestroyExceptionInfo(&exception); \
85 #define ThrowXWindowFatalException(severity,tag,context) \
87 ThrowXWindowException(severity,tag,context); \
105 FillRectangleElement,
125 typedef struct _XDrawInfo
168 DefaultState = 0x0000,
169 EscapeState = 0x0001,
171 FormerImageState = 0x0004,
172 ModifierState = 0x0008,
173 MontageImageState = 0x0010,
174 NextImageState = 0x0020,
175 RetainColorsState = 0x0040,
177 UpdateConfigurationState = 0x0080,
178 UpdateRegionState = 0x0100
181 typedef struct _XAnnotateInfo
206 struct _XAnnotateInfo
211 typedef struct _XPixelInfo
230 pen_colors[MaxNumberPens];
242 typedef struct _XResourceInfo
286 *font_name[MaxNumberFonts],
313 *pen_colors[MaxNumberPens];
348 typedef struct _XWindowInfo
453 typedef struct _XWindows
511 *XGetResourceClass(XrmDatabase,
const char *,
const char *,
char *),
512 *XGetResourceInstance(XrmDatabase,
const char *,
const char *,
const char *),
513 *XGetScreenDensity(Display *);
516 XMakeCursor(Display *,Window,Colormap,
char *,
char *);
519 XCheckDefineCursor(Display *,Window,Cursor),
520 XError(Display *,XErrorEvent *);
523 XAnnotateImage(Display *,
const XPixelInfo *,XAnnotateInfo *,
Image *),
525 XDrawImage(Display *,
const XPixelInfo *,XDrawInfo *,
Image *),
526 XGetWindowColor(Display *,XWindows *,
char *),
529 XMakeImage(Display *,
const XResourceInfo *,XWindowInfo *,
Image *,
unsigned int,
531 XQueryColorDatabase(
const char *,XColor *),
532 XRemoteCommand(Display *,
const char *,
const char *);
535 DestroyXResources(
void),
536 XBestIconSize(Display *,XWindowInfo *,
Image *),
537 XBestPixel(Display *,
const Colormap,XColor *,
unsigned int,XColor *),
538 XCheckRefreshWindows(Display *,XWindows *),
539 XClientMessage(Display *,
const Window,
const Atom,
const Atom,
const Time),
540 XComponentTerminus(
void),
541 XConfigureImageColormap(Display *,XResourceInfo *,XWindows *,
Image *),
542 XConstrainWindowPosition(Display *,XWindowInfo *),
543 XDelay(Display *,
const size_t),
544 XDisplayImageInfo(Display *,
const XResourceInfo *,XWindows *,
Image *,
Image *),
545 XDestroyResourceInfo(XResourceInfo *),
546 XDestroyWindowColors(Display *,Window),
547 XFreeResources(Display *,XVisualInfo *,XStandardColormap *,XPixelInfo *,
548 XFontStruct *,XResourceInfo *,XWindowInfo *),
549 XFreeStandardColormap(Display *,
const XVisualInfo *,XStandardColormap *,
551 XHighlightEllipse(Display *,Window,GC,
const RectangleInfo *),
552 XHighlightLine(Display *,Window,GC,
const XSegment *),
553 XHighlightRectangle(Display *,Window,GC,
const RectangleInfo *),
554 XGetAnnotateInfo(XAnnotateInfo *),
555 XGetPixelPacket(Display *,
const XVisualInfo *,
const XStandardColormap *,
556 const XResourceInfo *,
Image *,XPixelInfo *),
557 XGetMapInfo(
const XVisualInfo *,
const Colormap,XStandardColormap *),
558 XGetResourceInfo(
const ImageInfo *,XrmDatabase,
const char *,XResourceInfo *),
559 XGetWindowInfo(Display *,XVisualInfo *,XStandardColormap *,XPixelInfo *,
560 XFontStruct *,XResourceInfo *,XWindowInfo *),
561 XMakeMagnifyImage(Display *,XWindows *),
562 XMakeStandardColormap(Display *,XVisualInfo *,XResourceInfo *,
Image *,
563 XStandardColormap *,XPixelInfo *),
564 XMakeWindow(Display *,Window,
char **,
int,XClassHint *,XWMHints *,
566 XQueryPosition(Display *,
const Window,
int *,
int *),
567 XRefreshWindow(Display *,
const XWindowInfo *,
const XEvent *),
568 XRetainWindowColors(Display *,
const Window),
570 XUserPreferences(XResourceInfo *),
574 XWindowByID(Display *,
const Window,
const size_t),
575 XWindowByName(Display *,
const Window,
const char *),
576 XWindowByProperty(Display *,
const Window,
const Atom);
582 XGetResourceDatabase(Display *,
const char *);
585 *XBestVisualInfo(Display *,XStandardColormap *,XResourceInfo *);
588 *XInitializeWindows(Display *,XResourceInfo *),
589 *XSetWindows(XWindows *);
596 if ((pixel->red == pixel->green) && (pixel->green == pixel->blue))
598 intensity=0.298839*pixel->red+0.586811*pixel->green+0.114350*pixel->blue;
606 #if defined(__cplusplus) || defined(c_plusplus)