Eclipse Platform
Release 3.7

org.eclipse.swt.graphics
Class GC

java.lang.Object
  extended by org.eclipse.swt.graphics.Resource
      extended by org.eclipse.swt.graphics.GC

public final class GC
extends Resource

Class 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.

Styles:
LEFT_TO_RIGHT, RIGHT_TO_LEFT

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.

See Also:
PaintEvent, GC snippets, SWT Examples: GraphicsExample, PaintExample, Sample code and further information

Field Summary
 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.
 
Constructor Summary
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.
 
Method Summary
 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.
 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.
 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.
 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.
 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.
 void drawString(String string, int x, int y)
          Draws the given string, using the receiver's current font and foreground color.
 void drawString(String string, int x, int y, boolean isTransparent)
          Draws the given string, using the receiver's current font and foreground color.
 void drawText(String string, int x, int y)
          Draws the given string, using the receiver's current font and foreground color.
 void drawText(String string, int x, int y, boolean isTransparent)
          Draws the given string, using the receiver's current font and foreground color.
 void drawText(String string, int x, int y, int flags)
          Draws the given string, using the receiver's current font and foreground color.
 boolean equals(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.
 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.
 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.
 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.
 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.
 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(String string)
          Returns the extent of the given string.
 Point textExtent(String string)
          Returns the extent of the given string.
 Point textExtent(String string, int flags)
          Returns the extent of the given string.
 String toString()
          Returns a string containing a concise, human-readable description of the receiver.
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.
 
Methods inherited from class org.eclipse.swt.graphics.Resource
dispose, getDevice
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

handle

public 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. 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.

Restriction:
This field is not intended to be referenced by clients.
Constructor Detail

GC

public GC(Drawable drawable)
Constructs a new instance of this class which has been configured to draw on the specified drawable. Sets the foreground color, background color and font in the GC to match those in the drawable.

You must dispose the graphics context when it is no longer required.

Parameters:
drawable - the drawable to draw on
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the drawable is null
  • ERROR_NULL_ARGUMENT - if there is no current device
  • ERROR_INVALID_ARGUMENT - if the drawable is an image that is not a bitmap or an icon - if the drawable is an image or printer that is already selected into another graphics context
SWTError -
  • ERROR_NO_HANDLES if a handle could not be obtained for GC creation
  • ERROR_THREAD_INVALID_ACCESS if not called from the thread that created the drawable

GC

public GC(Drawable drawable,
          int style)
Constructs a new instance of this class which has been configured to draw on the specified drawable. Sets the foreground color, background color and font in the GC to match those in the drawable.

You must dispose the graphics context when it is no longer required.

Parameters:
drawable - the drawable to draw on
style - the style of GC to construct
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the drawable is null
  • ERROR_NULL_ARGUMENT - if there is no current device
  • ERROR_INVALID_ARGUMENT - if the drawable is an image that is not a bitmap or an icon - if the drawable is an image or printer that is already selected into another graphics context
SWTError -
  • ERROR_NO_HANDLES if a handle could not be obtained for GC creation
  • ERROR_THREAD_INVALID_ACCESS if not called from the thread that created the drawable
Since:
2.1.2
Method Detail

copyArea

public 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.

Parameters:
image - the image to copy into
x - the x coordinate in the receiver of the area to be copied
y - the y coordinate in the receiver of the area to be copied
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the image is null
  • ERROR_INVALID_ARGUMENT - if the image is not a bitmap or has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

copyArea

public 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.

Parameters:
srcX - the x coordinate in the receiver of the area to be copied
srcY - the y coordinate in the receiver of the area to be copied
width - the width of the area to copy
height - the height of the area to copy
destX - the x coordinate in the receiver of the area to copy to
destY - the y coordinate in the receiver of the area to copy to
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

copyArea

public 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.

Parameters:
srcX - the x coordinate in the receiver of the area to be copied
srcY - the y coordinate in the receiver of the area to be copied
width - the width of the area to copy
height - the height of the area to copy
destX - the x coordinate in the receiver of the area to copy to
destY - the y coordinate in the receiver of the area to copy to
paint - if true paint events will be generated for old and obscured areas
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

drawArc

public 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.

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.

Parameters:
x - the x coordinate of the upper-left corner of the arc to be drawn
y - the y coordinate of the upper-left corner of the arc to be drawn
width - the width of the arc to be drawn
height - the height of the arc to be drawn
startAngle - the beginning angle
arcAngle - the angular extent of the arc, relative to the start angle
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawFocus

public 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.

Parameters:
x - the x coordinate of the rectangle
y - the y coordinate of the rectangle
width - the width of the rectangle
height - the height of the rectangle
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawRectangle(int, int, int, int)

drawImage

public void drawImage(Image image,
                      int x,
                      int y)
Draws the given image in the receiver at the specified coordinates.

Parameters:
image - the image to draw
x - the x coordinate of where to draw
y - the y coordinate of where to draw
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the image is null
  • ERROR_INVALID_ARGUMENT - if the image has been disposed
  • ERROR_INVALID_ARGUMENT - if the given coordinates are outside the bounds of the image
  • SWTException -
    • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
    SWTError -
    • ERROR_NO_HANDLES - if no handles are available to perform the operation

drawImage

public 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. If the source and destination areas are of differing sizes, then the source area will be stretched or shrunk to fit the destination area as it is copied. The copy fails if any part of the source rectangle lies outside the bounds of the source image, or if any of the width or height arguments are negative.

Parameters:
image - the source image
srcX - the x coordinate in the source image to copy from
srcY - the y coordinate in the source image to copy from
srcWidth - the width in pixels to copy from the source
srcHeight - the height in pixels to copy from the source
destX - the x coordinate in the destination to copy to
destY - the y coordinate in the destination to copy to
destWidth - the width in pixels of the destination rectangle
destHeight - the height in pixels of the destination rectangle
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the image is null
  • ERROR_INVALID_ARGUMENT - if the image has been disposed
  • ERROR_INVALID_ARGUMENT - if any of the width or height arguments are negative.
  • ERROR_INVALID_ARGUMENT - if the source rectangle is not contained within the bounds of the source image
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
SWTError -
  • ERROR_NO_HANDLES - if no handles are available to perform the operation

drawLine

public 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).

