home *** CD-ROM | disk | FTP | other *** search
- /*
- ImageMagick X11 Window Methods.
- */
- #ifndef _MAGICK_XWINDOW_H
- #define _MAGICK_XWINDOW_H
-
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
-
- #if defined(HasX11)
-
- #include <X11/Xos.h>
- #include <X11/Xlib.h>
- #include <X11/Xatom.h>
- #include <X11/cursorfont.h>
- #include <X11/keysym.h>
- #include <X11/Xresource.h>
- #include <X11/Xutil.h>
- #include "magick/quantize.h"
-
- #define MaxIconSize 96
- #define MaxNumberPens 11
- #define MaxNumberFonts 11
- #define MaxXWindows 12
-
- typedef enum
- {
- ForegroundStencil,
- BackgroundStencil,
- OpaqueStencil,
- TransparentStencil
- } AnnotationStencil;
-
- typedef enum
- {
- UndefinedElement,
- PointElement,
- LineElement,
- RectangleElement,
- FillRectangleElement,
- CircleElement,
- FillCircleElement,
- EllipseElement,
- FillEllipseElement,
- PolygonElement,
- FillPolygonElement,
- ColorElement,
- MatteElement,
- TextElement,
- ImageElement
- } ElementType;
-
- typedef enum
- {
- UndefinedColormap,
- PrivateColormap,
- SharedColormap
- } XColormapType;
-
- typedef struct _XDrawInfo
- {
- int
- x,
- y;
-
- unsigned int
- width,
- height;
-
- double
- degrees;
-
- AnnotationStencil
- stencil;
-
- ElementType
- element;
-
- Pixmap
- stipple;
-
- unsigned int
- line_width;
-
- XSegment
- line_info;
-
- unsigned int
- number_coordinates;
-
- RectangleInfo
- rectangle_info;
-
- XPoint
- *coordinate_info;
-
- char
- geometry[MaxTextExtent];
- } XDrawInfo;
-
- typedef enum
- {
- DefaultState = 0x0000,
- EscapeState = 0x0001,
- ExitState = 0x0002,
- FormerImageState = 0x0004,
- ModifierState = 0x0008,
- MontageImageState = 0x0010,
- NextImageState = 0x0020,
- RetainColorsState = 0x0040,
- SuspendTime = 50,
- UpdateConfigurationState = 0x0080,
- UpdateRegionState = 0x0100
- } XState;
-
- typedef struct _XImportInfo
- {
- unsigned int
- frame,
- borders,
- screen,
- descend,
- silent;
- } XImportInfo;
-
- typedef struct _XAnnotateInfo
- {
- int
- x,
- y;
-
- unsigned int
- width,
- height;
-
- double
- degrees;
-
- XFontStruct
- *font_info;
-
- char
- *text;
-
- AnnotationStencil
- stencil;
-
- char
- geometry[MaxTextExtent];
-
- struct _XAnnotateInfo
- *next,
- *previous;
- } XAnnotateInfo;
-
- typedef struct _XPixelInfo
- {
- unsigned long
- colors,
- *pixels;
-
- XColor
- foreground_color,
- background_color,
- border_color,
- matte_color,
- highlight_color,
- shadow_color,
- depth_color,
- trough_color,
- box_color,
- pen_color,
- pen_colors[MaxNumberPens];
-
- GC
- annotate_context,
- highlight_context,
- widget_context;
-
- unsigned short
- box_index,
- pen_index;
- } XPixelInfo;
-
- typedef struct _XResourceInfo
- {
- XrmDatabase
- resource_database;
-
- ImageInfo
- *image_info;
-
- QuantizeInfo
- *quantize_info;
-
- unsigned long
- colors;
-
- unsigned int
- close_server,
- backdrop;
-
- char
- *background_color,
- *border_color;
-
- char
- *client_name;
-
- XColormapType
- colormap;
-
- unsigned int
- border_width,
- color_recovery,
- confirm_exit,
- delay;
-
- char
- *display_gamma;
-
- char
- *font,
- *font_name[MaxNumberFonts],
- *foreground_color;
-
- unsigned int
- display_warnings,
- gamma_correct;
-
- char
- *icon_geometry;
-
- unsigned int
- iconic,
- immutable;
-
- char
- *image_geometry;
-
- char
- *map_type,
- *matte_color,
- *name;
-
- unsigned int
- magnify,
- pause;
-
- char
- *pen_colors[MaxNumberPens];
-
- char
- *text_font,
- *title;
-
- int
- quantum;
-
- unsigned int
- update,
- use_pixmap,
- use_shared_memory;
-
- unsigned long
- undo_cache;
-
- char
- *visual_type,
- *window_group,
- *window_id,
- *write_filename;
-
- Image
- *copy_image;
-
- int
- gravity;
-
- char
- home_directory[MaxTextExtent];
- } XResourceInfo;
-
- typedef struct _XWindowInfo
- {
- Window
- id;
-
- Window
- root;
-
- Visual
- *visual;
-
- unsigned int
- storage_class,
- depth;
-
- XVisualInfo
- *visual_info;
-
- XStandardColormap
- *map_info;
-
- XPixelInfo
- *pixel_info;
-
- XFontStruct
- *font_info;
-
- GC
- annotate_context,
- highlight_context,
- widget_context;
-
- Cursor
- cursor,
- busy_cursor;
-
- char
- *name,
- *geometry,
- *icon_name,
- *icon_geometry,
- *crop_geometry;
-
- unsigned long
- data,
- flags;
-
- int
- x,
- y;
-
- unsigned int
- width,
- height,
- min_width,
- min_height,
- width_inc,
- height_inc,
- border_width,
- use_pixmap,
- immutable,
- shape,
- shared_memory;
-
- int
- screen;
-
- XImage
- *ximage,
- *matte_image;
-
- Pixmap
- highlight_stipple,
- shadow_stipple,
- pixmap,
- *pixmaps,
- matte_pixmap,
- *matte_pixmaps;
-
- XSetWindowAttributes
- attributes;
-
- XWindowChanges
- window_changes;
-
- void
- *segment_info;
-
- unsigned long
- mask;
-
- unsigned int
- orphan,
- mapped,
- stasis;
-
- Image
- *image;
-
- unsigned int
- destroy;
- } XWindowInfo;
-
- typedef struct _XWindows
- {
- Display
- *display;
-
- XStandardColormap
- *map_info,
- *icon_map;
-
- XVisualInfo
- *visual_info,
- *icon_visual;
-
- XPixelInfo
- *pixel_info,
- *icon_pixel;
-
- XFontStruct
- *font_info;
-
- XResourceInfo
- *icon_resources;
-
- XClassHint
- *class_hints;
-
- XWMHints
- *manager_hints;
-
- XWindowInfo
- context,
- group_leader,
- backdrop,
- icon,
- image,
- info,
- magnify,
- pan,
- command,
- widget,
- popup;
-
- Atom
- wm_protocols,
- wm_delete_window,
- wm_take_focus,
- im_protocols,
- im_remote_command,
- im_update_widget,
- im_update_colormap,
- im_former_image,
- im_retain_colors,
- im_next_image,
- im_exit,
- dnd_protocols;
- } XWindows;
-
- extern MagickExport char
- *XGetResourceClass(XrmDatabase,const char *,const char *,char *),
- *XGetResourceInstance(XrmDatabase,const char *,const char *,const char *),
- *XGetScreenDensity(Display *);
-
- extern MagickExport Cursor
- XMakeCursor(Display *,Window,Colormap,char *,char *);
-
- extern MagickExport Image
- *XImportImage(const ImageInfo *,XImportInfo *);
-
- extern MagickExport int
- XCheckDefineCursor(Display *,Window,Cursor),
- XError(Display *,XErrorEvent *);
-
- extern MagickExport unsigned int
- IsTrue(const char *),
- XAnnotateImage(Display *,const XPixelInfo *,XAnnotateInfo *,Image *),
- XDrawImage(Display *,const XPixelInfo *,XDrawInfo *,Image *),
- XGetWindowColor(Display *,XWindows *,char *),
- XMagickMonitor(const char *,const MagickOffsetType,const MagickSizeType,
- ExceptionInfo *),
- XMakeImage(Display *,const XResourceInfo *,XWindowInfo *,Image *,unsigned int,
- unsigned int),
- XQueryColorDatabase(const char *,XColor *),
- XRemoteCommand(Display *,const char *,const char *);
-
- extern MagickExport void
- DestroyXResources(void),
- XBestIconSize(Display *,XWindowInfo *,Image *),
- XBestPixel(Display *,const Colormap,XColor *,unsigned int,XColor *),
- XCheckRefreshWindows(Display *,XWindows *),
- XClientMessage(Display *,const Window,const Atom,const Atom,const Time),
- XConfigureImageColormap(Display *,XResourceInfo *,XWindows *,Image *),
- XConstrainWindowPosition(Display *,XWindowInfo *),
- XDelay(Display *,const unsigned long),
- XDestroyResourceInfo(XResourceInfo *),
- XDestroyWindowColors(Display *,Window),
- XDisplayImageInfo(Display *,const XResourceInfo *,XWindows *,Image *,Image *),
- XFreeResources(Display *,XVisualInfo *,XStandardColormap *,XPixelInfo *,
- XFontStruct *,XResourceInfo *,XWindowInfo *),
- XFreeStandardColormap(Display *,const XVisualInfo *,XStandardColormap *,
- XPixelInfo *),
- XHighlightEllipse(Display *,Window,GC,const RectangleInfo *),
- XHighlightLine(Display *,Window,GC,const XSegment *),
- XHighlightRectangle(Display *,Window,GC,const RectangleInfo *),
- XGetAnnotateInfo(XAnnotateInfo *),
- XGetPixelPacket(Display *,const XVisualInfo *,const XStandardColormap *,
- const XResourceInfo *,Image *,XPixelInfo *),
- XGetMapInfo(const XVisualInfo *,const Colormap,XStandardColormap *),
- XGetResourceInfo(XrmDatabase,const char *,XResourceInfo *),
- XGetWindowInfo(Display *,XVisualInfo *,XStandardColormap *,XPixelInfo *,
- XFontStruct *,XResourceInfo *,XWindowInfo *),
- XGetImportInfo(XImportInfo *),
- XMakeMagnifyImage(Display *,XWindows *),
- XMakeStandardColormap(Display *,XVisualInfo *,XResourceInfo *,Image *,
- XStandardColormap *,XPixelInfo *),
- XMakeWindow(Display *,Window,char **,int,XClassHint *,XWMHints *,
- XWindowInfo *),
- XQueryPosition(Display *,const Window,int *,int *),
- XRefreshWindow(Display *,const XWindowInfo *,const XEvent *),
- XRetainWindowColors(Display *,const Window),
- XSetCursorState(Display *,XWindows *,const unsigned int),
- XUserPreferences(XResourceInfo *),
- XWarning(const ExceptionType,const char *,const char *);
-
- extern MagickExport Window
- XWindowByID(Display *,const Window,const unsigned long),
- XWindowByName(Display *,const Window,const char *),
- XWindowByProperty(Display *,const Window,const Atom);
-
- extern MagickExport XFontStruct
- *XBestFont(Display *,const XResourceInfo *,const unsigned int);
-
- extern MagickExport XrmDatabase
- XGetResourceDatabase(Display *,const char *);
-
- extern MagickExport XVisualInfo
- *XBestVisualInfo(Display *,XStandardColormap *,XResourceInfo *);
-
- extern MagickExport XWindows
- *XInitializeWindows(Display *,XResourceInfo *),
- *XSetWindows(XWindows *);
-
- #endif
-
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
-
- #endif
-