23 #ifndef SCI_GRAPHICS_DRIVERS_GFXDRIVER_H 24 #define SCI_GRAPHICS_DRIVERS_GFXDRIVER_H 26 #include "common/rendermode.h" 27 #include "common/rect.h" 28 #include "graphics/pixelformat.h" 29 #include "sci/detection.h" 41 enum DrawFlags : uint32 {
46 GfxDriver(uint16 screenWidth, uint16 screenHeight,
int numColors) : _screenW(screenWidth), _screenH(screenHeight), _numColors(numColors), _ready(
false), _pixelSize(1) {}
49 virtual void setPalette(
const byte *colors, uint start, uint num,
bool update,
const PaletteMod *palMods,
const byte *palModMapping) = 0;
50 virtual void copyRectToScreen(
const byte *src,
int srcX,
int srcY,
int pitch,
int destX,
int destY,
int w,
int h,
const PaletteMod *palMods,
const byte *palModMapping) = 0;
51 virtual void replaceCursor(
const void *cursor, uint w, uint h,
int hotspotX,
int hotspotY, uint32 keycolor) = 0;
55 virtual void setShakePos(
int shakeXOffset,
int shakeYOffset)
const;
57 virtual void copyCurrentBitmap(byte *dest, uint32 size)
const = 0;
58 virtual void copyCurrentPalette(byte *dest,
int start,
int num)
const;
59 virtual void drawTextFontGlyph(
const byte *src,
int pitch,
int hiresDestX,
int hiresDestY,
int hiresW,
int hiresH,
int transpColor,
const PaletteMod *palMods,
const byte *palModMapping) = 0;
60 virtual byte remapTextColor(byte color)
const {
return color; }
61 virtual void setColorMap(
const byte *colorMap) {}
63 virtual void setFlags(uint32 flags) {}
64 virtual void clearFlags(uint32 flags) {}
65 virtual bool supportsPalIntensity()
const = 0;
66 virtual bool supportsHiResGraphics()
const = 0;
67 virtual bool driverBasedTextRendering()
const = 0;
68 uint16 numColors()
const {
return _numColors; }
69 byte pixelSize()
const {
return _pixelSize; }
73 static bool checkDriver(
const char *
const *driverNames,
int listSize);
74 const uint16 _screenW;
75 const uint16 _screenH;
89 #endif // SCI_GRAPHICS_DRIVERS_GFXDRIVER_H
RenderMode
Definition: rendermode.h:48
Definition: gfxdriver.h:82
Definition: atari-cursor.h:38
Definition: gfxdriver.h:39
Definition: formatinfo.h:28
Definition: helpers.h:269