Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
xcb_change_gc(3)		  XCB Requests			xcb_change_gc(3)

NAME
     xcb_change_gc - change graphics context components

SYNOPSIS
     #include <xcb/xproto.h>

   Request function
     xcb_void_cookie_t	xcb_change_gc(xcb_connection_t *conn, xcb_gcontext_t gc,
	    uint32_t value_mask, const void *value_list);

REQUEST ARGUMENTS
     conn      The XCB connection to X11.

     gc        The graphics context to change.

     value_maskOne of the following values:

	       XCB_GC_FUNCTION
			 TODO: Refer to GX

	       XCB_GC_PLANE_MASK
			 In graphics operations, given a source and  destination
			 pixel,  the result is computed bitwise on corresponding
			 bits of the pixels; that is,  a  Boolean  operation  is
			 performed  in	each bit plane. The plane-mask restricts
			 the operation to a subset of planes, so the result is:

				 ((src FUNC dst) AND  plane-mask)  OR  (dst  AND
			 (NOT plane-mask))

	       XCB_GC_FOREGROUND
			 Foreground colorpixel.

	       XCB_GC_BACKGROUND
			 Background colorpixel.

	       XCB_GC_LINE_WIDTH
			 The line-width is measured in pixels and can be greater
			 than or equal to one, a wide line, or the special value
			 zero, a thin line.

	       XCB_GC_LINE_STYLE
			 The  line-style  defines  which  sections of a line are
			 drawn: Solid		     The full path of  the  line
			 is  drawn.   DoubleDash	    The full path of the
			 line is drawn, but the even dashes are  filled  differ-
			 ently
					      than  the  odd  dashes  (see fill-
			 style), with Butt cap-style used where even and
					      odd   dashes   meet.     OnOffDash
			 Only  the  even dashes are drawn, and cap-style applies
			 to all internal ends of
					      the individual dashes (except Not-
			 Last is treated as Butt).

	       XCB_GC_CAP_STYLE
			 The cap-style defines how the endpoints of a  path  are
			 drawn: NotLast    The result is equivalent to Butt, ex-
			 cept that for a line-width of zero the final
				    endpoint  is  not drawn.  Butt	 The re-
			 sult is square at the endpoint  (perpendicular  to  the
			 slope of the line)
				    with  no  projection beyond.  Round      The
			 result is a circular arc with its diameter equal to the
			 line-width, centered
				    on the endpoint; it is  equivalent	to  Butt
			 for  line-width  zero.  Projecting The result is square
			 at the end, but the path continues beyond the	endpoint
			 for
				    a  distance equal to half the line-width; it
			 is equivalent to Butt for line-width
				    zero.

	       XCB_GC_JOIN_STYLE
			 The join-style defines how corners are drawn  for  wide
			 lines:  Miter		      The outer edges of the two
			 lines extend to meet at an angle. However, if the
					     angle is less than  11  degrees,  a
			 Bevel	  join-style	is    used    instead.	   Round
			 The result is a circular arc with a diameter  equal  to
			 the line-width, centered
					     on     the     joinpoint.	   Bevel
			 The result is Butt endpoint styles, and then the trian-
			 gular notch is filled.

	       XCB_GC_FILL_STYLE
			 The fill-style defines the contents of the  source  for
			 line,	text,  and  fill requests. For all text and fill
			 requests (for example, PolyText8, PolyText16, PolyFill-
			 Rectangle, FillPoly, and PolyFillArc) as  well  as  for
			 line  requests  with  line-style  Solid,  (for example,
			 PolyLine, PolySegment, PolyRectangle, PolyArc) and  for
			 the  even  dashes  for  line  requests  with line-style
			 OnOffDash	   or	      DoubleDash:	   Solid
			 Foreground  Tiled			Tile OpaqueStip-
			 pled		 A tile with the same width  and  height
			 as stipple but with background
						   everywhere stipple has a zero
			 and with foreground everywhere stipple
						   has	   a	 one	Stippled
			 Foreground masked by stipple For  the	odd  dashes  for
			 line	requests   with   line-style  DoubleDash:  Solid
			 Background Tiled		      Same as  for  even
			 dashes   OpaqueStippled	     Same  as  for  even
			 dashes Stippled		  Background  masked  by
			 stipple

	       XCB_GC_FILL_RULE

	       XCB_GC_TILE
			 The tile/stipple represents an infinite two-dimensional
			 plane	with  the  tile/stipple replicated in all dimen-
			 sions. When that plane is superimposed on the	drawable
			 for  use in a graphics operation, the upper-left corner
			 of some instance of the tile/stipple is at the  coordi-
			 nates within the drawable specified by the tile/stipple
			 origin.  The  tile/stipple  and clip origins are inter-
			 preted relative to the origin of  whatever  destination
			 drawable  is specified in a graphics request.	The tile
			 pixmap must have the same root and depth as  the  gcon-
			 text  (or  a  Match error results).  The stipple pixmap
			 must have depth one and must have the same root as  the
			 gcontext  (or	a  Match  error results). For fill-style
			 Stippled (but not fill-style OpaqueStippled), the stip-
			 ple pattern is tiled in a single plane and acts  as  an
			 additional  clip  mask  to be ANDed with the clip-mask.
			 Any size pixmap can be used for  tiling  or  stippling,
			 although some sizes may be faster to use than others.

	       XCB_GC_STIPPLE
			 The tile/stipple represents an infinite two-dimensional
			 plane	with  the  tile/stipple replicated in all dimen-
			 sions. When that plane is superimposed on the	drawable
			 for  use in a graphics operation, the upper-left corner
			 of some instance of the tile/stipple is at the  coordi-
			 nates within the drawable specified by the tile/stipple
			 origin.  The  tile/stipple  and clip origins are inter-
			 preted relative to the origin of  whatever  destination
			 drawable  is specified in a graphics request.	The tile
			 pixmap must have the same root and depth as  the  gcon-
			 text  (or  a  Match error results).  The stipple pixmap
			 must have depth one and must have the same root as  the
			 gcontext  (or	a  Match  error results). For fill-style
			 Stippled (but not fill-style OpaqueStippled), the stip-
			 ple pattern is tiled in a single plane and acts  as  an
			 additional  clip  mask  to be ANDed with the clip-mask.
			 Any size pixmap can be used for  tiling  or  stippling,
			 although some sizes may be faster to use than others.

	       XCB_GC_TILE_STIPPLE_ORIGIN_X
			 TODO

	       XCB_GC_TILE_STIPPLE_ORIGIN_Y
			 TODO

	       XCB_GC_FONT
			 Which	font  to  use for the ImageText8 and ImageText16
			 requests.

	       XCB_GC_SUBWINDOW_MODE
			 For ClipByChildren, both source and destination windows
			 are additionally clipped by  all  viewable  InputOutput
			 children. For IncludeInferiors, neither source nor des-
			 tination  window is clipped by inferiors. This will re-
			 sult in including subwindow contents in the source  and
			 drawing  through  subwindow  boundaries of the destina-
			 tion. The use of IncludeInferiors with a source or des-
			 tination window of one depth with mapped  inferiors  of
			 differing  depth  is  not illegal, but the semantics is
			 undefined by the core protocol.

	       XCB_GC_GRAPHICS_EXPOSURES
			 Whether ExposureEvents should be generated (1)  or  not
			 (0).

			 The default is 1.

	       XCB_GC_CLIP_ORIGIN_X
			 TODO

	       XCB_GC_CLIP_ORIGIN_Y
			 TODO

	       XCB_GC_CLIP_MASK
			 The clip-mask restricts writes to the destination draw-
			 able. Only pixels where the clip-mask has bits set to 1
			 are  drawn.  Pixels are not drawn outside the area cov-
			 ered by the clip-mask or where the clip-mask  has  bits
			 set  to 0. The clip-mask affects all graphics requests,
			 but it does not clip sources. The clip-mask  origin  is
			 interpreted relative to the origin of whatever destina-
			 tion  drawable is specified in a graphics request. If a
			 pixmap is specified as  the  clip-mask,  it  must  have
			 depth	1  and	have the same root as the gcontext (or a
			 Match error results). If clip-mask is None, then pixels
			 are always drawn, regardless of the  clip  origin.  The
			 clip-mask  can  also  be set with the SetClipRectangles
			 request.

	       XCB_GC_DASH_OFFSET
			 TODO

	       XCB_GC_DASH_LIST
			 TODO

	       XCB_GC_ARC_MODE
			 TODO

     value_listValues for each	of  the  components  specified	in  the  bitmask
	       value_mask.  The order has to correspond to the order of possible
	       value_mask bits. See the example.

