X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=OSX%2Fjwxyz.h;h=c8530da87f350ca379693703e76d825d6166cfaa;hb=8afc01a67be4fbf3f1cc0fce9adf01b5289a21c6;hp=35e7f5572b56beefaf9006bfaf8f509aef895a3c;hpb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;p=xscreensaver diff --git a/OSX/jwxyz.h b/OSX/jwxyz.h index 35e7f557..c8530da8 100644 --- a/OSX/jwxyz.h +++ b/OSX/jwxyz.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1991-2006 Jamie Zawinski +/* xscreensaver, Copyright (c) 1991-2012 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -19,6 +19,9 @@ #ifndef __JWXYZ_H__ #define __JWXYZ_H__ +extern void jwxyz_abort(const char *fmt, ...) __dead2; +#define abort() jwxyz_abort("abort in %s:%d", __FUNCTION__, __LINE__) + typedef int Bool; typedef int Status; typedef void * XPointer; @@ -67,9 +70,15 @@ typedef struct jwxyz_XtAppContext * XtAppContext; typedef struct jwxyz_XtIntervalId * XtIntervalId; typedef struct jwxyz_XtInputId * XtInputId; typedef void * XtPointer; +typedef unsigned long XtInputMask; #define XtInputReadMask (1L<<0) #define XtInputWriteMask (1L<<1) #define XtInputExceptMask (1L<<2) +#define XtIMXEvent 1 +#define XtIMTimer 2 +#define XtIMAlternateInput 4 +#define XtIMSignal 8 +#define XtIMAll (XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal) #define True 1 #define TRUE 1 @@ -195,6 +204,33 @@ typedef void * XtPointer; #define Button4Mask (1<<11) #define Button5Mask (1<<12) +#define XK_Shift_L 0xFFE1 +#define XK_Shift_R 0xFFE2 +#define XK_Control_L 0xFFE3 +#define XK_Control_R 0xFFE4 +#define XK_Caps_Lock 0xFFE5 +#define XK_Shift_Lock 0xFFE6 +#define XK_Meta_L 0xFFE7 +#define XK_Meta_R 0xFFE8 +#define XK_Alt_L 0xFFE9 +#define XK_Alt_R 0xFFEA +#define XK_Super_L 0xFFEB +#define XK_Super_R 0xFFEC +#define XK_Hyper_L 0xFFED +#define XK_Hyper_R 0xFFEE + +#define XK_Home 0xFF50 +#define XK_Left 0xFF51 +#define XK_Up 0xFF52 +#define XK_Right 0xFF53 +#define XK_Down 0xFF54 +#define XK_Prior 0xFF55 +#define XK_Page_Up 0xFF55 +#define XK_Next 0xFF56 +#define XK_Page_Down 0xFF56 +#define XK_End 0xFF57 +#define XK_Begin 0xFF58 + #define GXclear 0x0 /* 0 */ #define GXand 0x1 /* src AND dst */ // #define GXandReverse 0x2 /* src AND NOT dst */ @@ -231,11 +267,16 @@ typedef void * XtPointer; #define RootWindowOfScreen(s) RootWindow(DisplayOfScreen(s),0) #define DisplayWidth XDisplayWidth #define DisplayHeight XDisplayHeight +#define XMaxRequestSize(dpy) (65535) -extern Display *jwxyz_make_display (void *nsview); +extern Display *jwxyz_make_display (void *nsview, void *cgc); extern void jwxyz_free_display (Display *); extern void *jwxyz_window_view (Window); -extern void jwxyz_window_resized (Display *, Window w); +extern void jwxyz_window_resized (Display *, Window, + int, int, int, int, + void *cgc); +extern void jwxyz_mouse_moved (Display *, Window, int x, int y); +extern void jwxyz_flush_context (Display *); extern Window XRootWindow (Display *, int screen); extern Screen *XDefaultScreenOfDisplay (Display *); @@ -356,8 +397,10 @@ extern Pixmap XCreatePixmapFromBitmapData (Display *, Drawable, unsigned int depth); extern XPixmapFormatValues *XListPixmapFormats (Display *, int *count_ret); -extern void jwxyz_draw_NSImage (Display *, Drawable, void *NSImage_arg, - XRectangle *geom_ret); +extern void jwxyz_draw_NSImage_or_CGImage (Display *, Drawable, + Bool nsimg_p, void *NSImage_arg, + XRectangle *geom_ret, + int exif_rotation); extern int XSetGraphicsExposures (Display *, GC, Bool); extern Bool XTranslateCoordinates (Display *, Window src_w, Window dest_w, @@ -376,7 +419,6 @@ extern int XTextExtents (XFontStruct *, const char *, int length, XCharStruct *overall_ret); extern int XTextWidth (XFontStruct *, const char *, int length); extern int XSetFont (Display *, GC, Font); -extern Font XGContextFromGC (GC); extern Pixmap XCreatePixmap (Display *, Drawable, unsigned int width, unsigned int height, @@ -393,6 +435,8 @@ extern void XtRemoveTimeOut (XtIntervalId); extern XtInputId XtAppAddInput (XtAppContext, int fd, XtPointer flags, XtInputCallbackProc, XtPointer closure); extern void XtRemoveInput (XtInputId); +extern XtInputMask XtAppPending (XtAppContext); +extern void XtAppProcessEvent (XtAppContext, XtInputMask); extern struct jwxyz_sources_data *display_sources_data (Display *); // Some GLX stuff that also doesn't technically belong here... @@ -405,13 +449,11 @@ extern int has_writable_cells (Screen *, Visual *); extern int visual_depth (Screen *, Visual *); extern int visual_cells (Screen *, Visual *); extern int visual_class (Screen *, Visual *); +extern int get_bits_per_pixel (Display *, int); // also declared in utils/grabclient.h extern Bool use_subwindow_mode_p (Screen *, Window); -// for aglUseFont -extern int jwxyz_font_info (Font, int *size_ret, int *face_ret); - struct jwxyz_Visual { VisualID visualid; /* visual id of this visual */