http://www.eteks.com

com.eteks.awt
Class PJAGraphics

java.lang.Object
  extended byjava.awt.Graphics
      extended bycom.eteks.awt.PJAGraphics
All Implemented Interfaces:
PJAGraphicsExtension

public class PJAGraphics
extends java.awt.Graphics
implements PJAGraphicsExtension

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.

Since:
PJA1.0
Version:
2.3.1
Author:
Emmanuel Puybaret
See Also:
PJAImage, Graphics, PJAGraphicsManager

Constructor Summary
protected PJAGraphics(PJAImage image)
           
 
Method Summary
 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.
 void copyArea(int x, int y, int width, int height, int dx, int dy)
          java.awt.Graphics implementation.
 java.awt.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.
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
          java.awt.Graphics implementation.
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
          java.awt.Graphics implementation.
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
          java.awt.Graphics implementation.
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
          java.awt.Graphics implementation.
 boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
          java.awt.Graphics implementation.
 boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.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.
 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(java.text.AttributedCharacterIterator iterator, int x, int y)
          java.awt.Graphics implementation.
 void drawString(java.lang.String str, int x, int y)
          java.awt.Graphics implementation.
 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.
 int getCharWidth(char ch)
          Returns the advance width of the specified character of the current font.
 java.awt.Shape getClip()
          java.awt.Graphics implementation.
 java.awt.Rectangle getClipBounds()
          java.awt.Graphics implementation.
 java.awt.Color getColor()
          java.awt.Graphics implementation.
 int getColorRGB()
          Returns the graphics current color RGB.
 java.awt.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.
 java.awt.FontMetrics getFontMetrics()
          java.awt.Graphics implementation.
 java.awt.FontMetrics getFontMetrics(java.awt.Font font)
          java.awt.Graphics implementation.
 java.lang.String getFontName()
          Returns the graphics current font name.
 int getFontSize()
          Returns the graphics current font size.
 int getFontStyle()
          Returns the graphics current font style.
 int getStringWidth(java.lang.String str)
          Returns the total advance width for showing the specified String of the current Font.
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(java.awt.Shape clip)
          java.awt.Graphics implementation.
 void setColor(java.awt.Color color)
          java.awt.Graphics implementation.
 void setColor(int red, int green, int blue)
          Sets this graphics context's color.
 void setFont(java.awt.Font font)
          java.awt.Graphics implementation.
 void setFont(java.lang.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(java.awt.Color c1)
          java.awt.Graphics implementation.
 void setXORMode(int red, int green, int blue)
          Sets this graphics context's XOR color.
 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
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PJAGraphics

protected PJAGraphics(PJAImage image)
Method Detail

create

public java.awt.Graphics create()
java.awt.Graphics implementation.

See Also:
Graphics

translate

public void translate(int x,
                      int y)
java.awt.Graphics implementation.

See Also:
Graphics

getColor

public java.awt.Color getColor()
java.awt.Graphics implementation.

See Also:
Graphics

setColor

public void setColor(java.awt.Color color)
java.awt.Graphics implementation.

See Also:
Graphics

getColorRGB

public int getColorRGB()
Returns the graphics current color RGB. PJAGraphicsExtension implementation.

Specified by:
getColorRGB in interface PJAGraphicsExtension
Returns:
the color RGB.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

setColor

public void setColor(int red,
                     int green,
                     int blue)
Sets this graphics context's color. PJAGraphicsExtension implementation.

Specified by:
setColor in interface PJAGraphicsExtension
Parameters:
red - the red component.
green - the green component.
blue - the blue component.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

setPaintMode

public void setPaintMode()
java.awt.Graphics implementation.

See Also:
Graphics

setXORMode

public void setXORMode(java.awt.Color c1)
java.awt.Graphics implementation.

See Also:
Graphics

setXORMode

public void setXORMode(int red,
                       int green,
                       int blue)
Sets this graphics context's XOR color. PJAGraphicsExtension implementation.

Specified by:
setXORMode in interface PJAGraphicsExtension
Parameters:
red - the red component.
green - the green component.
blue - the blue component.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontMetrics

public java.awt.FontMetrics getFontMetrics()
java.awt.Graphics implementation.

See Also:
Graphics

getFontMetrics

public java.awt.FontMetrics getFontMetrics(java.awt.Font font)
java.awt.Graphics implementation.

See Also:
Graphics

getFontLeading

public int getFontLeading()
Determines the standard leading of the current font. The standard leading (interline spacing) is the logical amount of space to be reserved between the descent of one line of text and the ascent of the next line. The height metric is calculated to include this extra space. PJAGraphicsExtension implementation.

Specified by:
getFontLeading in interface PJAGraphicsExtension
Returns:
the standard leading of the current font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontAscent

public int getFontAscent()
Determines the font ascent of the current font. The font ascent is the distance from the font's baseline to the top of most alphanumeric characters. Some characters in the font may extend above the font ascent line. PJAGraphicsExtension implementation.

Specified by:
getFontAscent in interface PJAGraphicsExtension
Returns:
the font ascent of the font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontDescent

public int getFontDescent()
Determines the font descent of the current font. The font descent is the distance from the font's baseline to the bottom of most alphanumeric characters with descenders. Some characters in the font may extend below the font descent line. PJAGraphicsExtension implementation.

Specified by:
getFontDescent in interface PJAGraphicsExtension
Returns:
the font descent of the font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontMaxAscent

public int getFontMaxAscent()
Determines the maximum ascent of the current font. No character extends further above the font's baseline than this height. PJAGraphicsExtension implementation.

Specified by:
getFontMaxAscent in interface PJAGraphicsExtension
Returns:
the maximum ascent of any character in the font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontMaxDescent

public int getFontMaxDescent()
Determines the maximum descent of the current font. No character extends further below the font's baseline than this height. PJAGraphicsExtension implementation.

Specified by:
getFontMaxDescent in interface PJAGraphicsExtension
Returns:
the maximum descent of any character in the font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontMaxAdvance

public int getFontMaxAdvance()
Gets the maximum advance width of any character of the current Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text. PJAGraphicsExtension implementation.

Specified by:
getFontMaxAdvance in interface PJAGraphicsExtension
Returns:
the maximum advance width of any character in the font.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getCharWidth

public int getCharWidth(char ch)
Returns the advance width of the specified character of the current font. The advance width is the amount by which the current point is moved from one character to the next in a line of text. PJAGraphicsExtension implementation.

Specified by:
getCharWidth in interface PJAGraphicsExtension
Parameters:
ch - the character to be measured
Returns:
the advance width of the specified char in the font described by this font metric.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getStringWidth

public int getStringWidth(java.lang.String str)
Returns the total advance width for showing the specified String of the current Font. The advance width is the amount by which the current point is moved from one character to the next in a line of text. PJAGraphicsExtension implementation.

Specified by:
getStringWidth in interface PJAGraphicsExtension
Parameters:
str - the String to be measured
Returns:
the advance width of the specified string in the font described by this font metric.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFont

public java.awt.Font getFont()
java.awt.Graphics implementation.

See Also:
Graphics

getFontName

public java.lang.String getFontName()
Returns the graphics current font name. Returns null if no font could be loaded from .pjaf font files. PJAGraphicsExtension implementation.

Specified by:
getFontName in interface PJAGraphicsExtension
Returns:
the font name.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontStyle

public int getFontStyle()
Returns the graphics current font style. PJAGraphicsExtension implementation.

Specified by:
getFontStyle in interface PJAGraphicsExtension
Returns:
the font style.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

getFontSize

public int getFontSize()
Returns the graphics current font size. PJAGraphicsExtension implementation.

Specified by:
getFontSize in interface PJAGraphicsExtension
Returns:
the font size.
Since:
PJA1.1
See Also:
PJAGraphicsExtension

setFont

public void setFont(java.awt.Font font)
java.awt.Graphics implementation.

See Also:
Graphics

setFont

public void setFont(java.lang.String fontName,
                    int fontStyle,
                    int fontSize)
Sets this graphics context's font to the specified font specified by its name, style and size. All subsequent text operations using this graphics context use this font. If unable to have a default toolkit this method enables to draw text although with an other font. PJAGraphicsExtension implementation.

Specified by:
setFont in interface PJAGraphicsExtension
Parameters:
fontName - the font name.
fontStyle - the font style.
fontSize - the font size.
Since:
PJA1.1
See Also:
PJAGraphicsExtension, Graphics.setFont(Font)

getClipBounds

public java.awt.Rectangle getClipBounds()
java.awt.Graphics implementation.

See Also:
Graphics

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)
java.awt.Graphics implementation.

