|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Graphics | +--com.eteks.awt.PJAGraphics
Pure Java AWT Graphics class implementation. This class enables to draw
in an off screen image, on a system that has no display available.
All drawings are done in the buffer of an image of class PJAImage
.
All the methods are the implementation of the abstract ones of java.awt.Graphics
class. See java.awt.Graphics
for more information.
This class uses only int
and long
number type (no float
or double
).
This class can work even if the classes Rectangle
, Color
, Font
and FontMetrics
aren't accessible for security reasons.
PJAImage
,
Graphics
,
PJAGraphicsManager
Inner Class Summary | |
private class |
PJAGraphics.AreaAveragingScaleFilter
|
private static interface |
PJAGraphics.CircleQuarterListener
|
private class |
PJAGraphics.PJAFont
Inner font class extending java.awtFont class to override getPeer (). |
private static class |
PJAGraphics.PJARectangle
Inner rectangle class avoiding the use of java.awt.Rectangle
which requires java.awt.Toolkit class to be loaded. |
Field Summary | |
(package private) int |
ARGB
|
(package private) int |
ARGBIndex
|
private boolean |
classColorAccessible
|
private boolean |
classFontMetricsAccessible
|
private boolean |
classRectangleAccessible
|
(package private) PJAGraphics.PJARectangle |
clip
|
(package private) Color |
color
|
private static int |
COLOR_FACTOR_100
|
private PJAGraphics.PJAFont |
defaultFont
|
(package private) PJAGraphics.PJAFont |
font
|
private boolean |
fontInstantiationEnabled
|
(package private) String |
fontName
|
(package private) PJAFontPeer |
fontPeer
|
(package private) int |
fontSize
|
(package private) int |
fontStyle
|
(package private) PJAImage |
image
|
private PJAGraphicsManager |
manager
|
private int[] |
TAN_0_TO_45_SHIFT_16
|
(package private) int |
translateX
|
(package private) int |
translateY
|
(package private) PJAGraphics.PJARectangle |
userClip
|
(package private) Color |
XORColor
|
(package private) boolean |
XORMode
|
(package private) int |
XorRGB
|
Constructor Summary | |
private |
PJAGraphics()
|
protected |
PJAGraphics(PJAImage image)
|
private |
PJAGraphics(PJAImage image,
Color color,
int ARGB,
int ARGBIndex,
Color XORColor,
boolean XORMode,
int XorRGB,
PJAFontPeer fontPeer,
PJAGraphics.PJAFont font,
String fontName,
int fontStyle,
int fontSize,
int translateX,
int translateY,
PJAGraphics.PJARectangle userClip,
PJAGraphics.PJARectangle clip)
|
Method Summary | |
private void |
checkFontLoading()
|
void |
clearRect(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
void |
clipRect(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
private boolean |
contains(int[] xPoints,
int[] yPoints,
int nPoints,
PJAGraphics.PJARectangle bounds,
int x,
int y)
|
void |
copyArea(int x,
int y,
int width,
int height,
int dx,
int dy)
java.awt.Graphics implementation. |
Graphics |
create()
java.awt.Graphics implementation. |
void |
dispose()
java.awt.Graphics implementation. |
void |
draw3DRect(int x,
int y,
int width,
int height,
boolean raised)
Same implementation as in the class java.awtGraphics except
it doesn't use Color class. |
void |
drawArc(int x,
int y,
int width,
int height,
int start,
int arcAngle)
java.awt.Graphics implementation. |
private void |
drawArcHorizontalLine(int[] xPoints,
int[] yPoints,
int nPoints,
PJAGraphics.PJARectangle bounds,
int xLeft,
int xRight,
int y)
|
private void |
drawArcPoint(int[] xPoints,
int[] yPoints,
int nPoints,
PJAGraphics.PJARectangle bounds,
int x,
int y)
|
private void |
drawHorizontalLine(int x1,
int x2,
int y)
|
boolean |
drawImage(Image img,
int x,
int y,
Color bgcolor,
ImageObserver observer)
java.awt.Graphics implementation. |
boolean |
drawImage(Image img,
int x,
int y,
ImageObserver observer)
java.awt.Graphics implementation. |
boolean |
drawImage(Image img,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer)
java.awt.Graphics implementation. |
boolean |
drawImage(Image img,
int x,
int y,
int width,
int height,
ImageObserver observer)
java.awt.Graphics implementation. |
boolean |
drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
Color bgcolor,
ImageObserver observer)
java.awt.Graphics implementation. |
boolean |
drawImage(Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
ImageObserver observer)
java.awt.Graphics implementation. |
void |
drawLine(int x1,
int y1,
int x2,
int y2)
|
void |
drawOval(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
private void |
drawPoint(int x,
int y)
|
void |
drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
java.awt.Graphics implementation. |
void |
drawPolyline(int[] xPoints,
int[] yPoints,
int nPoints)
java.awt.Graphics implementation. |
void |
drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
java.awt.Graphics implementation. |
void |
drawString(AttributedCharacterIterator iterator,
int x,
int y)
java.awt.Graphics implementation. |
void |
drawString(String str,
int x,
int y)
java.awt.Graphics implementation. |
private void |
drawVerticalLine(int x,
int y1,
int y2)
|
void |
fill3DRect(int x,
int y,
int width,
int height,
boolean raised)
Same implementation as in the class java.awtGraphics except
it doesn't use Color class. |
void |
fillArc(int x,
int y,
int width,
int height,
int start,
int arcAngle)
java.awt.Graphics implementation. |
void |
fillOval(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
void |
fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
java.awt.Graphics implementation. |
void |
fillRect(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
void |
fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
java.awt.Graphics implementation. |
private PJAGraphics.PJARectangle |
getBoundingBox(int[] xpoints,
int[] ypoints,
int npoints)
|
private Point |
getBoundingPointAtAngle(int boundingX,
int boundingY,
int boundingWidth,
int boundingHeight,
int angle)
|
private int |
getBoundingShape(int[] xPoints,
int[] yPoints,
int startAngle,
int arcAngle,
int centerX,
int centerY,
int boundingX,
int boundingY,
int boundingWidth,
int boundingHeight)
This method builds a bounding polygon of an arc of arcAngle degres starting at startAngle, and returnsthe number of points set in xPoints and yPoints tables. |
private int |
getBrighterColor(int ARGB)
|
int |
getCharWidth(char ch)
Returns the advance width of the specified character of the current font. |
Shape |
getClip()
java.awt.Graphics implementation. |
Rectangle |
getClipBounds()
java.awt.Graphics implementation. |
Color |
getColor()
java.awt.Graphics implementation. |
int |
getColorRGB()
Returns the graphics current color RGB. |
private int |
getDarkerColor(int ARGB)
|
Font |
getFont()
java.awt.Graphics implementation. |
int |
getFontAscent()
Determines the font ascent of the current font. |
int |
getFontDescent()
Determines the font descent of the current font. |
int |
getFontLeading()
Determines the standard leading of the current font. |
int |
getFontMaxAdvance()
Gets the maximum advance width of any character of the current Font. |
int |
getFontMaxAscent()
Determines the maximum ascent of the current font. |
int |
getFontMaxDescent()
Determines the maximum descent of the current font. |
FontMetrics |
getFontMetrics()
java.awt.Graphics implementation. |
FontMetrics |
getFontMetrics(Font font)
java.awt.Graphics implementation. |
String |
getFontName()
Returns the graphics current font name. |
int |
getFontSize()
Returns the graphics current font size. |
int |
getFontStyle()
Returns the graphics current font style. |
private PJAGraphics.PJAFont |
getPJAFont(Font font)
java.awt.Graphics implementation. |
int |
getStringWidth(String str)
Returns the total advance width for showing the specified String of the current Font. |
private boolean |
isClipped(int x,
int y)
|
private void |
parseCircleQuarter(int x,
int y,
int width,
int height,
boolean fill,
PJAGraphics.CircleQuarterListener listener)
Enumerates all the points of the quarter of an ellipse. |
static int |
roundDiv(int dividend,
int divisor)
Returns the rounded result of dividend / divisor , avoiding the use of floating
point operation (returns the same as Math.round((float)dividend / divisor) ). |
static long |
roundDiv(long dividend,
long divisor)
Returns the rounded result of dividend / divisor , avoiding the use of floating
point operation (returns the same as Math.round((double)dividend / divisor) ). |
void |
setClip(int x,
int y,
int width,
int height)
java.awt.Graphics implementation. |
void |
setClip(Shape clip)
java.awt.Graphics implementation. |
void |
setColor(Color color)
java.awt.Graphics implementation. |
void |
setColor(int red,
int green,
int blue)
Sets this graphics context's color. |
void |
setFont(Font font)
java.awt.Graphics implementation. |
void |
setFont(String fontName,
int fontStyle,
int fontSize)
Sets this graphics context's font to the specified font specified by its name, style and size. |
void |
setPaintMode()
java.awt.Graphics implementation. |
void |
setXORMode(Color c1)
java.awt.Graphics implementation. |
void |
setXORMode(int red,
int green,
int blue)
Sets this graphics context's XOR color. |
private int |
tanOrCotanShift16(int angle)
Returns the tangent of angle if angle is between -45 deg and 45 deg or
between 135 deg and 225 deg, or returns the cotangent of angle
if angle is between 45 deg and 135 deg or between 225 deg and 315 deg |
void |
translate(int x,
int y)
java.awt.Graphics implementation. |
Methods inherited from class java.awt.Graphics |
create, drawBytes, drawChars, drawPolygon, drawRect, fillPolygon, finalize, getClipBounds, getClipRect, hitClip, toString |
Methods inherited from class java.lang.Object |
|
Field Detail |
private PJAGraphicsManager manager
private PJAGraphics.PJAFont defaultFont
private boolean classColorAccessible
private boolean classRectangleAccessible
private boolean classFontMetricsAccessible
private boolean fontInstantiationEnabled
PJAImage image
Color color
int ARGB
int ARGBIndex
Color XORColor
boolean XORMode
int XorRGB
PJAFontPeer fontPeer
PJAGraphics.PJAFont font
String fontName
int fontStyle
int fontSize
int translateX
int translateY
PJAGraphics.PJARectangle userClip
PJAGraphics.PJARectangle clip
private static final int COLOR_FACTOR_100
private final int[] TAN_0_TO_45_SHIFT_16
Constructor Detail |
private PJAGraphics()
protected PJAGraphics(PJAImage image)
private PJAGraphics(PJAImage image, Color color, int ARGB, int ARGBIndex, Color XORColor, boolean XORMode, int XorRGB, PJAFontPeer fontPeer, PJAGraphics.PJAFont font, String fontName, int fontStyle, int fontSize, int translateX, int translateY, PJAGraphics.PJARectangle userClip, PJAGraphics.PJARectangle clip)
Method Detail |
public Graphics create()
java.awt.Graphics
implementation.create
in class Graphics
Graphics
public void translate(int x, int y)
java.awt.Graphics
implementation.translate
in class Graphics
Graphics
public Color getColor()
java.awt.Graphics
implementation.getColor
in class Graphics
Graphics
public void setColor(Color color)
java.awt.Graphics
implementation.setColor
in class Graphics
Graphics
public int getColorRGB()
PJAGraphicsExtension
implementation.getColorRGB
in interface PJAGraphicsExtension
PJAGraphicsExtension
public void setColor(int red, int green, int blue)
PJAGraphicsExtension
implementation.setColor
in interface PJAGraphicsExtension
red
- the red component.green
- the green component.blue
- the blue component.PJAGraphicsExtension
private int getBrighterColor(int ARGB)
private int getDarkerColor(int ARGB)
public void setPaintMode()
java.awt.Graphics
implementation.setPaintMode
in class Graphics
Graphics
public void setXORMode(Color c1)
java.awt.Graphics
implementation.setXORMode
in class Graphics
Graphics
public void setXORMode(int red, int green, int blue)
PJAGraphicsExtension
implementation.setXORMode
in interface PJAGraphicsExtension
red
- the red component.green
- the green component.blue
- the blue component.PJAGraphicsExtension
private void checkFontLoading()
public FontMetrics getFontMetrics()
java.awt.Graphics
implementation.getFontMetrics
in class Graphics
Graphics
public FontMetrics getFontMetrics(Font font)
java.awt.Graphics
implementation.getFontMetrics
in class Graphics
Graphics
public int getFontLeading()
PJAGraphicsExtension
implementation.getFontLeading
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontAscent()
PJAGraphicsExtension
implementation.getFontAscent
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontDescent()
PJAGraphicsExtension
implementation.getFontDescent
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontMaxAscent()
PJAGraphicsExtension
implementation.getFontMaxAscent
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontMaxDescent()
PJAGraphicsExtension
implementation.getFontMaxDescent
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontMaxAdvance()
PJAGraphicsExtension
implementation.getFontMaxAdvance
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getCharWidth(char ch)
PJAGraphicsExtension
implementation.getCharWidth
in interface PJAGraphicsExtension
ch
- the character to be measuredchar
in the font described by this font metric.PJAGraphicsExtension
public int getStringWidth(String str)
PJAGraphicsExtension
implementation.getStringWidth
in interface PJAGraphicsExtension
str
- the String to be measuredPJAGraphicsExtension
public Font getFont()
java.awt.Graphics
implementation.getFont
in class Graphics
Graphics
public String getFontName()
null
if no font
could be loaded from .pjaf font files.
PJAGraphicsExtension
implementation.getFontName
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontStyle()
PJAGraphicsExtension
implementation.getFontStyle
in interface PJAGraphicsExtension
PJAGraphicsExtension
public int getFontSize()
PJAGraphicsExtension
implementation.getFontSize
in interface PJAGraphicsExtension
PJAGraphicsExtension
public void setFont(Font font)
java.awt.Graphics
implementation.setFont
in class Graphics
Graphics
public void setFont(String fontName, int fontStyle, int fontSize)
PJAGraphicsExtension
implementation.setFont
in interface PJAGraphicsExtension
fontName
- the font name.fontStyle
- the font style.fontSize
- the font size.PJAGraphicsExtension
,
Graphics.setFont(Font)
private PJAGraphics.PJAFont getPJAFont(Font font)
java.awt.Graphics
implementation.Graphics
public Rectangle getClipBounds()
java.awt.Graphics
implementation.getClipBounds
in class Graphics
Graphics
public void clipRect(int x, int y, int width, int height)
java.awt.Graphics
implementation.clipRect
in class Graphics
Graphics
public void setClip(int x, int y, int width, int height)
java.awt.Graphics
implementation.setClip
in class Graphics
Graphics
public Shape getClip()
java.awt.Graphics
implementation.getClip
in class Graphics
Graphics
public void setClip(Shape clip)
java.awt.Graphics
implementation.setClip
in class Graphics
Graphics
public void copyArea(int x, int y, int width, int height, int dx, int dy)
java.awt.Graphics
implementation.copyArea
in class Graphics
Graphics
public void drawLine(int x1, int y1, int x2, int y2)
drawLine
in class Graphics
private boolean isClipped(int x, int y)
private void drawPoint(int x, int y)
private void drawHorizontalLine(int x1, int x2, int y)
private void drawVerticalLine(int x, int y1, int y2)
public void fillRect(int x, int y, int width, int height)
java.awt.Graphics
implementation.fillRect
in class Graphics
Graphics
public void clearRect(int x, int y, int width, int height)
java.awt.Graphics
implementation.clearRect
in class Graphics
Graphics
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
java.awt.Graphics
implementation.drawRoundRect
in class Graphics
Graphics
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
java.awt.Graphics
implementation.fillRoundRect
in class Graphics
Graphics
public void draw3DRect(int x, int y, int width, int height, boolean raised)
java.awtGraphics
except
it doesn't use Color
class.draw3DRect
in class Graphics
public void fill3DRect(int x, int y, int width, int height, boolean raised)
java.awtGraphics
except
it doesn't use Color
class.fill3DRect
in class Graphics
public void drawOval(int x, int y, int width, int height)
java.awt.Graphics
implementation.drawOval
in class Graphics
Graphics
public void fillOval(int x, int y, int width, int height)
java.awt.Graphics
implementation.fillOval
in class Graphics
Graphics
public void drawArc(int x, int y, int width, int height, int start, int arcAngle)
java.awt.Graphics
implementation.drawArc
in class Graphics
Graphics
private int getBoundingShape(int[] xPoints, int[] yPoints, int startAngle, int arcAngle, int centerX, int centerY, int boundingX, int boundingY, int boundingWidth, int boundingHeight)
private int tanOrCotanShift16(int angle)
angle
if angle is between -45 deg and 45 deg or
between 135 deg and 225 deg, or returns the cotangent of angle
if angle is between 45 deg and 135 deg or between 225 deg and 315 degprivate Point getBoundingPointAtAngle(int boundingX, int boundingY, int boundingWidth, int boundingHeight, int angle)
private void drawArcPoint(int[] xPoints, int[] yPoints, int nPoints, PJAGraphics.PJARectangle bounds, int x, int y)
public void fillArc(int x, int y, int width, int height, int start, int arcAngle)
java.awt.Graphics
implementation.fillArc
in class Graphics
Graphics
private void drawArcHorizontalLine(int[] xPoints, int[] yPoints, int nPoints, PJAGraphics.PJARectangle bounds, int xLeft, int xRight, int y)
public static int roundDiv(int dividend, int divisor)
dividend / divisor
, avoiding the use of floating
point operation (returns the same as Math.round((float)dividend / divisor)
).dividend
- A int
number to divide.divisor
- A int
divisor.int
integer.public static long roundDiv(long dividend, long divisor)
dividend / divisor
, avoiding the use of floating
point operation (returns the same as Math.round((double)dividend / divisor)
).dividend
- A long
number to divide.divisor
- A long
divisor.long
integer.private void parseCircleQuarter(int x, int y, int width, int height, boolean fill, PJAGraphics.CircleQuarterListener listener)
newPoint ()
of the interface CircleQuarterListener
.public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
java.awt.Graphics
implementation.drawPolyline
in class Graphics
Graphics
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
java.awt.Graphics
implementation.drawPolygon
in class Graphics
Graphics
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
java.awt.Graphics
implementation.fillPolygon
in class Graphics
Graphics
private PJAGraphics.PJARectangle getBoundingBox(int[] xpoints, int[] ypoints, int npoints)
private boolean contains(int[] xPoints, int[] yPoints, int nPoints, PJAGraphics.PJARectangle bounds, int x, int y)
public void drawString(String str, int x, int y)
java.awt.Graphics
implementation.
Strings are drawn using .pjaf font files read in PJAFontData
objects by
PJAGraphicsManager
.drawString
in class Graphics
PJAGraphicsManager
,
PJAFontData
,
Graphics
public void drawString(AttributedCharacterIterator iterator, int x, int y)
java.awt.Graphics
implementation.drawString
in class Graphics
Graphics
public boolean drawImage(Image img, int x, int y, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
java.awt.Graphics
implementation.drawImage
in class Graphics
Graphics
public void dispose()
java.awt.Graphics
implementation.dispose
in class Graphics
Graphics
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |