home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XDrawArc(3X11) XLIB FUNCTIONS XDrawArc(3X11)
-
-
- NNAAMMEE
- XDrawArc, XDrawArcs, XArc - draw arcs and arc structure
-
- SSYYNNTTAAXX
- XDrawArc(_d_i_s_p_l_a_y, _d, _g_c, _x, _y, _w_i_d_t_h, _h_e_i_g_h_t, _a_n_g_l_e_1,
- _a_n_g_l_e_2)
- Display *_d_i_s_p_l_a_y;
- Drawable _d;
- GC _g_c;
- int _x, _y;
- unsigned int _w_i_d_t_h, _h_e_i_g_h_t;
- int _a_n_g_l_e_1, _a_n_g_l_e_2;
-
- XDrawArcs(_d_i_s_p_l_a_y, _d, _g_c, _a_r_c_s, _n_a_r_c_s)
- Display *_d_i_s_p_l_a_y;
- Drawable _d;
- GC _g_c;
- XArc *_a_r_c_s;
- int _n_a_r_c_s;
-
- AARRGGUUMMEENNTTSS
- _a_n_g_l_e_1 Specifies the start of the arc relative to the
- three-o'clock position from the center, in units
- of degrees * 64.
-
- _a_n_g_l_e_2 Specifies the path and extent of the arc rela-
- tive to the start of the arc, in units of
- degrees * 64.
-
- _a_r_c_s Specifies an array of arcs.
-
- _d Specifies the drawable.
-
- _d_i_s_p_l_a_y Specifies the connection to the X server.
-
- _g_c Specifies the GC.
-
- _n_a_r_c_s Specifies the number of arcs in the array.
-
- _w_i_d_t_h
- _h_e_i_g_h_t Specify the width and height, which are the
- major and minor axes of the arc.
-
- _x
- _y Specify the x and y coordinates, which are rela-
- tive to the origin of the drawable and specify
- the upper-left corner of the bounding rectangle.
-
- DDEESSCCRRIIPPTTIIOONN
- _X_D_r_a_w_A_r_c draws a single circular or elliptical arc, and
- _X_D_r_a_w_A_r_c_s draws multiple circular or elliptical arcs.
- Each arc is specified by a rectangle and two angles. The
- center of the circle or ellipse is the center of the rect-
- angle, and the major and minor axes are specified by the
-
-
-
- X Version 11 Release 6.1 1
-
-
-
-
-
- XDrawArc(3X11) XLIB FUNCTIONS XDrawArc(3X11)
-
-
- width and height. Positive angles indicate counterclock-
- wise motion, and negative angles indicate clockwise
- motion. If the magnitude of angle2 is greater than 360
- degrees, _X_D_r_a_w_A_r_c or _X_D_r_a_w_A_r_c_s truncates it to 360
- degrees.
-
- For an arc specified as [_x,_y,_w_i_d_t_h,_h_e_i_g_h_t,_a_n_g_l_e1,_a_n_g_l_e2],
- the origin of the major and minor axes is at
- [_x+_w___i___d2___t___h__,_y+_h___e___i___g2___h___t__], and the infinitely thin path describ-
- ing the entire circle or ellipse intersects the horizontal
- axis at [_x,_y+_h___e___i___g2___h___t__] and [_x+_w_i_d_t_h,_y+_h___e___i___g2___h___t__] and intersects
- the vertical axis at [_x+_w___i___d2___t___h__,_y] and [_x+_w___i___d2___t___h__,_y+_h_e_i_g_h_t].
- These coordinates can be fractional and so are not trun-
- cated to discrete coordinates. The path should be defined
- by the ideal mathematical path. For a wide line with
- line-width lw, the bounding outlines for filling are given
- by the two infinitely thin paths consisting of all points
- whose perpendicular distance from the path of the cir-
- cle/ellipse is equal to lw/2 (which may be a fractional
- value). The cap-style and join-style are applied the same
- as for a line corresponding to the tangent of the cir-
- cle/ellipse at the endpoint.
-
- For an arc specified as [_x,_y,_w_i_d_t_h,_h_e_i_g_h_t,_a_n_g_l_e1,_a_n_g_l_e2],
- the angles must be specified in the effectively skewed
- coordinate system of the ellipse (for a circle, the angles
- and coordinate systems are identical). The relationship
- between these angles and angles expressed in the normal
- coordinate system of the screen (as measured with a pro-
- tractor) is as follows:
-
- skewed-angle=_a_t_a_n(tan(normal-angle)*_h___w_e___i_i___d_g___t_h___h_t__)+_a_d_j_u_s_t
-
- The skewed-angle and normal-angle are expressed in radians
- (rather than in degrees scaled by 64) in the range [0,2-n]
- and where atan returns a value in the range [--n2__,-n2__] and
- adjust is:
-
- 0 for normal-angle in the range [0,-n2__]
- -n for normal-angle in the range [-n2__,3__-n2__]
- 2-n for normal-angle in the range [3__-n2__,2-n]
-
- For any given arc, _X_D_r_a_w_A_r_c and _X_D_r_a_w_A_r_c_s do not draw a
- pixel more than once. If two arcs join correctly and if
- the line-width is greater than zero and the arcs inter-
- sect, _X_D_r_a_w_A_r_c and _X_D_r_a_w_A_r_c_s do not draw a pixel more than
- once. Otherwise, the intersecting pixels of intersecting
- arcs are drawn multiple times. Specifying an arc with one
- endpoint and a clockwise extent draws the same pixels as
- specifying the other endpoint and an equivalent counter-
- clockwise extent, except as it affects joins.
-
- If the last point in one arc coincides with the first
- point in the following arc, the two arcs will join
-
-
-
- X Version 11 Release 6.1 2
-
-
-
-
-
- XDrawArc(3X11) XLIB FUNCTIONS XDrawArc(3X11)
-
-
- correctly. If the first point in the first arc coincides
- with the last point in the last arc, the two arcs will
- join correctly. By specifying one axis to be zero, a hor-
- izontal or vertical line can be drawn. Angles are com-
- puted based solely on the coordinate system and ignore the
- aspect ratio.
-
- Both functions use these GC components: function, plane-
- mask, line-width, line-style, cap-style, join-style, fill-
- style, subwindow-mode, clip-x-origin, clip-y-origin, and
- clip-mask. They also use these GC mode-dependent compo-
- nents: foreground, background, tile, stipple, tile-
- stipple-x-origin, tile-stipple-y-origin, dash-offset, and
- dash-list.
-
- _X_D_r_a_w_A_r_c and _X_D_r_a_w_A_r_c_s can generate _B_a_d_D_r_a_w_a_b_l_e, _B_a_d_G_C,
- and _B_a_d_M_a_t_c_h errors.
-
- SSTTRRUUCCTTUURREESS
- The _X_A_r_c structure contains:
-
- typedef struct {
- short x, y;
- unsigned short width, height;
- short angle1, angle2; /* Degrees * 64 */
- } XArc;
-
- All x and y members are signed integers. The width and
- height members are 16-bit unsigned integers. You should
- be careful not to generate coordinates and sizes out of
- the 16-bit ranges, because the protocol only has 16-bit
- fields for these values.
-
- DDIIAAGGNNOOSSTTIICCSS
- _B_a_d_D_r_a_w_a_b_l_e
- A value for a Drawable argument does not name a
- defined Window or Pixmap.
-
- _B_a_d_G_C A value for a GContext argument does not name a
- defined GContext.
-
- _B_a_d_M_a_t_c_h An _I_n_p_u_t_O_n_l_y window is used as a Drawable.
-
- _B_a_d_M_a_t_c_h Some argument or pair of arguments has the cor-
- rect type and range but fails to match in some
- other way required by the request.
-
- SSEEEE AALLSSOO
- XDrawLine(3X11), XDrawPoint(3X11), XDrawRectangle(3X11)
- _X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e
-
-
-
-
-
-
-
- X Version 11 Release 6.1 3
-
-
-