このページの内容

このリファレンスページは、GLFW 3.5.1 公式ドキュメントを改変して Markdown 化したものです。libx 向けに書式、ナビゲーション、リンクを変更していますが、技術的な内容は GLFW 3.5.1 のソース配布物に基づいています。

説明

これは、ライブラリの初期化と終了、バージョン管理、エラー処理に関するリファレンスドキュメントです。作業手順を中心とした情報については、API入門を参照してください。

モジュール

  エラーコード
  エラーコード。
 

マクロ

#define  GLFW_TRUE   1
  1。
 
#define  GLFW_FALSE   0
  0。
 
#define  GLFW_JOYSTICK_HAT_BUTTONS   0x00050001
  ジョイスティックのハットボタンに関する初期化ヒント。
 
#define  GLFW_ANGLE_PLATFORM_TYPE   0x00050002
  ANGLEレンダリングバックエンドの初期化ヒント。
 
#define  GLFW_PLATFORM   0x00050003
  プラットフォーム選択の初期化ヒント。
 
#define  GLFW_COCOA_CHDIR_RESOURCES   0x00051001
  macOS固有の初期化ヒント。
 
#define  GLFW_COCOA_MENUBAR   0x00051002
  macOS固有の初期化ヒント。
 
#define  GLFW_X11_XCB_VULKAN_SURFACE   0x00052001
  X11固有の初期化ヒント。
 
#define  GLFW_WAYLAND_LIBDECOR   0x00053001
  Wayland固有の初期化ヒント。
 
#define  GLFW_ANY_PLATFORM   0x00060000
  プラットフォームの自動選択を有効にするヒント値。
 
#define  GLFW_PLATFORM_WIN32   0x00060001
 
#define  GLFW_PLATFORM_COCOA   0x00060002
 
#define  GLFW_PLATFORM_WAYLAND   0x00060003
 
#define  GLFW_PLATFORM_X11   0x00060004
 
#define  GLFW_PLATFORM_NULL   0x00060005
 

型定義

typedef void *(*  GLFWallocatefun) (size_t size, void *user)
  メモリ割り当てコールバックの関数ポインター型。
 
typedef void *(*  GLFWreallocatefun) (void *block, size_t size, void *user)
  メモリ再割り当てコールバックの関数ポインター型。
 
typedef void(*  GLFWdeallocatefun) (void *block, void *user)
  メモリ解放コールバックの関数ポインター型。
 
typedef void(*  GLFWerrorfun) (int error_code, const char *description)
  エラーコールバックの関数ポインター型。
 
typedef struct GLFWallocator  GLFWallocator
  カスタムヒープメモリアロケータ。
 

関数

int  glfwInit (void)
  GLFWライブラリを初期化します。
 
void  glfwTerminate (void)
  GLFWライブラリを終了します。
 
void  glfwInitHint (int hint, int value)
  指定した初期化ヒントを目的の値に設定します。
 
void  glfwInitAllocator (const GLFWallocator *allocator)
  初期化時のアロケータを目的の値に設定します。
 
void  glfwInitVulkanLoader (PFN_vkGetInstanceProcAddr loader)
  使用するVulkanのvkGetInstanceProcAddr関数を設定します。
 
void  glfwGetVersion (int *major, int *minor, int *rev)
  GLFWライブラリのバージョンを取得します。
 
const char *  glfwGetVersionString (void)
  コンパイル時の構成を説明する文字列を返します。
 
int  glfwGetError (const char **description)
  呼び出し元スレッドの直前のエラーを返し、そのエラーを消去します。
 
GLFWerrorfun  glfwSetErrorCallback (GLFWerrorfun callback)
  エラーコールバックを設定します。
 
int  glfwGetPlatform (void)
  現在選択されているプラットフォームを返します。
 
int  glfwPlatformSupported (int platform)
  指定したプラットフォームのサポートがライブラリに含まれるかを返します。
 

マクロ定義の解説

◆ GLFW_VERSION_MAJOR

#define GLFW_VERSION_MAJOR   3

GLFWヘッダーのメジャーバージョン番号です。APIに互換性のない変更が行われたときに増加します。

◆ GLFW_VERSION_MINOR

#define GLFW_VERSION_MINOR   5

GLFWヘッダーのマイナーバージョン番号です。後方互換性を維持したままAPIへ機能が追加されたときに増加します。

◆ GLFW_VERSION_REVISION

#define GLFW_VERSION_REVISION   1