See Also:
Graphics

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)
java.awt.Graphics implementation.

See Also:
Graphics

getClip

public java.awt.Shape getClip()
java.awt.Graphics implementation.

See Also:
Graphics

setClip

public void setClip(java.awt.Shape clip)
java.awt.Graphics implementation.

See Also:
Graphics

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
java.awt.Graphics implementation.

See Also:
Graphics

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
java.awt.Graphics implementation.

See Also:
Graphics

clearRect

public void clearRect(int x,
                      int y,
                      int width,
                      int height)
java.awt.Graphics implementation.

See Also:
Graphics

drawRoundRect

public void drawRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
java.awt.Graphics implementation.

See Also:
Graphics

fillRoundRect

public void fillRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
java.awt.Graphics implementation.

See Also:
Graphics

draw3DRect

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


fill3DRect

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


drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
java.awt.Graphics implementation.

See Also:
Graphics

fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
java.awt.Graphics implementation.

See Also:
Graphics

drawArc

public void drawArc(int x,
                    int y,
                    int width,
                    int height,
                    int start,
                    int arcAngle)
java.awt.Graphics implementation.

See Also:
Graphics

fillArc

public void fillArc(int x,
                    int y,
                    int width,
                    int height,
                    int start,
                    int arcAngle)
java.awt.Graphics implementation.

