javax.swing

## Class DebugGraphics

- java.lang.Object
- - java.awt.Graphics
  - - javax.swing.DebugGraphics

    public class DebugGraphics
    extends Graphics

Graphics subclass supporting graphics debugging. Overrides most methods from Graphics. DebugGraphics objects are rarely created by hand. They are most frequently created automatically when a JComponent's debugGraphicsOptions are changed using the setDebugGraphicsOptions() method.

NOTE: You must turn off double buffering to use DebugGraphics: RepaintManager repaintManager = RepaintManager.currentManager(component); repaintManager.setDoubleBufferingEnabled(false);

See Also:
  `JComponent.setDebugGraphicsOptions(int)`, `RepaintManager.currentManager(java.awt.Component)`, `RepaintManager.setDoubleBufferingEnabled(boolean)`

### Field Summary

Fields
`static int` `BUFFERED_OPTION` Show buffered operations in a separate `Frame`.
`static int` `FLASH_OPTION` Flash graphics operations.
`static int` `LOG_OPTION` Log graphics operations.
`static int` `NONE_OPTION` Don't debug graphics operations.

### Constructor Summary

Constructors
Constructor and Description
`DebugGraphics()` Constructs a new debug graphics context that supports slowed down drawing.
`DebugGraphics(Graphics graphics)` Constructs a debug graphics context from an existing graphics context that supports slowed down drawing.
`DebugGraphics(Graphics graphics, JComponent component)` Constructs a debug graphics context from an existing graphics context that slows down drawing for the specified component.

### Method Summary

Methods
`void` `clearRect(int x, int y, int width, int height)` Overrides `Graphics.clearRect`.
`void` `clipRect(int x, int y, int width, int height)` Overrides `Graphics.clipRect`.
`void` `copyArea(int x, int y, int width, int height, int destX, int destY)` Overrides `Graphics.copyArea`.
`Graphics` `create()` Overrides `Graphics.create` to return a DebugGraphics object.
`Graphics` `create(int x, int y, int width, int height)` Overrides `Graphics.create` to return a DebugGraphics object.
`void` `dispose()` Overrides `Graphics.dispose`.
`void` `draw3DRect(int x, int y, int width, int height, boolean raised)` Overrides `Graphics.draw3DRect`.
`void` `drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)` Overrides `Graphics.drawArc`.
`void` `drawBytes(byte[] data, int offset, int length, int x, int y)` Overrides `Graphics.drawBytes`.
`void` `drawChars(char[] data, int offset, int length, int x, int y)` Overrides `Graphics.drawChars`.
`boolean` `drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)` Overrides `Graphics.drawImage`.
`boolean` `drawImage(Image img, int x, int y, ImageObserver observer)` Overrides `Graphics.drawImage`.
`boolean` `drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)` Overrides `Graphics.drawImage`.
`boolean` `drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)` Overrides `Graphics.drawImage`.
`boolean` `drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)` Overrides `Graphics.drawImage`.
`boolean` `drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)` Overrides `Graphics.drawImage`.
`void` `drawLine(int x1, int y1, int x2, int y2)` Overrides `Graphics.drawLine`.
`void` `drawOval(int x, int y, int width, int height)` Overrides `Graphics.drawOval`.
`void` `drawPolygon(int[] xPoints, int[] yPoints, int nPoints)` Overrides `Graphics.drawPolygon`.
`void` `drawPolyline(int[] xPoints, int[] yPoints, int nPoints)` Overrides `Graphics.drawPolyline`.
`void` `drawRect(int x, int y, int width, int height)` Overrides `Graphics.drawRect`.
`void` `drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)` Overrides `Graphics.drawRoundRect`.
`void` `drawString(AttributedCharacterIterator iterator, int x, int y)` Overrides `Graphics.drawString`.
`void` `drawString(String aString, int x, int y)` Overrides `Graphics.drawString`.
`void` `fill3DRect(int x, int y, int width, int height, boolean raised)` Overrides `Graphics.fill3DRect`.
`void` `fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)` Overrides `Graphics.fillArc`.
`void` `fillOval(int x, int y, int width, int height)` Overrides `Graphics.fillOval`.
`void` `fillPolygon(int[] xPoints, int[] yPoints, int nPoints)` Overrides `Graphics.fillPolygon`.
`void` `fillRect(int x, int y, int width, int height)` Overrides `Graphics.fillRect`.
`void` `fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)` Overrides `Graphics.fillRoundRect`.
`static Color` `flashColor()` Returns the Color used to flash drawing operations.
`static int` `flashCount()` Returns the number of times that drawing operations will flash.
`static int` `flashTime()` Returns the time delay of drawing operation flashing.
`Shape` `getClip()` Overrides `Graphics.getClip`.
`Rectangle` `getClipBounds()` Overrides `Graphics.getClipBounds`.
`Color` `getColor()` Returns the Color used for text drawing operations.
`int` `getDebugOptions()` Returns the current debugging options for this DebugGraphics.
`Font` `getFont()` Returns the Font used for text drawing operations.
`FontMetrics` `getFontMetrics()` Overrides `Graphics.getFontMetrics`.
`FontMetrics` `getFontMetrics(Font f)` Overrides `Graphics.getFontMetrics`.
`boolean` `isDrawingBuffer()` Returns the drawingBuffer value.
`static PrintStream` `logStream()` Returns the stream to which the DebugGraphics logs drawing operations.
`void` `setClip(int x, int y, int width, int height)` Overrides `Graphics.setClip`.
`void` `setClip(Shape clip)` Overrides `Graphics.setClip`.
`void` `setColor(Color aColor)` Sets the color to be used for drawing and filling lines and shapes.
`void` `setDebugOptions(int options)` Enables/disables diagnostic information about every graphics operation.
`static void` `setFlashColor(Color flashColor)` Sets the Color used to flash drawing operations.
`static void` `setFlashCount(int flashCount)` Sets the number of times that drawing operations will flash.
`static void` `setFlashTime(int flashTime)` Sets the time delay of drawing operation flashing.
`void` `setFont(Font aFont)` Sets the Font used for text drawing operations.
`static void` `setLogStream(PrintStream stream)` Sets the stream to which the DebugGraphics logs drawing operations.
`void` `setPaintMode()` Overrides `Graphics.setPaintMode`.
`void` `setXORMode(Color aColor)` Overrides `Graphics.setXORMode`.
`void` `translate(int x, int y)` Overrides `Graphics.translate`.

