comparison DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/src/win.h @ 3:84e66ea83026

DPF-Prymula-audioplugins-0.231015-2
author prymula <prymula76@outlook.com>
date Mon, 16 Oct 2023 21:53:34 +0200
parents
children
comparison
equal deleted inserted replaced
2:cf2cb71d31dd 3:84e66ea83026
1 // Copyright 2012-2022 David Robillard <d@drobilla.net>
2 // SPDX-License-Identifier: ISC
3
4 #ifndef PUGL_SRC_WIN_H
5 #define PUGL_SRC_WIN_H
6
7 #include "internal.h"
8
9 #include "pugl/pugl.h"
10
11 #include <windows.h>
12
13 #include <stdbool.h>
14
15 typedef PIXELFORMATDESCRIPTOR PuglWinPFD;
16
17 struct PuglWorldInternalsImpl {
18 double timerFrequency;
19 };
20
21 struct PuglInternalsImpl {
22 PuglWinPFD pfd;
23 int pfId;
24 HWND hwnd;
25 HCURSOR cursor;
26 HDC hdc;
27 PuglBlob clipboard;
28 PuglSurface* surface;
29 double scaleFactor;
30 bool flashing;
31 bool mouseTracked;
32 };
33
34 PUGL_API
35 PuglWinPFD
36 puglWinGetPixelFormatDescriptor(const PuglHints hints);
37
38 PUGL_WARN_UNUSED_RESULT
39 PUGL_API
40 PuglStatus
41 puglWinCreateWindow(PuglView* view, const char* title, HWND* hwnd, HDC* hdc);
42
43 PUGL_WARN_UNUSED_RESULT
44 PUGL_API
45 PuglStatus
46 puglWinConfigure(PuglView* view);
47
48 PUGL_WARN_UNUSED_RESULT
49 PUGL_API
50 PuglStatus
51 puglWinEnter(PuglView* view, const PuglExposeEvent* expose);
52
53 PUGL_WARN_UNUSED_RESULT
54 PUGL_API
55 PuglStatus
56 puglWinLeave(PuglView* view, const PuglExposeEvent* expose);
57
58 #endif // PUGL_SRC_WIN_H