See Also:
Graphics

roundDiv

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

Parameters:
dividend - A int number to divide.
divisor - A int divisor.
Returns:
dividend / divisor rounded to the closest int integer.

roundDiv

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

Parameters:
dividend - A long number to divide.
divisor - A long divisor.
Returns:
dividend / divisor rounded to the closest long integer.

drawPolyline

public void drawPolyline(int[] xPoints,
                         int[] yPoints,
                         int nPoints)
java.awt.Graphics implementation.

See Also:
Graphics

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
java.awt.Graphics implementation.

See Also:
Graphics

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
java.awt.Graphics implementation.

See Also:
Graphics

drawString

public void drawString(java.lang.String str,
                       int x,
                       int y)
java.awt.Graphics implementation. Strings are drawn using .pjaf font files read in PJAFontData objects by PJAGraphicsManager.

See Also:
PJAGraphicsManager, PJAFontData, Graphics

drawString

public void drawString(java.text.AttributedCharacterIterator iterator,
                       int x,
                       int y)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.Color bgcolor,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         java.awt.Color bgcolor,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int dx1,
                         int dy1,
                         int dx2,
                         int dy2,
                         int sx1,
                         int sy1,
                         int sx2,
                         int sy2,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int dx1,
                         int dy1,
                         int dx2,
                         int dy2,
                         int sx1,
                         int sy1,
                         int sx2,
                         int sy2,
                         java.awt.Color bgcolor,
                         java.awt.image.ImageObserver observer)
java.awt.Graphics implementation.

See Also:
Graphics

dispose

public void dispose()
java.awt.Graphics implementation.

See Also:
Graphics

© 1997-2003 eTeks - All rights reserved