### Methods inherited from class java.awt.Graphics

`drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, hitClip, toString`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### LOG_OPTION

    public static final int LOG_OPTION

Log graphics operations.

See Also:
  Constant Field Values

#### FLASH_OPTION

    public static final int FLASH_OPTION

Flash graphics operations.

See Also:
  Constant Field Values

#### BUFFERED_OPTION

    public static final int BUFFERED_OPTION

Show buffered operations in a separate `Frame`.

See Also:
  Constant Field Values

#### NONE_OPTION

    public static final int NONE_OPTION

Don't debug graphics operations.

See Also:
  Constant Field Values

### Constructor Detail

#### DebugGraphics

    public DebugGraphics()

Constructs a new debug graphics context that supports slowed down drawing.

#### DebugGraphics

    public DebugGraphics(Graphics graphics,
                 JComponent component)

Constructs a debug graphics context from an existing graphics context that slows down drawing for the specified component.

Parameters:
  `graphics` - the Graphics context to slow down
  `component` - the JComponent to draw slowly

#### DebugGraphics

    public DebugGraphics(Graphics graphics)

Constructs a debug graphics context from an existing graphics context that supports slowed down drawing.

Parameters:
  `graphics` - the Graphics context to slow down

### Method Detail

#### create

    public Graphics create()

Overrides `Graphics.create` to return a DebugGraphics object.

Specified by:
  `create` in class `Graphics`
Returns:
  a new graphics context that is a copy of this graphics context.

#### create

    public Graphics create(int x,
                  int y,
                  int width,
                  int height)

Overrides `Graphics.create` to return a DebugGraphics object.

Overrides:
  `create` in class `Graphics`
Parameters:
  `x` - the x coordinate.
  `y` - the y coordinate.
  `width` - the width of the clipping rectangle.
  `height` - the height of the clipping rectangle.