Parameters:
x1 - the first point's x coordinate
y1 - the first point's y coordinate
x2 - the second point's x coordinate
y2 - the second point's y coordinate
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawOval

public 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.

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.

Parameters:
x - the x coordinate of the upper left corner of the oval to be drawn
y - the y coordinate of the upper left corner of the oval to be drawn
width - the width of the oval to be drawn
height - the height of the oval to be drawn
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawPath

public void drawPath(Path path)
Draws the path described by the parameter.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
path - the path to draw
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the parameter is null
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Path

drawPoint

public void drawPoint(int x,
                      int y)
Draws a pixel, using the foreground color, at the specified point (x, y).

Note that the receiver's line attributes do not affect this operation.

Parameters:
x - the point's x coordinate
y - the point's y coordinate
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.0

drawPolygon

public void drawPolygon(int[] pointArray)
Draws the closed polygon which is defined by the specified array of integer coordinates, using the receiver's foreground color. The array contains alternating x and y values which are considered to represent points which are the vertices of the polygon. Lines are drawn between each consecutive pair, and between the first pair and last pair in the array.

Parameters:
pointArray - an array of alternating x and y values which are the vertices of the polygon
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT if pointArray is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawPolyline

public void drawPolyline(int[] pointArray)
Draws the polyline which is defined by the specified array of integer coordinates, using the receiver's foreground color. The array contains alternating x and y values which are considered to represent points which are the corners of the polyline. Lines are drawn between each consecutive pair, but not between the first pair and last pair in the array.

Parameters:
pointArray - an array of alternating x and y values which are the corners of the polyline
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the point array is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawRectangle

public 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. The left and right edges of the rectangle are at x and x + width. The top and bottom edges are at y and y + height.

Parameters:
x - the x coordinate of the rectangle to be drawn
y - the y coordinate of the rectangle to be drawn
width - the width of the rectangle to be drawn
height - the height of the rectangle to be drawn
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawRectangle

public void drawRectangle(Rectangle rect)
Draws the outline of the specified rectangle, using the receiver's foreground color. The left and right edges of the rectangle are at rect.x and rect.x + rect.width. The top and bottom edges are at rect.y and rect.y + rect.height.

Parameters:
rect - the rectangle to draw
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the rectangle is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawRoundRectangle

