32 lines
867 B
C++
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;
|
|
};
|