Returns:
  a new graphics context.
See Also:
  `Graphics.translate(int, int)`, `Graphics.clipRect(int, int, int, int)`

#### setFlashColor

    public static void setFlashColor(Color flashColor)

Sets the Color used to flash drawing operations.

#### flashColor

    public static Color flashColor()

Returns the Color used to flash drawing operations.

See Also:
  `setFlashColor(java.awt.Color)`

#### setFlashTime

    public static void setFlashTime(int flashTime)

Sets the time delay of drawing operation flashing.

#### flashTime

    public static int flashTime()

Returns the time delay of drawing operation flashing.

See Also:
  `setFlashTime(int)`

#### setFlashCount

    public static void setFlashCount(int flashCount)

Sets the number of times that drawing operations will flash.

#### flashCount

    public static int flashCount()

Returns the number of times that drawing operations will flash.

See Also:
  `setFlashCount(int)`

#### setLogStream

    public static void setLogStream(PrintStream stream)

Sets the stream to which the DebugGraphics logs drawing operations.

#### logStream

    public static PrintStream logStream()

Returns the stream to which the DebugGraphics logs drawing operations.

See Also:
  `setLogStream(java.io.PrintStream)`

#### setFont

    public void setFont(Font aFont)

Sets the Font used for text drawing operations.

Specified by:
  `setFont` in class `Graphics`
Parameters:
  `aFont` - the font.
See Also:
  `Graphics.getFont()`, `Graphics.drawString(java.lang.String, int, int)`, `Graphics.drawBytes(byte[], int, int, int, int)`, `Graphics.drawChars(char[], int, int, int, int)`

#### getFont

    public Font getFont()

Returns the Font used for text drawing operations.

Specified by:
  `getFont` in class `Graphics`
Returns:
  this graphics context's current font.
See Also:
  `setFont(java.awt.Font)`

#### setColor

    public void setColor(Color aColor)

Sets the color to be used for drawing and filling lines and shapes.

Specified by:
  `setColor` in class `Graphics`
Parameters:
  `aColor` - the new rendering color.
See Also:
  `Color`, `Graphics.getColor()`

#### getColor

    public Color getColor()

Returns the Color used for text drawing operations.

Specified by:
  `getColor` in class `Graphics`
Returns:
  this graphics context's current color.
See Also:
  `setColor(java.awt.Color)`

#### getFontMetrics

    public FontMetrics getFontMetrics()

Overrides `Graphics.getFontMetrics`.

Overrides:
  `getFontMetrics` in class `Graphics`
Returns:
  the font metrics of this graphics context's current font.
See Also:
  `Graphics.getFont()`, `FontMetrics`, `Graphics.getFontMetrics(Font)`

#### getFontMetrics

    public FontMetrics getFontMetrics(Font f)

Overrides `Graphics.getFontMetrics`.

Specified by:
  `getFontMetrics` in class `Graphics`
Parameters:
  `f` - the specified font
Returns:
  the font metrics for the specified font.
See Also:
  `Graphics.getFont()`, `FontMetrics`, `Graphics.getFontMetrics()`

#### translate

    public void translate(int x,
                 int y)

Overrides `Graphics.translate`.

Specified by:
  `translate` in class `Graphics`
Parameters:
  `x` - the x coordinate.
  `y` - the y coordinate.

#### setPaintMode

    public void setPaintMode()

Overrides `Graphics.setPaintMode`.

Specified by:
  `setPaintMode` in class `Graphics`

#### setXORMode

    public void setXORMode(Color aColor)

Overrides `Graphics.setXORMode`.

Specified by:
  `setXORMode` in class `Graphics`
Parameters:
  `aColor` - the XOR alternation color

#### getClipBounds

    public Rectangle getClipBounds()

Overrides `Graphics.getClipBounds`.

Specified by:
  `getClipBounds` in class `Graphics`
Returns:
  the bounding rectangle of the current clipping area, or `null` if no clip is set.
See Also:
  `Graphics.getClip()`, `Graphics.clipRect(int, int, int, int)`, `Graphics.setClip(int, int, int, int)`, `Graphics.setClip(Shape)`

