com.jmex.awt.swingui
Class ImageGraphicsBaseImpl

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by com.jmex.awt.swingui.ImageGraphics
              extended by com.jmex.awt.swingui.ImageGraphicsBaseImpl
Direct Known Subclasses:
JOGLImageGraphics, LWJGLImageGraphics

public abstract class ImageGraphicsBaseImpl
extends ImageGraphics


Field Summary
protected  java.awt.image.BufferedImage awtImage
           
protected  byte[] data
           
protected  java.awt.Graphics2D delegate
           
protected  java.awt.Rectangle dirty
           
protected  boolean glTexSubImage2DSupported
           
protected  java.nio.IntBuffer idBuff
           
protected static java.util.logging.Logger logger
           
protected  ImageGraphicsBaseImpl mipMapChild
           
protected  int mipMapLevel
           
protected  int paintedMipMapCount
           
protected  float scaleX
           
protected  float scaleY
           
protected  java.nio.ByteBuffer tmp_byteBuffer
           
protected  java.awt.Point translation
           
protected  java.awt.Color TRANSPARENT
           
protected  java.awt.geom.AffineTransform tx
           
 
Fields inherited from class com.jmex.awt.swingui.ImageGraphics
image
 
Constructor Summary
protected ImageGraphicsBaseImpl(java.awt.image.BufferedImage awtImage, byte[] data, java.awt.Graphics2D delegate, Image image, java.awt.Rectangle dirty, int translationX, int translationY, float scaleX, float scaleY, int mipMapCount, ImageGraphicsBaseImpl mipMapChild, int mipMapLevel)
           
  ImageGraphicsBaseImpl(int width, int height, int paintedMipMapCount, int mipMapLevel, float scale)
           
 
Method Summary
 void addRenderingHints(java.util.Map<?,?> hints)
           
 void clearRect(int x, int y, int width, int height)
           
 void clip(java.awt.Shape s)
           
 void clipRect(int x, int y, int width, int height)
           
 void copyArea(int x, int y, int width, int height, int dx, int dy)
           
 void dispose()
           
 void draw(java.awt.Shape s)
           
 void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
           
 void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
           
 void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
           
 boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
           
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
           
 boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
           
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
           
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
           
 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)
           
 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)
           
 void drawLine(int x1, int y1, int x2, int y2)
           
 void drawOval(int x, int y, int width, int height)
           
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
           
 void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
           
 void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
           
 void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
           
 void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
           
 void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
           
 void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
           
 void drawString(java.lang.String s, float x, float y)
           
 void drawString(java.lang.String str, int x, int y)
           
 void fill(java.awt.Shape s)
           
 void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
           
 void fillOval(int x, int y, int width, int height)
           
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
           
 void fillRect(int x, int y, int width, int height)
           
 void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
           
 java.awt.image.BufferedImage getAwtImage()
          This method allows access to internal data of this class.
 java.awt.Color getBackground()
           
 java.awt.Shape getClip()
           
 java.awt.Rectangle getClipBounds()
           
 java.awt.Color getColor()
           
 java.awt.Composite getComposite()
           
 java.awt.GraphicsConfiguration getDeviceConfiguration()
           
 java.awt.Font getFont()
           
 java.awt.FontMetrics getFontMetrics(java.awt.Font f)
           
 java.awt.font.FontRenderContext getFontRenderContext()
           
protected  java.awt.Rectangle getImageBounds()
           
 java.awt.Paint getPaint()
           
 java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
           
 java.awt.RenderingHints getRenderingHints()
           
 java.awt.Stroke getStroke()
           
 java.awt.geom.AffineTransform getTransform()
           
 boolean hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
           
 boolean isDirty()
           
