", Hyphenation = on, Consecutive Hyphens = 2, Vert. Just. = off> ", Level 1 Show = no, Level 2 Suffix = , Level 2 Starting Value = 0, Level 2 Show = no> ", Level 1 Show = no, Level 2 Suffix = "<#04>"> ", Level 1 Show = no, Level 2 Suffix = > ", Level 1 Show = no, Level 2 Suffix = "<#04>"> Graphic Operations ) (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066 667,6))> Graphic Operations ) (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066 667,6))> <|,"6<#1e>69"> GRAPHIC OPERATIONS ) (E10,0,0,0,1,0,0.053333,1,15,0,0,1,0,0,0,0,1,0,1,0.066667,0.066667,6,6,0,0.066 667,6))> ) (T8,2,12,0.026667,0.733333,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,10 2,1101,3, <"table"> ) (T8,3,12,0.066667,0.6,0,1,0.333333,0,516,0,17,0,0,0,0,0,0,1,1,2048,512,102,110 1,3, ) (g9,5,0 (p7,5,8,19 (g9,5,0 (g9,5,0 (v4,5,0,0.266667,0,1.6,0,17,1,0) (v4,6,0,1.6,0,1.6,0.933333,17,1,0) (v4,7,0,1.6,0.933333,0.266667,0.933333,17,1,0) (v4,8,0,0.266667,0.933333,0.266667,0,17,1,0)))) (g9,10,8 (g9,10,1032 (p7,10,8,13 (g9,10,0 (g9,10,0 (v4,10,32,1.015438,0.934816,1.082808,0.784694,17,0,0) (v4,11,0,1.082808,0.784694,1.082808,0.615804,17,1,0) (v4,12,32,1.082808,0.615804,1.082808,0.46568,17,0,0) (v4,13,0,1.082808,0.46568,1.082808,0.296792,17,1,0) (v4,14,0,1.082808,0.296792,1.262455,0.296792,17,1,0) (v4,15,0,1.262455,0.296792,1.262455,0.371851,17,1,0) (v4,16,0,1.262455,0.371851,1.464561,0.371851,17,1,0) (v4,17,0,1.464561,0.371851,1.464561,0.259259,17,1,0) (v4,18,0,1.464561,0.259259,1.329824,0.14667,17,1,0) (v4,19,0,1.329824,0.14667,1.015438,0.14667,17,1,0) (v4,20,0,1.015438,0.14667,0.880702,0.259259,17,1,0) (v4,21,0,0.880702,0.259259,0.880702,0.822225,17,1,0) (v4,22,0,0.880702,0.822225,1.015438,0.934816,17,1,0)))) (p7,24,8,13 (g9,24,0 (g9,24,0 (v4,24,0,1.329824,0.934816,1.015438,0.934816,17,1,0) (v4,25,32,1.015438,0.934816,1.082808,0.784694,17,0,0) (v4,26,0,1.082808,0.784694,1.262455,0.784694,17,1,0) (v4,27,0,1.262455,0.784694,1.262455,0.615804,17,1,0) (v4,28,0,1.262455,0.615804,1.082808,0.615804,17,1,0) (v4,29,32,1.082808,0.615804,1.082808,0.46568,17,0,0) (v4,30,0,1.082808,0.46568,1.329824,0.46568,17,1,0) (v4,31,0,1.329824,0.46568,1.464561,0.578266,17,1,0) (v4,32,0,1.464561,0.578266,1.464561,0.822225,17,1,0) (v4,33,0,1.464561,0.822225,1.329824,0.934816,17,1,0))))) (g9,34,2048 (v4,34,33,0.813333,0.14667,0.813333,0.14667,17,0,0) (v4,35,33,0.813333,1.16,0.813333,1.16,17,0,0) (v4,36,33,1.53193,1.16,1.53193,1.16,17,0,0) (v4,37,33,1.53193,0.14667,1.53193,0.14667,17,0,0)))) (E10,0,0,0,1,1,0.053333,1,15,0,0,1,0,0,0,0,1,1,1,0.066667,0.066667,6,6,0,0.066 667,6))> Introduction6.1<#04>Once connected to an X server, a client can use CLX functions to perform graphic operations on drawables. This section describes CLX functions to: wOperate on areas and planes wDraw points wDraw lines wDraw rectangles wDraw arcs wDraw text Area and Plane6.2<#04>clear<#1e>area clears an area or an entire window to the background. OperationsSince pixmaps do not have backgrounds, they cannot be filled by using the functions described in the following paragraphs. Instead, you should use draw<#1e>rectangle, which sets the pixmap to a known value. See paragraph 6.5, Drawing Rectangles, for information on draw<#1e>rectangle. clear<#1e>area window &key (:x 0) (:y 0) :width :height :exposures<#1e>pFunctionarea", Sort String = "clear<#1e>area"> Draws a rectangular area in the specified window with the background pixel or pixmap of the window. The :x and :y coordinates are relative to the window origin, and specify the upper<#1e>left corner of the rectangular area that is to be cleared. A nil or zero value for :height or :width clears the remaining area (height - y or width - x). If the window has a defined background tile, the rectangle is tiled by using a plane<#1e>mask of all ones and a function of :copy . If the window has background :none, the contents of the window are not changed. In either case, if :exposures<#1e>p is non<#1e>nil, then one or more :exposure events are generated for regions of the rectangle that are either visible or are being retained in a backing store. To clear the entire area in a specified window, use (clear<#1e>a rea window). window <#1f> A window. :x, :y <#1f> Upper<#1e>left corner of the area to be cleared. These coordinates are relative to the window origin. Type is int16. :width <#1f> The width of the area to clear or nil to clear to the remaining width of the window. Type is card16 or null. :height <#1f> The height of the area to clear or nil to clear to the remaining height of the window. Type is card16 or null. :exposures<#1e>p <#1f> Specifies if :exposure events should be generated for the affected areas. Type boolean. <|,"6<#1e>70">copy<#1e>area source gcontext source<#1e>x source<#1e>y width height Functionarea", Sort String = "copy<#1e>area">
destination destination<#1e>x destination<#1e>y Copies the specified rectangular area from the source drawable to the specified rectangular area of the destination drawa ble, combining them as specified in the supplied graphics context (gcontext). The x and y coordinates are relative to their respective drawable origin, with each pair specifying the upper left corner of the area. If either regions of the source area are obscured and have not been retained in backing store, or regions outside the boundaries of the source drawable are specified, those regions are not copied. Instead, the following occurs on all corresponding destina tion regions that are either visible or are retained in backing store: wIf the destination rectangle is a window with a background other than :none, these corresponding regions of the destination are tiled, using plane<#1e>mask of all ones and function of boole<#1e>1 (copy source), with that background. wIf the exposures attribute of the graphics context is :on, then :graphics<#1e>exposure events for all corresponding destination regions are generated (regardless of tiling or whether the destination is a window or a pixmap). wIf exposures is :on but no regions are exposed, a :no<#1e>exposure event is generated. Note that by default, exposures is :on for new graphics contexts. See Section 5, Graphics Contexts, for further information. source <#1f> Source drawable. gcontext <#1f> The graphics context to use during the copy operation. source<#1e>x, source<#1e>y <#1f> The x and y coordinates of the upper<#1e>left corner of the area in the source drawable. These coordinates are relative to the source drawable origin. Type is int16. width, height <#1f> The width and height of the area being copied. These apply to both the source and destination areas. Type is card16. destination <#1f> The destination drawable. destination<#1e>x, destination<#1e>y <#1f> The x and y coordinates of the upper left corner of the area in the destinatio n drawable. These coordinates are relative to the destinati on drawable origin. Type is int16. copy<#1e>plane source gcontext plane source<#1e>x source<#1e>y width height Functionplane", Sort String = "copy<#1e>plane">
destination destination<#1e>x destination<#1e>y Uses a single bit plane of the specified rectangular area of the source drawable along with the specified graphics context (gcontext) to modify the specified rectangle area of the destina tion drawable. The drawables specified by the source and destination arguments must have the same root but need not have the same depth. Effectively, this operation forms a pixmap of the same depth as destinatio n and with a size specified by the source area. It then uses the foreground and background from the graphics context (foreground where the bit<#1e>plane in source contains a one bit, background where the bit<#1e>plane in source contains a zero bit), and the equivalent of a copy<#1e>area operation is performed with all the same exposure semantics. This can also be thought of as using the specified region of the source bit<#1e>plane as a stipple with a fill<#1e>style of :opaque<#1e>stippled for filling a rectangular area of the destination. source <#1f> The source drawable. gcontext <#1f> The graphics context to use during the copy operation. <|,"6<#1e>71">plane <#1f> Specifies the bit<#1e>plane of the source drawable. Exactly one bit must be set. Type is pixel. source<#1e>x, source<#1e>y <#1f> The x and y coordinates of the upper<#1e>left corner of the area in the source drawable. These coordinates are relative to the source drawable origin. Type is int16 . width, height <#1f> The width and height of the area being copied. These apply to both the source and destinatio n areas. Type is card16. destination <#1f> The destination drawable. destination<#1e>x, destination<#1e>y <#1f> The x and y coordinates of the upper<#1e>left corner of the destination area in the destination drawable. These coordinates are relative to the destination drawable origin. Type is int16. Drawing Points6.3<#04>The draw<#1e>point and draw<#1e>points functions make use of the following graphics context components: function, plane<#1e>mask, foreground, subwindow<#1e>mode, clip<#1e>x, clip<#1e>y, clip<#1e>ordering, clip<#1e>region and clip<#1e>mask. The draw<#1e>point function uses the foreground pixel and function components of the graphics context to draw a single point into the specified drawable, while draw<#1e>points draws multiple points into the specified drawable. These functions are not affected by the tile or stipple in the graphics context. draw<#1e>point drawable gcontext x yFunctionpoint", Sort String = "draw<#1e>point"> Combines the foreground pixel in the gcontext with the pixel in the drawable specified by the x and y coordinates. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the point. x, y <#1f> The x and y coordinates of the point drawn. Type is int16. draw<#1e>points drawable gcontext points &optional relative<#1e>pFunctionpoints", Sort String = "draw<#1e>points"> Combines the foreground pixels in the graphics context with the pixels at each point in the drawable. The points are drawn in the order listed. draw<#1e>points requires a mode argument, relative<#1e>p that indicates whether the points are relative to the destination origin or to the previous point. In either case, the first point is always relative to the destination origin. The rest of the points are relative either to the drawable's origin or to the previous point, depending on the value of relative<#1e>p. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the points. points <#1f> A list of points to be drawn in the order listed. The first point is always relative to the drawable's origin; if relative<#1e>p, the rest of the points are drawn relative to the previous point, else they are drawn relative to the drawable's origin. Type is point<#1e>seq. relative<#1e>p <#1f> Specifies the coordinate mode used for drawing the pixels either relative to the origin or to the previous point. Type boolean. Drawing Lines6.4<#04>The draw<#1e>line, draw <#1e>lines, and draw<#1e>segments functions use the following graphics context components: background, cap<#1e>style, clip<#1e>x<#1e>origin, clip<#1e>y<#1e>origin, clip<#1e>mask, dash<#1e>list, dash<#1e>offset, fill<#1e>style, foreground, function, plane<#1e>mask, line<#1e>width, line<#1e>style, stipple, subwindow<#1e>mode, tile, ts<#1e>x<#1e>origin, and ts<#1e>y<#1e>origin. <|,"6<#1e>72">The draw<#1e>lines function also uses the join<#1e>style graphics context component. draw<#1e>line drawable gcontext x1 y1 x2 y2 &optional relative<#1e>pFunctionline", Sort String = "draw<#1e>line"> Draws a line from the point x1,y1 to the point x2 ,y2. When relative<#1e>p is true, the first point is relative to the destination origin but the second point is relative to the first point. When relative<#1e>p is nil, both points are relative to the destination origin. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the line. x1, y1, x2, y2 <#1f> The end points of the line. relative<#1e>p <#1f> Specifies the coordinate mode used for drawing the line either relative to the origin or the previous point. In either case, the first point is always drawn relative to the drawable's origin. draw<#1e>lines drawable gcontext points &key :relative<#1e>p :fill<#1e>p Functionlines", Sort String = "draw<#1e>lines">
(:shape :complex) Draws a line between each pair of points in the points list. The lines are drawn in the order listed and join correctly at all intermediate points. The join<#1e>style graphics context component defines the type of joint to use. When the first and last points coincide, the first and last lines also join correctly to produce a hollow polygon. When :relative<#1e>p is true, the first point is always relative to the destination origin, but the rest are relative to the previous point. When :relative<#1e>p is nil, the rest of the points are drawn relative to the destination origin. When :fill<#1e>p is true, the polygon defined by the points list is filled. The :shape keyword provides the server with a hint about how to fill the polygon. :shape can be either :complex (by default), :convex, or :non<#1e>con vex. The :convex operand is the simplest type of area and the fastest to fill. A fill area is convex if every straight line connecting any two interior points is entirely inside the area. For example, triangles and rectangles are convex polygons. The :non<#1e>convex operand is for filling an area that is not convex and is also not self<#1e>intersecting. Filling this type of area is harder than filling a convex area, but easier than filling one that is self<#1e>intersecting. For example, the shape of the letter <#7f>T" is non<#1e>convex and non<#1e>self<#1e>intersecting. The :complex operand is the most general (and therefore the hardest) type of fill area. A complex fill area can be non<#1e>convex and self<#1e>intersecting. For example, draw the outline of a bow tie, without lifting your pencil or tracing over an edge twice. This shape is non<#1e>convex and intersects itself at the knot in the middle. <"note", Top Margin = 0.15 inches, Bottom Margin = 0.15 inches>
NOTE: Unless you are sure that a shape is :convex or :non<#1e>convex, it should always be drawn as a :complex shape. If :convex or :non<#1e>convex is specified incorrectly, the graphics result is undefined.
drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the lines. points <#1f> A list of points that define the lines. Type is point<#1e> seq. :relative<#1e>p <#1f> The coordinate mode of the points. <|,"6<#1e>73">:fill<#1e>p <#1f> When true, a filled polygon is drawn instead of a polyline. :shape <#1f> A hint that allows the server to use the most efficient area fill algorithm. Either :convex, :non<#1e>convex, or :complex. draw<#1e>segments drawable gcontext segmentsFunctionsegments", Sort String = "draw<#1e>segments"> Draws multiple lines, not necessarily connected. segments is a sequence of the form {x1 y1 x2 y2}*, in which each subsequence specifies the endpoints of a line segment. Line segments are drawn in the order given bysegments. Unlike draw<#1e>lines, no joining is performed at coincident endpoints. drawable <#1f> The destination drawable to receive the line segments. gcontext <#1f> Specifies the graphics context for drawing the lines. segments <#1f> The points list for the segments to draw. Type is seq. Drawing 6.5<#04>The draw<#1e>rectangle and draw<#1e>rectangles functions draw hollow or Rectanglesfilled outlines of the specified rectangle or rectangles as if a five<#1e>point polyline were specified for each rectangle, as follows: [x,y,] [x+width,y] [x+width,y+height] [x,y+height] [x,y] draw<#1e>rectangle and draw<#1e>rectangles use the following graphics context components: background, function, plane<#1e>mask , foreground, subwindow<#1e>mode, cap<#1e>style, clip<#1e>x, clip<#1e>y, clip<#1e>ordering, clip<#1e>region and clip<#1e>mask, dash<#1e>list, dash<#1e>offset, fill<#1e>style, join<#1e>style, line<#1e>width, line<#1e>style , stipple, tile, ts<#1e>x<#1e>origin, and ts<#1e>y<#1e>origin. draw<#1e>rectangle drawable gcontext x y width height &optional fill<#1e>pFunctionrectangle", Sort String = "draw<#1e>rectangle"> Draws a rectangle defined by the x, y, width, and height arguments. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the rectangle. x, y <#1f> The x and y coordinates that define the upper left corner of the rectangle. The coordinates are relative to the destination origin. Type is int16. width, height <#1f> Specifies the width and height that define the outline of the rectangle. Type is card16. fill<#1e>p <#1f> Specifies whether the rectangle is filled or not. Type boolean. draw<#1e>rectangles drawable gcontext rectangles &optional fill<#1e>pFunctionrectangles", Sort String = "draw<#1e>rectangles"> Draws the rectangles in the order listed in rectangles. For the specified rectangle or rectangles, no pixel is drawn more than once. The x and y coordinates of each rectangle are relative to the destination origin and define the upper left corner of the rectangle. If rectangles intersect, the intersecting pixels are drawn multiple times. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context. rectangles <#1f> A list specifying the upper left corner x and y, width and height of the rectangles. Type is rect<#1e>seq. fill<#1e>p <#1f> Specified if the rectangles are filled or not. Type is boolean. <|,"6<#1e>74"> Drawing Arcs6.6<#04> draw<#1e>arc draws a single circular or an elliptical arc, while draw<#1e>arcs draws multiple circular or elliptical arcs. draw<#1e>arc and draw<#1e>arcs use the following graphics context components: arc<#1e>mode, background, cap<#1e>style, clip<#1e>x, clip<#1e>y, clip<#1e>mask, dash<#1e>list, dash<#1e>offset, fill<#1e>style, foreground, join<#1e>style, function, plane<#1e>mask, line<#1e>width, line<#1e>style, stipple, subwindow<#1e>mode, tile, ts<#1e>x<#1e>origin, and ts<#1e>y<#1e>origin. draw<#1e>arc drawable gcontext x y width height angle1 angle2 &option al fill<#1e>pFunctionarc", Sort String = "draw<#1e>arc"> Draws either a circular or an elliptical arc. Also, outlined or filled arcs can be drawn. Each arc is specified by a rectangle (x, y, width, and height) and two angles (angle1 and angle2). The angles are signed integers in radians, with positive indicating counterclockwise motion and negative indicating clockwise motion. The start of the arc is specified by angle1 , and the path and extent of the arc is specified by angle2 relative to the start of the arc. If the magnitude of angle2 is greater than 360 degrees, it is truncated to 360 degrees. The x and y coordinates of the rectangle are relative to the drawable 's origin. For example, an arc specified as [x,y,width, height,angle1,angle2] has the origin of the major and minor axes at: [x+(width/2),y+(height/2)] The infinitely thin path describing the entire circle/ellipse intersects the horizontal axis at: [x,y+(height/2)] and [x+width ,y+(height/2)] The intersection of the vertical axis is at: [x+(width/2),y] and [x+(width /2),y+height] These coordinates can be fractional; that is, they are not truncated to discrete coordinates. Note that the angle values are slightly different in CLX than in the X protocol specification. If fill<#1e>p is nil, then only the outline of the arc is drawn. Otherwise, if fill<#1e>p is true, draw<#1e>arc fills the area bounded by the arc outline and one or two line segments, depending on the arc<#1e>mode. If the arc<#1e>mode is :chord , the filled area is bounded by the arc outline and the line segment joining the arc end points. If the arc<#1e>mode is :pie<#1e>slice , the filled area is bounded by the arc outline and the two line segments joining each arc end point with the center point. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing the arc. x, y <#1f> The x and y coordinates of the arc rectangle relative to the origin of the drawable. Type is int16. width, height <#1f> Specifies the width and height of the rectangle. These are the major and minor axes of the arc. Type is card16. angle1 <#1f> Specifies the start of the arc in radians. Type is angle. angle2 <#1f> Specifies the direction and end point of the arc. Type is angle. fill<#1e>p <#1f> Specifies whether the arc is filled or not. Type boolean. <|,"6<#1e>75">draw<#1e>arcs drawable gcontext arcs &optional fill<#1e>pFunctionarcs", Sort String = "draw<#1e>arcs"> Draws circular or elliptical, outlined or filled arcs. Each arc is specified by a rectangle and two angles. For a more detailed description, see draw<#1e>arc. The arcs are filled in the order listed. For any given arc, no pixel is drawn more than once. If regions intersect, the intersecting pixels are drawn multiple times. drawable <#1f> Specifies the drawable where you want the arcs drawn. gcontext <#1f> Specifies the graphics context for drawing the arc. arcs <#1f> A sequence containing the width, height, angle1, and angle2 arguments defining the arcs. See draw<#1e>arc for more detail. Type is arc<#1e>seq. fill<#1e>p <#1f> Specifies whether the arcs are filled or not. Type is boolean. Drawing Text6.7<#04>CLX provides functions for drawing text using text fonts provided by theX server. An X font is array of character bit maps indexed by integercodes. See Section 8 for a complete discussion of the CLX functionsused to manage fonts and characters.<#04> Since Common Lisp programs typically represent text as sequences of characters (that is, strings), CLX text functions must be prepared toconvert a Common Lisp character into the integer code used to index theappropriate character bitmap in a given font. The :translate argumentto a text function is a function which performs this conversion. The default :translate function handles all characters that satisfygraphic<#1e>char<#1e>p by converting each character into its ASCII code. Notethat the assumption made by the default :translate function<#1f>that is,that an X font indexes bitmaps by ASCII codes<#1f>is often valid, butother encodings are possible. In general, a :translate function can perform complex transformations. It can be used to convertnon<#1e>chara cter input, to handle non<#1e>ASCII character encodings, and to change the fonts used to access character bitmaps. The complete behavior of a :translate function is given below by describing aprototypic al translate<#1e>function. CLX offers two different ways to draw text<#1f>filled text and block text. The draw<#1e>glyph and draw<#1e>glyphs functions create filled text, in which each character image is treated as an area to be filled according to the fill<#1e>style of the given graphics context, without otherwise disturbing the surrounding background. In addition, filledtext sends a complex type of server request which allows a series of fontindices, font changes, and horizontal position changes to be compiledinto a single request. Filled text functions use the following graphicscontext attributes: background, clip<#1e>mask, clip<#1e>x<#1e>origin, clip<#1e>y<#1e>origin,fill<#1e>style, font, foreground, function, plane<#1e>mask, stipple,subwindow<#1e>mode, tile, ts<#1e>x<#1e>origin, ts<#1e>y<#1e>origin. Block text is a rendering style commonly used by display terminals, in which each character image appears in the foreground pixel inside arectangular character cell drawn in the graphics context backgroundpixel. The draw<#1e>image<#1e>glyph and draw<#1e>i mage<#1e>glyphs functions createblock text. Block text functions use the following graphics context attributes: background, clip<#1e>mask, clip<#1e>x<#1e>origin, clip<#1e>y<#1e>origin, font,foreground, plane<#1e>mask, stipple, subwindow<#1e>mode, tile, ts<#1e>x<#1e>origin,ts<#1e> y<#1e>origin. <|,"6<#1e>76">draw<#1e>glyph drawable gcontext x y element &key :translate :widthFunction glyph", Sort String = "draw<#1e>glyph">
(:size :default) Returns:
output<#1e>p <#1f> Type boolean.
width <#1f> Type int32 or null. Draws a single character of filled text represented by the given element .The given x and y specify the left baseline position for the character.The first return value is true if the character is successfullytranslated and drawn, or nil if the :translate function did nottranslate it. The second return value gives the total pixel width of the character actually drawn, if known. Specifying a :width is a hint to improve performance. The :width is assumed to be the total pixel width of the character actually drawn.Specifying :width permits appending the output of subsequent callsto the same protocol request, provided gcontext has not been modified inthe interim. If :width is not specified, appending of subsequent output might not occur (unless :translate returns the character width). The :size specifies the element size of the destination buffer given to :translate (either 8, 16, or :default). If :default is specified, thesize is based on the current font, if known; otherwise, 16 is used. drawable <#1f> The destination drawable. gcontext<#1f> The graphics context for drawing text. x, y <#1f> The left baseline position for the character drawn. element<#1f> A character or other object to be translated into a font index. :translate <#1f> A function to translate text to font indexes. Default is #'translate<#1e>default. :width <#1f> The total pixel width of the character actually drawn, if known. :size <#1f> Specifies the element size of the destination buffer given to :translate (8, 16, or :default). draw<#1e>glyphs drawable gcontext x y sequence &key (:start 0) :end :translateFunctionglyphs", Sort String = "draw<#1e>glyphs">
:width (:size :default) Returns:
new<#1e>start <#1f> Type array<#1e>index or null .
width <#1f> Type int32 or null. Draws the filled text characters represented by the given sequence.:st art and :end define the elements of the sequence which are drawn. Thegiven x and y specify the left baseline position for the first character. The first return value is nil if all characters aresuccessfully translated and drawn; otherwise, the index of the firstuntranslated sequence element is returned. The second return valuegives the total pixel width of the characters actually drawn, if known. Specifying a :width is a hint to improve performance. The :width is assumed to be the total pixel width of the character sequence actuallydrawn. Specifying :width permits appending the output of subsequentcalls to the same protocol request, provided g context has not beenmodified in the interim. If :width is not specified, appending ofsubsequent output might not occur (unless :translate returns thecharacter width). The :size specifies the element size of the destination buffer given to:translate (either 8, 16, or :default). If :default is specified, the size is based on the current font, if known; otherwise, 16 is used. drawable <#1f> The destination drawable. <|,"6<#1e>77">gcontext <#1f> The graphics context for drawing text. x, y <#1f> The left baseline position for the character drawn. sequence <#1f> A sequence of characters or other objects to be translated into font indexes. :start, :end <#1f> Start and end indexes defining the elements to draw. :translate <#1f> A function to translate text to font indexes. Default is#'translate<#1e>default. :width <#1f> The total total pixel width of the character actually drawn, if known. :size <#1f> The element size of the destination buffer given to :translate (8,16, or :default). draw<#1e>image<#1e>glyph drawable gcontext x y element &key :translate :widthFunction image<#1e>glyph", Sort String = "draw<#1e>image<#1e>glyph">
(:size :default) Returns:
output<#1e>p <#1f> Type boolean.
width <#1f> Type int32 or null. Draws a single character of block text represented by the given element .The given x and y specify the left baseline position for the character.The first return value is true if the character is successfullytranslated and drawn, or nil if the :translate function did nottranslate it. The :transla te function is allowed to return an initialfont change. The second return value gives the total pixel width of thecharacter actually drawn, if known. The :translate function may not return a horizontal position change,since draw<#1e>image<#1e>glyph does not generate complex output requests. Specifying a :width is a hint to improve performance. The :width isassumed to be the total pixel width of the character actually drawn.Specifying :width permits appending the output of subsequent callsto the same protocol request, provided gcontext has not been modified in the interim. If :width is not specified, appending of subsequent output might not occur (unless :translate returns the character width). The :size specifies the element size of the destination buffer given to :translate (either 8, 16, or :default). If :default is specified, the size is based on the current font, if known; otherwise, 16 is used. drawable <#1f> The destination drawable. gcontext <#1f> The graphics context for drawing text. x, y <#1f> The left baseline position for the character drawn. element <#1f> A character or other object to be translated into a font index. :translate <#1f> A function to translate text to font indexes. Default is #'translate<#1e>default. :width <#1f> The total pixel width of the character actually drawn, if known. :size <#1f> Specifies the element size of the destination buffer given to:translate (8, 16, or :default). <|,"6<#1e>78">draw<#1e>image<#1e>glyphs drawable gcontext x y sequence &key (:start 0) :end Functionimage<#1e>glyphs", Sort String = "draw<#1e>image<#1e>glyphs">
:translate :width (:size :default) Returns:
new<#1e>start <#1f> Type array<#1e>index or null .
width <#1f> Type int32 or null. Draws the block text characters represented by the given sequence. :start and :end define the elements of the sequence which are drawn. Thegiven x and y specify the left baseline position for the firstcharacter. The first return value is nil if all characters aresuccessfully translated and drawn; otherwise, the index of the firstuntranslated sequence element is returned. The :translate function isallowed to return an initial font change. The second return value givesthe total pixel width of the characters actually drawn, if known. The :translate function may not return a horizontal position change,since draw<#1e>image<#1e>glyphs does not generate complex output requests. Specifying a :width is a hint to improve performance. The :width isassumed to be the total pixel width of the character sequence actuallydrawn. Specifying :width permits appending the output of subsequentcalls to the same protocol request, provided gcont ext has not been modified in the interim. If :width is not specified, appending of subsequent output might not occur (unless : translate returns thecharacter width). The :size specifies the element size of the destination buffer given to:translate (either 8, 16, or :default). If :default is specified, thesize will be based on the current font, if known; otherwise, 16 is used. drawable <#1f> The destination drawable. x, y <#1f> The left baseline position for the character drawn. gcontext <#1f> The graphics context for drawing text. sequence<#1f> A sequence of characters or other objects to be translated into font indexes. :start, :end<#1f> Start and end indexes defining the elements to draw. :translate <#1f> A function to translate text to font indexes. Default is #'translate<#1e>default. :width <#1f> The total total pixel width of the character actually drawn, ifknown. :size <#1f> The element size of the destination buffer given to :translate (8,16, or :default). translate<#1e>function source source<#1e>start source<#1e>end font destinationFunctionfunction", Sort String = "translate<#1e>function">
destination<#1e>start Returns:
first<#1e>not<#1e>done <#1f> Type array<#1e>index.
to<#1e>continue <#1f> Type int16, font, or null.
current<#1e>width <#1f> Type int32 or null. A function used as the :translate argument for text functions. Converts elements of the source (sub)sequence into font indexes for the given font and stores them into the destination vector. <|,"6<#1e>79">The destination vector is created automatically by CLX. destination is guaranteed to have room for (- source<#1e>en d source<#1e>start) integer elements, starting at destination<#1e>sta rt. Elements of destination can be either card8or card16 integers, depending on the context. font is the current font, if known, or nil otherwise. Starting with the element at source<#1e>start,translate<#1e>function should translate as many elements of source as possible(up to the source<#1e>end element) into indexes in the current font , and storethem into destination. The first return value should be the source index ofthe first untranslated element. The second return value indicates the changes which should be made to the current text output request before translating the remaining source elements. If no further elements need to be translated, the second returnvalue should be nil. If a horizontal motion is required before furthertranslation, the second return value should be the change in x position. Ifa font change is required for further translation, the second return valueshould be the new font. If known, the pixel width of the translated text can be returned as thethird value; this can allow for appending of subsequent output to the sameprotocol request, if no overall width has been specified at the higher level. source <#1f> A sequence of characters or other objects to be translated. source<#1e>start <#1f> An array<#1e>index specifying the first source element to be translated. source<#1e>end <#1f> An array<#1e>index specifying the end of the source subsequence to be translated. font <#1f> The font indexed by translated source elements. destination <#1f> A vector where translated source elements are stored. destination<#1e>start <#1f> An array<#1e>index specifying the position to begin storing translatedsource elements. <|,"6<#1e>80"> .