GLFWヘッダーのリビジョン番号です。APIの変更を含まないバグ修正版がリリースされたときに増加します。

◆ GLFW_TRUE

#define GLFW_TRUE   1

これは数値1を意味的に分かりやすくするためのものにすぎません。代わりに、1true_TrueGL_TRUEVK_TRUE、または1と等しいほかの任意の値を使用できます。

◆ GLFW_FALSE

#define GLFW_FALSE   0

これは数値0を意味的に分かりやすくするためのものにすぎません。代わりに、0false_FalseGL_FALSEVK_FALSE、または0と等しいほかの任意の値を使用できます。

◆ GLFW_JOYSTICK_HAT_BUTTONS

#define GLFW_JOYSTICK_HAT_BUTTONS   0x00050001

ジョイスティックのハットボタンに関する初期化ヒントです。

◆ GLFW_ANGLE_PLATFORM_TYPE

#define GLFW_ANGLE_PLATFORM_TYPE   0x00050002

ANGLEレンダリングバックエンドの初期化ヒントです。

◆ GLFW_PLATFORM

#define GLFW_PLATFORM   0x00050003

プラットフォーム選択の初期化ヒントです。

◆ GLFW_COCOA_CHDIR_RESOURCES

#define GLFW_COCOA_CHDIR_RESOURCES   0x00051001

macOS固有の初期化ヒントです。

◆ GLFW_COCOA_MENUBAR

#define GLFW_COCOA_MENUBAR   0x00051002

macOS固有の初期化ヒントです。

◆ GLFW_X11_XCB_VULKAN_SURFACE

#define GLFW_X11_XCB_VULKAN_SURFACE   0x00052001

X11固有の初期化ヒントです。

◆ GLFW_WAYLAND_LIBDECOR

#define GLFW_WAYLAND_LIBDECOR   0x00053001

Wayland固有の初期化ヒントです。

◆ GLFW_ANY_PLATFORM

#define GLFW_ANY_PLATFORM   0x00060000

プラットフォームの自動選択を有効にする、GLFW_PLATFORMのヒント値です。

◆ GLFW_PLATFORM_WIN32

#define GLFW_PLATFORM_WIN32   0x00060001

◆ GLFW_PLATFORM_COCOA

#define GLFW_PLATFORM_COCOA   0x00060002

◆ GLFW_PLATFORM_WAYLAND

#define GLFW_PLATFORM_WAYLAND   0x00060003

◆ GLFW_PLATFORM_X11

#define GLFW_PLATFORM_X11   0x00060004

◆ GLFW_PLATFORM_NULL

#define GLFW_PLATFORM_NULL   0x00060005

型定義の解説

◆ GLFWallocatefun

typedef void *(* GLFWallocatefun) (size_t size, void *user)

これは、メモリ割り当てコールバックの関数ポインター型です。メモリ割り当てコールバック関数は、次のシグネチャを持ちます。

void* function_name(size_t size, void* user)

この関数は、少なくとも size バイトのメモリブロックを返すか、割り当てに失敗した場合は NULL を返さなければなりません。GLFWのすべての部分が、割り当ての失敗を適切に処理できるわけではないことに注意してください。

この関数は、glfwInit の実行中で、ライブラリが初期化済みとされる前に呼び出される場合と、glfwTerminate の実行中で、ライブラリが初期化済みではなくなった後に呼び出される場合の両方をサポートしなければなりません。

この関数を介して割り当てられたメモリは、ライブラリの終了中またはそれより前に、同じアロケータを介して解放されます。

この関数を介して割り当てられたメモリは、どのオブジェクト型にも適するようアラインされていなければなりません。C99以前を使用している場合、このアラインメントはプラットフォームに依存しますが、malloc が提供するものと同じです。C11以降を使用している場合は、alignof(max_align_t) の値です。

サイズは常に0より大きくなります。サイズ0の割り当ては、カスタムアロケータへ到達する前に除外されます。

この関数が NULL を返すと、GLFWは GLFW_OUT_OF_MEMORY を発生させます。

この関数は、どのGLFW関数も呼び出してはなりません。

引数

[in]sizeメモリブロックの最小サイズ(バイト単位)。
[in]userアロケータに設定されたユーザー定義ポインター。

戻り値
新たに割り当てられたメモリブロックのアドレス。エラーが発生した場合は NULL

ポインターの有効期間
返されたメモリブロックは、少なくとも解放されるまで有効でなければなりません。

再入可能性
この関数は、どのGLFW関数も呼び出すべきではありません。

