public final class GC extends Resource
GC
is where all of the drawing capabilities that are
supported by SWT are located. Instances are used to draw on either an
Image
, a Control
, or directly on a Display
.
The SWT drawing coordinate system is the two-dimensional space with the origin (0,0) at the top left corner of the drawing area and with (x,y) values increasing to the right and downward respectively.
The result of drawing on an image that was created with an indexed palette using a color that is not in the palette is platform specific. Some platforms will match to the nearest color while other will draw the color itself. This happens because the allocated image might use a direct palette on platforms that do not support indexed palette.
Application code must explicitly invoke the GC.dispose()
method to release the operating system resources managed by each instance
when those instances are no longer required. This is particularly
important on Windows95 and Windows98 where the operating system has a limited
number of device contexts available.
Note: Only one of LEFT_TO_RIGHT and RIGHT_TO_LEFT may be specified.
Modifier and Type | Field and Description |
---|---|
(package private) static int |
BACKGROUND |
(package private) static int |
BACKGROUND_TEXT |
(package private) static int |
BRUSH |
(package private) GCData |
data |
(package private) static int |
DRAW |
(package private) static int |
DRAW_OFFSET |
(package private) Drawable |
drawable |
(package private) static int |
FILL |
(package private) static int |
FONT |
(package private) static int |
FOREGROUND |
(package private) static int |
FOREGROUND_TEXT |
int |
handle
the handle to the OS device context
(Warning: This field is platform dependent)
IMPORTANT: This field is not part of the SWT
public API.
|
(package private) static int |
LINE_CAP |
(package private) static float[] |
LINE_DASH_ZERO |
(package private) static float[] |
LINE_DASHDOT_ZERO |
(package private) static float[] |
LINE_DASHDOTDOT_ZERO |
(package private) static float[] |
LINE_DOT_ZERO |
(package private) static int |
LINE_JOIN |
(package private) static int |
LINE_MITERLIMIT |
(package private) static int |
LINE_STYLE |
(package private) static int |
LINE_WIDTH |
(package private) static int |
NULL_BRUSH |
(package private) static int |
NULL_PEN |
(package private) static int |
PEN |
Constructor and Description |
---|
GC()
Prevents uninitialized instances from being created outside the package.
|
GC(Drawable drawable)
Constructs a new instance of this class which has been
configured to draw on the specified drawable.
|
GC(Drawable drawable,
int style)
Constructs a new instance of this class which has been
configured to draw on the specified drawable.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
checkGC(int mask) |
(package private) static int |
checkStyle(int style) |
void |
copyArea(Image image,
int x,
int y)
Copies a rectangular area of the receiver at the specified
position into the image, which must be of type
SWT.BITMAP . |
void |
copyArea(int srcX,
int srcY,
int width,
int height,
int destX,
int destY)
Copies a rectangular area of the receiver at the source
position onto the receiver at the destination position.
|
void |
copyArea(int srcX,
int srcY,
int width,
int height,
int destX,
int destY,
boolean paint)
Copies a rectangular area of the receiver at the source
position onto the receiver at the destination position.
|
(package private) static int |
createGdipFont(int hDC,
int hFont,
int graphics,
int fontCollection,
int[] outFamily,
int[] outFont) |
(package private) void |
destroy()
Disposes of the operating system resources associated with
the graphics context.
|
(package private) static void |
destroyGdipBrush(int brush) |
(package private) void |
disposeGdip() |
void |
drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
Draws the outline of a circular or elliptical arc
within the specified rectangular area.
|
(package private) void |
drawBitmap(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple) |
(package private) void |
drawBitmap(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple,
BITMAP bm,
int imgWidth,
int imgHeight) |
(package private) void |
drawBitmapAlpha(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple,
BITMAP bm,
int imgWidth,
int imgHeight) |
(package private) void |
drawBitmapMask(Image srcImage,
int srcColor,
int srcMask,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple,
int imgWidth,
int imgHeight,
boolean offscreen) |
(package private) void |
drawBitmapTransparent(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple,
BITMAP bm,
int imgWidth,
int imgHeight) |
(package private) void |
drawBitmapTransparentByClipping(int srcHdc,
int maskHdc,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple,
int imgWidth,
int imgHeight) |
void |
drawFocus(int x,
int y,
int width,
int height)
Draws a rectangle, based on the specified arguments, which has
the appearance of the platform's focus rectangle if the
platform supports such a notion, and otherwise draws a simple
rectangle in the receiver's foreground color.
|
(package private) void |
drawIcon(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple) |
void |
drawImage(Image image,
int x,
int y)
Draws the given image in the receiver at the specified
coordinates.
|
void |
drawImage(Image image,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight)
Copies a rectangular area from the source image into a (potentially
different sized) rectangular area in the receiver.
|
(package private) void |
drawImage(Image srcImage,
int srcX,
int srcY,
int srcWidth,
int srcHeight,
int destX,
int destY,
int destWidth,
int destHeight,
boolean simple) |
void |
drawLine(int x1,
int y1,
int x2,
int y2)
Draws a line, using the foreground color, between the points
(
x1 , y1 ) and (x2 , y2 ). |
void |
drawOval(int x,
int y,
int width,
int height)
Draws the outline of an oval, using the foreground color,
within the specified rectangular area.
|
void |
drawPath(Path path)
Draws the path described by the parameter.
|
void |
drawPoint(int x,
int y)
Draws a pixel, using the foreground color, at the specified
point (
x , y ). |
void |
drawPolygon(int[] pointArray)
Draws the closed polygon which is defined by the specified array
of integer coordinates, using the receiver's foreground color.
|
void |
drawPolyline(int[] pointArray)
Draws the polyline which is defined by the specified array
of integer coordinates, using the receiver's foreground color.
|
void |
drawRectangle(int x,
int y,
int width,
int height)
Draws the outline of the rectangle specified by the arguments,
using the receiver's foreground color.
|
void |
drawRectangle(Rectangle rect)
Draws the outline of the specified rectangle, using the receiver's
foreground color.
|
void |
drawRoundRectangle(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
Draws the outline of the round-cornered rectangle specified by
the arguments, using the receiver's foreground color.
|
(package private) void |
drawRoundRectangleGdip(int gdipGraphics,
int pen,
int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
void |
drawString(java.lang.String string,
int x,
int y)
Draws the given string, using the receiver's current font and
foreground color.
|
void |
drawString(java.lang.String string,
int x,
int y,
boolean isTransparent)
Draws the given string, using the receiver's current font and
foreground color.
|
(package private) RectF |
drawText(int gdipGraphics,
char[] buffer,
int start,
int length,
int x,
int y,
int flags,
int mnemonicIndex,
TEXTMETRIC lptm,
boolean draw) |
(package private) void |
drawText(int gdipGraphics,
java.lang.String string,
int x,
int y,
int flags,
Point size) |
void |
drawText(java.lang.String string,
int x,
int y)
Draws the given string, using the receiver's current font and
foreground color.
|
void |
drawText(java.lang.String string,
int x,
int y,
boolean isTransparent)
Draws the given string, using the receiver's current font and
foreground color.
|
void |
drawText(java.lang.String string,
int x,
int y,
int flags)
Draws the given string, using the receiver's current font and
foreground color.
|
(package private) void |
drawTextGDIP(int gdipGraphics,
java.lang.String string,
int x,
int y,
int flags,
boolean draw,
Point size) |
boolean |
equals(java.lang.Object object)
Compares the argument to the receiver, and returns true
if they represent the same object using a class
specific comparison.
|
void |
fillArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
Fills the interior of a circular or elliptical arc within
the specified rectangular area, with the receiver's background
color.
|
void |
fillGradientRectangle(int x,
int y,
int width,
int height,
boolean vertical)
Fills the interior of the specified rectangle with a gradient
sweeping from left to right or top to bottom progressing
from the receiver's foreground color to its background color.
|
void |
fillOval(int x,
int y,
int width,
int height)
Fills the interior of an oval, within the specified
rectangular area, with the receiver's background
color.
|
void |
fillPath(Path path)
Fills the path described by the parameter.
|
void |
fillPolygon(int[] pointArray)
Fills the interior of the closed polygon which is defined by the
specified array of integer coordinates, using the receiver's
background color.
|
void |
fillRectangle(int x,
int y,
int width,
int height)
Fills the interior of the rectangle specified by the arguments,
using the receiver's background color.
|
void |
fillRectangle(Rectangle rect)
Fills the interior of the specified rectangle, using the receiver's
background color.
|
void |
fillRoundRectangle(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
Fills the interior of the round-cornered rectangle specified by
the arguments, using the receiver's background color.
|
(package private) void |
fillRoundRectangleGdip(int gdipGraphics,
int brush,
int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
(package private) void |
flush() |
boolean |
getAdvanced()
Returns
true if receiver is using the operating system's
advanced graphics subsystem. |
int |
getAdvanceWidth(char ch)
Returns the advance width of the specified character in
the font which is currently selected into the receiver.
|
int |
getAlpha()
Returns the receiver's alpha value.
|
int |
getAntialias()
Returns the receiver's anti-aliasing setting value, which will be
one of
SWT.DEFAULT , SWT.OFF or
SWT.ON . |
Color |
getBackground()
Returns the background color.
|
Pattern |
getBackgroundPattern()
Returns the background pattern.
|
int |
getCharWidth(char ch)
Returns the width of the specified character in the font
selected into the receiver.
|
Rectangle |
getClipping()
Returns the bounding rectangle of the receiver's clipping
region.
|
void |
getClipping(Region region)
Sets the region managed by the argument to the current
clipping region of the receiver.
|
(package private) int |
getCodePage() |
(package private) int |
getFgBrush() |
int |
getFillRule()
Returns the receiver's fill rule, which will be one of
SWT.FILL_EVEN_ODD or SWT.FILL_WINDING . |
Font |
getFont()
Returns the font currently being used by the receiver
to draw and measure text.
|
FontMetrics |
getFontMetrics()
Returns a FontMetrics which contains information
about the font currently being used by the receiver
to draw and measure text.
|
Color |
getForeground()
Returns the receiver's foreground color.
|
Pattern |
getForegroundPattern()
Returns the foreground pattern.
|
GCData |
getGCData()
Returns the GCData.
|
int |
getInterpolation()
Returns the receiver's interpolation setting, which will be one of
SWT.DEFAULT , SWT.NONE ,
SWT.LOW or SWT.HIGH . |
LineAttributes |
getLineAttributes()
Returns the receiver's line attributes.
|
int |
getLineCap()
Returns the receiver's line cap style, which will be one
of the constants
SWT.CAP_FLAT , SWT.CAP_ROUND ,
or SWT.CAP_SQUARE . |
int[] |
getLineDash()
Returns the receiver's line dash style.
|
int |
getLineJoin()
Returns the receiver's line join style, which will be one
of the constants
SWT.JOIN_MITER , SWT.JOIN_ROUND ,
or SWT.JOIN_BEVEL . |
int |
getLineStyle()
Returns the receiver's line style, which will be one
of the constants
SWT.LINE_SOLID , SWT.LINE_DASH ,
SWT.LINE_DOT , SWT.LINE_DASHDOT or
SWT.LINE_DASHDOTDOT . |
int |
getLineWidth()
Returns the width that will be used when drawing lines
for all of the figure drawing operations (that is,
drawLine , drawRectangle ,
drawPolyline , and so forth. |
int |
getStyle()
Returns the receiver's style information.
|
int |
getTextAntialias()
Returns the receiver's text drawing anti-aliasing setting value,
which will be one of
SWT.DEFAULT , SWT.OFF or
SWT.ON . |
void |
getTransform(Transform transform)
Sets the parameter to the transform that is currently being
used by the receiver.
|
boolean |
getXORMode()
Returns
true if this GC is drawing in the mode
where the resulting color in the destination is the
exclusive or of the color values in the source
and the destination, and false if it is
drawing in the mode where the destination color is being
replaced with the source color value. |
int |
hashCode()
Returns an integer hash code for the receiver.
|
(package private) int |
identity() |
(package private) void |
init(Drawable drawable,
GCData data,
int hDC) |
(package private) void |
initGdip() |
boolean |
isClipped()
Returns
true if the receiver has a clipping
region set into it, and false otherwise. |
boolean |
isDisposed()
Returns
true if the GC has been disposed,
and false otherwise. |
(package private) float |
measureSpace(int font,
int format) |
void |
setAdvanced(boolean advanced)
Sets the receiver to always use the operating system's advanced graphics
subsystem for all graphics operations if the argument is
true . |
void |
setAlpha(int alpha)
Sets the receiver's alpha value which must be
between 0 (transparent) and 255 (opaque).
|
void |
setAntialias(int antialias)
Sets the receiver's anti-aliasing value to the parameter,
which must be one of
SWT.DEFAULT , SWT.OFF
or SWT.ON . |
void |
setBackground(Color color)
Sets the background color.
|
void |
setBackgroundPattern(Pattern pattern)
Sets the background pattern.
|
(package private) void |
setClipping(int clipRgn) |
void |
setClipping(int x,
int y,
int width,
int height)
Sets the area of the receiver which can be changed
by drawing operations to the rectangular area specified
by the arguments.
|
void |
setClipping(Path path)
Sets the area of the receiver which can be changed
by drawing operations to the path specified
by the argument.
|
void |
setClipping(Rectangle rect)
Sets the area of the receiver which can be changed
by drawing operations to the rectangular area specified
by the argument.
|
void |
setClipping(Region region)
Sets the area of the receiver which can be changed
by drawing operations to the region specified
by the argument.
|
void |
setFillRule(int rule)
Sets the receiver's fill rule to the parameter, which must be one of
SWT.FILL_EVEN_ODD or SWT.FILL_WINDING . |
void |
setFont(Font font)
Sets the font which will be used by the receiver
to draw and measure text to the argument.
|
void |
setForeground(Color color)
Sets the foreground color.
|
void |
setForegroundPattern(Pattern pattern)
Sets the foreground pattern.
|
void |
setInterpolation(int interpolation)
Sets the receiver's interpolation setting to the parameter, which
must be one of
SWT.DEFAULT , SWT.NONE ,
SWT.LOW or SWT.HIGH . |
void |
setLineAttributes(LineAttributes attributes)
Sets the receiver's line attributes.
|
void |
setLineCap(int cap)
Sets the receiver's line cap style to the argument, which must be one
of the constants
SWT.CAP_FLAT , SWT.CAP_ROUND ,
or SWT.CAP_SQUARE . |
void |
setLineDash(int[] dashes)
Sets the receiver's line dash style to the argument.
|
void |
setLineJoin(int join)
Sets the receiver's line join style to the argument, which must be one
of the constants
SWT.JOIN_MITER , SWT.JOIN_ROUND ,
or SWT.JOIN_BEVEL . |
void |
setLineStyle(int lineStyle)
Sets the receiver's line style to the argument, which must be one
of the constants
SWT.LINE_SOLID , SWT.LINE_DASH ,
SWT.LINE_DOT , SWT.LINE_DASHDOT or
SWT.LINE_DASHDOTDOT . |
void |
setLineWidth(int lineWidth)
Sets the width that will be used when drawing lines
for all of the figure drawing operations (that is,
drawLine , drawRectangle ,
drawPolyline , and so forth. |
void |
setTextAntialias(int antialias)
Sets the receiver's text anti-aliasing value to the parameter,
which must be one of
SWT.DEFAULT , SWT.OFF
or SWT.ON . |
void |
setTransform(Transform transform)
Sets the transform that is currently being used by the receiver.
|
void |
setXORMode(boolean xor)
Deprecated.
this functionality is not supported on some platforms
|
Point |
stringExtent(java.lang.String string)
Returns the extent of the given string.
|
Point |
textExtent(java.lang.String string)
Returns the extent of the given string.
|
Point |
textExtent(java.lang.String string,
int flags)
Returns the extent of the given string.
|
java.lang.String |
toString()
Returns a string containing a concise, human-readable
description of the receiver.
|
(package private) boolean |
useGDIP(int hdc,
char[] buffer) |
static GC |
win32_new(Drawable drawable,
GCData data)
Invokes platform specific functionality to allocate a new graphics context.
|
static GC |
win32_new(int hDC,
GCData data)
Invokes platform specific functionality to wrap a graphics context.
|
public int handle
IMPORTANT: This field is not part of the SWT public API. It is marked public only so that it can be shared within the packages provided by SWT. It is not available on all platforms and should never be accessed from application code.
Drawable drawable
GCData data
static final int FOREGROUND
static final int BACKGROUND
static final int FONT
static final int LINE_STYLE
static final int LINE_WIDTH
static final int LINE_CAP
static final int LINE_JOIN
static final int LINE_MITERLIMIT
static final int FOREGROUND_TEXT
static final int BACKGROUND_TEXT
static final int BRUSH
static final int PEN
static final int NULL_BRUSH
static final int NULL_PEN
static final int DRAW_OFFSET
static final int DRAW
static final int FILL
static final float[] LINE_DOT_ZERO
static final float[] LINE_DASH_ZERO
static final float[] LINE_DASHDOT_ZERO
static final float[] LINE_DASHDOTDOT_ZERO
GC()
public GC(Drawable drawable)
You must dispose the graphics context when it is no longer required.
drawable
- the drawable to draw onjava.lang.IllegalArgumentException
- SWTError
- public GC(Drawable drawable, int style)
You must dispose the graphics context when it is no longer required.
drawable
- the drawable to draw onstyle
- the style of GC to constructjava.lang.IllegalArgumentException
- SWTError
- static int checkStyle(int style)
void checkGC(int mask)
public void copyArea(Image image, int x, int y)
SWT.BITMAP
.image
- the image to copy intox
- the x coordinate in the receiver of the area to be copiedy
- the y coordinate in the receiver of the area to be copiedjava.lang.IllegalArgumentException
- SWTException
- public void copyArea(int srcX, int srcY, int width, int height, int destX, int destY)
srcX
- the x coordinate in the receiver of the area to be copiedsrcY
- the y coordinate in the receiver of the area to be copiedwidth
- the width of the area to copyheight
- the height of the area to copydestX
- the x coordinate in the receiver of the area to copy todestY
- the y coordinate in the receiver of the area to copy toSWTException
- public void copyArea(int srcX, int srcY, int width, int height, int destX, int destY, boolean paint)
srcX
- the x coordinate in the receiver of the area to be copiedsrcY
- the y coordinate in the receiver of the area to be copiedwidth
- the width of the area to copyheight
- the height of the area to copydestX
- the x coordinate in the receiver of the area to copy todestY
- the y coordinate in the receiver of the area to copy topaint
- if true
paint events will be generated for old and obscured areasSWTException
- static int createGdipFont(int hDC, int hFont, int graphics, int fontCollection, int[] outFamily, int[] outFont)
static void destroyGdipBrush(int brush)
void destroy()
void disposeGdip()
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
The resulting arc begins at startAngle
and extends
for arcAngle
degrees, using the current color.
Angles are interpreted such that 0 degrees is at the 3 o'clock
position. A positive value indicates a counter-clockwise rotation
while a negative value indicates a clockwise rotation.
The center of the arc is the center of the rectangle whose origin
is (x
, y
) and whose size is specified by the
width
and height
arguments.
The resulting arc covers an area width + 1
pixels wide
by height + 1
pixels tall.
x
- the x coordinate of the upper-left corner of the arc to be drawny
- the y coordinate of the upper-left corner of the arc to be drawnwidth
- the width of the arc to be drawnheight
- the height of the arc to be drawnstartAngle
- the beginning anglearcAngle
- the angular extent of the arc, relative to the start angleSWTException
- public void drawFocus(int x, int y, int width, int height)
x
- the x coordinate of the rectangley
- the y coordinate of the rectanglewidth
- the width of the rectangleheight
- the height of the rectangleSWTException
- drawRectangle(int, int, int, int)
public void drawImage(Image image, int x, int y)
image
- the image to drawx
- the x coordinate of where to drawy
- the y coordinate of where to drawjava.lang.IllegalArgumentException
- SWTException
- SWTError
- public void drawImage(Image image, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight)
image
- the source imagesrcX
- the x coordinate in the source image to copy fromsrcY
- the y coordinate in the source image to copy fromsrcWidth
- the width in pixels to copy from the sourcesrcHeight
- the height in pixels to copy from the sourcedestX
- the x coordinate in the destination to copy todestY
- the y coordinate in the destination to copy todestWidth
- the width in pixels of the destination rectangledestHeight
- the height in pixels of the destination rectanglejava.lang.IllegalArgumentException
- SWTException
- SWTError
- void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple)
void drawIcon(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple)
void drawBitmap(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple)
void drawBitmapAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, BITMAP bm, int imgWidth, int imgHeight)
void drawBitmapTransparentByClipping(int srcHdc, int maskHdc, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, int imgWidth, int imgHeight)
void drawBitmapMask(Image srcImage, int srcColor, int srcMask, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, int imgWidth, int imgHeight, boolean offscreen)
void drawBitmapTransparent(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, BITMAP bm, int imgWidth, int imgHeight)
void drawBitmap(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, BITMAP bm, int imgWidth, int imgHeight)
public void drawLine(int x1, int y1, int x2, int y2)
x1
, y1
) and (x2
, y2
).x1
- the first point's x coordinatey1
- the first point's y coordinatex2
- the second point's x coordinatey2
- the second point's y coordinateSWTException
- public void drawOval(int x, int y, int width, int height)
The result is a circle or ellipse that fits within the
rectangle specified by the x
, y
,
width
, and height
arguments.
The oval covers an area that is width + 1
pixels wide and height + 1
pixels tall.
x
- the x coordinate of the upper left corner of the oval to be drawny
- the y coordinate of the upper left corner of the oval to be drawnwidth
- the width of the oval to be drawnheight
- the height of the oval to be drawnSWTException
- public void drawPath(Path path)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
path
- the path to drawjava.lang.IllegalArgumentException
- SWTException
- Path
public void drawPoint(int x, int y)
x
, y
).
Note that the receiver's line attributes do not affect this operation.
x
- the point's x coordinatey
- the point's y coordinateSWTException
- public void drawPolygon(int[] pointArray)
pointArray
- an array of alternating x and y values which are the vertices of the polygonjava.lang.IllegalArgumentException
- SWTException
- public void drawPolyline(int[] pointArray)
pointArray
- an array of alternating x and y values which are the corners of the polylinejava.lang.IllegalArgumentException
- SWTException
- public void drawRectangle(int x, int y, int width, int height)
x
and x + width
.
The top and bottom edges are at y
and y + height
.x
- the x coordinate of the rectangle to be drawny
- the y coordinate of the rectangle to be drawnwidth
- the width of the rectangle to be drawnheight
- the height of the rectangle to be drawnSWTException
- public void drawRectangle(Rectangle rect)
rect.x
and rect.x + rect.width
. The top
and bottom edges are at rect.y
and
rect.y + rect.height
.rect
- the rectangle to drawjava.lang.IllegalArgumentException
- SWTException
- public void drawRoundRectangle(int x, int y, int width, int height, int arcWidth, int arcHeight)
x
and x + width
.
The top and bottom edges are at y
and y + height
.
The roundness of the corners is specified by the
arcWidth
and arcHeight
arguments, which
are respectively the width and height of the ellipse used to draw
the corners.x
- the x coordinate of the rectangle to be drawny
- the y coordinate of the rectangle to be drawnwidth
- the width of the rectangle to be drawnheight
- the height of the rectangle to be drawnarcWidth
- the width of the arcarcHeight
- the height of the arcSWTException
- void drawRoundRectangleGdip(int gdipGraphics, int pen, int x, int y, int width, int height, int arcWidth, int arcHeight)
public void drawString(java.lang.String string, int x, int y)
string
- the string to be drawnx
- the x coordinate of the top left corner of the rectangular area where the string is to be drawny
- the y coordinate of the top left corner of the rectangular area where the string is to be drawnjava.lang.IllegalArgumentException
- SWTException
- public void drawString(java.lang.String string, int x, int y, boolean isTransparent)
isTransparent
is true
,
then the background of the rectangular area where the string is being
drawn will not be modified, otherwise it will be filled with the
receiver's background color.string
- the string to be drawnx
- the x coordinate of the top left corner of the rectangular area where the string is to be drawny
- the y coordinate of the top left corner of the rectangular area where the string is to be drawnisTransparent
- if true
the background will be transparent, otherwise it will be opaquejava.lang.IllegalArgumentException
- SWTException
- public void drawText(java.lang.String string, int x, int y)
string
- the string to be drawnx
- the x coordinate of the top left corner of the rectangular area where the text is to be drawny
- the y coordinate of the top left corner of the rectangular area where the text is to be drawnjava.lang.IllegalArgumentException
- SWTException
- public void drawText(java.lang.String string, int x, int y, boolean isTransparent)
isTransparent
is true
,
then the background of the rectangular area where the text is being
drawn will not be modified, otherwise it will be filled with the
receiver's background color.string
- the string to be drawnx
- the x coordinate of the top left corner of the rectangular area where the text is to be drawny
- the y coordinate of the top left corner of the rectangular area where the text is to be drawnisTransparent
- if true
the background will be transparent, otherwise it will be opaquejava.lang.IllegalArgumentException
- SWTException
- public void drawText(java.lang.String string, int x, int y, int flags)
flags
includes DRAW_TRANSPARENT
,
then the background of the rectangular area where the text is being
drawn will not be modified, otherwise it will be filled with the
receiver's background color.
The parameter flags
may be a combination of:
string
- the string to be drawnx
- the x coordinate of the top left corner of the rectangular area where the text is to be drawny
- the y coordinate of the top left corner of the rectangular area where the text is to be drawnflags
- the flags specifying how to process the textjava.lang.IllegalArgumentException
- SWTException
- boolean useGDIP(int hdc, char[] buffer)
void drawText(int gdipGraphics, java.lang.String string, int x, int y, int flags, Point size)
RectF drawText(int gdipGraphics, char[] buffer, int start, int length, int x, int y, int flags, int mnemonicIndex, TEXTMETRIC lptm, boolean draw)
void drawTextGDIP(int gdipGraphics, java.lang.String string, int x, int y, int flags, boolean draw, Point size)
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
object
- the object to compare with this objecttrue
if the object is the same as this object and false
otherwisehashCode()
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
The resulting arc begins at startAngle
and extends
for arcAngle
degrees, using the current color.
Angles are interpreted such that 0 degrees is at the 3 o'clock
position. A positive value indicates a counter-clockwise rotation
while a negative value indicates a clockwise rotation.
The center of the arc is the center of the rectangle whose origin
is (x
, y
) and whose size is specified by the
width
and height
arguments.
The resulting arc covers an area width + 1
pixels wide
by height + 1
pixels tall.
x
- the x coordinate of the upper-left corner of the arc to be filledy
- the y coordinate of the upper-left corner of the arc to be filledwidth
- the width of the arc to be filledheight
- the height of the arc to be filledstartAngle
- the beginning anglearcAngle
- the angular extent of the arc, relative to the start angleSWTException
- drawArc(int, int, int, int, int, int)
public void fillGradientRectangle(int x, int y, int width, int height, boolean vertical)
x
- the x coordinate of the rectangle to be filledy
- the y coordinate of the rectangle to be filledwidth
- the width of the rectangle to be filled, may be negative
(inverts direction of gradient if horizontal)height
- the height of the rectangle to be filled, may be negative
(inverts direction of gradient if vertical)vertical
- if true sweeps from top to bottom, else
sweeps from left to rightSWTException
- drawRectangle(int, int, int, int)
public void fillOval(int x, int y, int width, int height)
x
- the x coordinate of the upper left corner of the oval to be filledy
- the y coordinate of the upper left corner of the oval to be filledwidth
- the width of the oval to be filledheight
- the height of the oval to be filledSWTException
- drawOval(int, int, int, int)
public void fillPath(Path path)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
path
- the path to filljava.lang.IllegalArgumentException
- SWTException
- Path
public void fillPolygon(int[] pointArray)
pointArray
- an array of alternating x and y values which are the vertices of the polygonjava.lang.IllegalArgumentException
- SWTException
- drawPolygon(int[])
public void fillRectangle(int x, int y, int width, int height)
x
- the x coordinate of the rectangle to be filledy
- the y coordinate of the rectangle to be filledwidth
- the width of the rectangle to be filledheight
- the height of the rectangle to be filledSWTException
- drawRectangle(int, int, int, int)
public void fillRectangle(Rectangle rect)
rect
- the rectangle to be filledjava.lang.IllegalArgumentException
- SWTException
- drawRectangle(int, int, int, int)
public void fillRoundRectangle(int x, int y, int width, int height, int arcWidth, int arcHeight)
x
- the x coordinate of the rectangle to be filledy
- the y coordinate of the rectangle to be filledwidth
- the width of the rectangle to be filledheight
- the height of the rectangle to be filledarcWidth
- the width of the arcarcHeight
- the height of the arcSWTException
- drawRoundRectangle(int, int, int, int, int, int)
void fillRoundRectangleGdip(int gdipGraphics, int brush, int x, int y, int width, int height, int arcWidth, int arcHeight)
void flush()
public int getAdvanceWidth(char ch)
The advance width is defined as the horizontal distance the cursor should move after printing the character in the selected font.
ch
- the character to measureSWTException
- public boolean getAdvanced()
true
if receiver is using the operating system's
advanced graphics subsystem. Otherwise, false
is returned
to indicate that normal graphics are in use.
Advanced graphics may not be installed for the operating system. In this
case, false
is always returned. Some operating system have
only one graphics subsystem. If this subsystem supports advanced graphics,
then true
is always returned. If any graphics operation such
as alpha, antialias, patterns, interpolation, paths, clipping or transformation
has caused the receiver to switch from regular to advanced graphics mode,
true
is returned. If the receiver has been explicitly switched
to advanced mode and this mode is supported, true
is returned.
SWTException
- setAdvanced(boolean)
public int getAlpha()
SWTException
- public int getAntialias()
SWT.DEFAULT
, SWT.OFF
or
SWT.ON
. Note that this controls anti-aliasing for all
non-text drawing operations.SWTException
- getTextAntialias()
public Color getBackground()
SWTException
- public Pattern getBackgroundPattern()
null
.SWTException
- Pattern
public int getCharWidth(char ch)
The width is defined as the space taken up by the actual character, not including the leading and tailing whitespace or overhang.
ch
- the character to measureSWTException
- public Rectangle getClipping()
SWTException
- public void getClipping(Region region)
region
- the region to fill with the clipping regionjava.lang.IllegalArgumentException
- SWTException
- int getCodePage()
int getFgBrush()
public int getFillRule()
SWT.FILL_EVEN_ODD
or SWT.FILL_WINDING
.SWTException
- public Font getFont()
SWTException
- public FontMetrics getFontMetrics()
SWTException
- public Color getForeground()
SWTException
- public Pattern getForegroundPattern()
null
.SWTException
- Pattern
public GCData getGCData()
IMPORTANT: This method is not part of the public
API for GC
. It is marked public only so that it
can be shared within the packages provided by SWT. It is not
available on all platforms, and should never be called from
application code.
SWTException
- GCData
public int getInterpolation()
SWT.DEFAULT
, SWT.NONE
,
SWT.LOW
or SWT.HIGH
.SWTException
- public LineAttributes getLineAttributes()
SWTException
- public int getLineCap()
SWT.CAP_FLAT
, SWT.CAP_ROUND
,
or SWT.CAP_SQUARE
.SWTException
- public int[] getLineDash()
null
.SWTException
- public int getLineJoin()
SWT.JOIN_MITER
, SWT.JOIN_ROUND
,
or SWT.JOIN_BEVEL
.SWTException
- public int getLineStyle()
SWT.LINE_SOLID
, SWT.LINE_DASH
,
SWT.LINE_DOT
, SWT.LINE_DASHDOT
or
SWT.LINE_DASHDOTDOT
.SWTException
- public int getLineWidth()
drawLine
, drawRectangle
,
drawPolyline
, and so forth.SWTException
- public int getStyle()
Note that the value which is returned by this method may not match the value which was provided to the constructor when the receiver was created. This can occur when the underlying operating system does not support a particular combination of requested styles.
SWTException
- public int getTextAntialias()
SWT.DEFAULT
, SWT.OFF
or
SWT.ON
. Note that this controls anti-aliasing
only for text drawing operations.SWTException
- getAntialias()
public void getTransform(Transform transform)
transform
- the destination to copy the transform intojava.lang.IllegalArgumentException
- SWTException
- Transform
public boolean getXORMode()
true
if this GC is drawing in the mode
where the resulting color in the destination is the
exclusive or of the color values in the source
and the destination, and false
if it is
drawing in the mode where the destination color is being
replaced with the source color value.true
true if the receiver is in XOR mode, and false otherwiseSWTException
- void initGdip()
int identity()
public int hashCode()
true
when passed to
equals
must return the same value for this
method.hashCode
in class java.lang.Object
SWTException
- equals(java.lang.Object)
public boolean isClipped()
true
if the receiver has a clipping
region set into it, and false
otherwise.
If this method returns false, the receiver will draw on all
available space in the destination. If it returns true,
it will draw only in the area that is covered by the region
that can be accessed with getClipping(region)
.true
if the GC has a clipping region, and false
otherwiseSWTException
- public boolean isDisposed()
true
if the GC has been disposed,
and false
otherwise.
This method gets the dispose state for the GC.
When a GC has been disposed, it is an error to
invoke any other method (except Resource.dispose()
) using the GC.
isDisposed
in class Resource
true
when the GC is disposed and false
otherwisefloat measureSpace(int font, int format)
public void setAdvanced(boolean advanced)
true
.
If the argument is false
, the advanced graphics subsystem is
no longer used, advanced graphics state is cleared and the normal graphics
subsystem is used from now on.
Normally, the advanced graphics subsystem is invoked automatically when any one of the alpha, antialias, patterns, interpolation, paths, clipping or transformation operations in the receiver is requested. When the receiver is switched into advanced mode, the advanced graphics subsystem performs both advanced and normal graphics operations. Because the two subsystems are different, their output may differ. Switching to advanced graphics before any graphics operations are performed ensures that the output is consistent.
Advanced graphics may not be installed for the operating system. In this case, this operation does nothing. Some operating system have only one graphics subsystem, so switching from normal to advanced graphics does nothing. However, switching from advanced to normal graphics will always clear the advanced graphics state, even for operating systems that have only one graphics subsystem.
advanced
- the new advanced graphics stateSWTException
- setAlpha(int)
,
setAntialias(int)
,
setBackgroundPattern(org.eclipse.swt.graphics.Pattern)
,
setClipping(Path)
,
setForegroundPattern(org.eclipse.swt.graphics.Pattern)
,
setLineAttributes(org.eclipse.swt.graphics.LineAttributes)
,
setInterpolation(int)
,
setTextAntialias(int)
,
setTransform(org.eclipse.swt.graphics.Transform)
,
getAdvanced()
public void setAntialias(int antialias)
SWT.DEFAULT
, SWT.OFF
or SWT.ON
. Note that this controls anti-aliasing for all
non-text drawing operations.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
antialias
- the anti-aliasing settingjava.lang.IllegalArgumentException
- SWT.DEFAULT
,
SWT.OFF
or SWT.ON
SWTException
- getAdvanced()
,
setAdvanced(boolean)
,
setTextAntialias(int)
public void setAlpha(int alpha)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
alpha
- the alpha valueSWTException
- getAdvanced()
,
setAdvanced(boolean)
public void setBackground(Color color)
color
- the new background color for the receiverjava.lang.IllegalArgumentException
- SWTException
- public void setBackgroundPattern(Pattern pattern)
null
.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
pattern
- the new background patternjava.lang.IllegalArgumentException
- SWTException
- Pattern
,
getAdvanced()
,
setAdvanced(boolean)
void setClipping(int clipRgn)
public void setClipping(int x, int y, int width, int height)
x
- the x coordinate of the clipping rectangley
- the y coordinate of the clipping rectanglewidth
- the width of the clipping rectangleheight
- the height of the clipping rectangleSWTException
- public void setClipping(Path path)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
path
- the clipping path.java.lang.IllegalArgumentException
- SWTException
- Path
,
getAdvanced()
,
setAdvanced(boolean)
public void setClipping(Rectangle rect)
null
for the
rectangle reverts the receiver's clipping area to its
original value.rect
- the clipping rectangle or null
SWTException
- public void setClipping(Region region)
null
for the
region reverts the receiver's clipping area to its
original value.region
- the clipping region or null
java.lang.IllegalArgumentException
- SWTException
- public void setFillRule(int rule)
SWT.FILL_EVEN_ODD
or SWT.FILL_WINDING
.rule
- the new fill rulejava.lang.IllegalArgumentException
- SWT.FILL_EVEN_ODD
or SWT.FILL_WINDING
SWTException
- public void setFont(Font font)
font
- the new font for the receiver, or null to indicate a default fontjava.lang.IllegalArgumentException
- SWTException
- public void setForeground(Color color)
color
- the new foreground color for the receiverjava.lang.IllegalArgumentException
- SWTException
- public void setForegroundPattern(Pattern pattern)
null
.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
pattern
- the new foreground patternjava.lang.IllegalArgumentException
- SWTException
- Pattern
,
getAdvanced()
,
setAdvanced(boolean)
public void setInterpolation(int interpolation)
SWT.DEFAULT
, SWT.NONE
,
SWT.LOW
or SWT.HIGH
.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
interpolation
- the new interpolation settingjava.lang.IllegalArgumentException
- SWT.DEFAULT
,
SWT.NONE
, SWT.LOW
or SWT.HIGH
SWTException
- getAdvanced()
,
setAdvanced(boolean)
public void setLineAttributes(LineAttributes attributes)
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
attributes
- the line attributesjava.lang.IllegalArgumentException
- SWTException
- LineAttributes
,
getAdvanced()
,
setAdvanced(boolean)
public void setLineCap(int cap)
SWT.CAP_FLAT
, SWT.CAP_ROUND
,
or SWT.CAP_SQUARE
.cap
- the cap style to be used for drawing linesjava.lang.IllegalArgumentException
- SWTException
- public void setLineDash(int[] dashes)
null
. If the argument is not null
,
the receiver's line style is set to SWT.LINE_CUSTOM
, otherwise
it is set to SWT.LINE_SOLID
.dashes
- the dash style to be used for drawing linesjava.lang.IllegalArgumentException
- SWTException
- public void setLineJoin(int join)
SWT.JOIN_MITER
, SWT.JOIN_ROUND
,
or SWT.JOIN_BEVEL
.join
- the join style to be used for drawing linesjava.lang.IllegalArgumentException
- SWTException
- public void setLineStyle(int lineStyle)
SWT.LINE_SOLID
, SWT.LINE_DASH
,
SWT.LINE_DOT
, SWT.LINE_DASHDOT
or
SWT.LINE_DASHDOTDOT
.lineStyle
- the style to be used for drawing linesjava.lang.IllegalArgumentException
- SWTException
- public void setLineWidth(int lineWidth)
drawLine
, drawRectangle
,
drawPolyline
, and so forth.
Note that line width of zero is used as a hint to indicate that the fastest possible line drawing algorithms should be used. This means that the output may be different from line width one.
lineWidth
- the width of a lineSWTException
- public void setXORMode(boolean xor)
true
, puts the receiver
in a drawing mode where the resulting color in the destination
is the exclusive or of the color values in the source
and the destination, and if the argument is false
,
puts the receiver in a drawing mode where the destination color
is replaced with the source color value.
Note that this mode in fundamentally unsupportable on certain platforms, notably Carbon (Mac OS X). Clients that want their code to run on all platforms need to avoid this method.
xor
- if true
, then xor mode is used, otherwise source copy mode is usedSWTException
- public void setTextAntialias(int antialias)
SWT.DEFAULT
, SWT.OFF
or SWT.ON
. Note that this controls anti-aliasing only
for all text drawing operations.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
antialias
- the anti-aliasing settingjava.lang.IllegalArgumentException
- SWT.DEFAULT
,
SWT.OFF
or SWT.ON
SWTException
- getAdvanced()
,
setAdvanced(boolean)
,
setAntialias(int)
public void setTransform(Transform transform)
null
, the current transform is set to
the identity transform.
This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.
transform
- the transform to setjava.lang.IllegalArgumentException
- SWTException
- Transform
,
getAdvanced()
,
setAdvanced(boolean)
public Point stringExtent(java.lang.String string)
The extent of a string is the width and height of the rectangular area it would cover if drawn in a particular font (in this case, the current font in the receiver).
string
- the string to measurejava.lang.IllegalArgumentException
- SWTException
- public Point textExtent(java.lang.String string)
The extent of a string is the width and height of the rectangular area it would cover if drawn in a particular font (in this case, the current font in the receiver).
string
- the string to measurejava.lang.IllegalArgumentException
- SWTException
- public Point textExtent(java.lang.String string, int flags)
The extent of a string is the width and height of the rectangular area it would cover if drawn in a particular font (in this case, the current font in the receiver).
string
- the string to measureflags
- the flags specifying how to process the textjava.lang.IllegalArgumentException
- SWTException
- public java.lang.String toString()
toString
in class java.lang.Object
public static GC win32_new(Drawable drawable, GCData data)
IMPORTANT: This method is not part of the public
API for GC
. It is marked public only so that it
can be shared within the packages provided by SWT. It is not
available on all platforms, and should never be called from
application code.
drawable
- the Drawable for the receiver.data
- the data for the receiver.GC
public static GC win32_new(int hDC, GCData data)
IMPORTANT: This method is not part of the public
API for GC
. It is marked public only so that it
can be shared within the packages provided by SWT. It is not
available on all platforms, and should never be called from
application code.
hDC
- the Windows HDC.data
- the data for the receiver.GC