/[dtapublic]/projs/ets/trunk/src/c_tk_base_7_5_w_mods/xgc.c
ViewVC logotype

Diff of /projs/ets/trunk/src/c_tk_base_7_5_w_mods/xgc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 70 by dashley, Sat Nov 5 10:54:17 2016 UTC revision 71 by dashley, Sat Nov 5 11:07:06 2016 UTC
# Line 1  Line 1 
1  /* $Header$ */  /* $Header$ */
2    
3  /*  /*
4   * xgc.c --   * xgc.c --
5   *   *
6   *      This file contains generic routines for manipulating X graphics   *      This file contains generic routines for manipulating X graphics
7   *      contexts.   *      contexts.
8   *   *
9   * Copyright (c) 1995-1996 Sun Microsystems, Inc.   * Copyright (c) 1995-1996 Sun Microsystems, Inc.
10   *   *
11   * See the file "license.terms" for information on usage and redistribution   * See the file "license.terms" for information on usage and redistribution
12   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13   *   *
14   * RCS: @(#) $Id: xgc.c,v 1.1.1.1 2001/06/13 05:15:43 dtashley Exp $   * RCS: @(#) $Id: xgc.c,v 1.1.1.1 2001/06/13 05:15:43 dtashley Exp $
15   */   */
16    
17  #include "tkInt.h"  #include "tkInt.h"
18    
19  #ifdef MAC_TCL  #ifdef MAC_TCL
20  #       include <Xlib.h>  #       include <Xlib.h>
21  #       include <X.h>  #       include <X.h>
22  #       define Cursor XCursor  #       define Cursor XCursor
23  #       define Region XRegion  #       define Region XRegion
24  #else  #else
25  #       include "Xlib.h"  #       include "Xlib.h"
26  #endif  #endif
27    
28    
29  /*  /*
30   *----------------------------------------------------------------------   *----------------------------------------------------------------------
31   *   *
32   * XCreateGC --   * XCreateGC --
33   *   *
34   *      Allocate a new GC, and initialize the specified fields.   *      Allocate a new GC, and initialize the specified fields.
35   *   *
36   * Results:   * Results:
37   *      Returns a newly allocated GC.   *      Returns a newly allocated GC.
38   *   *
39   * Side effects:   * Side effects:
40   *      None.   *      None.
41   *   *
42   *----------------------------------------------------------------------   *----------------------------------------------------------------------
43   */   */
44    
45  GC  GC
46  XCreateGC(display, d, mask, values)  XCreateGC(display, d, mask, values)
47      Display* display;      Display* display;
48      Drawable d;      Drawable d;
49      unsigned long mask;      unsigned long mask;
50      XGCValues* values;      XGCValues* values;
51  {  {
52      GC gp;      GC gp;
53    
54  /*  /*
55   * In order to have room for a dash list, MAX_DASH_LIST_SIZE extra chars are   * In order to have room for a dash list, MAX_DASH_LIST_SIZE extra chars are
56   * defined, which is invisible from the outside. The list is assumed to end   * defined, which is invisible from the outside. The list is assumed to end
57   * with a 0-char, so this must be set explicitely during initialization.   * with a 0-char, so this must be set explicitely during initialization.
58   */   */
59    
60  #define MAX_DASH_LIST_SIZE 10  #define MAX_DASH_LIST_SIZE 10
61    
62      gp = (XGCValues *)ckalloc(sizeof(XGCValues) + MAX_DASH_LIST_SIZE);      gp = (XGCValues *)ckalloc(sizeof(XGCValues) + MAX_DASH_LIST_SIZE);
63      if (!gp) {      if (!gp) {
64          return None;          return None;
65      }      }
66    
67      gp->function =      (mask & GCFunction)     ?values->function       :GXcopy;      gp->function =      (mask & GCFunction)     ?values->function       :GXcopy;
68      gp->plane_mask =    (mask & GCPlaneMask)    ?values->plane_mask     :~0;      gp->plane_mask =    (mask & GCPlaneMask)    ?values->plane_mask     :~0;
69      gp->foreground =    (mask & GCForeground)   ?values->foreground     :0;      gp->foreground =    (mask & GCForeground)   ?values->foreground     :0;
70      gp->background =    (mask & GCBackground)   ?values->background     :0xffffff;      gp->background =    (mask & GCBackground)   ?values->background     :0xffffff;
71      gp->line_width =    (mask & GCLineWidth)    ?values->line_width     :0;          gp->line_width =    (mask & GCLineWidth)    ?values->line_width     :0;    
72      gp->line_style =    (mask & GCLineStyle)    ?values->line_style     :LineSolid;      gp->line_style =    (mask & GCLineStyle)    ?values->line_style     :LineSolid;
73      gp->cap_style =     (mask & GCCapStyle)     ?values->cap_style      :0;      gp->cap_style =     (mask & GCCapStyle)     ?values->cap_style      :0;
74      gp->join_style =    (mask & GCJoinStyle)    ?values->join_style     :0;      gp->join_style =    (mask & GCJoinStyle)    ?values->join_style     :0;
75      gp->fill_style =    (mask & GCFillStyle)    ?values->fill_style     :FillSolid;      gp->fill_style =    (mask & GCFillStyle)    ?values->fill_style     :FillSolid;
76      gp->fill_rule =     (mask & GCFillRule)     ?values->fill_rule      :WindingRule;      gp->fill_rule =     (mask & GCFillRule)     ?values->fill_rule      :WindingRule;
77      gp->arc_mode =      (mask & GCArcMode)      ?values->arc_mode       :ArcPieSlice;      gp->arc_mode =      (mask & GCArcMode)      ?values->arc_mode       :ArcPieSlice;
78      gp->tile =          (mask & GCTile)         ?values->tile           :None;      gp->tile =          (mask & GCTile)         ?values->tile           :None;
79      gp->stipple =       (mask & GCStipple)      ?values->stipple        :None;      gp->stipple =       (mask & GCStipple)      ?values->stipple        :None;
80      gp->ts_x_origin =   (mask & GCTileStipXOrigin)      ?values->ts_x_origin:0;      gp->ts_x_origin =   (mask & GCTileStipXOrigin)      ?values->ts_x_origin:0;
81      gp->ts_y_origin =   (mask & GCTileStipYOrigin)      ?values->ts_y_origin:0;      gp->ts_y_origin =   (mask & GCTileStipYOrigin)      ?values->ts_y_origin:0;
82      gp->font =          (mask & GCFont)         ?values->font           :None;      gp->font =          (mask & GCFont)         ?values->font           :None;
83      gp->subwindow_mode = (mask & GCSubwindowMode)?values->subwindow_mode:ClipByChildren;      gp->subwindow_mode = (mask & GCSubwindowMode)?values->subwindow_mode:ClipByChildren;
84      gp->graphics_exposures = (mask & GCGraphicsExposures)?values->graphics_exposures:True;      gp->graphics_exposures = (mask & GCGraphicsExposures)?values->graphics_exposures:True;
85      gp->clip_x_origin = (mask & GCClipXOrigin)  ?values->clip_x_origin  :0;      gp->clip_x_origin = (mask & GCClipXOrigin)  ?values->clip_x_origin  :0;
86      gp->clip_y_origin = (mask & GCClipYOrigin)  ?values->clip_y_origin  :0;      gp->clip_y_origin = (mask & GCClipYOrigin)  ?values->clip_y_origin  :0;
87      gp->dash_offset =   (mask & GCDashOffset)   ?values->dash_offset    :0;      gp->dash_offset =   (mask & GCDashOffset)   ?values->dash_offset    :0;
88      gp->dashes =        (mask & GCDashList)     ?values->dashes         :4;      gp->dashes =        (mask & GCDashList)     ?values->dashes         :4;
89      (&(gp->dashes))[1] =        0;      (&(gp->dashes))[1] =        0;
90    
91      if (mask & GCClipMask) {      if (mask & GCClipMask) {
92          gp->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));          gp->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));
93          ((TkpClipMask*)gp->clip_mask)->type = TKP_CLIP_PIXMAP;          ((TkpClipMask*)gp->clip_mask)->type = TKP_CLIP_PIXMAP;
94          ((TkpClipMask*)gp->clip_mask)->value.pixmap = values->clip_mask;          ((TkpClipMask*)gp->clip_mask)->value.pixmap = values->clip_mask;
95      } else {      } else {
96          gp->clip_mask = None;          gp->clip_mask = None;
97      }      }
98    
99      return gp;      return gp;
100  }  }
101    
102  /*  /*
103   *----------------------------------------------------------------------   *----------------------------------------------------------------------
104   *   *
105   * XChangeGC --   * XChangeGC --
106   *   *
107   *      Changes the GC components specified by valuemask for the   *      Changes the GC components specified by valuemask for the
108   *      specified GC.   *      specified GC.
109   *   *
110   * Results:   * Results:
111   *      None.   *      None.
112   *   *
113   * Side effects:   * Side effects:
114   *      Updates the specified GC.   *      Updates the specified GC.
115   *   *
116   *----------------------------------------------------------------------   *----------------------------------------------------------------------
117   */   */
118    
119  void  void
120  XChangeGC(d, gc, mask, values)  XChangeGC(d, gc, mask, values)
121      Display * d;      Display * d;
122      GC gc;      GC gc;
123      unsigned long mask;      unsigned long mask;
124      XGCValues *values;      XGCValues *values;
125  {  {
126      if (mask & GCFunction) { gc->function = values->function; }      if (mask & GCFunction) { gc->function = values->function; }
127      if (mask & GCPlaneMask) { gc->plane_mask = values->plane_mask; }      if (mask & GCPlaneMask) { gc->plane_mask = values->plane_mask; }
128      if (mask & GCForeground) { gc->foreground = values->foreground; }      if (mask & GCForeground) { gc->foreground = values->foreground; }
129      if (mask & GCBackground) { gc->background = values->background; }      if (mask & GCBackground) { gc->background = values->background; }
130      if (mask & GCLineWidth) { gc->line_width = values->line_width; }          if (mask & GCLineWidth) { gc->line_width = values->line_width; }    
131      if (mask & GCLineStyle) { gc->line_style = values->line_style; }      if (mask & GCLineStyle) { gc->line_style = values->line_style; }
132      if (mask & GCCapStyle) { gc->cap_style = values->cap_style; }      if (mask & GCCapStyle) { gc->cap_style = values->cap_style; }
133      if (mask & GCJoinStyle) { gc->join_style = values->join_style; }      if (mask & GCJoinStyle) { gc->join_style = values->join_style; }
134      if (mask & GCFillStyle) { gc->fill_style = values->fill_style; }      if (mask & GCFillStyle) { gc->fill_style = values->fill_style; }
135      if (mask & GCFillRule) { gc->fill_rule = values->fill_rule; }      if (mask & GCFillRule) { gc->fill_rule = values->fill_rule; }
136      if (mask & GCArcMode) { gc->arc_mode = values->arc_mode; }      if (mask & GCArcMode) { gc->arc_mode = values->arc_mode; }
137      if (mask & GCTile) { gc->tile = values->tile; }      if (mask & GCTile) { gc->tile = values->tile; }
138      if (mask & GCStipple) { gc->stipple = values->stipple; }      if (mask & GCStipple) { gc->stipple = values->stipple; }
139      if (mask & GCTileStipXOrigin) { gc->ts_x_origin = values->ts_x_origin; }      if (mask & GCTileStipXOrigin) { gc->ts_x_origin = values->ts_x_origin; }
140      if (mask & GCTileStipYOrigin) { gc->ts_y_origin = values->ts_y_origin; }      if (mask & GCTileStipYOrigin) { gc->ts_y_origin = values->ts_y_origin; }
141      if (mask & GCFont) { gc->font = values->font; }      if (mask & GCFont) { gc->font = values->font; }
142      if (mask & GCSubwindowMode) { gc->subwindow_mode = values->subwindow_mode; }      if (mask & GCSubwindowMode) { gc->subwindow_mode = values->subwindow_mode; }
143      if (mask & GCGraphicsExposures) { gc->graphics_exposures = values->graphics_exposures; }      if (mask & GCGraphicsExposures) { gc->graphics_exposures = values->graphics_exposures; }
144      if (mask & GCClipXOrigin) { gc->clip_x_origin = values->clip_x_origin; }      if (mask & GCClipXOrigin) { gc->clip_x_origin = values->clip_x_origin; }
145      if (mask & GCClipYOrigin) { gc->clip_y_origin = values->clip_y_origin; }      if (mask & GCClipYOrigin) { gc->clip_y_origin = values->clip_y_origin; }
146      if (mask & GCClipMask) { XSetClipMask(d, gc, values->clip_mask); }      if (mask & GCClipMask) { XSetClipMask(d, gc, values->clip_mask); }
147      if (mask & GCDashOffset) { gc->dash_offset = values->dash_offset; }      if (mask & GCDashOffset) { gc->dash_offset = values->dash_offset; }
148      if (mask & GCDashList) { gc->dashes = values->dashes; (&(gc->dashes))[1] = 0;}      if (mask & GCDashList) { gc->dashes = values->dashes; (&(gc->dashes))[1] = 0;}
149  }  }
150    
151  /*  /*
152   *----------------------------------------------------------------------   *----------------------------------------------------------------------
153   *   *
154   * XFreeGC --   * XFreeGC --
155   *   *
156   *      Deallocates the specified graphics context.   *      Deallocates the specified graphics context.
157   *   *
158   * Results:   * Results:
159   *      None.   *      None.
160   *   *
161   * Side effects:   * Side effects:
162   *      None.   *      None.
163   *   *
164   *----------------------------------------------------------------------   *----------------------------------------------------------------------
165   */   */
166    
167  void XFreeGC(d, gc)  void XFreeGC(d, gc)
168      Display * d;      Display * d;
169      GC gc;      GC gc;
170  {  {
171      if (gc != None) {      if (gc != None) {
172          if (gc->clip_mask != None) {          if (gc->clip_mask != None) {
173              ckfree((char*) gc->clip_mask);              ckfree((char*) gc->clip_mask);
174          }          }
175          ckfree((char *) gc);          ckfree((char *) gc);
176      }      }
177  }  }
178    
179  /*  /*
180   *----------------------------------------------------------------------   *----------------------------------------------------------------------
181   *   *
182   * XSetForeground, etc. --   * XSetForeground, etc. --
183   *   *
184   *      The following functions are simply accessor functions for   *      The following functions are simply accessor functions for
185   *      the GC slots.   *      the GC slots.
186   *   *
187   * Results:   * Results:
188   *      None.   *      None.
189   *   *
190   * Side effects:   * Side effects:
191   *      Each function sets some slot in the GC.   *      Each function sets some slot in the GC.
192   *   *
193   *----------------------------------------------------------------------   *----------------------------------------------------------------------
194   */   */
195    
196  void  void
197  XSetForeground(display, gc, foreground)  XSetForeground(display, gc, foreground)
198      Display *display;      Display *display;
199      GC gc;      GC gc;
200      unsigned long foreground;      unsigned long foreground;
201  {  {
202      gc->foreground = foreground;      gc->foreground = foreground;
203  }  }
204    
205  void  void
206  XSetBackground(display, gc, background)  XSetBackground(display, gc, background)
207      Display *display;      Display *display;
208      GC gc;      GC gc;
209      unsigned long background;      unsigned long background;
210  {  {
211      gc->background = background;      gc->background = background;
212  }  }
213    
214  void  void
215  XSetDashes(display, gc, dash_offset, dash_list, n)  XSetDashes(display, gc, dash_offset, dash_list, n)
216      Display* display;      Display* display;
217      GC gc;      GC gc;
218      int dash_offset;      int dash_offset;
219      _Xconst char* dash_list;      _Xconst char* dash_list;
220      int n;      int n;
221  {  {
222      char *p = &(gc->dashes);      char *p = &(gc->dashes);
223    
224  #ifdef TkWinDeleteBrush  #ifdef TkWinDeleteBrush
225      TkWinDeleteBrush(gc->fgBrush);      TkWinDeleteBrush(gc->fgBrush);
226      TkWinDeletePen(gc->fgPen);      TkWinDeletePen(gc->fgPen);
227      TkWinDeleteBrush(gc->bgBrush);      TkWinDeleteBrush(gc->bgBrush);
228      TkWinDeletePen(gc->fgExtPen);      TkWinDeletePen(gc->fgExtPen);
229  #endif  #endif
230      gc->dash_offset = dash_offset;      gc->dash_offset = dash_offset;
231      if (n > MAX_DASH_LIST_SIZE) n = MAX_DASH_LIST_SIZE;      if (n > MAX_DASH_LIST_SIZE) n = MAX_DASH_LIST_SIZE;
232      while (n-- > 0) {      while (n-- > 0) {
233          *p++ = *dash_list++;          *p++ = *dash_list++;
234      }      }
235      *p = 0;      *p = 0;
236  }  }
237    
238  void  void
239  XSetFunction(display, gc, function)  XSetFunction(display, gc, function)
240      Display *display;      Display *display;
241      GC gc;      GC gc;
242      int function;      int function;
243  {  {
244      gc->function = function;      gc->function = function;
245  }  }
246    
247  void  void
248  XSetFillRule(display, gc, fill_rule)  XSetFillRule(display, gc, fill_rule)
249      Display *display;      Display *display;
250      GC gc;      GC gc;
251      int fill_rule;      int fill_rule;
252  {  {
253      gc->fill_rule = fill_rule;      gc->fill_rule = fill_rule;
254  }  }
255    
256  void  void
257  XSetFillStyle(display, gc, fill_style)  XSetFillStyle(display, gc, fill_style)
258      Display *display;      Display *display;
259      GC gc;      GC gc;
260      int fill_style;      int fill_style;
261  {  {
262      gc->fill_style = fill_style;      gc->fill_style = fill_style;
263  }  }
264    
265  void  void
266  XSetTSOrigin(display, gc, x, y)  XSetTSOrigin(display, gc, x, y)
267      Display *display;      Display *display;
268      GC gc;      GC gc;
269      int x, y;      int x, y;
270  {  {
271      gc->ts_x_origin = x;      gc->ts_x_origin = x;
272      gc->ts_y_origin = y;      gc->ts_y_origin = y;
273  }  }
274    
275  void  void
276  XSetFont(display, gc, font)  XSetFont(display, gc, font)
277      Display *display;      Display *display;
278      GC gc;      GC gc;
279      Font font;      Font font;
280  {  {
281      gc->font = font;      gc->font = font;
282  }  }
283    
284  void  void
285  XSetArcMode(display, gc, arc_mode)  XSetArcMode(display, gc, arc_mode)
286      Display *display;      Display *display;
287      GC gc;      GC gc;
288      int arc_mode;      int arc_mode;
289  {  {
290      gc->arc_mode = arc_mode;      gc->arc_mode = arc_mode;
291  }  }
292    
293  void  void
294  XSetStipple(display, gc, stipple)  XSetStipple(display, gc, stipple)
295      Display *display;      Display *display;
296      GC gc;      GC gc;
297      Pixmap stipple;      Pixmap stipple;
298  {  {
299      gc->stipple = stipple;      gc->stipple = stipple;
300  }  }
301    
302  void  void
303  XSetLineAttributes(display, gc, line_width, line_style, cap_style,  XSetLineAttributes(display, gc, line_width, line_style, cap_style,
304          join_style)          join_style)
305      Display *display;      Display *display;
306      GC gc;      GC gc;
307      unsigned int line_width;      unsigned int line_width;
308      int line_style;      int line_style;
309      int cap_style;      int cap_style;
310      int join_style;      int join_style;
311  {  {
312      gc->line_width = line_width;      gc->line_width = line_width;
313      gc->line_style = line_style;      gc->line_style = line_style;
314      gc->cap_style = cap_style;      gc->cap_style = cap_style;
315      gc->join_style = join_style;      gc->join_style = join_style;
316  }  }
317    
318  void  void
319  XSetClipOrigin(display, gc, clip_x_origin, clip_y_origin)  XSetClipOrigin(display, gc, clip_x_origin, clip_y_origin)
320      Display* display;      Display* display;
321      GC gc;      GC gc;
322      int clip_x_origin;      int clip_x_origin;
323      int clip_y_origin;      int clip_y_origin;
324  {  {
325      gc->clip_x_origin = clip_x_origin;      gc->clip_x_origin = clip_x_origin;
326      gc->clip_y_origin = clip_y_origin;      gc->clip_y_origin = clip_y_origin;
327  }  }
328    
329  /*  /*
330   *----------------------------------------------------------------------   *----------------------------------------------------------------------
331   *   *
332   * TkSetRegion, XSetClipMask --   * TkSetRegion, XSetClipMask --
333   *   *
334   *      Sets the clipping region/pixmap for a GC.   *      Sets the clipping region/pixmap for a GC.
335   *   *
336   *      Note that unlike the Xlib equivalent, it is not safe to delete   *      Note that unlike the Xlib equivalent, it is not safe to delete
337   *      the region after setting it into the GC.  The only use of   *      the region after setting it into the GC.  The only use of
338   *      TkSetRegion is currently in ImgPhotoDisplay, which uses the GC   *      TkSetRegion is currently in ImgPhotoDisplay, which uses the GC
339   *      immediately.   *      immediately.
340   *   *
341   * Results:   * Results:
342   *      None.   *      None.
343   *   *
344   * Side effects:   * Side effects:
345   *      Allocates or dealloates a TkpClipMask.   *      Allocates or dealloates a TkpClipMask.
346   *   *
347   *----------------------------------------------------------------------   *----------------------------------------------------------------------
348   */   */
349    
350  void  void
351  TkSetRegion(display, gc, r)  TkSetRegion(display, gc, r)
352      Display* display;      Display* display;
353      GC gc;      GC gc;
354      TkRegion r;      TkRegion r;
355  {  {
356      if (r == None) {      if (r == None) {
357          if (gc->clip_mask) {          if (gc->clip_mask) {
358              ckfree((char*) gc->clip_mask);              ckfree((char*) gc->clip_mask);
359              gc->clip_mask = None;              gc->clip_mask = None;
360          }          }
361          return;          return;
362      }      }
363    
364      if (gc->clip_mask == None) {      if (gc->clip_mask == None) {
365          gc->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));          gc->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));
366      }      }
367      ((TkpClipMask*)gc->clip_mask)->type = TKP_CLIP_REGION;      ((TkpClipMask*)gc->clip_mask)->type = TKP_CLIP_REGION;
368      ((TkpClipMask*)gc->clip_mask)->value.region = r;      ((TkpClipMask*)gc->clip_mask)->value.region = r;
369  }  }
370    
371  void  void
372  XSetClipMask(display, gc, pixmap)  XSetClipMask(display, gc, pixmap)
373      Display* display;      Display* display;
374      GC gc;      GC gc;
375      Pixmap pixmap;      Pixmap pixmap;
376  {  {
377      if (pixmap == None) {      if (pixmap == None) {
378          if (gc->clip_mask) {          if (gc->clip_mask) {
379              ckfree((char*) gc->clip_mask);              ckfree((char*) gc->clip_mask);
380              gc->clip_mask = None;              gc->clip_mask = None;
381          }          }
382          return;          return;
383      }      }
384    
385      if (gc->clip_mask == None) {      if (gc->clip_mask == None) {
386          gc->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));          gc->clip_mask = (Pixmap)ckalloc(sizeof(TkpClipMask));
387      }      }
388      ((TkpClipMask*)gc->clip_mask)->type = TKP_CLIP_PIXMAP;      ((TkpClipMask*)gc->clip_mask)->type = TKP_CLIP_PIXMAP;
389      ((TkpClipMask*)gc->clip_mask)->value.pixmap = pixmap;      ((TkpClipMask*)gc->clip_mask)->value.pixmap = pixmap;
390  }  }
391    
392  /*  /*
393   * Some additional dummy functions (hopefully implemented soon).   * Some additional dummy functions (hopefully implemented soon).
394   */   */
395    
396  Cursor  Cursor
397  XCreateFontCursor(display, shape)  XCreateFontCursor(display, shape)
398      Display* display;      Display* display;
399      unsigned int shape;      unsigned int shape;
400  {  {
401      return (Cursor) 0;      return (Cursor) 0;
402  }  }
403    
404  void  void
405  XDrawImageString(display, d, gc, x, y, string, length)  XDrawImageString(display, d, gc, x, y, string, length)
406      Display* display;      Display* display;
407      Drawable d;      Drawable d;
408      GC gc;      GC gc;
409      int x;      int x;
410      int y;      int y;
411      _Xconst char* string;      _Xconst char* string;
412      int length;      int length;
413  {  {
414  }  }
415    
416  void  void
417  XDrawPoint(display, d, gc, x, y)  XDrawPoint(display, d, gc, x, y)
418      Display* display;      Display* display;
419      Drawable d;      Drawable d;
420      GC gc;      GC gc;
421      int x;      int x;
422      int y;      int y;
423  {  {
424      XDrawLine(display, d, gc, x, y, x, y);      XDrawLine(display, d, gc, x, y, x, y);
425  }  }
426    
427  void  void
428  XDrawPoints(display, d, gc, points, npoints, mode)  XDrawPoints(display, d, gc, points, npoints, mode)
429      Display* display;      Display* display;
430      Drawable d;      Drawable d;
431      GC gc;      GC gc;
432      XPoint* points;      XPoint* points;
433      int npoints;      int npoints;
434      int mode;      int mode;
435  {  {
436      int i;      int i;
437    
438      for (i=0; i<npoints; i++) {      for (i=0; i<npoints; i++) {
439          XDrawPoint(display, d, gc, points[i].x, points[i].y);          XDrawPoint(display, d, gc, points[i].x, points[i].y);
440      }      }
441  }  }
442    
443  #ifndef MAC_TCL  #ifndef MAC_TCL
444  void  void
445  XDrawSegments(display, d, gc, segments, nsegments)  XDrawSegments(display, d, gc, segments, nsegments)
446      Display* display;      Display* display;
447      Drawable d;      Drawable d;
448      GC gc;      GC gc;
449      XSegment* segments;      XSegment* segments;
450      int nsegments;      int nsegments;
451  {  {
452  }  }
453  #endif  #endif
454    
455  char *  char *
456  XFetchBuffer(display, nbytes_return, buffer)  XFetchBuffer(display, nbytes_return, buffer)
457      Display* display;      Display* display;
458      int* nbytes_return;      int* nbytes_return;
459      int buffer;      int buffer;
460  {  {
461      return (char *) 0;      return (char *) 0;
462  }  }
463    
464  Status XFetchName(display, w, window_name_return)  Status XFetchName(display, w, window_name_return)
465      Display* display;      Display* display;
466      Window w;      Window w;
467      char** window_name_return;      char** window_name_return;
468  {  {
469      return (Status) 0;      return (Status) 0;
470  }  }
471    
472  Atom *XListProperties(display, w, num_prop_return)  Atom *XListProperties(display, w, num_prop_return)
473      Display* display;      Display* display;
474      Window w;      Window w;
475      int* num_prop_return;      int* num_prop_return;
476  {  {
477      return (Atom *) 0;      return (Atom *) 0;
478  }  }
479    
480  void  void
481  XMapRaised(display, w)  XMapRaised(display, w)
482      Display* display;      Display* display;
483      Window w;      Window w;
484  {  {
485  }  }
486    
487  void  void
488  XPutImage(display, d, gc, image, src_x, src_y, dest_x, dest_y, width, height)  XPutImage(display, d, gc, image, src_x, src_y, dest_x, dest_y, width, height)
489      Display* display;      Display* display;
490      Drawable d;      Drawable d;
491      GC gc;      GC gc;
492      XImage* image;      XImage* image;
493      int src_x;      int src_x;
494      int src_y;      int src_y;
495      int dest_x;      int dest_x;
496      int dest_y;      int dest_y;
497      unsigned int width;      unsigned int width;
498      unsigned int height;      unsigned int height;
499  {  {
500  }  }
501    
502  void XQueryTextExtents(display, font_ID, string, nchars, direction_return,  void XQueryTextExtents(display, font_ID, string, nchars, direction_return,
503          font_ascent_return, font_descent_return, overall_return)          font_ascent_return, font_descent_return, overall_return)
504      Display* display;      Display* display;
505      XID font_ID;      XID font_ID;
506      _Xconst char* string;      _Xconst char* string;
507      int nchars;      int nchars;
508      int* direction_return;      int* direction_return;
509      int* font_ascent_return;      int* font_ascent_return;
510      int* font_descent_return;      int* font_descent_return;
511      XCharStruct* overall_return;      XCharStruct* overall_return;
512  {  {
513  }  }
514    
515  void  void
516  XReparentWindow(display, w, parent, x, y)  XReparentWindow(display, w, parent, x, y)
517      Display* display;      Display* display;
518      Window w;      Window w;
519      Window parent;      Window parent;
520      int x;      int x;
521      int y;      int y;
522  {  {
523  }  }
524    
525  void  void
526  XRotateBuffers(display, rotate)  XRotateBuffers(display, rotate)
527      Display* display;      Display* display;
528      int rotate;      int rotate;
529  {  {
530  }  }
531    
532  void  void
533  XStoreBuffer(display, bytes, nbytes, buffer)  XStoreBuffer(display, bytes, nbytes, buffer)
534      Display* display;      Display* display;
535      _Xconst char* bytes;      _Xconst char* bytes;
536      int nbytes;      int nbytes;
537      int buffer;      int buffer;
538  {  {
539  }  }
540    
541  void  void
542  XUndefineCursor(display, w)  XUndefineCursor(display, w)
543      Display* display;      Display* display;
544      Window w;      Window w;
545  {  {
546  }  }
547    
548  /* End of xgc.c */  /* End of xgc.c */

Legend:
Removed from v.70  
changed lines
  Added in v.71

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25