28 #ifndef COLONY_RENDERER_H 29 #define COLONY_RENDERER_H 31 #include "common/scummsys.h" 32 #include "common/rect.h" 33 #include "graphics/managed_surface.h" 34 #include "graphics/font.h" 39 const float kProjectionFocalLength = 256.0f;
46 virtual void clear(uint32 color) = 0;
47 virtual void drawLine(
int x1,
int y1,
int x2,
int y2, uint32 color) = 0;
48 virtual void drawRect(
const Common::Rect &rect, uint32 color) = 0;
49 virtual void fillRect(
const Common::Rect &rect, uint32 color) = 0;
51 virtual void drawEllipse(
int x,
int y,
int rx,
int ry, uint32 color) = 0;
52 virtual void fillEllipse(
int x,
int y,
int rx,
int ry, uint32 color) = 0;
53 virtual void fillDitherRect(
const Common::Rect &rect, uint32 color1, uint32 color2) = 0;
54 virtual void setPixel(
int x,
int y, uint32 color) = 0;
55 virtual void drawQuad(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3,
int x4,
int y4, uint32 color) = 0;
56 virtual void drawPolygon(
const int *x,
const int *y,
int count, uint32 color) = 0;
58 virtual void setPalette(
const byte *palette, uint start, uint count) = 0;
61 virtual void begin3D(
int camX,
int camY,
int camZ,
int angle,
int angleY,
const Common::Rect &viewport) = 0;
62 virtual void draw3DWall(
int x1,
int y1,
int x2,
int y2, uint32 color) = 0;
63 virtual void draw3DQuad(
float x1,
float y1,
float z1,
float x2,
float y2,
float z2,
float x3,
float y3,
float z3,
float x4,
float y4,
float z4, uint32 color) = 0;
64 virtual void draw3DPolygon(
const float *x,
const float *y,
const float *z,
int count, uint32 color) = 0;
65 virtual void draw3DLine(
float x1,
float y1,
float z1,
float x2,
float y2,
float z2, uint32 color) = 0;
66 virtual void end3D() = 0;
69 virtual void copyToScreen() = 0;
70 virtual void setWireframe(
bool enable, int64_t fillColor = -1) = 0;
71 virtual void setXorMode(
bool enable) {}
72 virtual void setStippleData(
const byte *data) {}
73 virtual void setMacColors(uint32 fg, uint32 bg) {}
74 virtual void setDepthState(
bool testEnabled,
bool writeEnabled) {}
75 virtual void setDepthRange(
float nearVal,
float farVal) {}
77 virtual void setFeatureClipX(
int left,
int right) {}
78 virtual void clearFeatureClipX() {}
79 virtual void setSquarePixelViewport(
bool enable) = 0;
80 virtual void computeScreenViewport() = 0;
83 const Common::Rect &screenViewport()
const {
return _screenViewport; }
91 uint32 white()
const {
return 255; }
92 uint32 black()
const {
return 0; }
TextAlign
Definition: font.h:48
Align the text to the left.
Definition: font.h:51
Definition: renderer.h:41