Class Fox::FXDC |
|
A device context is used to maintain the state of the graphics drawing system. Defining your drawing code in terms of the Abstract Device Context allows the drawing commands to be rendered on different types of surfaces, such as windows and images (FXDCWindow), or on paper (FXDCPrint). WYSYWYG may be obtained by using the same identical drawing code in your application regardless of the actual device surface being utilized.
BLT_CLR: | D := 0 |
BLT_SRC_AND_DST: | D := S & D |
BLT_SRC_AND_NOT_DST: | D := S & ~D |
BLT_SRC: | D := S |
BLT_NOT_SRC_AND_DST: | D := ~S & D |
BLT_DST: | D := D |
BLT_SRC_XOR_DST: | D := S ^ D |
BLT_SRC_OR_DST: | D := S | D |
BLT_NOT_SRC_AND_NOT_DST: | D := ~S & ~D == D := ~(S | D) |
BLT_NOT_SRC_XOR_DST: | D := ~S ^ D |
BLT_NOT_DST: | D := ~D |
BLT_SRC_OR_NOT_DST: | D := S | ~D |
BLT_NOT_SRC: | D := ~S |
BLT_NOT_SRC_OR_DST: | D := ~S | D |
BLT_NOT_SRC_OR_NOT_DST: | D := ~S | ~D == ~(S & D) |
BLT_SET: | D := 1 |
LINE_SOLID: | Solid lines |
LINE_ONOFF_DASH: | On-off dashed lines |
LINE_DOUBLE_DASH: | Double dashed lines |
CAP_NOT_LAST: | Don‘t include last end cap |
CAP_BUTT: | Butting line end caps |
CAP_ROUND: | Round line end caps |
CAP_PROJECTING: | Projecting line end caps |
JOIN_MITER: | Mitered or pointy joints |
JOIN_ROUND: | Round line joints |
JOIN_BEVEL: | Beveled or flat joints |
FILL_SOLID: | Fill with solid color |
FILL_TILED: | Fill with tiled bitmap |
FILL_STIPPLED: | Fill where stipple mask is 1 |
FILL_OPAQUESTIPPLED: | Fill with foreground where mask is 1, background otherwise |
RULE_EVEN_ODD: | Even odd polygon filling |
RULE_WINDING: | Winding rule polygon filling |
+STIPPLE_0+:: STIPPLE_NONE::
STIPPLE_BLACK: | All ones |
+STIPPLE_1+:: +STIPPLE_2+:: +STIPPLE_3+:: +STIPPLE_4+:: +STIPPLE_5+:: +STIPPLE_6+:: +STIPPLE_7+:: +STIPPLE_8+::
STIPPLE_GRAY: | 50% gray |
+STIPPLE_9+:: +STIPPLE_10+:: +STIPPLE_11+:: +STIPPLE_12+:: +STIPPLE_13+:: +STIPPLE_14+:: +STIPPLE_15+:: +STIPPLE_16+::
STIPPLE_WHITE: | All zeroes |
STIPPLE_HORZ: | Horizontal hatch pattern |
STIPPLE_VERT: | Vertical hatch pattern |
STIPPLE_CROSS: | Cross-hatch pattern |
STIPPLE_DIAG: | Diagonal // hatch pattern |
STIPPLE_REVDIAG: | Reverse diagonal \ hatch pattern |
STIPPLE_CROSSDIAG: | Cross-diagonal hatch pattern |
Methods |
Attributes |
app | [R] | Application [FXApp] |
background | [RW] | Background drawing color [FXColor] |
clipHeight | [R] | Height of clip rectangle, in pixels [Integer] |
clipRectangle | [R] | Clip rectangle [FXRectangle] |
clipRegion | [W] | Clip region [FXRegion] |
clipWidth | [R] | Width of clip rectangle, in pixels [Integer] |
clipX | [R] | X-coordinate of clip rectangle [Integer] |
clipY | [R] | Y-coordinate of clip rectangle [Integer] |
dashLength | [R] | Dash length [Integer] |
dashOffset | [R] | Dash offset [Integer] |
dashPattern | [R] | Dash pattern [String] |
fillRule | [RW] | Fill rule, one of RULE_EVEN_ODD or RULE_WINDING [Integer] |
fillStyle | [RW] | Fill style, one of FILL_SOLID, FILL_TILED, FILL_STIPPLED or FILL_OPAQUESTIPPLED [Integer] |
foreground | [RW] | Foreground drawing color [FXColor] |
function | [RW] | Raster op function, one of BLT_CLR, BLT_SRC, BLT_DST, etc. (see list above) [Integer] |
lineCap | [RW] | Line cap style, one of CAP_NOT_LAST, CAP_BUTT, CAP_ROUND or CAP_PROJECTING [Integer] |
lineJoin | [RW] | Line join style, one of JOIN_MITER, JOIN_ROUND or JOIN_BEVEL [Integer] |
lineStyle | [RW] | Line style, one of LINE_SOLID, LINE_ONOFF_DASH or LINE_DOUBLE_DASH [Integer] |
lineWidth | [RW] | Line width; a line width of zero means thinnest and fastest possible [Integer] |
stipple | [RW] | Stipple pattern [FXBitmap or Integer] |
textFont | [RW] | Font to draw text with [FXFont] |
tile | [RW] | Tile image [FXImage] |
Public Class methods |
new(app) |
Construct dummy DC
Public Instance methods |
readPixel(x, y) |
Read back pixel at (x, y)
drawPoint(x, y) |
Draw point at (x, y)
drawPoints(points) |
Draw multiple points, where points is an array of FXPoint instances.
drawPointsRel(points) |
Draw multiple points, where points is an array of FXPoint instances.
drawLine(x1, y1, x2, y2) |
Draw the line from (_x1_, _y1_) to (_x2_, _y2_).
drawLines(points) |
Draw lines, where points is an array of FXPoint instances.
drawLinesRel(points) |
Draw lines, where points is an array of FXPoint instances.
drawLineSegments(segments) |
Draw line segments, where segments is an array of FXSegment instances.
drawRectangle(x, y, w, h) |
Draw rectangle with upper-left corner at (x, y) and with width and height (w, h).
drawRectangles(rectangles) |
Draw multiple rectangles, where rectangles is an array of FXRectangle instances.
drawArc(x, y, w, h, angle1, angle2) |
Draw arcs. The argument _angle1_ specifies the start of the arc relative to the three-o’clock position from the center, in units of degrees*64. The argument _angle2_ specifies the path and extent of the arc relative to the start of the arc, in units of degrees*64. The arguments x, y, w, and h specify the bounding rectangle.
drawArcs(arcs) |
Draw arcs, where arcs is an array of FXArc instances.
fillRectangle(x, y, w, h) |
Draw filled rectangle with upper-left corner at (x, y) and with width and height (w, h).
fillRectangles(rectangles) |
Draw filled rectangles, where rectangles is an array of FXRectangle instances.
fillArc(x, y, w, h, angle1, angle2) |
Draw filled arc (see documentation for drawArc).
fillArcs(arcs) |
Draw filled arcs, where arcs is an array of FXArc instances.
fillPolygon(points) |
Filled polygon, where points is an array of FXPoint instances.
fillConcavePolygon(points) |
Filled polygon, where points is an array of FXPoint instances.
fillComplexPolygon(points) |
Filled polygon, where points is an array of FXPoint instances.
fillPolygonRel(points) |
Filled polygon with relative points, where points is an array of FXPoint instances.
fillConcavePolygonRel(points) |
Filled polygon with relative points, where points is an array of FXPoint instances.
fillComplexPolygonRel(points) |
Filled polygon with relative points, where points is an array of FXPoint instances.
drawHashBox(x, y, w, h, borderWidth=1) |
Draw hashed box with upper-left corner at (x, y) and with width and height (w, h).
drawFocusRectangle(x, y, w, h) |
Draw focus rectangle with upper-left corner at (x, y) and with width and height (w, h).
drawArea(source, sx, sy, sw, sh, dx, dy) |
Draw area from source.
drawImage(image, dx, dy) |
Draw image.
drawBitmap(bitmap, dx, dy) |
Draw bitmap.
drawIcon(icon, dx, dy) |
Draw icon.
drawIconShaded(icon, dx, dy) |
Draw icon shaded (used for disabled labels and buttons).
drawIconSunken(icon, dx, dy) |
Draw icon sunken.
drawText(x, y, string) |
Draw string at position (x, y).
drawImageText(x, y, string) |
Draw string at position (x, y).
setDashes(dashOffset, dashPattern, dashLength) |
Set dash pattern and dash offset. A dash pattern of [1 2 3 4] is a repeating pattern of 1 foreground pixel, 2 background pixels, 3 foreground pixels, and 4 background pixels. The offset is where in the pattern the system will start counting. The maximum length of the dash pattern is 32.
setClipRectangle(x, y, w, h) |
Set clip rectangle
setClipRectangle(rectangle) |
Change clip rectangle
clearClipRectangle() |
Clear clipping
setClipMask(bitmap, dx=0, dy=0) |
Set clip mask to bitmap.
clearClipMask() |
Clear clip mask
clipChildren(yes) |
Clip against child windows (where yes is either true or false)