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
15
16/* External library */
17#if defined(DRV_OPENGL)
18#include <gf_opengl.h>
19#elif defined(DRV_DIRECTX)
20#include <gf_directx.h>
21#endif
22
23/* Engine */
24#include <gf_type/core.h>
25
26/* Standard */
27
28#if defined(DRV_OPENGL)
29#if defined(USE_GLX)
30GF_DECLARE_TYPE(draw_platform, {
31 gf_engine_t* engine;
32 Display* display;
33 Window window;
34 GLXContext context;
35 Atom wm_delete_window;
36});
37#elif defined(USE_WGL)
38GF_DECLARE_TYPE(draw_platform, {
39 gf_engine_t* engine;
40 HINSTANCE instance;
41 HWND window;
42 HDC dc;
43 HGLRC glrc;
44});
45#elif defined(USE_GLFW)
46GF_DECLARE_TYPE(draw_platform, {
47 gf_engine_t* engine;
48 GLFWwindow* window;
49});
50#endif
51#elif defined(DRV_DIRECTX)
52#if defined(USE_DX11)
53GF_DECLARE_TYPE(draw_platform, {
54 gf_engine_t* engine;
55 HINSTANCE instance;
56 HWND window;
57 HDC dc;
58});
59#endif
60#else
67GF_DECLARE_TYPE(draw_platform, {});
68#endif
69#else
70typedef void gf_draw_platform_t;
71#endif
72
73#endif
Type definitions related to core.
DirectX headers.
#define GF_DECLARE_TYPE(n, b)
Macro to define engine type shorter.
Definition gf_macro.h:180
OpenGL headers.
Required headers before anything.
Platform-dependent part of drawing driver.
Engine instance.
Definition core.h:46