スレッドセーフ性
この関数は、GLFW関数を呼び出すどのスレッドから呼び出される場合もサポートしなければなりません。

関連項目
カスタムヒープメモリアロケータ

GLFWallocator

導入バージョン
バージョン3.4で追加。

◆ GLFWreallocatefun

typedef void *(* GLFWreallocatefun) (void *block, size_t size, void *user)

これは、メモリ再割り当てコールバックの関数ポインター型です。メモリ再割り当てコールバック関数は、次のシグネチャを持ちます。

void* function_name(void* block, size_t size, void* user)

この関数は、少なくとも size バイトのメモリブロックを返すか、割り当てに失敗した場合は NULL を返さなければなりません。GLFWのすべての部分が、割り当ての失敗を適切に処理できるわけではないことに注意してください。

この関数は、glfwInit の実行中で、ライブラリが初期化済みとされる前に呼び出される場合と、glfwTerminate の実行中で、ライブラリが初期化済みではなくなった後に呼び出される場合の両方をサポートしなければなりません。

この関数を介して割り当てられたメモリは、ライブラリの終了中またはそれより前に、同じアロケータを介して解放されます。

この関数を介して割り当てられたメモリは、どのオブジェクト型にも適するようアラインされていなければなりません。C99以前を使用している場合、このアラインメントはプラットフォームに依存しますが、realloc が提供するものと同じです。C11以降を使用している場合は、alignof(max_align_t) の値です。

ブロックのアドレスが NULL になることはなく、サイズは常に0より大きくなります。ブロックをサイズ0へ再割り当てする処理は、カスタムアロケータへ到達する前に解放処理へ変換されます。NULL を0以外のサイズへ再割り当てする処理は、カスタムアロケータへ到達する前に通常の割り当て処理へ変換されます。

この関数が NULL を返すと、GLFWは GLFW_OUT_OF_MEMORY を発生させます。

この関数は、どのGLFW関数も呼び出してはなりません。

引数

[in]block再割り当てするメモリブロックのアドレス。
[in]sizeメモリブロックの新しい最小サイズ(バイト単位)。
[in]userアロケータに設定されたユーザー定義ポインター。

戻り値
新たに割り当てられたか、サイズを変更されたメモリブロックのアドレス。エラーが発生した場合は NULL

ポインターの有効期間
返されたメモリブロックは、少なくとも解放されるまで有効でなければなりません。

再入可能性
この関数は、どのGLFW関数も呼び出すべきではありません。

スレッドセーフ性
この関数は、GLFW関数を呼び出すどのスレッドから呼び出される場合もサポートしなければなりません。

関連項目
カスタムヒープメモリアロケータ

GLFWallocator

導入バージョン
バージョン3.4で追加。

◆ GLFWdeallocatefun

typedef void(* GLFWdeallocatefun) (void *block, void *user)

これは、メモリ解放コールバックの関数ポインター型です。メモリ解放コールバック関数は、次のシグネチャを持ちます。

void function_name(void* block, void* user)

この関数は、指定されたメモリブロックを解放できます。このメモリブロックは、同じアロケータによって割り当てられたものです。

この関数は、glfwInit の実行中で、ライブラリが初期化済みとされる前に呼び出される場合と、glfwTerminate の実行中で、ライブラリが初期化済みではなくなった後に呼び出される場合の両方をサポートしなければなりません。

ブロックのアドレスが NULL になることはありません。NULL の解放は、カスタムアロケータへ到達する前に除外されます。

この関数が NULL を返すと、GLFWは GLFW_OUT_OF_MEMORY を発生させます。

この関数は、どのGLFW関数も呼び出してはなりません。

引数

[in]block解放するメモリブロックのアドレス。
[in]userアロケータに設定されたユーザー定義ポインター。

ポインターの有効期間
この関数が呼び出された後、GLFWは指定されたメモリブロックへアクセスしません。

再入可能性
この関数は、どのGLFW関数も呼び出すべきではありません。

スレッドセーフ性
この関数は、GLFW関数を呼び出すどのスレッドから呼び出される場合もサポートしなければなりません。

関連項目
カスタムヒープメモリアロケータ

GLFWallocator

導入バージョン
バージョン3.4で追加。

◆ GLFWerrorfun

typedef void(* GLFWerrorfun) (int error_code, const char *description)

これは、エラーコールバックの関数ポインター型です。エラーコールバック関数は、次のシグネチャを持ちます。

void callback_name(int error_code, const char* description)

引数

