|
|
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.