protected  void makeDirty(int x, int y, int width, int height)
           
 void rotate(double theta)
           
 void rotate(double theta, double x, double y)
           
 void scale(double sx, double sy)
           
 void setBackground(java.awt.Color color)
           
 void setClip(int x, int y, int width, int height)
           
 void setClip(java.awt.Shape clip)
           
 void setColor(java.awt.Color c)
           
 void setComposite(java.awt.Composite comp)
           
 void setFont(java.awt.Font font)
           
 void setPaint(java.awt.Paint paint)
           
 void setPaintMode()
           
 void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
           
 void setRenderingHints(java.util.Map<?,?> hints)
           
 void setStroke(java.awt.Stroke s)
           
 void setTransform(java.awt.geom.AffineTransform Tx)
           
 void setXORMode(java.awt.Color c1)
           
 void shear(double shx, double shy)
           
 void transform(java.awt.geom.AffineTransform Tx)
           
 void translate(double tx, double ty)
           
 void translate(int x, int y)
           
 void update()
          Updates the image data.
 
Methods inherited from class com.jmex.awt.swingui.ImageGraphics
createInstance, getImage, isExpandDirtyRegion, setExpandDirtyRegion, update, update
 
Methods inherited from class java.awt.Graphics2D
draw3DRect, fill3DRect
 
Methods inherited from class java.awt.Graphics
create, create, drawBytes, drawChars, drawPolygon, drawRect, fillPolygon, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected static final java.util.logging.Logger logger

awtImage

protected final java.awt.image.BufferedImage awtImage

delegate

protected final java.awt.Graphics2D delegate

data

protected final byte[] data

dirty

protected final java.awt.Rectangle dirty

translation

protected final java.awt.Point translation

tmp_byteBuffer

protected java.nio.ByteBuffer tmp_byteBuffer

TRANSPARENT

protected final java.awt.Color TRANSPARENT

paintedMipMapCount

protected final int paintedMipMapCount

mipMapLevel

protected int mipMapLevel

mipMapChild

protected ImageGraphicsBaseImpl mipMapChild

glTexSubImage2DSupported

protected boolean glTexSubImage2DSupported

idBuff

protected java.nio.IntBuffer idBuff

tx

protected java.awt.geom.AffineTransform tx

scaleX

protected float scaleX

scaleY

protected float scaleY
Constructor Detail

ImageGraphicsBaseImpl

protected ImageGraphicsBaseImpl(java.awt.image.BufferedImage awtImage,
                                byte[] data,
                                java.awt.Graphics2D delegate,
                                Image image,
                                java.awt.Rectangle dirty,
                                int translationX,
                                int translationY,
                                float scaleX,
                                float scaleY,
                                int mipMapCount,
                                ImageGraphicsBaseImpl mipMapChild,
                                int mipMapLevel)

ImageGraphicsBaseImpl

public ImageGraphicsBaseImpl(int width,
                             int height,
                             int paintedMipMapCount,
                             int mipMapLevel,
                             float scale)
Method Detail

getAwtImage

