|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.batik.ext.awt.g2d.GraphicContext
Handles the attributes in a graphic context:
+ Composite
+ Font
+ Paint
+ Stroke
+ Clip
+ RenderingHints
+ AffineTransform
Constructor Summary | |
GraphicContext()
Default constructor |
|
GraphicContext(java.awt.geom.AffineTransform defaultDeviceTransform)
|
Method Summary | |
void |
addRenderingHints(java.util.Map hints)
Sets the values of an arbitrary number of preferences for the rendering algorithms. |
void |
clip(java.awt.Shape s)
Intersects the current Clip with the interior of the
specified Shape and sets the Clip to the
resulting intersection. |
void |
clipRect(int x,
int y,
int width,
int height)
Intersects the current clip with the specified rectangle. |
java.lang.Object |
clone()
|
java.awt.Color |
getBackground()
Returns the background color used for clearing a region. |
java.awt.Shape |
getClip()
Gets the current clipping area. |
java.awt.Rectangle |
getClipBounds()
Returns the bounding rectangle of the current clipping area. |
java.awt.Color |
getColor()
Gets this graphics context's current color. |
java.awt.Composite |
getComposite()
Returns the current Composite in the
Graphics2D context. |
java.awt.Font |
getFont()
Gets the current font. |
java.awt.font.FontRenderContext |
getFontRenderContext()
Get the rendering context of the Font within this
Graphics2D context. |
java.awt.Paint |
getPaint()
Returns the current Paint of the
Graphics2D context. |
java.lang.Object |
getRenderingHint(java.awt.RenderingHints.Key hintKey)
Returns the value of a single preference for the rendering algorithms. |
java.awt.RenderingHints |
getRenderingHints()
Gets the preferences for the rendering algorithms. |
java.awt.Stroke |
getStroke()
Returns the current Stroke in the
Graphics2D context. |
java.awt.geom.AffineTransform |
getTransform()
Returns a copy of the current Transform in the
Graphics2D context. |
TransformStackElement[] |
getTransformStack()
|
boolean |
isTransformStackValid()
Checks the status of the transform stack |
void |
rotate(double theta)
Concatenates the current Graphics2D
Transform with a rotation transform. |
void |
rotate(double theta,
double x,
double y)
Concatenates the current Graphics2D
Transform with a translated rotation
transform. |
void |
scale(double sx,
double sy)
Concatenates the current Graphics2D
Transform with a scaling transformation
Subsequent rendering is resized according to the specified scaling
factors relative to the previous scaling. |
void |
setBackground(java.awt.Color color)
Sets the background color for the Graphics2D context. |
void |
setClip(int x,
int y,
int width,
int height)
Sets the current clip to the rectangle specified by the given coordinates. |
void |
setClip(java.awt.Shape clip)
Sets the current clipping area to an arbitrary clip shape. |
void |
setColor(java.awt.Color c)
Sets this graphics context's current color to the specified color. |
void |
setComposite(java.awt.Composite comp)
Sets the Composite for the Graphics2D context. |
void |
setFont(java.awt.Font font)
Sets this graphics context's font to the specified font. |
void |
setPaint(java.awt.Paint paint)
Sets the Paint attribute for the
Graphics2D context. |
void |
setRenderingHint(java.awt.RenderingHints.Key hintKey,
java.lang.Object hintValue)
Sets the value of a single preference for the rendering algorithms. |
void |
setRenderingHints(java.util.Map hints)
Replaces the values of all preferences for the rendering algorithms with the specified hints . |
void |
setStroke(java.awt.Stroke s)
Sets the Stroke for the Graphics2D context. |
void |
setTransform(java.awt.geom.AffineTransform Tx)
Sets the Transform in the Graphics2D
context. |
void |
shear(double shx,
double shy)
Concatenates the current Graphics2D
Transform with a shearing transform. |
void |
transform(java.awt.geom.AffineTransform Tx)
Composes an AffineTransform object with the
Transform in this Graphics2D according
to the rule last-specified-first-applied. |
void |
translate(double tx,
double ty)
Concatenates the current Graphics2D Transform
with a translation transform. |
void |
translate(int x,
int y)
Translates the origin of the graphics context to the point (x, y) in the current coordinate system. |
void |
validateTransformStack()
Marks the GraphicContext's isNewTransformStack to false as a memento that the current transform stack was read and has not been reset. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public GraphicContext()
public GraphicContext(java.awt.geom.AffineTransform defaultDeviceTransform)
defaultDeviceTransform
- Default affine transform applied to map the user space to the
user space.Method Detail |
public java.lang.Object clone()
clone
in class java.lang.Object
public java.awt.Color getColor()
Color
,
Graphics.setColor(java.awt.Color)
public void setColor(java.awt.Color c)
c
- the new rendering color.Color
,
Graphics.getColor()
public java.awt.Font getFont()
Font
,
Graphics.setFont(java.awt.Font)
public void setFont(java.awt.Font font)
font
- the font.Graphics.getFont()
public java.awt.Rectangle getClipBounds()
setClip(null)
, this method returns
null
.
The coordinates in the rectangle are relative to the coordinate
system origin of this graphics context.null
if no clip is set.Graphics.getClip()
,
Graphics.clipRect(int, int, int, int)
,
Graphics.setClip(int, int, int, int)
,
Graphics.setClip(Shape)
public void clipRect(int x, int y, int width, int height)
setClip(null)
,
the specified rectangle becomes the new clip.
This method sets the user clip, which is independent of the
clipping associated with device bounds and window visibility.
This method can only be used to make the current clip smaller.
To set the current clip larger, use any of the setClip methods.
Rendering operations have no effect outside of the clipping area.x
- 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 withsetClip(int, int, int, int)
,
setClip(Shape)
public void setClip(int x, int y, int width, int height)
x
- the x coordinate of the new clip rectangle.y
- the y coordinate of the new clip rectangle.width
- the width of the new clip rectangle.height
- the height of the new clip rectangle.Graphics.clipRect(int, int, int, int)
,
Graphics.setClip(Shape)
public java.awt.Shape getClip()
setClip(null)
, this method returns
null
.Shape
object representing the
current clipping area, or null
if
no clip is set.Graphics.getClipBounds()
,
Graphics.clipRect(int, int, int, int)
,
Graphics.setClip(int, int, int, int)
,
Graphics.setClip(Shape)
public void setClip(java.awt.Shape clip)
Shape
interface can be used to set the clip. The only
Shape
objects that are guaranteed to be
supported are Shape
objects that are
obtained via the getClip
method and via
Rectangle
objects. This method sets the
user clip, which is independent of the clipping associated
with device bounds and window visibility.clip
- the Shape
to use to set the clipGraphics.getClip()
,
Graphics.clipRect(int, int, int, int)
,
Graphics.setClip(int, int, int, int)
public void setComposite(java.awt.Composite comp)
Composite
for the Graphics2D
context.
The Composite
is used in all drawing methods such as
drawImage
, drawString
, draw
,
and fill
. It specifies how new pixels are to be combined
with the existing pixels on the graphics device during the rendering
process.
If this Graphics2D
context is drawing to a
Component
on the display screen and the
Composite
is a custom object rather than an
instance of the AlphaComposite
class, and if
there is a security manager, its checkPermission
method is called with an AWTPermission("readDisplayPixels")
permission.
comp
- the Composite
object to be used for renderingjava.lang.SecurityException
- if a custom Composite
object is being
used to render to the screen and a security manager
is set and its checkPermission
method
does not allow the operation.Graphics.setXORMode(java.awt.Color)
,
Graphics.setPaintMode()
,
AlphaComposite
public void setPaint(java.awt.Paint paint)
Paint
attribute for the
Graphics2D
context. Calling this method
with a null
Paint
object does
not have any effect on the current Paint
attribute
of this Graphics2D
.paint
- the Paint
object to be used to generate
color during the rendering process, or null
Graphics.setColor(java.awt.Color)
,
GradientPaint
,
TexturePaint
public void setStroke(java.awt.Stroke s)
Stroke
for the Graphics2D
context.s
- the Stroke
object to be used to stroke a
Shape
during the rendering processBasicStroke
public void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
RenderingHints
class for definitions of some common
keys and values.hintKey
- the key of the hint to be set.hintValue
- the value indicating preferences for the specified
hint category.RenderingHints
public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
RenderingHints
class for definitions of some common
keys and values.hintKey
- the key corresponding to the hint to get.RenderingHints
class.RenderingHints
public void setRenderingHints(java.util.Map hints)
hints
.
The existing values for all rendering hints are discarded and
the new set of known hints and values are initialized from the
specified Map
object.
Hint categories include controls for rendering quality and
overall time/quality trade-off in the rendering process.
Refer to the RenderingHints
class for definitions of
some common keys and values.hints
- the rendering hints to be setRenderingHints
public void addRenderingHints(java.util.Map hints)
Map
object are modified.
All other preferences not present in the specified
object are left unmodified.
Hint categories include controls for rendering quality and
overall time/quality trade-off in the rendering process.
Refer to the RenderingHints
class for definitions of
some common keys and values.hints
- the rendering hints to be setRenderingHints
public java.awt.RenderingHints getRenderingHints()
RenderingHints
class for definitions of some common
keys and values.RenderingHints
that contains the current preferences.RenderingHints
public void translate(int x, int y)
x
- the x coordinate.y
- the y coordinate.public void translate(double tx, double ty)
Graphics2D
Transform
with a translation transform.
Subsequent rendering is translated by the specified
distance relative to the previous position.
This is equivalent to calling transform(T), where T is an
AffineTransform
represented by the following matrix:
[ 1 0 tx ] [ 0 1 ty ] [ 0 0 1 ]
tx
- the distance to translate along the x-axisty
- the distance to translate along the y-axispublic void rotate(double theta)
Graphics2D
Transform
with a rotation transform.
Subsequent rendering is rotated by the specified radians relative
to the previous origin.
This is equivalent to calling transform(R)
, where R is an
AffineTransform
represented by the following matrix:
[ cos(theta) -sin(theta) 0 ] [ sin(theta) cos(theta) 0 ] [ 0 0 1 ]Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
- the angle of rotation in radianspublic void rotate(double theta, double x, double y)
Graphics2D
Transform
with a translated rotation
transform. Subsequent rendering is transformed by a transform
which is constructed by translating to the specified location,
rotating by the specified radians, and translating back by the same
amount as the original translation. This is equivalent to the
following sequence of calls:
translate(x, y); rotate(theta); translate(-x, -y);Rotating with a positive angle theta rotates points on the positive x axis toward the positive y axis.
theta
- the angle of rotation in radiansx, y
- coordinates of the origin of the rotationpublic void scale(double sx, double sy)
Graphics2D
Transform
with a scaling transformation
Subsequent rendering is resized according to the specified scaling
factors relative to the previous scaling.
This is equivalent to calling transform(S)
, where S is an
AffineTransform
represented by the following matrix:
[ sx 0 0 ] [ 0 sy 0 ] [ 0 0 1 ]
sx
- the amount by which X coordinates in subsequent
rendering operations are multiplied relative to previous
rendering operations.sy
- the amount by which Y coordinates in subsequent
rendering operations are multiplied relative to previous
rendering operations.public void shear(double shx, double shy)
Graphics2D
Transform
with a shearing transform.
Subsequent renderings are sheared by the specified
multiplier relative to the previous position.
This is equivalent to calling transform(SH)
, where SH
is an AffineTransform
represented by the following
matrix:
[ 1 shx 0 ] [ shy 1 0 ] [ 0 0 1 ]
shx
- the multiplier by which coordinates are shifted in
the positive X axis direction as a function of their Y coordinateshy
- the multiplier by which coordinates are shifted in
the positive Y axis direction as a function of their X coordinatepublic void transform(java.awt.geom.AffineTransform Tx)
AffineTransform
object with the
Transform
in this Graphics2D
according
to the rule last-specified-first-applied. If the current
Transform
is Cx, the result of composition
with Tx is a new Transform
Cx'. Cx' becomes the
current Transform
for this Graphics2D
.
Transforming a point p by the updated Transform
Cx' is
equivalent to first transforming p by Tx and then transforming
the result by the original Transform
Cx. In other
words, Cx'(p) = Cx(Tx(p)). A copy of the Tx is made, if necessary,
so further modifications to Tx do not affect rendering.Tx
- the AffineTransform
object to be composed with
the current Transform
setTransform(java.awt.geom.AffineTransform)
,
AffineTransform
public void setTransform(java.awt.geom.AffineTransform Tx)
Transform
in the Graphics2D
context.Tx
- the AffineTransform
object to be used in the
rendering processtransform(java.awt.geom.AffineTransform)
,
AffineTransform
public void validateTransformStack()
public boolean isTransformStackValid()
public TransformStackElement[] getTransformStack()
public java.awt.geom.AffineTransform getTransform()
Transform
in the
Graphics2D
context.AffineTransform
in the
Graphics2D
context.transform(java.awt.geom.AffineTransform)
,
setTransform(java.awt.geom.AffineTransform)
public java.awt.Paint getPaint()
Paint
of the
Graphics2D
context.Graphics2D
Paint
,
which defines a color or pattern.setPaint(java.awt.Paint)
,
Graphics.setColor(java.awt.Color)
public java.awt.Composite getComposite()
Composite
in the
Graphics2D
context.Graphics2D
Composite
,
which defines a compositing style.setComposite(java.awt.Composite)
public void setBackground(java.awt.Color color)
Graphics2D
context.
The background color is used for clearing a region.
When a Graphics2D
is constructed for a
Component
, the background color is
inherited from the Component
. Setting the background color
in the Graphics2D
context only affects the subsequent
clearRect
calls and not the background color of the
Component
. To change the background
of the Component
, use appropriate methods of
the Component
.color
- the background color that isused in
subsequent calls to clearRect
getBackground()
,
Graphics.clearRect(int, int, int, int)
public java.awt.Color getBackground()
Graphics2D
Color
,
which defines the background color.setBackground(java.awt.Color)
public java.awt.Stroke getStroke()
Stroke
in the
Graphics2D
context.Graphics2D
Stroke
,
which defines the line style.setStroke(java.awt.Stroke)
public void clip(java.awt.Shape s)
Clip
with the interior of the
specified Shape
and sets the Clip
to the
resulting intersection. The specified Shape
is
transformed with the current Graphics2D
Transform
before being intersected with the current
Clip
. This method is used to make the current
Clip
smaller.
To make the Clip
larger, use setClip
.
The user clip modified by this method is independent of the
clipping associated with device bounds and visibility. If no clip has
previously been set, or if the clip has been cleared using
setClip
with a null
argument, the specified Shape
becomes the new
user clip.s
- the Shape
to be intersected with the current
Clip
. If s
is null
,
this method clears the current Clip
.public java.awt.font.FontRenderContext getFontRenderContext()
Font
within this
Graphics2D
context.
The FontRenderContext
encapsulates application hints such as anti-aliasing and
fractional metrics, as well as target device specific information
such as dots-per-inch. This information should be provided by the
application when using objects that perform typographical
formatting, such as Font
and
TextLayout
. This information should also be provided
by applications that perform their own layout and need accurate
measurements of various characteristics of glyphs such as advance
and line height when various rendering hints have been applied to
the text rendering.FontRenderContext
,
Font.createGlyphVector(java.awt.font.FontRenderContext, java.lang.String)
,
TextLayout
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |