GoldFish Engine
Quite simple and lightweight game engine
Loading...
Searching...
No Matches
draw_platform.h
Go to the documentation of this file.
1
7#ifndef __GF_TYPE_DRAW_PLATFORM_H__
8#define __GF_TYPE_DRAW_PLATFORM_H__
9
10#include <gf_pre.h>
11#include <gf_macro.h>
12
13#ifdef GF_EXPOSE_DRAW_PLATFORM
14/* External library */
15#if defined(DRV_OPENGL)
16#include <gf_opengl.h>
17#elif defined(DRV_DIRECTX)
18#include <gf_directx.h>
19#endif
20
21/* Engine */
22#include <gf_type/core.h>
23
24/* Standard */
25
26#if defined(DRV_OPENGL)
27#if defined(USE_GLX)
28GF_DECLARE_TYPE(draw_platform, {
29 gf_engine_t* engine;
30 Display* display;
31 Window window;
32 GLXContext context;
33 Atom wm_delete_window;
34});
35#elif defined(USE_WGL)
36GF_DECLARE_TYPE(draw_platform, {
37 gf_engine_t* engine;
38 HINSTANCE instance;
39 HWND window;
40 HDC dc;
41 HGLRC glrc;
42});
43#elif defined(USE_GLFW)
44GF_DECLARE_TYPE(draw_platform, {
45 gf_engine_t* engine;
46 GLFWwindow* window;
47});
48#endif
49#elif defined(DRV_DIRECTX)
50#if defined(USE_DX11)
51GF_DECLARE_TYPE(draw_platform, {
52 gf_engine_t* engine;
53 HINSTANCE instance;
54 HWND window;
55 HDC dc;
56});
57#endif
58#else
65GF_DECLARE_TYPE(draw_platform, {});
66#endif
67#else
68typedef void gf_draw_platform_t;
69#endif
70
71#endif
Type definitions related to core.
DirectX headers.
#define GF_DECLARE_TYPE(n, b)
Macro to define engine type shorter.
Definition gf_macro.h:172
OpenGL headers.
Required headers before anything.
Platform-dependent part of drawing driver.
Engine instance.
Definition core.h:44