|
|
1.1 ! root 1: #ifndef FRAME_H ! 2: #define FRAME_H ! 3: ! 4: #if defined(SUNTOOLS) || defined(X11) ! 5: #include "jerq.h" ! 6: #undef max ! 7: #endif ! 8: #ifdef JERQ ! 9: #include <jerq.h> ! 10: #include <font.h> ! 11: #include "defont.h" ! 12: #endif JERQ ! 13: #undef frinit ! 14: #undef frsetrects ! 15: #ifndef BSD ! 16: typedef unsigned short ushort; ! 17: #endif BSD ! 18: typedef unsigned char uchar; ! 19: typedef ushort Posn; ! 20: typedef struct Box{ ! 21: short wid; /* in pixels */ ! 22: short len; /* <0 ==> negate and treat as break char */ ! 23: union{ ! 24: uchar *BUptr; ! 25: struct{ ! 26: short BUSbc; ! 27: short BUSminwid; ! 28: }BUS; ! 29: }BU; ! 30: }Box; ! 31: #define ptr BU.BUptr ! 32: #define bc BU.BUS.BUSbc ! 33: #define minwid BU.BUS.BUSminwid ! 34: typedef struct Frame{ ! 35: Font *font; ! 36: Bitmap *b; ! 37: Rectangle r; ! 38: Rectangle entire; ! 39: Box *box; ! 40: Posn p0, p1; ! 41: ushort left; ! 42: ushort nbox, nalloc; ! 43: ushort maxtab; ! 44: ushort maxcharwid; ! 45: ushort nchars; ! 46: ushort nlines; ! 47: ushort maxlines; ! 48: ushort lastlinefull; ! 49: }Frame; ! 50: #define D (&display) ! 51: #define B (f->b) ! 52: ! 53: #undef charofpt(); ! 54: #undef ptofchar(); ! 55: Posn charofpt(); ! 56: Point ptofchar(); ! 57: Point ptofcharptb(); ! 58: Point ptofcharnb(); ! 59: uchar *allocstr(); ! 60: uchar *dupstr(); ! 61: Point draw(); ! 62: ! 63: #define LEN(b) ((b)->len<0? 1 : (b)->len) ! 64: #if defined(SUNTOOLS) || defined(X11) ! 65: #define cwidth(c,ft) fontwidth(ft) ! 66: #define fheight(ft) fontheight(ft) ! 67: #define fnchars(ft) fontnchars(ft) ! 68: #endif ! 69: #ifdef JERQ ! 70: #define cwidth(c,ft) (ft->info[c].width) ! 71: #define fheight(ft) (ft->height) ! 72: #define fnchars(ft) (ft->n) ! 73: #endif JERQ ! 74: #endif FRAME_H
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.