Files
NightShot/include/overlay.hpp
T
2026-07-31 17:03:49 +03:00

32 lines
867 B
C++

#pragma once
#include "capture.hpp"
#include "config.hpp"
#include <windows.h>
enum class OverlayMode {
Screenshot,
GifQuick,
};
class OverlayWindow {
public:
static HWND create(HINSTANCE instance, ScreenCapture&& capture,
HWND notificationTarget,
OverlayMode mode = OverlayMode::Screenshot);
private:
OverlayWindow(ScreenCapture&& capture, HWND notificationTarget,
OverlayMode mode);
~OverlayWindow();
OverlayWindow(const OverlayWindow&) = delete;
OverlayWindow& operator=(const OverlayWindow&) = delete;
static LRESULT CALLBACK windowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
LRESULT handleMessage(UINT message, WPARAM wParam, LPARAM lParam);
struct Impl;
Impl* impl_;
int dispatchDepth_ = 0;
bool deletePending_ = false;
};