[in]error_codeエラーコード。将来のリリースでエラーコードが追加される場合があります。
[in]descriptionエラーを説明するUTF-8エンコード文字列。

ポインターの有効期間
エラー説明文字列は、コールバック関数が戻るまで有効です。

関連項目
エラー処理

glfwSetErrorCallback

導入バージョン
バージョン3.0で追加。

◆ GLFWallocator

これは、GLFW用のカスタムヒープメモリアロケータを表します。アロケータを設定するには、ライブラリを初期化する前に glfwInitAllocator へ渡します。

関連項目
カスタムヒープメモリアロケータ

glfwInitAllocator

導入バージョン
バージョン3.4で追加。

関数の解説

◆ glfwInit()

int glfwInit(void )

この関数はGLFWライブラリを初期化します。ほとんどのGLFW関数を使用する前にGLFWを初期化しなければなりません。また、初期化中または初期化後に割り当てられたリソースを解放するため、アプリケーションを終了する前にGLFWを終了するべきです。

この関数が失敗した場合は、戻る前に glfwTerminate を呼び出します。成功した場合は、アプリケーションを終了する前に glfwTerminate を呼び出すべきです。

初期化に成功してから終了するまでの間にこの関数を再度呼び出すと、直ちに GLFW_TRUE が返されます。

GLFW_PLATFORM 初期化ヒントは、初期化時にどのプラットフォームを対象とするかを制御します。これは、ライブラリがどのプラットフォームをサポートするようコンパイルされたかにも依存します。

戻り値
成功した場合は GLFW_TRUEエラーが発生した場合は GLFW_FALSE

エラー
発生する可能性のあるエラーには、GLFW_PLATFORM_UNAVAILABLEGLFW_PLATFORM_ERROR があります。

備考
macOS: アプリケーションのバンドルに Contents/Resources サブディレクトリが存在する場合、この関数はアプリケーションのカレントディレクトリをそこへ変更します。この動作は GLFW_COCOA_CHDIR_RESOURCES 初期化ヒントで無効にできます。

macOS: この関数は、アプリケーションのメインメニューとDockアイコンを作成します。GLFWが MainMenu.nib を見つけた場合は、それを読み込み、メニューバーが含まれているものとみなします。それ以外の場合は、Hide、Quit、Aboutなどの一般的なコマンドを備えた最小限のメニューバーを手動で作成します。About項目は、アプリケーションのバンドルから得た情報を表示する最小限の情報ダイアログを開きます。メニューバーとDockアイコンは、GLFW_COCOA_MENUBAR 初期化ヒントで完全に無効にできます。

Wayland、X11: ライブラリがWaylandとX11の両方をサポートするようコンパイルされ、GLFW_PLATFORM 初期化ヒントが GLFW_ANY_PLATFORM に設定されている場合、どのプラットフォームが選択されるかは XDG_SESSION_TYPE 環境変数の影響を受けます。この環境変数が設定されていないか、waylandx11 のどちらでもない値に設定されている場合は、代わりに通常の検出機構が使用されます。

X11: アプリケーションロケールの LC_CTYPE カテゴリがまだ「C」の場合、この関数は現在の環境に従ってそのカテゴリを設定します。これは、「C」ロケールではUnicodeテキスト入力が機能しなくなるためです。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
初期化と終了

glfwInitHint

glfwInitAllocator

glfwTerminate

導入バージョン
バージョン1.0で追加。

◆ glfwTerminate()

void glfwTerminate(void )

この関数は、残っているすべてのウィンドウとカーソルを破棄し、変更されたガンマランプを復元して、割り当てられたほかのすべてのリソースを解放します。この関数を呼び出した後、ほとんどのGLFW関数を使用するには、glfwInit を再度呼び出して成功させなければなりません。

GLFWの初期化に成功した場合は、アプリケーションを終了する前にこの関数を呼び出すべきです。初期化に失敗した場合は、glfwInit が失敗を返す前にこの関数を呼び出すため、呼び出す必要はありません。

GLFWが初期化されていない場合、この関数は何も行いません。

エラー
発生する可能性のあるエラーには、GLFW_PLATFORM_ERROR があります。

備考
この関数は glfwInit より前に呼び出してもかまいません。

警告
この関数を呼び出すとき、残っているウィンドウのコンテキストは、ほかのどのスレッドでもカレントであってはなりません。

再入可能性
この関数はコールバックから呼び出してはなりません。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
初期化と終了

glfwInit

導入バージョン
バージョン1.0で追加。