public 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. The left and right edges of the rectangle are at 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.

Parameters:
x - the x coordinate of the rectangle to be drawn
y - the y coordinate of the rectangle to be drawn
width - the width of the rectangle to be drawn
height - the height of the rectangle to be drawn
arcWidth - the width of the arc
arcHeight - the height of the arc
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawString

public void drawString(String string,
                       int x,
                       int y)
Draws the given string, using the receiver's current font and foreground color. No tab expansion or carriage return processing will be performed. The background of the rectangular area where the string is being drawn will be filled with the receiver's background color.

Parameters:
string - the string to be drawn
x - the x coordinate of the top left corner of the rectangular area where the string is to be drawn
y - the y coordinate of the top left corner of the rectangular area where the string is to be drawn
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawString

public void drawString(String string,
                       int x,
                       int y,
                       boolean isTransparent)
Draws the given string, using the receiver's current font and foreground color. No tab expansion or carriage return processing will be performed. If 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.

Parameters:
string - the string to be drawn
x - the x coordinate of the top left corner of the rectangular area where the string is to be drawn
y - the y coordinate of the top left corner of the rectangular area where the string is to be drawn
isTransparent - if true the background will be transparent, otherwise it will be opaque
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawText

public void drawText(String string,
                     int x,
                     int y)
Draws the given string, using the receiver's current font and foreground color. Tab expansion and carriage return processing are performed. The background of the rectangular area where the text is being drawn will be filled with the receiver's background color.

Parameters:
string - the string to be drawn
x - the x coordinate of the top left corner of the rectangular area where the text is to be drawn
y - the y coordinate of the top left corner of the rectangular area where the text is to be drawn
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawText

public void drawText(String string,
                     int x,
                     int y,
                     boolean isTransparent)
Draws the given string, using the receiver's current font and foreground color. Tab expansion and carriage return processing are performed. If 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.

Parameters:
string - the string to be drawn
x - the x coordinate of the top left corner of the rectangular area where the text is to be drawn
y - the y coordinate of the top left corner of the rectangular area where the text is to be drawn
isTransparent - if true the background will be transparent, otherwise it will be opaque
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

drawText

public void drawText(String string,
                     int x,
                     int y,
                     int flags)
Draws the given string, using the receiver's current font and foreground color. Tab expansion, line delimiter and mnemonic processing are performed according to the specified flags. If 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:

DRAW_DELIMITER
draw multiple lines
DRAW_TAB
expand tabs
DRAW_MNEMONIC
underline the mnemonic character
DRAW_TRANSPARENT
transparent background

Parameters:
string - the string to be drawn
x - the x coordinate of the top left corner of the rectangular area where the text is to be drawn
y - the y coordinate of the top left corner of the rectangular area where the text is to be drawn
flags - the flags specifying how to process the text
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

equals

public boolean equals(Object object)
Compares the argument to the receiver, and returns true if they represent the same object using a class specific comparison.

Overrides:
equals in class Object
Parameters:
object - the object to compare with this object
Returns:
true if the object is the same as this object and false otherwise
See Also:
hashCode()

fillArc

public 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.

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.

Parameters:
x - the x coordinate of the upper-left corner of the arc to be filled
y - the y coordinate of the upper-left corner of the arc to be filled
width - the width of the arc to be filled
height - the height of the arc to be filled
startAngle - the beginning angle
arcAngle - the angular extent of the arc, relative to the start angle
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawArc(int, int, int, int, int, int)

fillGradientRectangle

public 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.

Parameters:
x - the x coordinate of the rectangle to be filled
y - the y coordinate of the rectangle to be filled
width - 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 right
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawRectangle(int, int, int, int)

fillOval

public 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.

Parameters:
x - the x coordinate of the upper left corner of the oval to be filled
y - the y coordinate of the upper left corner of the oval to be filled
width - the width of the oval to be filled
height - the height of the oval to be filled
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawOval(int, int, int, int)

fillPath

public void fillPath(Path path)
Fills the path described by the parameter.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
path - the path to fill
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the parameter is null
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Path

fillPolygon

public 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. The array contains alternating x and y values which are considered to represent points which are the vertices of the polygon. Lines are drawn between each consecutive pair, and between the first pair and last pair in the array.

