Mercurial > projects > doodle
view doodle/tk/renderer.d @ 84:cdd4fc728d94
Renamed Drawable to Renderer
author | daveb |
---|---|
date | Mon, 16 Aug 2010 17:23:09 +0930 |
parents | doodle/tk/drawable.d@b759414d2b72 |
children |
line wrap: on
line source
module doodle.tk.renderer; public { import doodle.tk.geometry; import doodle.tk.color; } interface Renderer { enum LineStyle { SOLID, DASHED, DOTTED } enum FontFace { NORMAL } // Low-level state manipulation void setLineStyle(LineStyle style); void setLineWidth(in double width); void setColor(in Color color); void translate(in Point p); void scale(in double s); void pushState(); // Copies all of current state void popState(); // Restores all of previous state // High-level drawing routines void drawRectangle(in Rectangle rectangle, bool fill); void drawEllipse(in Rectangle rectangle, bool fill); void drawSegment(in Segment segment); void drawHLine(in double y, in double x0, in double x1); void drawVLine(in double x, in double y0, in double y1); void drawPoly(in Point[] points, bool fill); // Text routines void setFontFace(in FontFace face); void setFontSize(in double size); void drawText(in string text); void measureText(in string text, out Rectangle logicalBounds, out Rectangle totalBounds) const; }