#### clipRect

    public void clipRect(int x,
                int y,
                int width,
                int height)

Overrides `Graphics.clipRect`.

Specified by:
  `clipRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to intersect the clip with
  `y` - the y coordinate of the rectangle to intersect the clip with
  `width` - the width of the rectangle to intersect the clip with
  `height` - the height of the rectangle to intersect the clip with
See Also:
  `Graphics.setClip(int, int, int, int)`, `Graphics.setClip(Shape)`

#### setClip

    public void setClip(int x,
               int y,
               int width,
               int height)

Overrides `Graphics.setClip`.

Specified by:
  `setClip` in class `Graphics`
Parameters:
  `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.
See Also:
  `Graphics.clipRect(int, int, int, int)`, `Graphics.setClip(Shape)`, `Graphics.getClip()`

#### getClip

    public Shape getClip()

Overrides `Graphics.getClip`.

Specified by:
  `getClip` in class `Graphics`
Returns:
  a `Shape` object representing the current clipping area, or `null` if no clip is set.
See Also:
  `Graphics.getClipBounds()`, `Graphics.clipRect(int, int, int, int)`, `Graphics.setClip(int, int, int, int)`, `Graphics.setClip(Shape)`

#### setClip

    public void setClip(Shape clip)

Overrides `Graphics.setClip`.

Specified by:
  `setClip` in class `Graphics`
Parameters:
  `clip` - the `Shape` to use to set the clip
See Also:
  `Graphics.getClip()`, `Graphics.clipRect(int, int, int, int)`, `Graphics.setClip(int, int, int, int)`

#### drawRect

    public void drawRect(int x,
                int y,
                int width,
                int height)

Overrides `Graphics.drawRect`.

Overrides:
  `drawRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be drawn.
  `y` - the y coordinate of the rectangle to be drawn.
  `width` - the width of the rectangle to be drawn.
  `height` - the height of the rectangle to be drawn.
See Also:
  `Graphics.fillRect(int, int, int, int)`, `Graphics.clearRect(int, int, int, int)`

#### fillRect

    public void fillRect(int x,
                int y,
                int width,
                int height)

Overrides `Graphics.fillRect`.

Specified by:
  `fillRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be filled.
  `y` - the y coordinate of the rectangle to be filled.
  `width` - the width of the rectangle to be filled.
  `height` - the height of the rectangle to be filled.
See Also:
  `Graphics.clearRect(int, int, int, int)`, `Graphics.drawRect(int, int, int, int)`

#### clearRect

    public void clearRect(int x,
                 int y,
                 int width,
                 int height)

Overrides `Graphics.clearRect`.

Specified by:
  `clearRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to clear.
  `y` - the y coordinate of the rectangle to clear.
  `width` - the width of the rectangle to clear.
  `height` - the height of the rectangle to clear.
See Also:
  `Graphics.fillRect(int, int, int, int)`, `Graphics.drawRect(int, int, int, int)`, `Graphics.setColor(java.awt.Color)`, `Graphics.setPaintMode()`, `Graphics.setXORMode(java.awt.Color)`

#### drawRoundRect

    public void drawRoundRect(int x,
                     int y,
                     int width,
                     int height,
                     int arcWidth,
                     int arcHeight)

Overrides `Graphics.drawRoundRect`.

Specified by:
  `drawRoundRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be drawn.
  `y` - the y coordinate of the rectangle to be drawn.
  `width` - the width of the rectangle to be drawn.
  `height` - the height of the rectangle to be drawn.
  `arcWidth` - the horizontal diameter of the arc at the four corners.
  `arcHeight` - the vertical diameter of the arc at the four corners.
See Also:
  `Graphics.fillRoundRect(int, int, int, int, int, int)`

#### fillRoundRect

    public void fillRoundRect(int x,
                     int y,
                     int width,
                     int height,
                     int arcWidth,
                     int arcHeight)

Overrides `Graphics.fillRoundRect`.