public java.awt.image.BufferedImage getAwtImage()
This method allows access to internal data of this class. Use for reading only. (Don't expect any direct modifications on this image to take effect immediately.)

Returns:
the BufferedImage used internally to draw at before updating the native image

getImageBounds

protected java.awt.Rectangle getImageBounds()

isDirty

public boolean isDirty()
Specified by:
isDirty in class ImageGraphics
Returns:
true if image/texture needs update

makeDirty

protected void makeDirty(int x,
                         int y,
                         int width,
                         int height)

getColor

public java.awt.Color getColor()
Specified by:
getColor in class java.awt.Graphics

setColor

public void setColor(java.awt.Color c)
Specified by:
setColor in class java.awt.Graphics

setPaintMode

public void setPaintMode()
Specified by:
setPaintMode in class java.awt.Graphics

setXORMode

public void setXORMode(java.awt.Color c1)
Specified by:
setXORMode in class java.awt.Graphics

getFont

public java.awt.Font getFont()
Specified by:
getFont in class java.awt.Graphics

setFont

public void setFont(java.awt.Font font)
Specified by:
setFont in class java.awt.Graphics

getFontMetrics

public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
Specified by:
getFontMetrics in class java.awt.Graphics

getClipBounds

public java.awt.Rectangle getClipBounds()
Specified by:
getClipBounds in class java.awt.Graphics

clipRect

public void clipRect(int x,
                     int y,
                     int width,
                     int height)
Specified by:
clipRect in class java.awt.Graphics

setClip

public void setClip(int x,
                    int y,
                    int width,
                    int height)
Specified by:
setClip in class java.awt.Graphics

getClip

public java.awt.Shape getClip()
Specified by:
getClip in class java.awt.Graphics

setClip

public void setClip(java.awt.Shape clip)
Specified by:
setClip in class java.awt.Graphics

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Specified by:
copyArea in class java.awt.Graphics

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Specified by:
drawLine in class java.awt.Graphics

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Specified by:
fillRect in class java.awt.Graphics

clearRect

public void clearRect(int x,
                      int y,
                      int width,
                      int height)
Specified by:
clearRect in class java.awt.Graphics

drawRoundRect

public void drawRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Specified by:
drawRoundRect in class java.awt.Graphics

fillRoundRect

public void fillRoundRect(int x,
                          int y,
                          int width,
                          int height,
                          int arcWidth,
                          int arcHeight)
Specified by:
fillRoundRect in class java.awt.Graphics

drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
Specified by:
drawOval in class java.awt.Graphics

fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
Specified by:
fillOval in class java.awt.Graphics

drawArc

public void drawArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Specified by:
drawArc in class java.awt.Graphics

fillArc

public void fillArc(int x,
                    int y,
                    int width,
                    int height,
                    int startAngle,
                    int arcAngle)
Specified by:
fillArc in class java.awt.Graphics

drawPolyline

public void drawPolyline(int[] xPoints,
                         int[] yPoints,
                         int nPoints)
Specified by:
drawPolyline in class java.awt.Graphics

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Specified by:
drawPolygon in class java.awt.Graphics

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Specified by:
fillPolygon in class java.awt.Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.image.ImageObserver observer)
Specified by:
drawImage in class java.awt.Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         int width,
                         int height,
                         java.awt.image.ImageObserver observer)
Specified by:
drawImage in class java.awt.Graphics

drawImage

public boolean drawImage(java.awt.Image img,
                         int x,
                         int y,
                         java.awt.Color bgcolor,
                         java.awt.image.ImageObserver observer)
Specified by:
drawImage in class java.awt.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)
Specified by:
drawImage in class java.awt.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)
Specified by:
drawImage in class java.awt.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)
Specified by:
drawImage in class java.awt.Graphics

dispose

public void dispose()
Specified by:
dispose in class java.awt.Graphics

draw

public void draw(java.awt.Shape s)
Specified by:
draw in class java.awt.Graphics2D

drawImage

public boolean drawImage(java.awt.Image img,
                         java.awt.geom.AffineTransform xform,
                         java.awt.image.ImageObserver obs)
Specified by:
drawImage in class java.awt.Graphics2D

drawImage

public void drawImage(java.awt.image.BufferedImage img,
                      java.awt.image.BufferedImageOp op,
                      int x,
                      int y)
Specified by:
drawImage in class java.awt.Graphics2D

drawRenderedImage

public void drawRenderedImage(java.awt.image.RenderedImage img,
                              java.awt.geom.AffineTransform xform)
Specified by:
drawRenderedImage in class java.awt.Graphics2D

drawRenderableImage

public void drawRenderableImage(java.awt.image.renderable.RenderableImage img,
                                java.awt.geom.AffineTransform xform)
Specified by:
drawRenderableImage in class java.awt.Graphics2D

drawString

public void drawString(java.lang.String str,
                       int x,
                       int y)
Specified by:
drawString in class java.awt.Graphics2D

drawString

public void drawString(java.lang.String s,
                       float x,
                       float y)
Specified by:
drawString in class java.awt.Graphics2D

drawString

public void drawString(java.text.AttributedCharacterIterator iterator,
                       int x,
                       int y)