DESCRIPTION
     Changes the components specified by value_mask for the  specified	graphics
     context.

RETURN VALUE
     Returns  an  xcb_void_cookie_t.  Errors  (if any) have to be handled in the
     event loop.

     If you want to handle errors directly with xcb_request_check  instead,  use
     xcb_change_gc_checked. See xcb-requests(3) for details.

ERRORS
     xcb_alloc_error_t
	       The  X server could not allocate the requested resources (no mem-
	       ory?).

     xcb_font_error_t
	       TODO: reasons?

     xcb_g_context_error_t
	       TODO: reasons?

     xcb_match_error_t
	       TODO: reasons?

     xcb_pixmap_error_t
	       TODO: reasons?

     xcb_value_error_t
	       TODO: reasons?

EXAMPLE
     /*
      * Changes the foreground color component of the specified graphics context.
      *
      */
     void my_example(xcb_connection_t *conn, xcb_gcontext_t gc, uint32_t fg, uint32_t bg) {
	 /* C99 allows us to use a compact way of changing a single component: */
	 xcb_change_gc(conn, gc, XCB_GC_FOREGROUND, (uint32_t[]){ fg });

	 /* The more explicit way. Beware that the order of values is important! */
	 uint32_t mask = 0;
	 mask |= XCB_GC_FOREGROUND;
	 mask |= XCB_GC_BACKGROUND;

	 uint32_t values[] = {
	     fg,
	     bg
	 };
	 xcb_change_gc(conn, gc, mask, values);
	 xcb_flush(conn);
     }

SEE ALSO
     xcb-requests(3), xcb-examples(3)

AUTHOR
     Generated from xproto.xml. Contact  xcb@lists.freedesktop.org  for  correc-
     tions and improvements.

X Version 11			  libxcb 1.17.0 		xcb_change_gc(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xcb_change_gc_checked&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help