Specified by:
  `fillRoundRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be filled.
  `y` - the y coordinate of the rectangle to be filled.
  `width` - the width of the rectangle to be filled.
  `height` - the height of the rectangle to be filled.
  `arcWidth` - the horizontal diameter of the arc at the four corners.
  `arcHeight` - the vertical diameter of the arc at the four corners.
See Also:
  `Graphics.drawRoundRect(int, int, int, int, int, int)`

#### drawLine

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

Overrides `Graphics.drawLine`.

Specified by:
  `drawLine` in class `Graphics`
Parameters:
  `x1` - the first point's x coordinate.
  `y1` - the first point's y coordinate.
  `x2` - the second point's x coordinate.
  `y2` - the second point's y coordinate.

#### draw3DRect

    public void draw3DRect(int x,
                  int y,
                  int width,
                  int height,
                  boolean raised)

Overrides `Graphics.draw3DRect`.

Overrides:
  `draw3DRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be drawn.
  `y` - the y coordinate of the rectangle to be drawn.
  `width` - the width of the rectangle to be drawn.
  `height` - the height of the rectangle to be drawn.
  `raised` - a boolean that determines whether the rectangle appears to be raised above the surface or sunk into the surface.
See Also:
  `Graphics.fill3DRect(int, int, int, int, boolean)`

#### fill3DRect

    public void fill3DRect(int x,
                  int y,
                  int width,
                  int height,
                  boolean raised)

Overrides `Graphics.fill3DRect`.

Overrides:
  `fill3DRect` in class `Graphics`
Parameters:
  `x` - the x coordinate of the rectangle to be filled.
  `y` - the y coordinate of the rectangle to be filled.
  `width` - the width of the rectangle to be filled.
  `height` - the height of the rectangle to be filled.
  `raised` - a boolean value that determines whether the rectangle appears to be raised above the surface or etched into the surface.
See Also:
  `Graphics.draw3DRect(int, int, int, int, boolean)`

#### drawOval

    public void drawOval(int x,
                int y,
                int width,
                int height)

Overrides `Graphics.drawOval`.

Specified by:
  `drawOval` in class `Graphics`
Parameters:
  `x` - the x coordinate of the upper left corner of the oval to be drawn.
  `y` - the y coordinate of the upper left corner of the oval to be drawn.
  `width` - the width of the oval to be drawn.
  `height` - the height of the oval to be drawn.
See Also:
  `Graphics.fillOval(int, int, int, int)`

#### fillOval

    public void fillOval(int x,
                int y,
                int width,
                int height)

Overrides `Graphics.fillOval`.

Specified by:
  `fillOval` in class `Graphics`
Parameters:
  `x` - the x coordinate of the upper left corner of the oval to be filled.
  `y` - the y coordinate of the upper left corner of the oval to be filled.
  `width` - the width of the oval to be filled.
  `height` - the height of the oval to be filled.
See Also:
  `Graphics.drawOval(int, int, int, int)`

#### drawArc

    public void drawArc(int x,
               int y,
               int width,
               int height,
               int startAngle,
               int arcAngle)

Overrides `Graphics.drawArc`.

Specified by:
  `drawArc` in class `Graphics`
Parameters:
  `x` - the x coordinate of the upper-left corner of the arc to be drawn.
  `y` - the y coordinate of the upper-left corner of the arc to be drawn.
  `width` - the width of the arc to be drawn.
  `height` - the height of the arc to be drawn.
  `startAngle` - the beginning angle.
  `arcAngle` - the angular extent of the arc, relative to the start angle.
See Also:
  `Graphics.fillArc(int, int, int, int, int, int)`

#### fillArc

    public void fillArc(int x,
               int y,
               int width,
               int height,
               int startAngle,
               int arcAngle)

Overrides `Graphics.fillArc`.

Specified by:
  `fillArc` in class `Graphics`
Parameters:
  `x` - the x coordinate of the upper-left corner of the arc to be filled.
  `y` - the y coordinate of the upper-left corner of the arc to be filled.
  `width` - the width of the arc to be filled.
  `height` - the height of the arc to be filled.
  `startAngle` - the beginning angle.
  `arcAngle` - the angular extent of the arc, relative to the start angle.
See Also:
  `Graphics.drawArc(int, int, int, int, int, int)`