Parameters:
pointArray - an array of alternating x and y values which are the vertices of the polygon
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT if pointArray is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawPolygon(int[])

fillRectangle

public 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.

Parameters:
x - the x coordinate of the rectangle to be filled
y - the y coordinate of the rectangle to be filled
width - the width of the rectangle to be filled
height - the height of the rectangle to be filled
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawRectangle(int, int, int, int)

fillRectangle

public void fillRectangle(Rectangle rect)
Fills the interior of the specified rectangle, using the receiver's background color.

Parameters:
rect - the rectangle to be filled
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the rectangle is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawRectangle(int, int, int, int)

fillRoundRectangle

public 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.

Parameters:
x - the x coordinate of the rectangle to be filled
y - the y coordinate of the rectangle to be filled
width - the width of the rectangle to be filled
height - the height of the rectangle to be filled
arcWidth - the width of the arc
arcHeight - the height of the arc
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
drawRoundRectangle(int, int, int, int, int, int)

getAdvanceWidth

public int getAdvanceWidth(char ch)
Returns the advance width of the specified character in the font which is currently selected into the receiver.

The advance width is defined as the horizontal distance the cursor should move after printing the character in the selected font.

Parameters:
ch - the character to measure
Returns:
the distance in the x direction to move past the character before painting the next
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getAdvanced

public boolean getAdvanced()
Returns 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.

Returns:
the advanced value
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
setAdvanced(boolean)

getAlpha

public int getAlpha()
Returns the receiver's alpha value. The alpha value is between 0 (transparent) and 255 (opaque).

Returns:
the alpha value
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getAntialias

public int getAntialias()
Returns the receiver's anti-aliasing setting value, which will be one of SWT.DEFAULT, SWT.OFF or SWT.ON. Note that this controls anti-aliasing for all non-text drawing operations.

Returns:
the anti-aliasing setting
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
getTextAntialias()

getBackground

public Color getBackground()
Returns the background color.

Returns:
the receiver's background color
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getBackgroundPattern

public Pattern getBackgroundPattern()
Returns the background pattern. The default value is null.

Returns:
the receiver's background pattern
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
Pattern

getCharWidth

public int getCharWidth(char ch)
Returns the width of the specified character in the font selected into the receiver.

The width is defined as the space taken up by the actual character, not including the leading and tailing whitespace or overhang.

Parameters:
ch - the character to measure
Returns:
the width of the character
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getClipping

public Rectangle getClipping()
Returns the bounding rectangle of the receiver's clipping region. If no clipping region is set, the return value will be a rectangle which covers the entire bounds of the object the receiver is drawing on.

Returns:
the bounding rectangle of the clipping region
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getClipping

public void getClipping(Region region)
Sets the region managed by the argument to the current clipping region of the receiver.

Parameters:
region - the region to fill with the clipping region
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the region is null
  • ERROR_INVALID_ARGUMENT - if the region is disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getFillRule

public int getFillRule()
Returns the receiver's fill rule, which will be one of SWT.FILL_EVEN_ODD or SWT.FILL_WINDING.

Returns:
the receiver's fill rule
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getFont

public Font getFont()
Returns the font currently being used by the receiver to draw and measure text.

Returns:
the receiver's font
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getFontMetrics

public FontMetrics getFontMetrics()
Returns a FontMetrics which contains information about the font currently being used by the receiver to draw and measure text.

Returns:
font metrics for the receiver's font
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getForeground

public Color getForeground()
Returns the receiver's foreground color.

Returns:
the color used for drawing foreground things
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getForegroundPattern

public Pattern getForegroundPattern()
Returns the foreground pattern. The default value is null.

Returns:
the receiver's foreground pattern
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
Pattern

getGCData

public GCData getGCData()
Returns the GCData.

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.

Returns:
the receiver's GCData
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.2
See Also:
GCData
Restriction:
This method is not intended to be referenced by clients.

getInterpolation

public int getInterpolation()
Returns the receiver's interpolation setting, which will be one of SWT.DEFAULT, SWT.NONE, SWT.LOW or SWT.HIGH.

Returns:
the receiver's interpolation setting
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getLineAttributes

public LineAttributes getLineAttributes()
Returns the receiver's line attributes.

Returns:
the line attributes used for drawing lines
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.3

