22#ifndef VECTOR_RENDERER_H
23#define VECTOR_RENDERER_H
25#include "common/rect.h"
26#include "common/scummsys.h"
27#include "common/str.h"
29#include "graphics/managed_surface.h"
31#include "gui/ThemeEngine.h"
54 Graphics::AlphaType alphaType;
60 Color () : r(0), g(0), b(0), set(
false) {}
68 bool autoWidth, autoHeight;
75 enum VectorAlignment {
84 VectorAlignment xAlign;
85 VectorAlignment yAlign;
87 uint8 shadow, stroke, factor, radius,
bevel;
102 alphaType = Graphics::ALPHA_OPAQUE;
104 autoWidth = autoHeight =
false;
107 xAlign = yAlign = kVectorAlignManual;
108 shadow = stroke = factor = radius =
bevel = 0;
118VectorRenderer *createRenderer(
int mode);
155 enum TriangleOrientation {
163 enum ShadowFillMode {
165 kShadowExponential = 1
176 virtual void drawLine(
int x1,
int y1,
int x2,
int y2) = 0;
220 virtual void drawTriangle(
int x,
int y,
int base,
int height, TriangleOrientation orient) = 0;
247 virtual void drawTab(
int x,
int y,
int r,
int w,
int h,
int s) = 0;
283 virtual void setBevelColor(uint8 r, uint8 g, uint8 b) = 0;
339 virtual void setShadowFillMode(ShadowFillMode mode) {
340 _shadowFillMode = mode;
366 virtual void setBevel(
int amount) {
388 if (shadowIntensity > 0)
391 warning(
"setShadowIntensity(): zero intensity");
425 uint16 x, y, w, h, radius;
439 void drawCallback_LINE(
const Common::Rect &area,
const DrawStep &step) {
445 void drawCallback_ROUNDSQ(
const Common::Rect &area,
const DrawStep &step) {
451 void drawCallback_FILLSURFACE(
const Common::Rect &area,
const DrawStep &step) {
455 void drawCallback_TRIANGLE(
const Common::Rect &area,
const DrawStep &step) {
458 drawTriangle(x, y, w, h, (TriangleOrientation)step.extraData);
461 void drawCallback_BEVELSQ(
const Common::Rect &area,
const DrawStep &step) {
467 void drawCallback_TAB(
const Common::Rect &area,
const DrawStep &step) {
473 void drawCallback_BITMAP(
const Common::Rect &area,
const DrawStep &step) {
476 blitManagedSurface(step.blitSrc.get(),
Common::Point(x, y), step.alphaType);
479 void drawCallback_CROSS(
const Common::Rect &area,
const DrawStep &step) {
485 void drawCallback_VOID(
const Common::Rect &area,
const DrawStep &step) {}
554 ShadowFillMode _shadowFillMode;
ShadingStyle
Function used to process areas other than the current dialog.
Definition: ThemeEngine.h:297
TextAlignVertical
Vertical alignment of the text.
Definition: ThemeEngine.h:218
AutoScaleMode
AlphaBitmap scale mode selector.
Definition: ThemeEngine.h:304
@ kAutoScaleNone
Use image dimensions.
Definition: ThemeEngine.h:305
Definition: managed_surface.h:51
int16 & h
Definition: managed_surface.h:135
int32 & pitch
Definition: managed_surface.h:136
void * getPixels()
Definition: managed_surface.h:271
Definition: VectorRenderer.h:138
virtual void drawBeveledSquare(int x, int y, int w, int h)=0
virtual void setFgColor(uint8 r, uint8 g, uint8 b)=0
virtual void setShadowOffset(int offset)
Definition: VectorRenderer.h:361
uint32 _shadowIntensity
Definition: VectorRenderer.h:563
FillMode _fillMode
Definition: VectorRenderer.h:553
virtual void setShadowIntensity(uint32 shadowIntensity)
Definition: VectorRenderer.h:387
virtual void setStrokeWidth(int width)
Definition: VectorRenderer.h:349
virtual void setClippingRect(const Common::Rect &clippingArea)=0
virtual void setGradientFactor(int factor)
Definition: VectorRenderer.h:377
virtual ManagedSurface * getActiveSurface()
Definition: VectorRenderer.h:311
FillMode
Definition: VectorRenderer.h:148
int _gradientFactor
Definition: VectorRenderer.h:562
virtual void drawCross(int x, int y, int w, int h)
Definition: VectorRenderer.h:252
Common::Rect applyStepClippingRect(const Common::Rect &area, const Common::Rect &clip, const DrawStep &step)
virtual void setSurface(ManagedSurface *surface)
Definition: VectorRenderer.h:304
virtual void drawCircle(int x, int y, int r)=0
virtual void copyWholeFrame(OSystem *sys)=0
void drawCallback_CIRCLE(const Common::Rect &area, const DrawStep &step)
Definition: VectorRenderer.h:424
virtual void disableShadows()
Definition: VectorRenderer.h:541
virtual void drawLine(int x1, int y1, int x2, int y2)=0
virtual void drawString(const Graphics::Font *font, const Common::U32String &text, const Common::Rect &area, Graphics::TextAlign alignH, GUI::ThemeEngine::TextAlignVertical alignV, int deltax, bool useEllipsis, const Common::Rect &textDrawableArea)=0
virtual void applyScreenShading(GUI::ThemeEngine::ShadingStyle)=0
virtual void setBgColor(uint8 r, uint8 g, uint8 b)=0
virtual void fillSurface()=0
virtual void drawStep(const Common::Rect &area, const Common::Rect &clip, const DrawStep &step, uint32 extra=0)
int _shadowOffset
Definition: VectorRenderer.h:556
virtual void copyFrame(OSystem *sys, const Common::Rect &r)=0
virtual void setFillMode(FillMode mode)
Definition: VectorRenderer.h:335
ManagedSurface * _activeSurface
Definition: VectorRenderer.h:551
int _bevel
Definition: VectorRenderer.h:557
int stepGetRadius(const DrawStep &step, const Common::Rect &area)
virtual void setGradientColors(uint8 r1, uint8 g1, uint8 b1, uint8 r2, uint8 g2, uint8 b2)=0
bool _disableShadows
Definition: VectorRenderer.h:558
virtual void blitSurface(const Graphics::ManagedSurface *source, const Common::Rect &r)=0
virtual void drawTriangle(int x, int y, int base, int height, TriangleOrientation orient)=0
uint32 _dynamicData
Definition: VectorRenderer.h:560
virtual void drawTab(int x, int y, int r, int w, int h, int s)=0
virtual void clearSurface()
Definition: VectorRenderer.h:324
virtual void drawSquare(int x, int y, int w, int h)=0
void stepGetPositions(const DrawStep &step, const Common::Rect &area, uint16 &in_x, uint16 &in_y, uint16 &in_w, uint16 &in_h)
int _strokeWidth
Definition: VectorRenderer.h:559
virtual void drawRoundedSquare(int x, int y, int r, int w, int h)=0
void warning(MSVC_PRINTF const char *s,...) GCC_PRINTF(1
TextAlign
Definition: font.h:48
Definition: formatinfo.h:28
Definition: VectorRenderer.h:56
Definition: VectorRenderer.h:51
Color fgColor
Definition: VectorRenderer.h:62
Color gradColor2
Definition: VectorRenderer.h:65
Color bgColor
Definition: VectorRenderer.h:63
Common::Rect clip
Definition: VectorRenderer.h:73
uint32 extraData
Definition: VectorRenderer.h:92
Color gradColor1
Definition: VectorRenderer.h:64
GUI::ThemeEngine::AutoScaleMode autoscale
Definition: VectorRenderer.h:98
DrawingFunctionCallback drawingCall
Definition: VectorRenderer.h:52
uint8 bevel
Definition: VectorRenderer.h:87
uint32 scale
Definition: VectorRenderer.h:94
int16 h
Definition: VectorRenderer.h:69
uint8 shadowFillMode
Definition: VectorRenderer.h:90
uint8 fillMode
Definition: VectorRenderer.h:89
uint32 shadowIntensity
Definition: VectorRenderer.h:96