◆ glfwInitHint()

void glfwInitHint(int hint,
int value 
)

この関数は、次回GLFWを初期化するときのヒントを設定します。

ヒントへ設定した値がGLFWによってリセットされることはありませんが、その値が効果を持つのは初期化中だけです。GLFWが初期化されると、その後に設定した値は、ライブラリを終了して再び初期化するまで無視されます。

一部のヒントはプラットフォーム固有です。これらはどのプラットフォームでも設定できますが、該当するプラットフォームにだけ影響します。ほかのプラットフォームでは無視されます。これらのヒントを設定するために、プラットフォーム固有のヘッダーや関数は必要ありません。

引数

[in]hint設定する初期化ヒント
[in]value初期化ヒントの新しい値。

エラー
発生する可能性のあるエラーには、GLFW_INVALID_ENUMGLFW_INVALID_VALUE があります。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
init_hints

glfwInit

導入バージョン
バージョン3.3で追加。

◆ glfwInitAllocator()

void glfwInitAllocator(const GLFWallocatorallocator)

既定のアロケータを使用するには、この関数を NULL 引数で呼び出します。

アロケータ構造体を指定する場合は、すべてのメンバーが有効な関数ポインターでなければなりません。いずれかのメンバーが NULL の場合、この関数は GLFW_INVALID_VALUE を発生させ、初期化時のアロケータは変更されません。

アロケータ内の関数は、複数の要件を満たさなければなりません。詳細については、GLFWallocatefunGLFWreallocatefunGLFWdeallocatefun の各ドキュメントを参照してください。

引数

[in]allocator次回の初期化で使用するアロケータ。既定のアロケータを使用する場合は NULL

エラー
発生する可能性のあるエラーには、GLFW_INVALID_VALUE があります。

ポインターの有効期間
指定されたアロケータは、この関数が戻る前にコピーされます。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
カスタムヒープメモリアロケータ

glfwInit

導入バージョン
バージョン3.4で追加。

◆ glfwInitVulkanLoader()

void glfwInitVulkanLoader(PFN_vkGetInstanceProcAddr loader)

この関数は、Vulkanに関係するすべてのエントリーポイント照会にGLFWが使用する vkGetInstanceProcAddr 関数を設定します。

この機能は主にmacOSで、VulkanローダーがGLFWによる動的読み込みでは見つけられない場所にある場合や、ローダーの静的ライブラリ版を引き続き使用している場合に役立ちます。

NULL に設定すると、GLFWはVulkanローダーを標準名で動的に読み込み、そこからこの関数を取得しようとします。これが既定の動作です。

ローダーの標準名は、Windowsでは vulkan-1.dll、LinuxおよびほかのUnix系システムでは libvulkan.so.1、macOSでは libvulkan.1.dylib です。コード側でもこれらの名前で読み込んでいる場合、この関数を使用する必要はおそらくありません。

設定した関数アドレスがGLFWによってリセットされることはありませんが、そのアドレスが効果を持つのは初期化中だけです。GLFWが初期化されると、その後の更新は、ライブラリを終了して再び初期化するまで無視されます。

引数

[in]loader使用する関数のアドレス、または NULL

ローダー関数のシグネチャ

PFN_vkVoidFunction vkGetInstanceProcAddr(VkInstance instance, const char* name)

この関数の詳細については、Vulkan Registryを参照してください。

エラー
なし。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
Vulkanローダーの検索

glfwInit

導入バージョン
バージョン3.4で追加。

◆ glfwGetVersion()

void glfwGetVersion(int * major,
int * minor,
int * rev 
)

この関数は、GLFWライブラリのメジャー、マイナー、リビジョン番号を取得します。GLFWを共有ライブラリとして使用していて、最低限必要なバージョンを使用していることを確認したい場合を想定しています。

バージョン引数は、その一部またはすべてを NULL にできます。

引数

[out]majorメジャーバージョン番号の格納先、または NULL
[out]minorマイナーバージョン番号の格納先、または NULL
[out]revリビジョン番号の格納先、または NULL

エラー
なし。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。

関連項目
バージョン管理

glfwGetVersionString

導入バージョン
バージョン1.0で追加。

◆ glfwGetVersionString()

const char * glfwGetVersionString(void )

この関数は、GLFWライブラリのバイナリについて、コンパイル時に生成されたバージョン文字列を返します。この文字列は、バージョン、プラットフォーム、コンパイラ、およびプラットフォームまたはオペレーティングシステム固有のコンパイル時オプションを表します。glGetString で照会するOpenGLまたはOpenGL ESのバージョン文字列と混同しないでください。

