|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.tensegrity.graphics.device.AbstractDevice
com.tensegrity.graphics.device.AWTDevice
All drawing performed by an AWTDevice are implemented by
the drawing methods of classes java.awt.Graphics and
java.awt.Graphics2D. This Device is used in an
AWT / Swing environment. It is the most mature
Device implementation in the framework.
Important: This class is not intended to be extended and is only temporarily set to non-final (for internal reasons).
| Field Summary | |
static java.util.HashMap |
fontCache
Font cache hashmap. |
protected java.awt.Graphics |
gfx
Instance variable to hold the Graphicsobject.
|
protected java.awt.Graphics2D |
gfx2D
Instance variable to hold the Graphics2Dobject.
|
static boolean |
USE_FONT_CACHING
Disable or enable font-caching. |
static boolean |
USE_TEXTURE_BITMAP_CACHING
Disable or enable textures to be drawn from cached bitmaps. |
| Fields inherited from class com.tensegrity.graphics.device.AbstractDevice |
fontFormat, fontFormatData, paintFormat, paintFormatData, strokeFormat, strokeFormatData, visibleFont, visiblePaint, visibleStroke |
| Fields inherited from interface com.tensegrity.graphics.device.Device |
DRAW_FILL, DRAW_OUTLINE |
| Constructor Summary | |
protected |
AWTDevice()
Constructor temporarily set to protected for internal reasons.
|
| Method Summary | |
void |
clearClip()
Clears the currently used clip rectangle. |
void |
clearRect(int x,
int y,
int width,
int height)
Clears the specified rectangle by filling it with the background color of the current drawing surface. |
void |
clipRect(int x,
int y,
int width,
int height)
Intersects the current clip with the specified rectangle. |
static java.awt.Paint |
createAWTPaint(AWTDevice device,
int style,
int colorback,
int colorfore,
int gradientType,
int patternType,
Texture texture,
int transparency,
boolean transparent)
Returns a java.awt.Paint instance. |
static java.awt.Paint |
createAWTPaint(AWTDevice device,
PaintFormat paintformat)
Returns a java.awt.Paint instance. |
static java.awt.Stroke |
createAWTStroke(int strokeWeight,
double[] pattern)
Returns a java.awt.Stroke instance. |
static java.awt.Stroke |
createAWTStroke(int strokeWeight,
double[] pattern,
int strokeCap)
Returns a java.awt.Stroke instance. |
static java.awt.Stroke |
createAWTStroke(StrokeFormat strokeformat)
Returns a java.awt.Stroke instance. |
void |
dispose()
Disposes this AWTDevice. |
void |
drawArc(int flags,
int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
Draws a circular or elliptical arc covering the specified rectangle. |
void |
drawLine(int x1,
int y1,
int x2,
int y2)
This method draws a line from the starting coordinate given by x1 and y1 to the ending coordinate given
by x2 and y2. |
void |
drawOval(int flags,
int x,
int y,
int width,
int height)
Draws an oval. |
void |
drawPolygon(int flags,
int[] ptX,
int[] ptY,
int ptCount)
This method draws a closed polygon. |
void |
drawPolyline(int[] ptX,
int[] ptY,
int ptCount)
This method draws a polyline. |
void |
drawRect(int flags,
int x,
int y,
int width,
int height)
This methods draws the rectangle defined by the given parameters. |
void |
drawRoundRect(int flags,
int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
Draws a round-cornered rectangle using this graphic contexts currently set Stroke- and PaintFormat. |
void |
drawString(java.lang.String str,
int x,
int y)
Draws the text given by the specified string, using this graphics context's current font and color. |
Boundary |
getClipBounds()
Returns the bounding rectangle of the current clipping area. |
Boundary |
getClipBounds(Boundary boundary)
Returns the bounding rectangle of the current clipping area. |
static AWTDevice |
getDevice(java.awt.Graphics gfx)
This is a static factory alike method that lazily instantiates the awt device and returns a reference to it. |
DeviceStatistics |
getDeviceStatistics()
Returns the device statistics or null if statistics
are disabled. |
java.awt.Graphics |
getGraphics()
Returns the currently active Graphics object of this device.
|
Transform2D |
getTransform()
Returns a copy of the current AffineTransform in the
Device. |
boolean |
hitClip(int x,
int y,
int width,
int height)
Returns true if the specified rectangular area intersects
the bounding rectangle of the current clipping area. |
void |
initiate()
Initializes this Device.
|
boolean |
isAntialiasing()
Returns true if antialising is enabled for
this Device, otherwise false is returned. |
boolean |
isInhibitLT2RBFlip()
|
boolean |
isInhibitYFlip()
|
boolean |
isPrinting()
|
static java.awt.Font |
lookupAWTFont(FontFormat fontformat)
Font creation/lookup method. |
static java.awt.Font |
lookupAWTFont(int size,
int weight,
java.lang.String family,
boolean italic)
Font creation/lookup method. |
void |
setAntialiasing(boolean antialiasing)
Enables or disables antialiasing for this Device |
void |
setClip(int x,
int y,
int width,
int height)
Sets the current clip to the rectangle specified by the given coordinates. |
void |
setClipBounds(Boundary boundary)
Sets the current clip to the rectangle specified by the given coordinates. |
void |
setFontFormat(FontFormat fontFormat)
Sets the FontFormat that will be used for all
subsequent text drawing operations. |
void |
setFontFormatData(java.lang.Object[] fontFormatData)
Because all formats get pooled, illustrators and users need an easy way to change them. |
void |
setInhibitLT2RBFlip(boolean inhibitLT2RBFlip)
|
void |
setInhibitYFlip(boolean inhibitYFlip)
|
void |
setIsPrinting(boolean isPrinting)
|
void |
setPaintFormat(PaintFormat paintFormat)
Sets the PaintFormat the Device should use
for filling areas. |
void |
setPaintFormatData(java.lang.Object[] paintFormatData)
Sets the PaintFormat rendering data the Device
should use for filling areas.
|
void |
setPaintMode()
Sets the paint mode of this graphics context to overwrite the destination with this graphics context's current color. |
void |
setStrokeFormat(StrokeFormat strokeFormat)
Sets the StrokeFormat the Device should use for
drawing lines or borders around rectangles and polygons. |
void |
setStrokeFormatData(java.lang.Object[] strokeFormatData)
Sets the StrokeFormat rendering data the Device
should use for drawing lines or borders around rectangles and polygons.
|
void |
setTransform(Transform2D xform)
Sets the Transform2D in the Device. |
void |
setXORMode(int xorAlternationColor)
Sets the paint mode of this graphics context to alternate between this graphics context's current color and the new specified color. |
void |
translate(int x,
int y)
This method translates the origin of this devise to the point given by x and y in the actual coordinate of this
device. |
| Methods inherited from class com.tensegrity.graphics.device.AbstractDevice |
getFontFormat, getPaintFormat, getStrokeFormat |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.tensegrity.graphics.device.Device |
getFontFormat, getPaintFormat, getStrokeFormat |
| Field Detail |
public static boolean USE_FONT_CACHING
public static boolean USE_TEXTURE_BITMAP_CACHING
protected java.awt.Graphics gfx
Graphicsobject.
Important : This variable is only temporarily set to protected for internal reasons. It will be set to private in a foreseeable futur.
protected java.awt.Graphics2D gfx2D
Graphics2Dobject.
Important : This variable is only temporarily set to protected for internal reasons. It will be set to private in a foreseeable futur.
public static final java.util.HashMap fontCache
| Constructor Detail |
protected AWTDevice()
protected for internal reasons.
This constructor is intended to be private and will be so in a
foreseeable futur.
Use #getDevice() instead.
| Method Detail |
public static AWTDevice getDevice(java.awt.Graphics gfx)
gfx - the graphics this AWTDevice should use, this
object must be of type Graphics2D.
AWTDevice for the given
Graphics object.public final void initiate()
DeviceDevice.
initiate in interface Devicepublic void dispose()
DeviceAWTDevice. After disposing the instance
may not longer be used.
Device is no longer in a valid state.
dispose in interface Devicepublic boolean isAntialiasing()
Devicetrue if antialising is enabled for
this Device, otherwise false is returned.
isAntialiasing in interface Devicetrue if antialising is enabled for
this Device, otherwise false is returned.public void setAntialiasing(boolean antialiasing)
DeviceDevice
setAntialiasing in interface Deviceantialiasing - true indicates that
anti-aliasing should be enabled, false disables it.public final void setStrokeFormat(StrokeFormat strokeFormat)
DeviceStrokeFormat the Device should use for
drawing lines or borders around rectangles and polygons. When invoking
this method the StrokeFormat is used instead of the color
value the Device currently uses. If the Device
should use the current color value, this method has to be called with a
null parameter.
setStrokeFormat in interface DevicesetStrokeFormat in class AbstractDevicepublic final void setStrokeFormatData(java.lang.Object[] strokeFormatData)
DeviceStrokeFormat rendering data the Device
should use for drawing lines or borders around rectangles and polygons.
When invoking this method the StrokeFormat is used instead of
the color value the Device currently uses. If the
Device should use the current color value, this method has
to be called with a null parameter.
The given array has to consist of three Integer objects.
The meaning of the value is defined by its position in the array. The
following list specifies the valid index positions:
setStrokeFormatData in interface DevicesetStrokeFormatData in class AbstractDeviceDevice.setStrokeFormatData(java.lang.Object[])public final void setPaintFormat(PaintFormat paintFormat)
DevicePaintFormat the Device should use
for filling areas. If the current color should be used, this method
has to be called with a null parameter.
setPaintFormat in interface DevicesetPaintFormat in class AbstractDevicepublic final void setPaintFormatData(java.lang.Object[] paintFormatData)
DevicePaintFormat rendering data the Device
should use for filling areas.
When invoking this method the PaintFormat is used instead of the
color value the Device> currently uses. If the
Device should use the current color value, this method has
to be called with a null parameter.
Overall eight values of the given array are estimated.
REVIEWJAVADOC: Device.java : what do you mean by "estimated"???
The meaning of each value is defined by its position in the array. The following
table specifies the valid index positions and object types:
| Index | Type |
|---|---|
RenderingData.VALUEINDEX_PAINT_STYLE |
Integer |
RenderingData.VALUEINDEX_PAINT_COLORBACK |
Integer |
RenderingData.VALUEINDEX_PAINT_COLORFORE |
Integer |
RenderingData.VALUEINDEX_PAINT_GRADIENTTYPE |
Integer |
RenderingData.VALUEINDEX_PAINT_PATTERNTYPE |
Integer |
RenderingData.VALUEINDEX_PAINT_TEXTURE |
Texture |
RenderingData.VALUEINDEX_PAINT_TRANSPARENCY |
Integer |
RenderingData.VALUEINDEX_PAINT_TRANSPARENT |
Boolean |
setPaintFormatData in interface DevicesetPaintFormatData in class AbstractDevicepublic final void setFontFormat(FontFormat fontFormat)
DeviceFontFormat that will be used for all
subsequent text drawing operations. When the default color and font
of the Device should be used, the method has to be called
with a null parameter.
setFontFormat in interface DevicesetFontFormat in class AbstractDevicepublic final void setFontFormatData(java.lang.Object[] fontFormatData)
DeviceFontFormat rendering data that will be used for all
subsequent text drawing operations. When the Device
should use the current color value and the default font of the
device, however, this method has to be called with a null parameter.
At this time, four values of the given array are estimated.
REVIEWJAVADOC: There is that word "estimated" again!!!
The meaning
of each value is defined by its position in the array. The following
list specifies the valid index positions and object types:
| Index | Type |
|---|---|
RenderingData.VALUEINDEX_FONT_SIZE |
Integer |
RenderingData.VALUEINDEX_FONT_WEIGHT |
Integer |
RenderingData.VALUEINDEX_FONT_FAMILY |
String |
RenderingData.VALUEINDEX_FONT_ITALIC |
Boolean |
setFontFormatData in interface DevicesetFontFormatData in class AbstractDevice
public final void translate(int x,
int y)
Devicex and y in the actual coordinate of this
device. All coordinates in subsequent calls to drawing methods are
assumed to be relative to the new origin.
translate in interface Devicex - the x coordinate of the new originy - the y coordinate of the new originpublic final Transform2D getTransform()
DeviceAffineTransform in the
Device.
getTransform in interface DeviceAffineTransform in the
Device.public final void setTransform(Transform2D xform)
DeviceTransform2D in the Device.
setTransform in interface Devicexform - the Transform2D object to be used in the
rendering processpublic final void setPaintMode()
Device
setPaintMode in interface Devicepublic final void setXORMode(int xorAlternationColor)
Device
setXORMode in interface DevicexorAlternationColor - the XOR alternation color
public final void setClip(int x,
int y,
int width,
int height)
Device
setClip in interface Devicex - the left coordinate of the new clip rectangley - the top coordinate of the new clip rectanglewidth - the extent of the new clip rectangle in x directionheight - the extent of the new clip rectangle in y direction
public final void clipRect(int x,
int y,
int width,
int height)
Device
clipRect in interface Devicex - the x coordinate of the rectangle to intersect the clip withy - the y coordinate of the rectangle to intersect the clip withwidth - the width of the rectangle to intersect the clip withheight - the height of the rectangle to intersect the clip with
public final boolean hitClip(int x,
int y,
int width,
int height)
Devicetrue if the specified rectangular area intersects
the bounding rectangle of the current clipping area. The coordinates in
the rectangle are relative to the coordinate system origin of this
graphics context.
hitClip in interface Devicex - the x coordinate of the rectangle to test against the clipy - the y coordinate of the rectangle to test against the clipwidth - the width of the rectangle to test against the clipheight - the height of the rectangle to test against the clip
true if the specified rectangular area intersects
the bounding rectangle of the current clipping area.public final Boundary getClipBounds()
Device
getClipBounds in interface Devicepublic final Boundary getClipBounds(Boundary boundary)
DeviceDevice.getClipBounds() in that an existing Boundary is
used instead of allocating a new one. This method refers to the user
clip, which is independent of the clipping associated with device bounds
and window visibility. If no clip has previously been set, or if the clip
has been cleared using setClip(null), this method returns
the specified Boundary.
getClipBounds in interface Deviceboundary - the rectangular boundary where the current clipping area
is copied to. Any current values in this rectangle are overwritten.
public final void setClipBounds(Boundary boundary)
Device
setClipBounds in interface Deviceboundary - the new bounding rectangle to clip againstpublic final void clearClip()
Device
clearClip in interface Device
public final void drawLine(int x1,
int y1,
int x2,
int y2)
Devicex1 and y1 to the ending coordinate given
by x2 and y2.
drawLine in interface Devicex1 - the starting coordinate x valuey1 - the starting coordinate y valuex2 - the ending coordinate x valuey2 - the ending coordinate y value
public final void drawRect(int flags,
int x,
int y,
int width,
int height)
Devicex and y. The right
coordinates are calculated by x + width and the bottom
coordinates are calculated by y + height.
drawRect in interface Deviceflags - bitwise combined flags that determine what to draw.x - the left coordinate of the rectangle.y - the top coordinate of the rectangle.width - the extent in x direction.height - the extent in y direction.
public void clearRect(int x,
int y,
int width,
int height)
Device
clearRect in interface Devicex - the x coordinate of the rectangle to be cleary - the y coordinate of the rectangle to be clearwidth - the width of the rectangle to be clearheight - the height of the rectangle to be clear
public final void drawRoundRect(int flags,
int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
DeviceStroke- and PaintFormat. The
left and right edges of the rectangle are at x and
x + width, respectively. The top and bottom edges of the
rectangle are at y and y + height.
drawRoundRect in interface Deviceflags - bitwise combined flags that determine what to drawx - 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 horizontal diameter of the arc at the four cornersarcHeight - the vertical diameter of the arc at the four corners
public final void drawOval(int flags,
int x,
int y,
int width,
int height)
Device
drawOval in interface Deviceflags - bitwise combined flags that determine what to drawx - 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 drawn
public final void drawArc(int flags,
int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
DevicestartAngle and extends for
arcAngle degrees, using the current color of the
Device. Angles are interpreted in such a manner that a
degree of 0 belongs to 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. The angles are specified relative to the non-square
extents of the bounding rectangle such that 45 degrees always falls
on the line from the center of the ellipse to the upper right corner
of the bounding rectangle. As a result, if the bounding rectangle is
noticeably longer in one axis than the other, the angles to the
start and end of the arc segment will be skewed farther along the
longer axis of the bounds.
drawArc in interface Deviceflags - bitwise combined flags that determine what to drawx - 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
angle
public final void drawPolyline(int[] ptX,
int[] ptY,
int ptCount)
Device
drawPolyline in interface DeviceptX - the x coordinates of the pointsptY - the y coordinates of the pointsptCount - the amount of points the polygon consist of
public final void drawPolygon(int flags,
int[] ptX,
int[] ptY,
int ptCount)
Device
drawPolygon in interface Deviceflags - bitwise combined flags that determine what to drawptX - the x coordinates of the pointsptY - the y coordinates of the pointsptCount - the amount of points the polygon consist of
public final void drawString(java.lang.String str,
int x,
int y)
Device
drawString in interface Devicestr - the string to be drawnx - the x coordinatey - the y coordinatepublic void setIsPrinting(boolean isPrinting)
setIsPrinting in interface Devicepublic boolean isPrinting()
isPrinting in interface Devicepublic void setInhibitLT2RBFlip(boolean inhibitLT2RBFlip)
setInhibitLT2RBFlip in interface Devicepublic boolean isInhibitLT2RBFlip()
isInhibitLT2RBFlip in interface Devicepublic void setInhibitYFlip(boolean inhibitYFlip)
setInhibitYFlip in interface Devicepublic boolean isInhibitYFlip()
isInhibitYFlip in interface Devicepublic static final java.awt.Stroke createAWTStroke(StrokeFormat strokeformat)
java.awt.Stroke instance.
strokeformat - The stroke format
java.awt.Stroke representation of a
StrokeFormat.
public static final java.awt.Stroke createAWTStroke(int strokeWeight,
double[] pattern)
java.awt.Stroke instance.
strokeWeight - The weight of the strokepattern - The pattern for the stroke, may be null
for continuous lines
java.awt.Stroke representation of a
StrokeFormat.
public static final java.awt.Stroke createAWTStroke(int strokeWeight,
double[] pattern,
int strokeCap)
java.awt.Stroke instance.
strokeWeight - The weight of the strokepattern - The pattern for the stroke, may be null
for continuous linesstrokeCap - The stroke cap
java.awt.Stroke representation of a
StrokeFormat.
public static final java.awt.Paint createAWTPaint(AWTDevice device,
PaintFormat paintformat)
java.awt.Paint instance.
java.awt.Paint representation of a
PaintFormat.
public static final java.awt.Paint createAWTPaint(AWTDevice device,
int style,
int colorback,
int colorfore,
int gradientType,
int patternType,
Texture texture,
int transparency,
boolean transparent)
java.awt.Paint instance.
java.awt.Paint representation of a
PaintFormat.public java.awt.Graphics getGraphics()
Graphics object of this device.
Caution: this object may be disposed or invalid for other reason.
Graphics object of this device.public final DeviceStatistics getDeviceStatistics()
null if statistics
are disabled.
public static final java.awt.Font lookupAWTFont(FontFormat fontformat)
fontformat - the fontformat to lookup or create.
public static final java.awt.Font lookupAWTFont(int size,
int weight,
java.lang.String family,
boolean italic)
size - size of the font to lookup.weight - weight of the font to lookup.family - the font family.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||