gitlab-ci: enable sanitizers for the meson builds
[mesa-waffle.git] / src / waffle / wgl / wgl_window.h
blobc3c2678a65c5940da76b78f19c0b81974fa1e821
1 // SPDX-FileCopyrightText: Copyright 2014 Emil Velikov
2 // SPDX-License-Identifier: BSD-2-Clause
4 #pragma once
6 #include <stdbool.h>
8 #include "wcore_util.h"
9 #include "wcore_window.h"
11 struct wcore_platform;
13 struct wgl_window {
14 struct wcore_window wcore;
15 HWND hWnd;
16 HDC hDC;
17 bool created;
20 static inline struct wgl_window*
21 wgl_window(struct wcore_window *wcore)
23 return (struct wgl_window*)wcore;
26 struct wcore_window*
27 wgl_window_priv_create(struct wcore_platform *wc_plat,
28 struct wcore_config *wc_config,
29 int32_t width,
30 int32_t height);
32 bool
33 wgl_window_priv_destroy(struct wcore_window *wc_self);
35 struct wcore_window*
36 wgl_window_create(struct wcore_platform *wc_plat,
37 struct wcore_config *wc_config,
38 int32_t width,
39 int32_t height,
40 const intptr_t attrib_list[]);
42 bool
43 wgl_window_destroy(struct wcore_window *wc_self);
45 bool
46 wgl_window_show(struct wcore_window *wc_self);
48 bool
49 wgl_window_resize(struct wcore_window *wc_self,
50 int32_t width, int32_t height);
52 bool
53 wgl_window_swap_buffers(struct wcore_window *wc_self);
55 union waffle_native_window*
56 wgl_window_get_native(struct wcore_window *wc_self);