文書の出典
- 出典
- GLFW 3.5.1 Documentation
- 上流バージョン
- GLFW 3.5.1
- 文書状態
- 翻訳
このリファレンスページは、GLFW 3.5.1 公式ドキュメントを Markdown 向けに改変したものです。書式、ナビゲーション、リンクは libx 用に変更していますが、技術的内容は GLFW 3.5.1 ソース配布物に基づいています。
説明
ネイティブアクセス関数を使用することは、自分が何をしているか、およびその使用によって生じた問題をどう修正するかを理解していると表明することです。理解していない場合は使用すべきではありません。
glfw3native.h をインクルードする前に、ウィンドウシステム API マクロを 0 個以上、コンテキスト作成 API マクロを 0 個以上定義できます。
選択するバックエンドは、ライブラリのコンパイル対象と一致していなければなりません。一致しない場合はリンク時エラーになります。
利用可能なウィンドウ API マクロは次のとおりです。
GLFW_EXPOSE_NATIVE_WIN32GLFW_EXPOSE_NATIVE_COCOAGLFW_EXPOSE_NATIVE_X11GLFW_EXPOSE_NATIVE_WAYLAND
利用可能なコンテキスト API マクロは次のとおりです。
GLFW_EXPOSE_NATIVE_WGLGLFW_EXPOSE_NATIVE_NSGLGLFW_EXPOSE_NATIVE_GLXGLFW_EXPOSE_NATIVE_EGLGLFW_EXPOSE_NATIVE_OSMESA
これらのマクロは、宣言するネイティブアクセス関数と、インクルードするプラットフォーム固有ヘッダーを選択します。どれを定義すべきかは、必然的にプラットフォーム固有となる利用側のコードで処理します。
プラットフォーム固有ヘッダーをインクルードしたくない場合は、glfw3native.h ヘッダーをインクルードする前に GLFW_NATIVE_INCLUDE_NONE を定義してください。
#define GLFW_EXPOSE_NATIVE_WIN32
#define GLFW_EXPOSE_NATIVE_WGL
#define GLFW_NATIVE_INCLUDE_NONE
#include <GLFW/glfw3native.h>
ネイティブアクセス関数のヘッダー。
関数 |
|
| const char * | glfwGetWin32Adapter (GLFWmonitor *monitor) |
| 指定されたモニターのアダプターデバイス名を返します。 |
|
| const char * | glfwGetWin32Monitor (GLFWmonitor *monitor) |
| 指定されたモニターのディスプレイデバイス名を返します。 |
|
| HWND | glfwGetWin32Window (GLFWwindow *window) |
指定されたウィンドウの HWND を返します。 |
|
| HGLRC | glfwGetWGLContext (GLFWwindow *window) |
指定されたウィンドウの HGLRC を返します。 |
|
| CGDirectDisplayID | glfwGetCocoaMonitor (GLFWmonitor *monitor) |
指定されたモニターの CGDirectDisplayID を返します。 |
|
| id | glfwGetCocoaWindow (GLFWwindow *window) |
指定されたウィンドウの NSWindow を返します。 |
|
| id | glfwGetCocoaView (GLFWwindow *window) |
指定されたウィンドウの NSView を返します。 |
|
| id | glfwGetNSGLContext (GLFWwindow *window) |
指定されたウィンドウの NSOpenGLContext を返します。 |
|
| Display * | glfwGetX11Display (void) |
GLFW が使用する Display を返します。 |
|
| RRCrtc | glfwGetX11Adapter (GLFWmonitor *monitor) |
指定されたモニターの RRCrtc を返します。 |
|
| RROutput | glfwGetX11Monitor (GLFWmonitor *monitor) |
指定されたモニターの RROutput を返します。 |
|
| Window | glfwGetX11Window (GLFWwindow *window) |
指定されたウィンドウの Window を返します。 |
|
| void | glfwSetX11SelectionString (const char *string) |
| 現在のプライマリ選択を指定された文字列に設定します。 |
|
| const char * | glfwGetX11SelectionString (void) |
| 現在のプライマリ選択の内容を文字列として返します。 |
|
| GLXContext | glfwGetGLXContext (GLFWwindow *window) |
指定されたウィンドウの GLXContext を返します。 |
|
| GLXWindow | glfwGetGLXWindow (GLFWwindow *window) |
指定されたウィンドウの GLXWindow を返します。 |
|
| int | glfwGetGLXFBConfig (GLFWwindow *window, GLXFBConfig *config) |
指定されたウィンドウの GLXWindow に対応する GLXFBConfig を取得します。 |
|
| struct wl_display * | glfwGetWaylandDisplay (void) |
GLFW が使用する struct wl_display* を返します。 |
|
| struct wl_output * | glfwGetWaylandMonitor (GLFWmonitor *monitor) |
指定されたモニターの struct wl_output* を返します。 |
|
| struct wl_surface * | glfwGetWaylandWindow (GLFWwindow *window) |
指定されたウィンドウのメイン struct wl_surface* を返します。 |
|
| EGLDisplay | glfwGetEGLDisplay (void) |
GLFW が使用する EGLDisplay を返します。 |
|
| EGLContext | glfwGetEGLContext (GLFWwindow *window) |
指定されたウィンドウの EGLContext を返します。 |
|
| EGLSurface | glfwGetEGLSurface (GLFWwindow *window) |
指定されたウィンドウの EGLSurface を返します。 |
|
| int | glfwGetEGLConfig (GLFWwindow *window, EGLConfig *config) |
指定されたウィンドウの EGLSurface に対応する EGLConfig を取得します。 |
|
| int | glfwGetOSMesaColorBuffer (GLFWwindow *window, int *width, int *height, int *format, void **buffer) |
| 指定されたウィンドウに関連付けられたカラーバッファを取得します。 |
|
| int | glfwGetOSMesaDepthBuffer (GLFWwindow *window, int *width, int *height, int *bytesPerValue, void **buffer) |
| 指定されたウィンドウに関連付けられた深度バッファを取得します。 |
|
| OSMesaContext | glfwGetOSMesaContext (GLFWwindow *window) |
指定されたウィンドウの OSMesaContext を返します。 |
|
関数の詳細
◆ glfwGetWin32Adapter()
| const char * glfwGetWin32Adapter | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの UTF-8 エンコードされたアダプターデバイス名(例: \\.\DISPLAY1)。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetWin32Monitor()
| const char * glfwGetWin32Monitor | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの UTF-8 エンコードされたディスプレイデバイス名(例: \\.\DISPLAY1\Monitor0)。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetWin32Window()
| HWND glfwGetWin32Window | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの HWND。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
備考
ウィンドウに関連付けられた HDC は、GetDC 関数で照会できます。
HDC dc = GetDC(glfwGetWin32Window(window));
この DC はプライベートであり、解放する必要はありません。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetWGLContext()
| HGLRC glfwGetWGLContext | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの HGLRC。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE、GLFW_NO_WINDOW_CONTEXT があります。
備考
ウィンドウに関連付けられた HDC は、GetDC 関数で照会できます。
HDC dc = GetDC(glfwGetWin32Window(window));
この DC はプライベートであり、解放する必要はありません。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetCocoaMonitor()
| CGDirectDisplayID glfwGetCocoaMonitor | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの CGDirectDisplayID。エラーが発生した場合は kCGNullDirectDisplay。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetCocoaWindow()
| id glfwGetCocoaWindow | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの NSWindow。エラーが発生した場合は nil。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetCocoaView()
| id glfwGetCocoaView | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの NSView。エラーが発生した場合は nil。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.4 で追加されました。
◆ glfwGetNSGLContext()
| id glfwGetNSGLContext | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの NSOpenGLContext。エラーが発生した場合は nil。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetX11Display()
| Display * glfwGetX11Display | ( | void | ) |
戻り値
GLFW が使用する Display。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetX11Adapter()
| RRCrtc glfwGetX11Adapter | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの RRCrtc。エラーが発生した場合は None。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetX11Monitor()
| RROutput glfwGetX11Monitor | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの RROutput。エラーが発生した場合は None。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetX11Window()
| Window glfwGetX11Window | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの Window。エラーが発生した場合は None。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetX11SelectionString()
| void glfwSetX11SelectionString | ( | const char * | string | ) |
引数
| [in] | string | UTF-8 エンコード文字列。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE、GLFW_PLATFORM_ERROR があります。
ポインターの有効期間
指定された文字列は、この関数から戻る前にコピーされます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
クリップボードの入出力
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetX11SelectionString()
| const char * glfwGetX11SelectionString | ( | void | ) |
選択が空の場合、または内容を変換できない場合は NULL を返し、GLFW_FORMAT_UNAVAILABLE エラーを生成します。
戻り値
UTF-8 エンコード文字列としての選択内容。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE、GLFW_PLATFORM_ERROR があります。
ポインターの有効期間
戻り値の文字列は GLFW によって確保および解放されます。自分で解放してはいけません。次に glfwGetX11SelectionString または glfwSetX11SelectionString が呼び出されるか、ライブラリが終了するまで有効です。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
クリップボードの入出力
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetGLXContext()
| GLXContext glfwGetGLXContext | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの GLXContext。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetGLXWindow()
| GLXWindow glfwGetGLXWindow | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの GLXWindow。エラーが発生した場合は None。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwGetGLXFBConfig()
| int glfwGetGLXFBConfig | ( | GLFWwindow * | window, |
| GLXFBConfig * | config | ||
| ) |
引数
| [in] | window | GLXWindow を問い合わせるウィンドウ。 |
| [out] | config | 利用可能な場合は、ウィンドウの GLXWindow に対応する GLXFBConfig。 |
戻り値
成功した場合は GLFW_TRUE。エラーが発生した場合は GLFW_FALSE。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT、GLFW_PLATFORM_UNAVAILABLE があります。
備考
GLXFBConfig は不透明型です。コア GLX は無効値を定義していないため、ほかの GLFW 関数とは異なり、エラー時に出力引数 config はクリアされません。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.5 で追加されました。
◆ glfwGetWaylandDisplay()
| struct wl_display * glfwGetWaylandDisplay | ( | void | ) |
戻り値
GLFW が使用する struct wl_display*。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwGetWaylandMonitor()
| struct wl_output * glfwGetWaylandMonitor | ( | GLFWmonitor * | monitor | ) |
戻り値
指定されたモニターの struct wl_output*。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwGetWaylandWindow()
| struct wl_surface * glfwGetWaylandWindow | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウのメイン struct wl_surface*。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_UNAVAILABLE があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwGetEGLDisplay()
| EGLDisplay glfwGetEGLDisplay | ( | void | ) |
戻り値
GLFW が使用する EGLDisplay。エラーが発生した場合は EGL_NO_DISPLAY。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
備考
EGL は必要に応じて初期化されるため、EGL を介して最初のコンテキストが作成されるまで、この関数は EGL_NO_DISPLAY を返します。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetEGLContext()
| EGLContext glfwGetEGLContext | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの EGLContext。エラーが発生した場合は EGL_NO_CONTEXT。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetEGLSurface()
| EGLSurface glfwGetEGLSurface | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの EGLSurface。エラーが発生した場合は EGL_NO_SURFACE。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetEGLConfig()
| int glfwGetEGLConfig | ( | GLFWwindow * | window, |
| EGLConfig * | config | ||
| ) |
引数
| [in] | window | EGLSurface を問い合わせるウィンドウ。 |
| [out] | config | 利用可能な場合は、ウィンドウの EGLSurface に対応する EGLConfig。 |
戻り値
成功した場合は GLFW_TRUE。エラーが発生した場合は GLFW_FALSE。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
備考
EGLConfig は不透明型です。コア EGL は無効値を定義していないため、ほかの GLFW 関数とは異なり、エラー時に出力引数 config はクリアされません。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.5 で追加されました。
◆ glfwGetOSMesaColorBuffer()
| int glfwGetOSMesaColorBuffer | ( | GLFWwindow * | window, |
| int * | width, | ||
| int * | height, | ||
| int * | format, | ||
| void ** | buffer | ||
| ) |
引数
| [in] | window | カラーバッファを取得するウィンドウ。 |
| [out] | width | カラーバッファの幅を格納する場所、または NULL。 |
| [out] | height | カラーバッファの高さを格納する場所、または NULL。 |
| [out] | format | カラーバッファの OSMesa ピクセル形式を格納する場所、または NULL。 |
| [out] | buffer | カラーバッファのアドレスを格納する場所、または NULL。 |
戻り値
成功した場合は GLFW_TRUE。エラーが発生した場合は GLFW_FALSE。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetOSMesaDepthBuffer()
| int glfwGetOSMesaDepthBuffer | ( | GLFWwindow * | window, |
| int * | width, | ||
| int * | height, | ||
| int * | bytesPerValue, | ||
| void ** | buffer | ||
| ) |
引数
| [in] | window | 深度バッファを取得するウィンドウ。 |
| [out] | width | 深度バッファの幅を格納する場所、または NULL。 |
| [out] | height | 深度バッファの高さを格納する場所、または NULL。 |
| [out] | bytesPerValue | 深度バッファ要素あたりのバイト数を格納する場所、または NULL。 |
| [out] | buffer | 深度バッファのアドレスを格納する場所、または NULL。 |
戻り値
成功した場合は GLFW_TRUE。エラーが発生した場合は GLFW_FALSE。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetOSMesaContext()
| OSMesaContext glfwGetOSMesaContext | ( | GLFWwindow * | window | ) |
戻り値
指定されたウィンドウの OSMesaContext。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT があります。
スレッドセーフ性
この関数は、どのスレッドからでも呼び出せます。アクセスは同期されません。
導入バージョン
バージョン 3.3 で追加されました。