diff options
Diffstat (limited to 'src/video/win32_v.h')
-rw-r--r-- | src/video/win32_v.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/video/win32_v.h b/src/video/win32_v.h index 6834f66ff..cb1658cef 100644 --- a/src/video/win32_v.h +++ b/src/video/win32_v.h @@ -37,15 +37,20 @@ protected: void InputLoop() override; bool LockVideoBuffer() override; void UnlockVideoBuffer() override; - void Paint() override; - void PaintThread() override; void CheckPaletteAnim() override; bool MakeWindow(bool full_screen); + /** (Re-)create the backing store. */ + virtual bool AllocateBackingStore(int w, int h, bool force = false) = 0; + /** Palette of the window has changed. */ + virtual void PaletteChanged(HWND hWnd) = 0; + private: std::unique_lock<std::recursive_mutex> draw_lock; + void ClientSizeChanged(int w, int h); + static void PaintThreadThunk(VideoDriver_Win32Base *drv); friend LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); @@ -60,6 +65,13 @@ public: bool AfterBlitterChange() override; const char *GetName() const override { return "win32"; } + +protected: + void Paint() override; + void PaintThread() override; + + bool AllocateBackingStore(int w, int h, bool force = false) override; + void PaletteChanged(HWND hWnd) override; }; /** The factory for Windows' video driver. */ |