GLFWライブラリのバージョンを解析するために、バージョン文字列を使用してはなりませんglfwGetVersion 関数は、実行中のライブラリバイナリのバージョンを数値形式で提供します。

どのプラットフォームがサポートされているかを解析するために、バージョン文字列を使用してはなりませんglfwPlatformSupported 関数を使うと、プラットフォームのサポートを照会できます。

戻り値
ASCIIでエンコードされたGLFWのバージョン文字列。

エラー
なし。

備考
この関数は glfwInit より前に呼び出してもかまいません。

ポインターの有効期間
返される文字列は静的であり、コンパイル時に生成されます。

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。

関連項目
バージョン管理

glfwGetVersion

導入バージョン
バージョン3.0で追加。

◆ glfwGetError()

int glfwGetError(const char ** description)

この関数は、呼び出し元スレッドで最後に発生したエラーのエラーコードを返して消去し、必要に応じてUTF-8でエンコードされた人間が読める説明も返します。前回の呼び出し以降にエラーが発生していない場合は、GLFW_NO_ERROR(0)を返し、説明ポインターを NULL に設定します。

引数

[in]descriptionエラー説明ポインターの格納先、または NULL

戻り値
呼び出し元スレッドの直前のエラーコード、または GLFW_NO_ERROR(0)。

エラー
なし。

ポインターの有効期間
返される文字列はGLFWによって割り当ておよび解放されます。自身で解放するべきではありません。次のエラーが発生するか、ライブラリが終了するまでだけ有効であることが保証されます。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。

関連項目
エラー処理

glfwSetErrorCallback

導入バージョン
バージョン3.3で追加。

◆ glfwSetErrorCallback()

GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback)

この関数はエラーコールバックを設定します。このコールバックは、GLFWエラーが発生するたびに、エラーコードと人間が読める説明を引数として呼び出されます。

エラーコードは、コールバックが呼び出される前に設定されます。エラーコールバックから glfwGetError を呼び出すと、エラーコード引数と同じ値が返されます。

エラーコールバックは、エラーが発生したスレッド上で呼び出されます。複数のスレッドからGLFWを使用する場合は、それに対応するようエラーコールバックを記述する必要があります。

説明文字列はそのエラー専用に生成されている場合があるため、コールバックが戻った後も有効であることは保証されません。コールバックが戻った後に使用する場合は、コピーを作成する必要があります。

一度設定したエラーコールバックは、ライブラリの終了後も設定されたままです。

引数

[in]callback新しいコールバック。現在設定されているコールバックを解除する場合は NULL

戻り値
以前設定されていたコールバック。コールバックが設定されていなかった場合は NULL

コールバックのシグネチャ

void callback_name(int error_code, const char* description)

コールバック引数の詳細については、コールバックポインター型を参照してください。

エラー
なし。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。

関連項目
エラー処理

glfwGetError

導入バージョン
バージョン3.0で追加。

◆ glfwGetPlatform()

int glfwGetPlatform(void )

この関数は、初期化時に選択されたプラットフォームを返します。戻り値は、GLFW_PLATFORM_WIN32GLFW_PLATFORM_COCOAGLFW_PLATFORM_WAYLANDGLFW_PLATFORM_X11GLFW_PLATFORM_NULL のいずれかです。

戻り値
現在選択されているプラットフォーム。エラーが発生した場合は0。

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。

関連項目
実行時のプラットフォーム選択

glfwPlatformSupported

導入バージョン
バージョン3.4で追加。

◆ glfwPlatformSupported()

int glfwPlatformSupported(int platform)

この関数は、指定したプラットフォームをサポートするようライブラリがコンパイルされたかを返します。プラットフォームは、GLFW_PLATFORM_WIN32GLFW_PLATFORM_COCOAGLFW_PLATFORM_WAYLANDGLFW_PLATFORM_X11GLFW_PLATFORM_NULL のいずれかでなければなりません。

引数

[in]platform照会するプラットフォーム。

戻り値
プラットフォームがサポートされている場合は GLFW_TRUE、それ以外の場合は GLFW_FALSE

エラー
発生する可能性のあるエラーには、GLFW_INVALID_ENUM があります。

備考
この関数は glfwInit より前に呼び出してもかまいません。

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。

関連項目
実行時のプラットフォーム選択

glfwGetPlatform

導入バージョン
バージョン3.4で追加。