22 #ifndef BACKENDS_GRAPHICS_ABSTRACT_H 23 #define BACKENDS_GRAPHICS_ABSTRACT_H 25 #include "common/system.h" 26 #include "common/noncopyable.h" 27 #include "common/keyboard.h" 29 #include "graphics/mode.h" 30 #include "graphics/paletteman.h" 45 static const OSystem::GraphicsMode noGraphicsModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
46 return noGraphicsModes;
48 virtual int getDefaultGraphicsMode()
const {
return 0; }
50 virtual int getGraphicsMode()
const {
return 0; }
51 virtual bool setShader(
const Common::Path &fileName) {
return false; }
53 static const OSystem::GraphicsMode noStretchModes[] = {{
"NONE",
"Normal", 0}, {
nullptr,
nullptr, 0 }};
54 return noStretchModes;
56 virtual int getDefaultStretchMode()
const {
return 0; }
57 virtual bool setStretchMode(
int mode) {
return false; }
58 virtual int getStretchMode()
const {
return 0; }
59 virtual uint getDefaultScaler()
const {
return 0; }
60 virtual uint getDefaultScaleFactor()
const {
return 1; }
61 virtual bool setScaler(uint mode,
int factor) {
return false; }
62 virtual uint getScaler()
const {
return 0; }
63 virtual uint getScaleFactor()
const {
return 1; }
71 virtual int getScreenChangeID()
const = 0;
73 virtual void beginGFXTransaction() = 0;
76 virtual int16 getHeight()
const = 0;
77 virtual int16 getWidth()
const = 0;
78 virtual void setPalette(
const byte *colors, uint start, uint num) = 0;
79 virtual void grabPalette(byte *colors, uint start, uint num)
const = 0;
80 virtual void copyRectToScreen(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
82 virtual void unlockScreen() = 0;
83 virtual void fillScreen(uint32 col) = 0;
84 virtual void fillScreen(
const Common::Rect &r, uint32 col) = 0;
85 virtual void updateScreen() = 0;
86 virtual void setShakePos(
int shakeXOffset,
int shakeYOffset) = 0;
87 virtual void setFocusRectangle(
const Common::Rect& rect) = 0;
88 virtual void clearFocusRectangle() = 0;
90 virtual void showOverlay(
bool inGUI) = 0;
91 virtual void hideOverlay() = 0;
92 virtual bool isOverlayVisible()
const = 0;
94 virtual void clearOverlay() = 0;
96 virtual void copyRectToOverlay(
const void *buf,
int pitch,
int x,
int y,
int w,
int h) = 0;
97 virtual int16 getOverlayHeight()
const = 0;
98 virtual int16 getOverlayWidth()
const = 0;
99 virtual float getHiDPIScreenFactor()
const {
return 1.0f; }
101 virtual bool showMouse(
bool visible) = 0;
102 virtual void warpMouse(
int x,
int y) = 0;
103 virtual void setMouseCursor(
const void *buf, uint w, uint h,
int hotspotX,
int hotspotY, uint32 keycolor,
bool dontScale =
false,
const Graphics::PixelFormat *format =
nullptr,
const byte *mask =
nullptr) = 0;
104 virtual void setCursorPalette(
const byte *colors, uint start, uint num) = 0;
114 virtual void saveScreenshot() {}
115 virtual bool lockMouse(
bool lock) {
return false; }
117 virtual void renderImGui(
void(*render)()) {}
virtual void setPalette(const byte *colors, uint start, uint num)=0
Feature
Definition: system.h:409
TransactionError
Definition: system.h:1129
virtual void grabPalette(byte *colors, uint start, uint num) const =0
Definition: graphics.h:36
Definition: paletteman.h:46