31#include "common/list.h"
32#include "common/rect.h"
33#include "common/ptr.h"
36#include "gob/surface.h"
42 Font(
const byte *data);
45 uint8 getCharWidth (uint8 c)
const;
46 uint8 getCharWidth ()
const;
47 uint8 getCharHeight()
const;
49 bool hasChar(uint8 c)
const;
51 bool isMonospaced()
const;
53 void drawLetterRaw(
Surface &surf, uint8 c, uint16 x, uint16 y,
54 uint32 color1, uint32 color2,
bool transp)
const;
55 void drawLetter(
Surface &surf, uint8 c, uint16 x, uint16 y,
56 uint8 colorIndex1, uint8 colorIndex2,
bool transp)
const;
58 void drawString(
const Common::String &str, int16 x, int16 y, uint8 colorIndex1, uint8 colorIndex2,
59 bool transp,
Surface &dest)
const;
64 const uint8 *_charWidths;
73 uint16 getCharCount()
const;
74 const byte *getCharData(uint8 c)
const;
81#define PRIMARY_SURFACE 0x80
82#define RETURN_PRIMARY 0x01
83#define DISABLE_SPR_ALLOC 0x20
84#define SCUMMVM_CURSOR 0x100
86#include "common/pack-start.h"
94#include "common/pack-end.h"
98 uint32 highColorMap[256];
101 PalDesc() : vgaPal(
nullptr), unused1(
nullptr), unused2(
nullptr) {
102 memset(highColorMap, 0,
sizeof(highColorMap));
111 int16 _scrollOffsetX;
112 int16 _scrollOffsetY;
122 void initPrimary(int16 mode);
123 SurfacePtr initSurfDesc(int16 width, int16 height, int16 flags = 0,
byte bpp = 0);
128 void retrace(
bool mouse =
true);
129 void waitRetrace(
bool mouse =
true);
130 void sparseRetrace(
int max);
132 void drawPackedSprite(
byte *sprBuf, int16 width, int16 height,
133 int16 x, int16 y, int16 transp,
Surface &dest);
134 void drawPackedSprite(
const char *path,
Surface &dest,
int width = 320);
136 void setPalColor(
byte *pal,
byte red,
byte green,
byte blue) {
141 void setPalColor(
byte *pal, Color &color) {
142 setPalColor(pal, color.red, color.green, color.blue);
144 void setPalElem(int16 index,
char red,
char green,
char blue,
145 int16 unused, int16 vidMode);
146 void setPalette(PalDesc *palDesc);
147 void setFullPalette(PalDesc *palDesc);
148 void setPalette(Color *palette);
150 void dirtyRectsClear();
151 void dirtyRectsAll();
152 void dirtyRectsAdd(int16 left, int16 top, int16 right, int16 bottom);
153 void dirtyRectsApply(
int left,
int top,
int width,
int height,
int x,
int y);
155 virtual char spriteUncompressor(
byte *sprBuf, int16 srcWidth,
156 int16 srcHeight, int16 x, int16 y, int16 transp,
157 Surface &destDesc) = 0;
159 Video(
class GobEngine *vm);
171 void drawPacked(
byte *sprBuf, int16 width, int16 height, int16 x, int16 y,
byte transp, Surface &dest);
176 char spriteUncompressor(
byte *sprBuf, int16 srcWidth, int16 srcHeight,
177 int16 x, int16 y, int16 transp,
Surface &destDesc)
override;
185 char spriteUncompressor(
byte *sprBuf, int16 srcWidth, int16 srcHeight,
186 int16 x, int16 y, int16 transp,
Surface &destDesc)
override;
194 char spriteUncompressor(
byte *sprBuf, int16 srcWidth, int16 srcHeight,
195 int16 x, int16 y, int16 transp,
Surface &destDesc)
override;
203 void drawPacked(
const byte *sprBuf, int16 x, int16 y,
Surface &surfDesc);
204 void drawYUVData(
const byte *srcData,
Surface &destDesc,
205 int16 width, int16 height, int16 x, int16 y);
206 void drawYUV(
Surface &destDesc, int16 x, int16 y,
207 int16 dataWidth, int16 dataHeight, int16 width, int16 height,
208 const byte *dataY,
const byte *dataU,
const byte *dataV);
Definition: surface.h:106