getLineCap

public 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.

Returns:
the cap style used for drawing lines
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getLineDash

public int[] getLineDash()
Returns the receiver's line dash style. The default value is null.

Returns:
the line dash style used for drawing lines
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getLineJoin

public 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.

Returns:
the join style used for drawing lines
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

getLineStyle

public 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.

Returns:
the style used for drawing lines
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getLineWidth

public 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.

Returns:
the receiver's line width
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

getStyle

public int getStyle()
Returns the receiver's style information.

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.

Returns:
the style bits
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
2.1.2

getTextAntialias

public int getTextAntialias()
Returns the receiver's text drawing anti-aliasing setting value, which will be one of SWT.DEFAULT, SWT.OFF or SWT.ON. Note that this controls anti-aliasing only for text drawing operations.

Returns:
the anti-aliasing setting
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
getAntialias()

getTransform

public void getTransform(Transform transform)
Sets the parameter to the transform that is currently being used by the receiver.

Parameters:
transform - the destination to copy the transform into
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the parameter is null
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
Transform

getXORMode

public 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.

Returns:
true true if the receiver is in XOR mode, and false otherwise
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

hashCode

public int hashCode()
Returns an integer hash code for the receiver. Any two objects that return true when passed to equals must return the same value for this method.

Overrides:
hashCode in class Object
Returns:
the receiver's hash
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
See Also:
equals(java.lang.Object)

isClipped

public boolean isClipped()
Returns 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).

Returns:
true if the GC has a clipping region, and false otherwise
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

isDisposed

public boolean isDisposed()
Returns 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.

Specified by:
isDisposed in class Resource
Returns:
true when the GC is disposed and false otherwise

setAdvanced

public 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. 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.

Parameters:
advanced - the new advanced graphics state
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1
See Also:
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()

setAntialias

public 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. 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.

Parameters:
antialias - the anti-aliasing setting
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the parameter is not one of SWT.DEFAULT, SWT.OFF or SWT.ON
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
getAdvanced(), setAdvanced(boolean), setTextAntialias(int)

setAlpha

public void setAlpha(int alpha)
Sets the receiver's alpha value which must be between 0 (transparent) and 255 (opaque).

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
alpha - the alpha value
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
getAdvanced(), setAdvanced(boolean)

setBackground

public void setBackground(Color color)
Sets the background color. The background color is used for fill operations and as the background color when text is drawn.

Parameters:
color - the new background color for the receiver
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the color is null
  • ERROR_INVALID_ARGUMENT - if the color has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setBackgroundPattern

public void setBackgroundPattern(Pattern pattern)
Sets the background pattern. The default value is null.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
pattern - the new background pattern
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Pattern, getAdvanced(), setAdvanced(boolean)

setClipping

public 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.

Parameters:
x - the x coordinate of the clipping rectangle
y - the y coordinate of the clipping rectangle
width - the width of the clipping rectangle
height - the height of the clipping rectangle
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setClipping

public void setClipping(Path path)
Sets the area of the receiver which can be changed by drawing operations to the path specified by the argument.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
path - the clipping path.
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the path has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Path, getAdvanced(), setAdvanced(boolean)

setClipping

public 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. Specifying null for the rectangle reverts the receiver's clipping area to its original value.

Parameters:
rect - the clipping rectangle or null
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setClipping

public void setClipping(Region region)
Sets the area of the receiver which can be changed by drawing operations to the region specified by the argument. Specifying null for the region reverts the receiver's clipping area to its original value.

Parameters:
region - the clipping region or null
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the region has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setFillRule

public 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.

Parameters:
rule - the new fill rule
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the rule is not one of SWT.FILL_EVEN_ODD or SWT.FILL_WINDING
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

setFont

public void setFont(Font font)
Sets the font which will be used by the receiver to draw and measure text to the argument. If the argument is null, then a default font appropriate for the platform will be used instead.

Parameters:
font - the new font for the receiver, or null to indicate a default font
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the font has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setForeground

public void setForeground(Color color)
Sets the foreground color. The foreground color is used for drawing operations including when text is drawn.

Parameters:
color - the new foreground color for the receiver
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the color is null
  • ERROR_INVALID_ARGUMENT - if the color has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setForegroundPattern