#### drawPolyline

    public void drawPolyline(int[] xPoints,
                    int[] yPoints,
                    int nPoints)

Overrides `Graphics.drawPolyline`.

Specified by:
  `drawPolyline` in class `Graphics`
Parameters:
  `xPoints` - an array of x points
  `yPoints` - an array of y points
  `nPoints` - the total number of points
See Also:
  `Graphics.drawPolygon(int[], int[], int)`

#### drawPolygon

    public void drawPolygon(int[] xPoints,
                   int[] yPoints,
                   int nPoints)

Overrides `Graphics.drawPolygon`.

Specified by:
  `drawPolygon` in class `Graphics`
Parameters:
  `xPoints` - a an array of `x` coordinates.
  `yPoints` - a an array of `y` coordinates.
  `nPoints` - a the total number of points.
See Also:
  `Graphics.fillPolygon(int[], int[], int)`, `Graphics.drawPolyline(int[], int[], int)`

#### fillPolygon

    public void fillPolygon(int[] xPoints,
                   int[] yPoints,
                   int nPoints)

Overrides `Graphics.fillPolygon`.

Specified by:
  `fillPolygon` in class `Graphics`
Parameters:
  `xPoints` - a an array of `x` coordinates.
  `yPoints` - a an array of `y` coordinates.
  `nPoints` - a the total number of points.
See Also:
  `Graphics.drawPolygon(int[], int[], int)`

#### drawString

    public void drawString(String aString,
                  int x,
                  int y)

Overrides `Graphics.drawString`.

Specified by:
  `drawString` in class `Graphics`
Parameters:
  `aString` - the string to be drawn.
  `x` - the x coordinate.
  `y` - the y coordinate.
See Also:
  `Graphics.drawBytes(byte[], int, int, int, int)`, `Graphics.drawChars(char[], int, int, int, int)`

#### drawString

    public void drawString(AttributedCharacterIterator iterator,
                  int x,
                  int y)

Overrides `Graphics.drawString`.

Specified by:
  `drawString` in class `Graphics`
Parameters:
  `iterator` - the iterator whose text is to be drawn
  `x` - the x coordinate.
  `y` - the y coordinate.
See Also:
  `Graphics.drawBytes(byte[], int, int, int, int)`, `Graphics.drawChars(char[], int, int, int, int)`

#### drawBytes

    public void drawBytes(byte[] data,
                 int offset,
                 int length,
                 int x,
                 int y)

Overrides `Graphics.drawBytes`.

Overrides:
  `drawBytes` in class `Graphics`
Parameters:
  `data` - the data to be drawn
  `offset` - the start offset in the data
  `length` - the number of bytes that are drawn
  `x` - the x coordinate of the baseline of the text
  `y` - the y coordinate of the baseline of the text
See Also:
  `Graphics.drawChars(char[], int, int, int, int)`, `Graphics.drawString(java.lang.String, int, int)`

#### drawChars

    public void drawChars(char[] data,
                 int offset,
                 int length,
                 int x,
                 int y)

Overrides `Graphics.drawChars`.

Overrides:
  `drawChars` in class `Graphics`
Parameters:
  `data` - the array of characters to be drawn
  `offset` - the start offset in the data
  `length` - the number of characters to be drawn
  `x` - the x coordinate of the baseline of the text
  `y` - the y coordinate of the baseline of the text
See Also:
  `Graphics.drawBytes(byte[], int, int, int, int)`, `Graphics.drawString(java.lang.String, int, int)`

