aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRenderer.h
diff options
context:
space:
mode:
authorVicent Marti2008-05-25 11:20:28 +0000
committerVicent Marti2008-05-25 11:20:28 +0000
commita4df37e325c3e91bb07c017fc2bca126fe97070d (patch)
treec51da9792f10a970e519df8a60e709dd70f3347a /graphics/VectorRenderer.h
parent0707968a376e90f4719fa7f2f935e252e936a9f8 (diff)
downloadscummvm-rg350-a4df37e325c3e91bb07c017fc2bca126fe97070d.tar.gz
scummvm-rg350-a4df37e325c3e91bb07c017fc2bca126fe97070d.tar.bz2
scummvm-rg350-a4df37e325c3e91bb07c017fc2bca126fe97070d.zip
Interface Manager class
svn-id: r32267
Diffstat (limited to 'graphics/VectorRenderer.h')
-rw-r--r--graphics/VectorRenderer.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/graphics/VectorRenderer.h b/graphics/VectorRenderer.h
index a4ef4b81b1..23e5b18593 100644
--- a/graphics/VectorRenderer.h
+++ b/graphics/VectorRenderer.h
@@ -35,6 +35,24 @@ namespace Graphics {
void vector_renderer_test(OSystem *_system);
+struct DrawStep {
+ bool set_fg, set_bg, set_grad;
+
+ uint8 fg_r, fg_g, fg_b;
+ uint8 bg_r, bg_g, bg_b;
+
+ uint8 grad_r1, grad_g1, grad_b1;
+ uint8 grad_r2, grad_g2, grad_b2;
+
+ uint16 x, y, w, h, r;
+ uint8 shadows, stroke, factor;
+
+ Graphics::VectorRenderer::FillMode fill_mode;
+
+ void (*drawing_call)(DrawStep *step);
+};
+
+
/**
* VectorRenderer: The core Vector Renderer Class
*
@@ -245,6 +263,27 @@ public:
_gradientFactor = factor;
}
+ void drawStep_CIRCLE(DrawStep *step) {
+ drawCircle(step->x, step->y, step->r);
+ }
+
+ void drawStep_SQUARE(DrawStep *step) {
+ drawSquare(step->x, step->y, step->w, step->h);
+ }
+
+ void drawStep_LINE(DrawStep *step) {
+ drawLine(step->x, step->y, step->x + step->w, step->y + step->h);
+ }
+
+ void drawStep_ROUNDEDSQ(DrawStep *step) {
+ drawRoundedSquare(step->x, step->y, step->r, step->w, step->h);
+ }
+
+
+ virtual void drawStep(DrawStep *step) {
+
+ }
+
protected:
Surface *_activeSurface; /** Pointer to the surface currently being drawn */