Annotation of researchv9/jtools/src/sunlib/jerq.h, revision 1.1

1.1     ! root        1: #ifndef        JERQ_H
        !             2: #define        JERQ_H
        !             3: 
        !             4: #ifdef X11
        !             5: #include <X11/Xlib.h>
        !             6: #include <X11/Xatom.h>
        !             7: #include <X11/Xutil.h>
        !             8: #ifdef BSD
        !             9: #include <sys/time.h>
        !            10: #endif BSD
        !            11: #endif X11
        !            12: #ifdef SUNTOOLS
        !            13: #include <sunwindow/window_hs.h>
        !            14: #undef Rect
        !            15: #endif SUNTOOLS
        !            16: 
        !            17: #ifndef NULL
        !            18: #define NULL 0
        !            19: #endif
        !            20: 
        !            21: #define        nap(x)          jnap(x)
        !            22: #define        wait(x)         jwait(x)
        !            23: #define Menu           JMenu
        !            24: #define sleep(x)       Jsleep(x)
        !            25: #define alarm(x)       Jalarm(x)
        !            26: #define own()          (P->state|MOUSE)
        !            27: 
        !            28: typedef int    Word;           /* 32 bits */
        !            29: 
        !            30: typedef unsigned int   UWord;  /* 32 bits */
        !            31: 
        !            32: typedef struct Point {         /* short and to the point       */
        !            33:        short   x;
        !            34:        short   y;
        !            35: } Point;
        !            36: 
        !            37: typedef struct Rectangle {
        !            38:        Point origin;
        !            39:        Point corner;
        !            40: } Rectangle;
        !            41: #define cor corner
        !            42: #define org origin
        !            43: 
        !            44: typedef struct Bitmap {
        !            45: #ifdef X11
        !            46:        Drawable dr;
        !            47: #endif X11
        !            48: #ifdef SUNTOOLS
        !            49:        char *dr;
        !            50: #endif SUNTOOLS
        !            51:        Rectangle rect;
        !            52:        int flag;
        !            53: #define BI_OFFSCREEN   1               /* Offscreen if set */
        !            54: } Bitmap;
        !            55: 
        !            56: typedef struct Menu{
        !            57:        char    **item;                 /* string array, ending with 0  */
        !            58:        char    *(*generator)();        /* used if item == 0            */
        !            59:        short   prevhit;                /* private to menuhit()         */
        !            60:        short   prevtop;                /* private to menuhit()         */
        !            61: } Menu;
        !            62: 
        !            63: struct Mouse {
        !            64:        Point xy;
        !            65:        int buttons;
        !            66:        unsigned long time;
        !            67: };
        !            68: 
        !            69: #define        min(x,y)        (((x) < (y)) ? (x) : (y))
        !            70: #define        max(x,y)        (((x) > (y)) ? (x) : (y))
        !            71: 
        !            72: #ifdef X11
        !            73: typedef Pixmap Texture;        
        !            74: typedef Pixmap Texture32;      
        !            75: #define        Font    XFontStruct     
        !            76: #define fontheight(fp) ((fp)->max_bounds.ascent + (fp)->max_bounds.descent)
        !            77: #define fontwidth(fp)  ((fp)->max_bounds.width)
        !            78: #define fontnchars(fp) ((fp)->max_char_or_byte2+1)
        !            79: #endif X11
        !            80: #ifdef SUNTOOLS
        !            81: typedef short  *Texture;
        !            82: typedef Word   *Texture32;
        !            83: typedef Pixfont *Font;
        !            84: #define fontheight(fp) ((*fp)->pf_defaultsize.y)
        !            85: #define        fontwidth(fp)   ((*fp)->pf_defaultsize.x)
        !            86: #define fontnchars(fp) 255
        !            87: #define        Cursor  JCursor
        !            88: typedef struct Cursor {
        !            89:        short   *bits;
        !            90:        short   hotx;
        !            91:        short   hoty;
        !            92: } Cursor;
        !            93: #endif SUNTOOLS
        !            94: 
        !            95: struct JProc {
        !            96:        int     state;
        !            97:        Cursor  *cursor;
        !            98: };
        !            99: #define RESHAPED       1               /* window has been changed */
        !           100: #define KBD            2               /* we have keyboard input */
        !           101: #define RCV            4               /* recevied from "host" proc */
        !           102: #define MOUSE          8               /* we always have the mouse */
        !           103: #define        SEND            16              /* for request compatability */
        !           104: #define        CPU             32
        !           105: #define ALARM          64
        !           106: 
        !           107: typedef int Code;
        !           108: 
        !           109: #if defined(sparc) || defined(lint)
        !           110: #define Rect(a,b,c,d)  SRect(a,b,c,d)
        !           111: extern Point           Pt();
        !           112: extern Rectangle       SRect();
        !           113: extern Rectangle       Rpt();
        !           114: #else
        !           115: #define        Pt(x, y)         ((((short)(x))<<16)|((unsigned short)(y)))
        !           116: #define        Rect(x1, y1, x2, y2)    Pt(x1, y1), Pt(x2, y2)
        !           117: #define        Rpt(p1, p2)             (p1), (p2)
        !           118: #endif
        !           119: 
        !           120: #define        muldiv(a,b,c)   ((long)((a)*((long)b)/(c)))
        !           121: 
        !           122: /*
        !           123:  * Function Codes
        !           124:  */
        !           125: #ifdef X11
        !           126: #define        F_STORE (GXcopy)                /* target = source */
        !           127: #define        F_OR    (GXor)                  /* target |= source */
        !           128: #define        F_CLR   (GXandInverted)         /* target &= ~source */
        !           129: #define        F_XOR   (GXxor)                 /* target ^= source */
        !           130: #endif X11
        !           131: #ifdef SUNTOOLS
        !           132: #define        F_STORE (PIX_SRC)               /* target = source */
        !           133: #define        F_OR    (PIX_SRC | PIX_DST)     /* target |= source */
        !           134: #define        F_CLR   (PIX_NOT(PIX_SRC)&PIX_DST)      /* target &= ~source */
        !           135: #define        F_XOR   (PIX_SRC ^ PIX_DST)     /* target ^= source */
        !           136: #endif SUNTOOLS
        !           137: 
        !           138: #define button(i)              (mouse.buttons&(8>>i))
        !           139: #define button1()              (mouse.buttons&4)
        !           140: #define button2()              (mouse.buttons&2)
        !           141: #define button3()              (mouse.buttons&1)
        !           142: #define button12()             (mouse.buttons&6)
        !           143: #define button13()             (mouse.buttons&5)
        !           144: #define button23()             (mouse.buttons&3)
        !           145: #define button123()            (mouse.buttons&7)
        !           146: 
        !           147: Rectangle getrectb(), getrect();
        !           148: #define getrect1()             getrectb(4,1)
        !           149: #define getrect2()             getrectb(2,1)
        !           150: #define getrect3()             getrectb(1,1)
        !           151: #define getrect12()            getrectb(6,1)
        !           152: #define getrect13()            getrectb(5,1)
        !           153: #define getrect23()            getrectb(3,1)
        !           154: #define getrect123()           getrectb(7,1)
        !           155: 
        !           156: extern Point add(), sub(), mul(), div(), string();
        !           157: extern Rectangle rsubp(), raddp(), inset();
        !           158: extern Bitmap *balloc();
        !           159: extern char *gcalloc(), *calloc();
        !           160: extern void bfree(), gcfree();
        !           161: extern void rectf(), rectfD(), bitblt(), bitbltD(), texture(), evtomouse();
        !           162: 
        !           163: #define alloc(n) calloc(n,1)
        !           164: 
        !           165: #ifdef X11
        !           166: extern Texture         ToTexture();
        !           167: extern Texture32       ToTexture32();
        !           168: extern GC              gc;
        !           169: extern Display         *dpy;
        !           170: extern int             fgpix, bgpix;
        !           171: extern Colormap        colormap;
        !           172: extern XColor          fgcolor, bgcolor;
        !           173: #define        jerqsync()      XSync(dpy, 0)
        !           174: #endif X11
        !           175: #ifdef SUNTOOLS
        !           176: extern Pixwin          *displaypw;
        !           177: extern int             damagedone;
        !           178: #define        ToTexture(x)    x
        !           179: #define        ToTexture32(x)  x
        !           180: #define        jerqsync()
        !           181: #endif SUNTOOLS
        !           182: 
        !           183: extern Font    getfont();
        !           184: extern Rectangle Drect;
        !           185: extern Bitmap  display, Jfscreen, ToBitmap();
        !           186: extern Point   Joffset;
        !           187: extern int     displayfd;
        !           188: extern int     jerqrcvmask;
        !           189: extern Cursor  ToCursor(), *cursswitch(), normalcursor;
        !           190: extern struct  Mouse mouse;
        !           191: extern struct  JProc *P;
        !           192: extern Font    defont;
        !           193: 
        !           194: #endif JERQ_H

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.