Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ GetGC(3X) — DeltaWindows 1.3.3 Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

 

NAME

XtGetGC − obtain a read-only, sharable GC. 

SYNOPSIS

GC XtGetGC(object, value_mask, values)
    Widget object;
    XtGCMask value_mask;
    XGCValues ∗values;

Inputs

objectSpecifies the object with which the GC is to be associated; may be of class Object or any subclass thereof. 

value_mask
Specifies which fields of the GC are to be filled in with widget data.

valuesSpecifies the actual values for this GC. 

Returns

A read-only GC with fields as specified in value_mask and values. 

DESCRIPTION

XtGetGC() returns a sharable, read-only GC with values as specified in values for each bit set in value_mask.  The GC is valid for the screen and depth of object, or the nearest widget ancestor if object is not a subclass of Core. 

XtGetGC() shares only GCs in which all values in the GC are the same.  In particular, it does not use the value_mask provided to determine which fields of the GC a widget considers relevant.  value_mask is used only to tell the server which fields should be filled in with widget data and which it should fill in with default values. 

USAGE

The Intrinsics provide a mechanism whereby widgets can share a graphics context (GC), reducing the number of GCs created and thereby improving server performance.  The mechanism is a simple caching scheme, and all GCs obtained by means of this mechanism must be treated as read-only. 

If a GC with modifiable fields is needed, in Release 4 or previous releases the Xlib XCreateGC() function must be used.  In Release 5, XtAllocateGC() allows a widget to allocate a shared GC with modifiable fields. 

Generally only widgets will need to allocate GCs, though some applications may also want to do so.  When done with a shared GC, free it with XtReleaseGC(). 

STRUCTURES

The XtGCMask type is defined as follows: typedef unsigned long  XtGCMask; /∗ Mask of values that are used by widget∗/ Each of the symbols in the table below sets a single bit in an XtGCMask.  The value_mask, argument is formed by combining these symbols with the bitwise OR operator (|):







GCArcMode GCFillRule GCLineWidth


GCBackground GCFillStyle GCPlaneMask


GCCapStyle GCFont GCStipple


GCClipMask GCForeground GCSubwindowMode


GCClipXOrigin GCFunction GCTile


GCClipYOrigin GCGraphicsExposures GCTileStipXOrigin


GCDashList GCJoinStyle GCTileStipYOrigin


GCDashOffset GCLineStyle









The XGCValues structure contains the GC fields: typedef struct {  int function; /∗ logical operation ∗/  unsigned long plane_mask; /∗ plane mask ∗/  unsigned long foreground; /∗ foreground pixel ∗/  unsigned long background; /∗ background pixel ∗/  int line_width; /∗ line width ∗/  int line_style; /∗ LineSolid, LineOnOffDash,     LineDoubleDash ∗/  int cap_style; /∗ CapNotLast, CapButt,     CapRound, CapProjecting ∗/  int join_style; /∗ JoinMiter, JoinRound, JoinBevel ∗/  int fill_style; /∗ FillSolid, FillTiled,     FillStippled, FillOpaqueStippled ∗/  int fill_rule; /∗ EvenOddRule, WindingRule ∗/  int arc_mode; /∗ ArcChord, ArcPieSlice ∗/  Pixmap tile; /∗ tile pixmap for tiling operations ∗/  Pixmap stipple; /∗ stipple 1 plane pixmap for stippling ∗/  int ts_x_origin; /∗ offset for tile or  int ts_y_origin;  ∗ stipple operations ∗/  Font font; /∗ default text font for text operations ∗/  int subwindow_mode; /∗ ClipByChildren, IncludeInferiors ∗/  Bool graphics_exposures; /∗ should exposures be generated? ∗/  int clip_x_origin; /∗ origin for clipping ∗/  int clip_y_origin;  Pixmap clip_mask; /∗ bitmap clipping; other calls for rects ∗/  int dash_offset; /∗ patterned/dashed line information ∗/  char dashes; } XGCValues;

SEE ALSO

XtAllocateGCUNIX SYSTEM V/68, XtReleaseGCUNIX SYSTEM V/68. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026