More window chrome improvements

This commit is contained in:
elasota
2020-05-18 02:03:17 -04:00
parent f590613f83
commit ea16d0ffca
41 changed files with 804 additions and 429 deletions

View File

@@ -6,6 +6,13 @@
struct IGpDisplayDriverSurface;
struct IGpCursor;
struct GpDisplayDriverSurfaceEffects
{
GpDisplayDriverSurfaceEffects();
bool m_darken;
};
// Display drivers are responsible for timing and calling the game tick function.
struct IGpDisplayDriver
{
@@ -16,7 +23,7 @@ public:
virtual void GetDisplayResolution(unsigned int *width, unsigned int *height, GpPixelFormat_t *bpp) = 0;
virtual IGpDisplayDriverSurface *CreateSurface(size_t width, size_t height, GpPixelFormat_t pixelFormat) = 0;
virtual void DrawSurface(IGpDisplayDriverSurface *surface, int32_t x, int32_t y, size_t width, size_t height) = 0;
virtual void DrawSurface(IGpDisplayDriverSurface *surface, int32_t x, int32_t y, size_t width, size_t height, const GpDisplayDriverSurfaceEffects *effects) = 0;
virtual IGpCursor *LoadCursor(bool isColor, int cursorID) = 0;
virtual void SetCursor(IGpCursor *cursor) = 0;
@@ -28,3 +35,8 @@ public:
virtual void RequestToggleFullScreen(uint32_t timestamp) = 0;
};
inline GpDisplayDriverSurfaceEffects::GpDisplayDriverSurfaceEffects()
: m_darken(false)
{
}