1 /* $Id$ $Revision$ */ 2 /* vim:set shiftwidth=4 ts=8: */ 3 4 /************************************************************************* 5 * Copyright (c) 2011 AT&T Intellectual Property 6 * All rights reserved. This program and the accompanying materials 7 * are made available under the terms of the Eclipse Public License v1.0 8 * which accompanies this distribution, and is available at 9 * http://www.eclipse.org/legal/epl-v10.html 10 * 11 * Contributors: See CVS logs. Details at http://www.graphviz.org/ 12 *************************************************************************/ 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 /* Lefteris Koutsofios - AT&T Labs Research */ 19 20 #ifndef _GCOMMON_H 21 #define _GCOMMON_H 22 extern HANDLE hinstance, hprevinstance; 23 24 /* point and rect structures */ 25 typedef POINT PIXxy_t; 26 typedef PIXxy_t PIXpoint_t; 27 typedef PIXxy_t PIXsize_t; 28 typedef struct PIXrect_t { 29 PIXxy_t o, c; 30 } PIXrect_t; 31 32 extern int Gpopdownflag; 33 extern int Gdepth; 34 extern int Gnocallbacks; 35 extern int menuselected; 36 extern int menupoped; 37 38 extern char *Gbufp; 39 extern int Gbufn, Gbufi; 40 #define BUFINCR 1024 41 #define BUFSIZE sizeof (char) 42 43 extern PIXpoint_t *Gppp; 44 extern int Gppn, Gppi; 45 #define PPINCR 100 46 #define PPSIZE sizeof (PIXpoint_t) 47 48 typedef struct Gfont_t { 49 char *name; 50 int size; 51 HFONT font; 52 } Gfont_t; 53 extern Gfont_t *Gfontp; 54 extern int Gfontn; 55 #define FONTSIZE sizeof (Gfont_t) 56 #define SETFONT(font) { \ 57 if (font != WCU->font) { \ 58 WCU->font = font; \ 59 SelectObject (GC, font); \ 60 } \ 61 } 62 63 #define GETSIZE(sin, sout, smin) ( \ 64 sout.x = (sin.x > smin) ? sin.x + 0.5 : smin, \ 65 sout.y = (sin.y > smin) ? sin.y + 0.5 : smin \ 66 ) 67 #define GETORIGIN(oin, oout) ( \ 68 oout.x = oin.x + 0.5, oout.y = oin.y + 0.5 \ 69 ) 70 71 int Ginitgraphics (void); 72 int Gtermgraphics (void); 73 int Gsync (void); 74 75 int GAcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 76 int GAsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 77 int GAgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 78 int GAdestroywidget (Gwidget_t *); 79 80 int GBcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 81 int GBsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 82 int GBgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 83 int GBdestroywidget (Gwidget_t *); 84 85 int GCcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 86 int GCsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 87 int GCgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 88 int GCdestroywidget (Gwidget_t *); 89 int GCcanvasclear (Gwidget_t *); 90 int GCsetgfxattr (Gwidget_t *, Ggattr_t *); 91 int GCgetgfxattr (Gwidget_t *, Ggattr_t *); 92 int GCarrow (Gwidget_t *, Gpoint_t, Gpoint_t, Ggattr_t *); 93 int GCline (Gwidget_t *, Gpoint_t, Gpoint_t, Ggattr_t *); 94 int GCbox (Gwidget_t *, Grect_t, Ggattr_t *); 95 int GCpolygon (Gwidget_t *, int, Gpoint_t *, Ggattr_t *); 96 int GCsplinegon (Gwidget_t *, int, Gpoint_t *, Ggattr_t *); 97 int GCarc (Gwidget_t *, Gpoint_t, Gsize_t, double, double, Ggattr_t *); 98 int GCtext ( 99 Gwidget_t *, Gtextline_t *, int, Gpoint_t, 100 char *, double, char *, Ggattr_t * 101 ); 102 int GCgettextsize (Gwidget_t *, Gtextline_t *, int, char *, double, Gsize_t *); 103 int GCcreatebitmap (Gwidget_t *, Gbitmap_t *, Gsize_t); 104 int GCdestroybitmap (Gbitmap_t *); 105 int GCreadbitmap (Gwidget_t *, Gbitmap_t *, FILE *); 106 int GCwritebitmap (Gbitmap_t *, FILE *); 107 int GCbitblt (Gwidget_t *, Gpoint_t, Grect_t, Gbitmap_t *, char *, Ggattr_t *); 108 int GCgetmousecoords (Gwidget_t *, Gpoint_t *, int *); 109 110 int GLcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 111 int GLsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 112 int GLgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 113 int GLdestroywidget (Gwidget_t *); 114 115 int GMcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 116 int GMsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 117 int GMgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 118 int GMdestroywidget (Gwidget_t *); 119 int GMmenuaddentries (Gwidget_t *, int, char **); 120 int GMmenudisplay (Gwidget_t *, Gwidget_t *); 121 122 int GPcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 123 int GPsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 124 int GPgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 125 int GPdestroywidget (Gwidget_t *); 126 int GPcanvasclear (Gwidget_t *); 127 int GPsetgfxattr (Gwidget_t *, Ggattr_t *); 128 int GPgetgfxattr (Gwidget_t *, Ggattr_t *); 129 int GParrow (Gwidget_t *, Gpoint_t, Gpoint_t, Ggattr_t *); 130 int GPline (Gwidget_t *, Gpoint_t, Gpoint_t, Ggattr_t *); 131 int GPbox (Gwidget_t *, Grect_t, Ggattr_t *); 132 int GPpolygon (Gwidget_t *, int, Gpoint_t *, Ggattr_t *); 133 int GPsplinegon (Gwidget_t *, int, Gpoint_t *, Ggattr_t *); 134 int GParc (Gwidget_t *, Gpoint_t, Gsize_t, double, double, Ggattr_t *); 135 int GPtext ( 136 Gwidget_t *, Gtextline_t *, int, Gpoint_t, 137 char *, double, char *, Ggattr_t * 138 ); 139 int GPcreatebitmap (Gwidget_t *, Gbitmap_t *, Gsize_t); 140 int GPdestroybitmap (Gbitmap_t *); 141 int GPreadbitmap (Gwidget_t *, Gbitmap_t *, FILE *); 142 int GPwritebitmap (Gbitmap_t *, FILE *); 143 int GPbitblt (Gwidget_t *, Gpoint_t, Grect_t, Gbitmap_t *, char *, Ggattr_t *); 144 145 int GQcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 146 int GQsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 147 int GQgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 148 int GQdestroywidget (Gwidget_t *); 149 int GQqueryask (Gwidget_t *, char *, char *, char *, int); 150 151 int GScreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 152 int GSsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 153 int GSgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 154 int GSdestroywidget (Gwidget_t *); 155 156 int GTcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 157 int GTsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 158 int GTgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 159 int GTdestroywidget (Gwidget_t *); 160 161 int GVcreatewidget (Gwidget_t *, Gwidget_t *, int, Gwattr_t *); 162 int GVsetwidgetattr (Gwidget_t *, int, Gwattr_t *); 163 int GVgetwidgetattr (Gwidget_t *, int, Gwattr_t *); 164 int GVdestroywidget (Gwidget_t *); 165 166 void Gawinitialize (Gwidget_t *, int); 167 void Gawdestroy (Gwidget_t *); 168 void Gawresize (Gwidget_t *); 169 void Gawinsertchild (Gwidget_t *, Gwidget_t *); 170 void Gawdeletechild (Gwidget_t *, Gwidget_t *); 171 172 void Gadjustwrect (Gwidget_t *, PIXsize_t *); 173 void Gadjustclip (Gwidget_t *); 174 Gpoint_t ppixtodraw (Gwidget_t *, PIXpoint_t); 175 #endif /* _GCOMMON_H */ 176 177 #ifdef __cplusplus 178 } 179 #endif 180 181