]> asedeno.scripts.mit.edu Git - 1ts-debian.git/blob - zephyr/zwgc/X_gram.h
33623f1b428f3c875dac07222cce87ddeff79ad4
[1ts-debian.git] / zephyr / zwgc / X_gram.h
1 /* This file is part of the Project Athena Zephyr Notification System.
2  * It is one of the source files comprising zwgc, the Zephyr WindowGram
3  * client.
4  *
5  *      Created by:     Marc Horowitz <marc@athena.mit.edu>
6  *
7  *      $Id$
8  *
9  *      Copyright (c) 1989 by the Massachusetts Institute of Technology.
10  *      For copying and distribution information, see the file
11  *      "mit-copyright.h".
12  */
13
14
15 #include <zephyr/mit-copyright.h>
16
17 #ifndef x_gram_TYPE
18 #define x_gram_TYPE
19
20 #include <X11/Xlib.h>
21 #include <sys/time.h>
22
23 typedef struct _xblock {
24    unsigned long fgcolor;
25    Font fid;
26    int x,y;
27    int x1,y1,x2,y2; /* bounds of block.  used for cut and paste. */
28    int strindex;
29    int strlen;
30 } xblock;
31
32 typedef struct _x_gram {
33    unsigned long bgcolor;
34    int numblocks;
35    xblock *blocks;
36    char *text;
37    struct _x_gram *below,*above;
38    Window w;
39    struct timeval can_die;
40 } x_gram;
41
42 typedef struct _xauxblock {
43    int align;
44    XFontStruct *font;
45    char *str;
46    int len;
47    int width;
48 } xauxblock;
49
50 typedef struct _xmode {
51    int bold;
52    int italic;
53    int size;
54    int align;
55    int expcolor;
56    unsigned long color;
57    char *substyle;
58    char *font;
59 } xmode;
60
61 typedef struct _xlinedesc {
62    int startblock;
63    int numblock;
64    int lsize;
65    int csize;
66    int rsize;
67    int ascent;
68    int descent;
69 } xlinedesc;
70
71 /* alignment values: */
72 #define LEFTALIGN   0
73 #define CENTERALIGN 1
74 #define RIGHTALIGN  2
75
76 extern void x_gram_init();
77 extern void x_gram_create();
78 extern void x_gram_expose();
79 extern void xshow();
80 extern void xcut();
81
82 #endif