Specified by:
drawString in class java.awt.Graphics2D

drawString

public void drawString(java.text.AttributedCharacterIterator iterator,
                       float x,
                       float y)
Specified by:
drawString in class java.awt.Graphics2D

drawGlyphVector

public void drawGlyphVector(java.awt.font.GlyphVector g,
                            float x,
                            float y)
Specified by:
drawGlyphVector in class java.awt.Graphics2D

fill

public void fill(java.awt.Shape s)
Specified by:
fill in class java.awt.Graphics2D

hit

public boolean hit(java.awt.Rectangle rect,
                   java.awt.Shape s,
                   boolean onStroke)
Specified by:
hit in class java.awt.Graphics2D

getDeviceConfiguration

public java.awt.GraphicsConfiguration getDeviceConfiguration()
Specified by:
getDeviceConfiguration in class java.awt.Graphics2D

setComposite

public void setComposite(java.awt.Composite comp)
Specified by:
setComposite in class java.awt.Graphics2D

setPaint

public void setPaint(java.awt.Paint paint)
Specified by:
setPaint in class java.awt.Graphics2D

setStroke

public void setStroke(java.awt.Stroke s)
Specified by:
setStroke in class java.awt.Graphics2D

setRenderingHint

public void setRenderingHint(java.awt.RenderingHints.Key hintKey,
                             java.lang.Object hintValue)
Specified by:
setRenderingHint in class java.awt.Graphics2D

getRenderingHint

public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
Specified by:
getRenderingHint in class java.awt.Graphics2D

setRenderingHints

public void setRenderingHints(java.util.Map<?,?> hints)
Specified by:
setRenderingHints in class java.awt.Graphics2D

addRenderingHints

public void addRenderingHints(java.util.Map<?,?> hints)
Specified by:
addRenderingHints in class java.awt.Graphics2D

getRenderingHints

public java.awt.RenderingHints getRenderingHints()
Specified by:
getRenderingHints in class java.awt.Graphics2D

translate

public void translate(int x,
                      int y)
Specified by:
translate in class java.awt.Graphics2D

translate

public void translate(double tx,
                      double ty)
Specified by:
translate in class java.awt.Graphics2D

rotate

public void rotate(double theta)
Specified by:
rotate in class java.awt.Graphics2D

rotate

public void rotate(double theta,
                   double x,
                   double y)
Specified by:
rotate in class java.awt.Graphics2D

scale

public void scale(double sx,
                  double sy)
Specified by:
scale in class java.awt.Graphics2D

shear

public void shear(double shx,
                  double shy)
Specified by:
shear in class java.awt.Graphics2D

transform

public void transform(java.awt.geom.AffineTransform Tx)
Specified by:
transform in class java.awt.Graphics2D

setTransform

public void setTransform(java.awt.geom.AffineTransform Tx)
Specified by:
setTransform in class java.awt.Graphics2D

getTransform

public java.awt.geom.AffineTransform getTransform()
Specified by:
getTransform in class java.awt.Graphics2D

getPaint

public java.awt.Paint getPaint()
Specified by:
getPaint in class java.awt.Graphics2D

getComposite

public java.awt.Composite getComposite()
Specified by:
getComposite in class java.awt.Graphics2D

setBackground

public void setBackground(java.awt.Color color)
Specified by:
setBackground in class java.awt.Graphics2D

getBackground

public java.awt.Color getBackground()
Specified by:
getBackground in class java.awt.Graphics2D

getStroke

public java.awt.Stroke getStroke()
Specified by:
getStroke in class java.awt.Graphics2D

clip

public void clip(java.awt.Shape s)
Specified by:
clip in class java.awt.Graphics2D

getFontRenderContext

public java.awt.font.FontRenderContext getFontRenderContext()
Specified by:
getFontRenderContext in class java.awt.Graphics2D

update

public void update()
Description copied from class: ImageGraphics
Updates the image data.

Specified by:
update in class ImageGraphics
See Also:
ImageGraphics.getImage()