GL CHOCO ENGINE
Loading...
Searching...
No Matches
platform_interface.h
Go to the documentation of this file.
1
20#ifndef GLCE_ENGINE_INTERFACES_PLATFORM_INTERFACE_H
21#define GLCE_ENGINE_INTERFACES_PLATFORM_INTERFACE_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <stddef.h>
28
32
34
37
48typedef void (*pfn_platform_backend_preinit)(size_t* memory_requirement_, size_t* alignment_requirement_);
49
63
73typedef void (*pfn_platform_backend_destroy)(platform_backend_t* platform_backend_);
74
100 platform_backend_t* platform_backend_,
101 const char* window_label_,
102 int window_width_,
103 int window_height_,
104 int* framebuffer_width_,
105 int* framebuffer_height_);
106
128 platform_backend_t* platform_backend_,
129 void (*window_event_callback)(const window_event_t* event_),
130 void (*keyboard_event_callback)(const keyboard_event_t* event_),
131 void (*mouse_event_callback)(const mouse_event_t* event_));
132
142
146typedef struct platform_vtable {
154
155#ifdef __cplusplus
156}
157#endif
158#endif
全プラットフォーム共通で使用可能なキーコード定義と、キーボードイベント構造体定義
全プラットフォーム共通で使用可能なマウスボタン定義と、マウスイベント構造体定義
void(* pfn_platform_backend_destroy)(platform_backend_t *platform_backend_)
内部状態管理構造体インスタンスが保有するリソースを破棄する
Definition: platform_interface.h:73
platform_result_t(* pfn_platform_backend_window_create)(platform_backend_t *platform_backend_, const char *window_label_, int window_width_, int window_height_, int *framebuffer_width_, int *framebuffer_height_)
ウィンドウを生成する
Definition: platform_interface.h:99
platform_result_t(* pfn_platform_backend_pump_messages)(platform_backend_t *platform_backend_, void(*window_event_callback)(const window_event_t *event_), void(*keyboard_event_callback)(const keyboard_event_t *event_), void(*mouse_event_callback)(const mouse_event_t *event_))
ウィンドウ、キーボード、マウスイベントを吸い上げ、各イベントをコールバック内で処理する
Definition: platform_interface.h:127
struct platform_vtable platform_vtable_t
プラットフォーム処理共通化のための仮想関数テーブル(実装はsrc/platform/以下のソースファイルに格納)
platform_result_t(* pfn_platform_backend_init)(platform_backend_t *platform_backend_)
内部状態管理構造体インスタンスメンバの初期化を行う
Definition: platform_interface.h:62
platform_result_t(* pfn_platform_backend_swap_buffers)(platform_backend_t *platform_backend_)
描画サーフェイスのフロント/バックバッファをスワップする
Definition: platform_interface.h:141
void(* pfn_platform_backend_preinit)(size_t *memory_requirement_, size_t *alignment_requirement_)
内部状態管理構造体のメモリ要件、メモリアライメント要件を取得する
Definition: platform_interface.h:48
プラットフォームシステムで共通に使用されるデータ型を提供する
platform_result_t
プラットフォームシステム実行結果コード定義
Definition: platform_types.h:27
キーボードイベント構造体
Definition: keyboard_event.h:103
マウスイベント構造体
Definition: mouse_event.h:48
GLFWプラットフォーム内部状態管理構造体
Definition: platform_glfw.c:67
プラットフォーム処理共通化のための仮想関数テーブル(実装はsrc/platform/以下のソースファイルに格納)
Definition: platform_interface.h:146
pfn_platform_backend_window_create platform_backend_window_create
Definition: platform_interface.h:150
pfn_platform_backend_destroy platform_backend_destroy
Definition: platform_interface.h:149
pfn_platform_backend_pump_messages platform_backend_pump_messages
Definition: platform_interface.h:151
pfn_platform_backend_swap_buffers platform_backend_swap_buffers
Definition: platform_interface.h:152
pfn_platform_backend_preinit platform_backend_preinit
Definition: platform_interface.h:147
pfn_platform_backend_init platform_backend_init
Definition: platform_interface.h:148
ウィンドウイベント構造体
Definition: window_event.h:46
全プラットフォーム共通で使用可能なウィンドウイベント定義と、ウィンドウイベント構造体定義