X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=OSX%2Fjwxyz.h;h=69b716b248bbb53648818d179fec34faab40f626;hp=0d7ebe8b18e302ecb974946db05e156a96e0a968;hb=d1ae2829ff0fd2a96c16a0c8c5420efaa47d7b30;hpb=7edd66e6bd3209013ee059819747b10b5835635b diff --git a/OSX/jwxyz.h b/OSX/jwxyz.h index 0d7ebe8b..69b716b2 100644 --- a/OSX/jwxyz.h +++ b/OSX/jwxyz.h @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski +/* xscreensaver, Copyright (c) 1991-2015 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 @@ -29,6 +29,7 @@ typedef unsigned long Time; typedef unsigned int KeySym; typedef unsigned int KeyCode; typedef unsigned int VisualID; +typedef unsigned long Atom; /* Must be as large as a char *. */ typedef struct jwxyz_Display Display; typedef struct jwxyz_Screen Screen; @@ -46,6 +47,7 @@ typedef struct jwxyz_XWindowAttributes XWindowAttributes; typedef struct jwxyz_XrmOptionDescRec XrmOptionDescRec; typedef struct jwxyz_XrmDatabase * XrmDatabase; typedef struct jwxyz_XImage XImage; +typedef struct jwxyz_XFontProp XFontProp; typedef struct jwxyz_XFontStruct XFontStruct; typedef struct jwxyz_Font * Font; typedef struct jwxyz_XFontSet * XFontSet; @@ -233,6 +235,20 @@ typedef unsigned long XtInputMask; #define XK_End 0xFF57 #define XK_Begin 0xFF58 +#define XK_F1 0xFFBE +#define XK_F2 0xFFBF +#define XK_F3 0xFFC0 +#define XK_F4 0xFFC1 +#define XK_F5 0xFFC2 +#define XK_F6 0xFFC3 +#define XK_F7 0xFFC4 +#define XK_F8 0xFFC5 +#define XK_F9 0xFFC6 +#define XK_F10 0xFFC7 +#define XK_F11 0xFFC8 +#define XK_F12 0xFFC9 + + #define GXclear 0x0 /* 0 */ #define GXand 0x1 /* src AND dst */ // #define GXandReverse 0x2 /* src AND NOT dst */ @@ -250,12 +266,14 @@ typedef unsigned long XtInputMask; // #define GXnand 0xe /* NOT src OR NOT dst */ #define GXset 0xf /* 1 */ +#define XA_FONT 18 + #define DefaultScreen(dpy) (0) -#define BlackPixelOfScreen(s) (0xFF000000) -#define WhitePixelOfScreen(s) (0xFFFFFFFF) -#define BlackPixel(dpy,n) BlackPixelOfScreen(0) -#define WhitePixel(dpy,n) WhitePixelOfScreen(0) -#define CellsOfScreen(s) (0x00FFFFFF) +#define BlackPixelOfScreen XBlackPixelOfScreen +#define WhitePixelOfScreen XWhitePixelOfScreen +#define BlackPixel(dpy,n) BlackPixelOfScreen(ScreenOfDisplay(dpy,n)) +#define WhitePixel(dpy,n) WhitePixelOfScreen(ScreenOfDisplay(dpy,n)) +#define CellsOfScreen XCellsOfScreen #define XFree(x) free(x) #define BitmapPad(dpy) (8) #define BitmapBitOrder(dpy) (MSBFirst) @@ -292,6 +310,10 @@ extern int XScreenNumberOfScreen (Screen *); extern int XDisplayWidth (Display *, int); extern int XDisplayHeight (Display *, int); +unsigned long XBlackPixelOfScreen(Screen *); +unsigned long XWhitePixelOfScreen(Screen *); +unsigned long XCellsOfScreen(Screen *); + extern int XDrawPoint (Display *, Drawable, GC, int x, int y); extern int XDrawPoints (Display *, Drawable, GC, XPoint *, int n, int mode); extern int XDrawSegments (Display *, Drawable, GC, XSegment *, int n); @@ -424,6 +446,7 @@ extern int XUnloadFont (Display *, Font); extern int XTextExtents (XFontStruct *, const char *, int length, int *dir_ret, int *ascent_ret, int *descent_ret, XCharStruct *overall_ret); +extern char * jwxyz_unicode_character_name (Font, unsigned long uc); extern int XTextExtents16 (XFontStruct *, const XChar2b *, int length, int *dir_ret, int *ascent_ret, int *descent_ret, XCharStruct *overall_ret); @@ -441,12 +464,15 @@ extern int Xutf8TextExtents (XFontSet, const char *, int num_bytes, XRectangle *overall_logical_return); extern void Xutf8DrawString (Display *, Drawable, XFontSet, GC, int x, int y, const char *, int num_bytes); +extern const char *jwxyz_nativeFontName (Font, float *size); extern Pixmap XCreatePixmap (Display *, Drawable, unsigned int width, unsigned int height, unsigned int depth); extern int XFreePixmap (Display *, Pixmap); +extern char *XGetAtomName (Display *, Atom); + // Xt timers and fds extern XtAppContext XtDisplayToApplicationContext (Display *); typedef void (*XtTimerCallbackProc) (XtPointer closure, XtIntervalId *); @@ -725,6 +751,11 @@ struct jwxyz_XCharStruct { #endif }; +struct jwxyz_XFontProp { + Atom name; + unsigned long card32; /* Careful: This holds (32- or 64-bit) pointers. */ +}; + struct jwxyz_XFontStruct { #if 0 XExtData *ext_data; /* hook for extension to hang data */ @@ -741,10 +772,8 @@ struct jwxyz_XFontStruct { Bool all_chars_exist; /* flag if all characters have non-zero size*/ #endif unsigned default_char; /* char to print for undefined character */ -#if 0 int n_properties; /* how many properties there are */ XFontProp *properties; /* pointer to array of additional properties*/ -#endif XCharStruct min_bounds; /* minimum bounds over all existing char*/ XCharStruct max_bounds; /* maximum bounds over all existing char*/ XCharStruct *per_char; /* first_char to last_char information */