aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/VectorRenderer.h')
-rw-r--r--graphics/VectorRenderer.h65
1 files changed, 34 insertions, 31 deletions
diff --git a/graphics/VectorRenderer.h b/graphics/VectorRenderer.h
index 65d0cce417..98bb25a2cb 100644
--- a/graphics/VectorRenderer.h
+++ b/graphics/VectorRenderer.h
@@ -27,22 +27,16 @@
#define VECTOR_RENDERER_H
#include "common/scummsys.h"
+#include "common/system.h"
+
#include "graphics/surface.h"
#include "graphics/colormasks.h"
-#include "common/system.h"
-namespace Graphics {
-class VectorRenderer;
+#include "gui/InterfaceManager.h"
-VectorRenderer *createRenderer(int mode);
-/** Specifies the way in which a shape is filled */
-enum FillMode {
- kFillMode_Disabled = 0,
- kFillMode_Foreground = 1,
- kFillMode_Background = 2,
- kFillMode_Gradient = 3
-};
+namespace Graphics {
+class VectorRenderer;
struct DrawStep {
uint32 flags; /** Step flags, see DrawStepFlags */
@@ -56,23 +50,25 @@ struct DrawStep {
uint16 x, y, w, h, r; /** Shape size */
uint8 shadow, stroke, factor; /** Misc options... */
- FillMode fill_mode; /** active fill mode */
+ int fill_mode; /** active fill mode */
void (VectorRenderer::*drawing_call)(DrawStep*); /** Pointer to drawing function */
-};
-enum DrawStepFlags {
- kDrawStep_CallbackOnly = (1 << 0),
- kDrawStep_SettingsOnly = (1 << 1),
- kDrawStep_SetBG = (1 << 2),
- kDrawStep_SetFG = (1 << 3),
- kDrawStep_SetGradient = (1 << 4),
- kDrawStep_SetShadow = (1 << 5),
- kDrawStep_SetGradientFactor = (1 << 6),
- kDrawStep_SetStroke = (1 << 7),
- kDrawStep_SetFillMode = (1 << 8)
+ enum DrawStepFlags {
+ kStepCallbackOnly = (1 << 0),
+ kStepSettingsOnly = (1 << 1),
+ kStepSetBG = (1 << 2),
+ kStepSetFG = (1 << 3),
+ kStepSetGradient = (1 << 4),
+ kStepSetShadow = (1 << 5),
+ kStepSetGradientFactor = (1 << 6),
+ kStepSetStroke = (1 << 7),
+ kStepSetFillMode = (1 << 8)
+ };
};
+VectorRenderer *createRenderer(int mode);
+
/**
* VectorRenderer: The core Vector Renderer Class
*
@@ -90,9 +86,17 @@ enum DrawStepFlags {
*/
class VectorRenderer {
public:
- VectorRenderer() : _shadowOffset(0), _fillMode(kFillMode_Disabled), _activeSurface(NULL), _strokeWidth(1), _gradientFactor(1) {}
+ VectorRenderer() : _shadowOffset(0), _fillMode(kFillDisabled), _activeSurface(NULL), _strokeWidth(1), _gradientFactor(1) {}
virtual ~VectorRenderer() {}
+ /** Specifies the way in which a shape is filled */
+ enum FillMode {
+ kFillDisabled = 0,
+ kFillForeground = 1,
+ kFillBackground = 2,
+ kFillGradient = 3
+ };
+
/**
* Draws a line by considering the special cases for optimization.
*
@@ -183,7 +187,7 @@ public:
virtual void setBgColor(uint8 r, uint8 g, uint8 b) = 0;
/**
- * Set the active gradient color. All shapes drawn using kFillMode_Gradient
+ * Set the active gradient color. All shapes drawn using kFillGradient
* as their fill mode will use this VERTICAL gradient as their fill color.
*
* @param r1 value of the red color byte for the start color
@@ -311,7 +315,6 @@ protected:
int _gradientBytes[3]; /** Color bytes of the active gradient, used to speed up calculation */
};
-
/**
* VectorRendererSpec: Specialized Vector Renderer Class
*
@@ -392,11 +395,11 @@ public:
int h = _activeSurface->h ;
int pitch = surfacePitch();
- if (Base::_fillMode == kFillMode_Background)
+ if (Base::_fillMode == kFillBackground)
colorFill(ptr, ptr + w * h, _bgColor);
- else if (Base::_fillMode == kFillMode_Foreground)
+ else if (Base::_fillMode == kFillForeground)
colorFill(ptr, ptr + w * h, _fgColor);
- else if (Base::_fillMode == kFillMode_Gradient) {
+ else if (Base::_fillMode == kFillGradient) {
int i = h;
while (i--) {
colorFill(ptr, ptr + w, calcGradient(h - i, h));
@@ -622,7 +625,7 @@ protected:
*
* @see VectorRenderer::drawCircleAlg()
*/
- virtual void drawCircleAlg(int x, int y, int r, PixelType color, FillMode fill_m);
+ virtual void drawCircleAlg(int x, int y, int r, PixelType color, VectorRenderer::FillMode fill_m);
/**
* "Wu's Circle Antialiasing Algorithm" as published by Xiaolin Wu, July 1991,
@@ -631,7 +634,7 @@ protected:
*
* @see VectorRenderer::drawRoundedAlg()
*/
- virtual void drawRoundedSquareAlg(int x1, int y1, int r, int w, int h, PixelType color, FillMode fill_m);
+ virtual void drawRoundedSquareAlg(int x1, int y1, int r, int w, int h, PixelType color, VectorRenderer::FillMode fill_m);
};
} // end of namespace Graphics