#### drawImage

    public boolean drawImage(Image img,
                    int x,
                    int y,
                    ImageObserver observer)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `x` - the x coordinate.
  `y` - the y coordinate.
  `observer` - object to be notified as more of the image is converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### drawImage

    public boolean drawImage(Image img,
                    int x,
                    int y,
                    int width,
                    int height,
                    ImageObserver observer)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `x` - the x coordinate.
  `y` - the y coordinate.
  `width` - the width of the rectangle.
  `height` - the height of the rectangle.
  `observer` - object to be notified as more of the image is converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### drawImage

    public boolean drawImage(Image img,
                    int x,
                    int y,
                    Color bgcolor,
                    ImageObserver observer)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `x` - the x coordinate.
  `y` - the y coordinate.
  `bgcolor` - the background color to paint under the non-opaque portions of the image.
  `observer` - object to be notified as more of the image is converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### drawImage

    public boolean drawImage(Image img,
                    int x,
                    int y,
                    int width,
                    int height,
                    Color bgcolor,
                    ImageObserver observer)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `x` - the x coordinate.
  `y` - the y coordinate.
  `width` - the width of the rectangle.
  `height` - the height of the rectangle.
  `bgcolor` - the background color to paint under the non-opaque portions of the image.
  `observer` - object to be notified as more of the image is converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### drawImage

    public boolean drawImage(Image img,
                    int dx1,
                    int dy1,
                    int dx2,
                    int dy2,
                    int sx1,
                    int sy1,
                    int sx2,
                    int sy2,
                    ImageObserver observer)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `dx1` - the x coordinate of the first corner of the destination rectangle.
  `dy1` - the y coordinate of the first corner of the destination rectangle.
  `dx2` - the x coordinate of the second corner of the destination rectangle.
  `dy2` - the y coordinate of the second corner of the destination rectangle.
  `sx1` - the x coordinate of the first corner of the source rectangle.
  `sy1` - the y coordinate of the first corner of the source rectangle.
  `sx2` - the x coordinate of the second corner of the source rectangle.
  `sy2` - the y coordinate of the second corner of the source rectangle.
  `observer` - object to be notified as more of the image is scaled and converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### drawImage

    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)

Overrides `Graphics.drawImage`.

Specified by:
  `drawImage` in class `Graphics`
Parameters:
  `img` - the specified image to be drawn. This method does nothing if `img` is null.
  `dx1` - the x coordinate of the first corner of the destination rectangle.
  `dy1` - the y coordinate of the first corner of the destination rectangle.
  `dx2` - the x coordinate of the second corner of the destination rectangle.
  `dy2` - the y coordinate of the second corner of the destination rectangle.
  `sx1` - the x coordinate of the first corner of the source rectangle.
  `sy1` - the y coordinate of the first corner of the source rectangle.
  `sx2` - the x coordinate of the second corner of the source rectangle.
  `sy2` - the y coordinate of the second corner of the source rectangle.
  `bgcolor` - the background color to paint under the non-opaque portions of the image.
  `observer` - object to be notified as more of the image is scaled and converted.
Returns:
  `false` if the image pixels are still changing; `true` otherwise.
See Also:
  `Image`, `ImageObserver`, `ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)`

#### copyArea

    public void copyArea(int x,
                int y,
                int width,
                int height,
                int destX,
                int destY)

Overrides `Graphics.copyArea`.

Specified by:
  `copyArea` in class `Graphics`
Parameters:
  `x` - the x coordinate of the source rectangle.
  `y` - the y coordinate of the source rectangle.
  `width` - the width of the source rectangle.
  `height` - the height of the source rectangle.
  `destX` - the horizontal distance to copy the pixels.
  `destY` - the vertical distance to copy the pixels.

#### dispose

    public void dispose()

Overrides `Graphics.dispose`.

Specified by:
  `dispose` in class `Graphics`
See Also:
  `Graphics.finalize()`, `Component.paint(java.awt.Graphics)`, `Component.update(java.awt.Graphics)`, `Component.getGraphics()`, `Graphics.create()`

#### isDrawingBuffer

    public boolean isDrawingBuffer()

Returns the drawingBuffer value.

Returns:
  true if this object is drawing from a Buffer

#### setDebugOptions

    public void setDebugOptions(int options)

Enables/disables diagnostic information about every graphics operation. The value of options indicates how this information should be displayed. LOG_OPTION causes a text message to be printed. FLASH_OPTION causes the drawing to flash several times. BUFFERED_OPTION creates a new Frame that shows each operation on an offscreen buffer. The value of options is bitwise OR'd into the current value. To disable debugging use NONE_OPTION.

#### getDebugOptions

    public int getDebugOptions()

Returns the current debugging options for this DebugGraphics.

See Also:
  `setDebugOptions(int)`

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.