summaryrefslogtreecommitdiff
path: root/src/video/win32_v.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video/win32_v.h')
-rw-r--r--src/video/win32_v.h16
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. */