# Interface TGraphics<Color,Font>

All Known Implementing Classes:
  `AbstractTGraphics, SwingTGraphics`

public interface TGraphics<Color,Font>
ToDo: <Color,Font,Shape,Image>

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearRect(int x, int y, int width, int height)`
  `void`
  `clip(com.macrofocus.geom.Shape s)`
  `BufferedImage`
  `createImage(int width, int height)`
  `void`
  `drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)`
  `boolean`
  `drawClippedImage(com.macrofocus.igraphics.CPImage img, int x, int y, int w, int h, int width, int height, com.macrofocus.geom.Rectangle bounds, com.macrofocus.geom.Shape shape)`
  `boolean`
  `drawImage(com.macrofocus.igraphics.CPImage img, int x, int y)`
  `boolean`
  `drawImage(com.macrofocus.igraphics.CPImage img, int x, int y, int w, int h)`
  `boolean`
  `drawNativeImage(Image img, int x, int y)`
  `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`
  `fill(com.macrofocus.geom.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(double x, double y, double width, double height)`
  `void`
  `fillRect(int x, int y, int width, int height)`
  `void`
  `fillRoundRect(double x, double y, double width, double height, double arcWidth, double arcHeight)`
  `void`
  `fillText(String str, float x, float y)`
  `void`
  `fillText(String str, int x, int y)`
  `double`
  `findMaxFontSize(com.macrofocus.labeling.EnhancedLabel<Color,Font> elabel, com.macrofocus.igraphics.CPFont<Font> font, double maxWidth)`
  `double`
  `fitTextInsideRectangle(com.macrofocus.labeling.EnhancedLabel<Color,Font> elabel, PreferredSize pf, com.macrofocus.igraphics.CPFont<Font> font, com.macrofocus.geom.Rectangle2D bounds, double scaleFactor, boolean expand)`
  `Color`
  `getBackground()`
  `com.macrofocus.igraphics.CPColorFactory<Color>`
  `getColorFactory()`
  `Font`
  `getFont()`
  `com.macrofocus.igraphics.IGraphics<Color,Font>`
  `getIGraphics()`
  `Object`
  `getNativeGraphics()`
  `double`
  `getStringWidth(String text)`
  `com.macrofocus.geom.AffineTransform`
  `getTransform()`
  `boolean`
  `hitClip(com.macrofocus.geom.Rectangle bounds)`
  `boolean`
  `isAntialias()`
  `boolean`
  `isInterpolationBilinear()`
  `boolean`
  `isPaintingForPrint()`
  `boolean`
  `isTextAntialias()`
  `void`
  `paintLabel(com.macrofocus.labeling.EnhancedLabel<Color,Font> l, int x, int y, int w, int h)`
  `void`
  `restore()`
  `void`
  `rotate(double theta)`
  `void`
  `rotate(double theta, double x, double y)`
  `void`
  `save()`
  `void`
  `scale(double sx, double sy)`
  `void`
  `setAntialias(boolean antialias)`
  `void`
  `setBackground(com.macrofocus.igraphics.CPColor<Color> color)`
  `void`
  `setColor(com.macrofocus.igraphics.CPColor<Color> c)`
  `void`
  `setFill(com.macrofocus.igraphics.CPColor<Color> c)`
  `void`
  `setFont(Font font)`
  `void`
  `setGlobalAlpha(double alpha)`
  `void`
  `setInterpolationBilinear(boolean bilinear)`
  `void`
  `setLineDash(double[] dashPattern)`
  `void`
  `setLineWidth(double lw)`
  `void`
  `setPaint(Paint paint)`
  `void`
  `setPaintingForPrint(boolean paintingForPrint)`
  `void`
  `setRadialGradient()`
  `void`
  `setStroke(com.macrofocus.igraphics.CPColor<Color> c)`
  `void`
  `setTextAntialias(boolean antialias)`
  `void`
  `setTransform(com.macrofocus.geom.AffineTransform t)`
  `void`
  `shear(double shx, double shy)`
  `PreferredSize`
  `sizeLabel(com.macrofocus.labeling.EnhancedLabel<Color,Font> l, int w, int h)`
  `void`
  `softClip(com.macrofocus.geom.Shape screenBounds)`
  `void`
  `stroke(com.macrofocus.geom.Shape s)`
  `void`
  `strokeLine(int x1, int y1, int x2, int y2)`
  `void`
  `strokeRect(double x, double y, double width, double height)`
  `void`
  `strokeRoundRect(double x, double y, double width, double height, double arcWidth, double arcHeight)`
  `void`
  `transform(com.macrofocus.geom.AffineTransform t)`
  `void`
  `translate(double tx, double ty)`
  `void`
  `translate(int tx, int ty)`

- ## Method Details

  - ### getColorFactory

    com.macrofocus.igraphics.CPColorFactory<Color> getColorFactory()

  - ### paintLabel

    void paintLabel(com.macrofocus.labeling.EnhancedLabel<Color,Font> l, int x, int y, int w, int h)

  - ### sizeLabel

    PreferredSize sizeLabel(com.macrofocus.labeling.EnhancedLabel<Color,Font> l, int w, int h)

  - ### save

    void save()

  - ### restore

    void restore()

  - ### setPaint

    void setPaint(Paint paint)

  - ### setFill

    void setFill(com.macrofocus.igraphics.CPColor<Color> c)

  - ### setStroke

    void setStroke(com.macrofocus.igraphics.CPColor<Color> c)

  - ### setColor

    void setColor(com.macrofocus.igraphics.CPColor<Color> c)

  - ### setRadialGradient

    void setRadialGradient()

  - ### isPaintingForPrint

    boolean isPaintingForPrint()

  - ### setPaintingForPrint

    void setPaintingForPrint(boolean paintingForPrint)

  - ### getNativeGraphics

    Object getNativeGraphics()

  - ### getIGraphics

    com.macrofocus.igraphics.IGraphics<Color,Font> getIGraphics()

  - ### getBackground

    Color getBackground()

  - ### setBackground

    void setBackground(com.macrofocus.igraphics.CPColor<Color> color)

  - ### setGlobalAlpha

    void setGlobalAlpha(double alpha)

  - ### setLineWidth

    void setLineWidth(double lw)

  - ### setLineDash

    void setLineDash(double[] dashPattern)

  - ### isInterpolationBilinear

    boolean isInterpolationBilinear()

  - ### setInterpolationBilinear

    void setInterpolationBilinear(boolean bilinear)

  - ### isAntialias

    boolean isAntialias()

  - ### setAntialias

    void setAntialias(boolean antialias)

  - ### isTextAntialias

    boolean isTextAntialias()

  - ### setTextAntialias

    void setTextAntialias(boolean antialias)

  - ### stroke

    void stroke(com.macrofocus.geom.Shape s)

  - ### fill

    void fill(com.macrofocus.geom.Shape s)

  - ### getFont

    Font getFont()

  - ### setFont

    void setFont(Font font)

  - ### getStringWidth

    double getStringWidth(String text)

  - ### fillText

    void fillText(String str, int x, int y)

  - ### fillText

    void fillText(String str, float x, float y)

  - ### translate

    void translate(int tx, int ty)

  - ### translate

    void translate(double tx, double ty)

  - ### rotate

    void rotate(double theta)

  - ### rotate

    void rotate(double theta, double x, double y)

  - ### scale

    void scale(double sx, double sy)

  - ### shear

    void shear(double shx, double shy)

  - ### transform

    void transform(com.macrofocus.geom.AffineTransform t)

  - ### getTransform

    com.macrofocus.geom.AffineTransform getTransform()

  - ### setTransform

    void setTransform(com.macrofocus.geom.AffineTransform t)

  - ### clip

    void clip(com.macrofocus.geom.Shape s)

  - ### strokeLine

    void strokeLine(int x1, int y1, int x2, int y2)

  - ### fillRect

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

  - ### clearRect

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

  - ### strokeRect

    void strokeRect(double x, double y, double width, double height)

  - ### fillRect

    void fillRect(double x, double y, double width, double height)

  - ### strokeRoundRect

    void strokeRoundRect(double x, double y, double width, double height, double arcWidth, double arcHeight)

  - ### fillRoundRect

    void fillRoundRect(double x, double y, double width, double height, double arcWidth, double arcHeight)

  - ### drawOval

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

  - ### fillOval

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

  - ### drawArc

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

  - ### fillArc

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

  - ### drawPolyline

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

  - ### drawPolygon

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

  - ### fillPolygon

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

  - ### createImage

    BufferedImage createImage(int width, int height)

  - ### drawNativeImage

    boolean drawNativeImage(Image img, int x, int y)

  - ### drawImage

    boolean drawImage(com.macrofocus.igraphics.CPImage img, int x, int y)

  - ### drawImage

    boolean drawImage(com.macrofocus.igraphics.CPImage img, int x, int y, int w, int h)

  - ### fitTextInsideRectangle

    double fitTextInsideRectangle(com.macrofocus.labeling.EnhancedLabel<Color,Font> elabel, PreferredSize pf, com.macrofocus.igraphics.CPFont<Font> font, com.macrofocus.geom.Rectangle2D bounds, double scaleFactor, boolean expand)

  - ### findMaxFontSize

    double findMaxFontSize(com.macrofocus.labeling.EnhancedLabel<Color,Font> elabel, com.macrofocus.igraphics.CPFont<Font> font, double maxWidth)

  - ### drawClippedImage

    boolean drawClippedImage(com.macrofocus.igraphics.CPImage img, int x, int y, int w, int h, int width, int height, com.macrofocus.geom.Rectangle bounds, com.macrofocus.geom.Shape shape)

  - ### hitClip

    boolean hitClip(com.macrofocus.geom.Rectangle bounds)

  - ### softClip

    void softClip(com.macrofocus.geom.Shape screenBounds)