public void setForegroundPattern(Pattern pattern)
Sets the foreground pattern. The default value is null.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
pattern - the new foreground pattern
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Pattern, getAdvanced(), setAdvanced(boolean)

setInterpolation

public 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.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
interpolation - the new interpolation setting
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the rule is not one of SWT.DEFAULT, SWT.NONE, SWT.LOW or SWT.HIGH
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
getAdvanced(), setAdvanced(boolean)

setLineAttributes

public void setLineAttributes(LineAttributes attributes)
Sets the receiver's line attributes.

This operation requires the operating system's advanced graphics subsystem which may not be available on some platforms.

Parameters:
attributes - the line attributes
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the attributes is null
  • ERROR_INVALID_ARGUMENT - if any of the line attributes is not valid
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.3
See Also:
LineAttributes, getAdvanced(), setAdvanced(boolean)

setLineCap

public 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.

Parameters:
cap - the cap style to be used for drawing lines
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the style is not valid
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

setLineDash

public void setLineDash(int[] dashes)
Sets the receiver's line dash style to the argument. The default value is 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.

Parameters:
dashes - the dash style to be used for drawing lines
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if any of the values in the array is less than or equal 0
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

setLineJoin

public 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.

Parameters:
join - the join style to be used for drawing lines
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the style is not valid
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
Since:
3.1

setLineStyle

public 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.

Parameters:
lineStyle - the style to be used for drawing lines
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the style is not valid
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setLineWidth

public 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.

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.

Parameters:
lineWidth - the width of a line
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setXORMode

public void setXORMode(boolean xor)
Deprecated. this functionality is not supported on some platforms

If the argument is 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.

Parameters:
xor - if true, then xor mode is used, otherwise source copy mode is used
Throws:
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

setTextAntialias

public 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. 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.

Parameters:
antialias - the anti-aliasing setting
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the parameter is not one of SWT.DEFAULT, SWT.OFF or SWT.ON
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
getAdvanced(), setAdvanced(boolean), setAntialias(int)

setTransform

public void setTransform(Transform transform)
Sets the transform that is currently being used by the receiver. If the argument is 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.

Parameters:
transform - the transform to set
Throws:
IllegalArgumentException -
  • ERROR_INVALID_ARGUMENT - if the parameter has been disposed
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed
  • ERROR_NO_GRAPHICS_LIBRARY - if advanced graphics are not available
Since:
3.1
See Also:
Transform, getAdvanced(), setAdvanced(boolean)

stringExtent

public Point stringExtent(String string)
Returns the extent of the given string. No tab expansion or carriage return processing will be performed.

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).

Parameters:
string - the string to measure
Returns:
a point containing the extent of the string
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

textExtent

public Point textExtent(String string)
Returns the extent of the given string. Tab expansion and carriage return processing are performed.

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).

Parameters:
string - the string to measure
Returns:
a point containing the extent of the string
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

textExtent

public Point textExtent(String string,
                        int flags)
Returns the extent of the given string. Tab expansion, line delimiter and mnemonic processing are performed according to the specified flags, which can be a combination of:
DRAW_DELIMITER
draw multiple lines
DRAW_TAB
expand tabs
DRAW_MNEMONIC
underline the mnemonic character
DRAW_TRANSPARENT
transparent background

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).

Parameters:
string - the string to measure
flags - the flags specifying how to process the text
Returns:
a point containing the extent of the string
Throws:
IllegalArgumentException -
  • ERROR_NULL_ARGUMENT - if the string is null
SWTException -
  • ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed

toString

public String toString()
Returns a string containing a concise, human-readable description of the receiver.

Overrides:
toString in class Object
Returns:
a string representation of the receiver

win32_new

public static GC win32_new(Drawable drawable,
                           GCData data)
Invokes platform specific functionality to allocate a new graphics context.

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.

Parameters:
drawable - the Drawable for the receiver.
data - the data for the receiver.
Returns:
a new GC
Restriction:
This method is not intended to be referenced by clients.

win32_new

public static GC win32_new(int hDC,
                           GCData data)
Invokes platform specific functionality to wrap a graphics context.

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.

Parameters:
hDC - the Windows HDC.
data - the data for the receiver.
Returns:
a new GC
Restriction:
This method is not intended to be referenced by clients.

Eclipse Platform
Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.