文書の出典
- 出典
- GLFW 3.5.1 Documentation
- 上流バージョン
- GLFW 3.5.1
- 文書状態
- 翻訳
このリファレンスページは、GLFW 3.5.1 公式ドキュメントを改変して Markdown 化したものです。libx 向けに書式、ナビゲーション、リンクを変更していますが、技術的な内容は GLFW 3.5.1 のソース配布物に基づいています。
説明
これは、作成、削除、イベントのポーリングを含む、ウィンドウ関連の関数と型に関するリファレンスドキュメントです。作業手順を中心とした情報については、ウィンドウガイドを参照してください。
マクロ |
|
| #define | GLFW_FOCUSED 0x00020001 |
| 入力フォーカスのウィンドウヒントおよび属性。 |
|
| #define | GLFW_ICONIFIED 0x00020002 |
| ウィンドウのアイコン化に関するウィンドウ属性。 |
|
| #define | GLFW_RESIZABLE 0x00020003 |
| ウィンドウのサイズ変更可否に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_VISIBLE 0x00020004 |
| ウィンドウの表示状態に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_DECORATED 0x00020005 |
| ウィンドウ装飾に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_AUTO_ICONIFY 0x00020006 |
| ウィンドウの自動アイコン化に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_FLOATING 0x00020007 |
| ウィンドウのフローティング状態に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_MAXIMIZED 0x00020008 |
| ウィンドウの最大化に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_CENTER_CURSOR 0x00020009 |
| カーソルの中央配置に関するウィンドウヒント。 |
|
| #define | GLFW_TRANSPARENT_FRAMEBUFFER 0x0002000A |
| ウィンドウフレームバッファの透過性に関するヒントおよび属性。 |
|
| #define | GLFW_HOVERED 0x0002000B |
| マウスカーソルのホバーに関するウィンドウ属性。 |
|
| #define | GLFW_FOCUS_ON_SHOW 0x0002000C |
| ウィンドウ表示時の入力フォーカスに関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_MOUSE_PASSTHROUGH 0x0002000D |
| マウス入力の透過に関するウィンドウヒントおよび属性。 |
|
| #define | GLFW_POSITION_X 0x0002000E |
| 初期位置のx座標に関するウィンドウヒント。 |
|
| #define | GLFW_POSITION_Y 0x0002000F |
| 初期位置のy座標に関するウィンドウヒント。 |
|
| #define | GLFW_RED_BITS 0x00021001 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_GREEN_BITS 0x00021002 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_BLUE_BITS 0x00021003 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_ALPHA_BITS 0x00021004 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_DEPTH_BITS 0x00021005 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_STENCIL_BITS 0x00021006 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_ACCUM_RED_BITS 0x00021007 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_ACCUM_GREEN_BITS 0x00021008 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_ACCUM_BLUE_BITS 0x00021009 |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_ACCUM_ALPHA_BITS 0x0002100A |
| フレームバッファのビット深度に関するヒント。 |
|
| #define | GLFW_AUX_BUFFERS 0x0002100B |
| フレームバッファの補助バッファに関するヒント。 |
|
| #define | GLFW_STEREO 0x0002100C |
| OpenGLのステレオレンダリングに関するヒント。 |
|
| #define | GLFW_SAMPLES 0x0002100D |
| フレームバッファのMSAAサンプル数に関するヒント。 |
|
| #define | GLFW_SRGB_CAPABLE 0x0002100E |
| フレームバッファのsRGB対応に関するヒント。 |
|
| #define | GLFW_REFRESH_RATE 0x0002100F |
| モニターのリフレッシュレートに関するヒント。 |
|
| #define | GLFW_DOUBLEBUFFER 0x00021010 |
| フレームバッファのダブルバッファリングに関するヒントおよび属性。 |
|
| #define | GLFW_CLIENT_API 0x00022001 |
| コンテキストのクライアントAPIに関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_VERSION_MAJOR 0x00022002 |
| コンテキストのクライアントAPIのメジャーバージョンに関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_VERSION_MINOR 0x00022003 |
| コンテキストのクライアントAPIのマイナーバージョンに関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_REVISION 0x00022004 |
| コンテキストのクライアントAPIのリビジョン番号に関する属性。 |
|
| #define | GLFW_CONTEXT_ROBUSTNESS 0x00022005 |
| コンテキストの堅牢性に関するヒントおよび属性。 |
|
| #define | GLFW_OPENGL_FORWARD_COMPAT 0x00022006 |
| OpenGLの前方互換性に関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_DEBUG 0x00022007 |
| デバッグモードのコンテキストヒントおよび属性。 |
|
| #define | GLFW_OPENGL_DEBUG_CONTEXT GLFW_CONTEXT_DEBUG |
| 互換性のための旧名称。 |
|
| #define | GLFW_OPENGL_PROFILE 0x00022008 |
| OpenGLプロファイルに関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_RELEASE_BEHAVIOR 0x00022009 |
| コンテキスト解放時のフラッシュに関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_NO_ERROR 0x0002200A |
| コンテキストのエラー抑制に関するヒントおよび属性。 |
|
| #define | GLFW_CONTEXT_CREATION_API 0x0002200B |
| コンテキスト作成APIに関するヒントおよび属性。 |
|
| #define | GLFW_SCALE_TO_MONITOR 0x0002200C |
| ウィンドウのコンテンツ領域のスケーリングに関するウィンドウヒント。 |
|
| #define | GLFW_SCALE_FRAMEBUFFER 0x0002200D |
| ウィンドウフレームバッファのスケーリングに関するウィンドウヒント。 |
|
| #define | GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001 |
| 互換性のための旧名称。 |
|
| #define | GLFW_COCOA_FRAME_NAME 0x00023002 |
| macOS固有のウィンドウヒント。 |
|
| #define | GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003 |
| macOS固有のウィンドウヒント。 |
|
| #define | GLFW_X11_CLASS_NAME 0x00024001 |
| X11固有のウィンドウヒント。 |
|
| #define | GLFW_X11_INSTANCE_NAME 0x00024002 |
| X11固有のウィンドウヒント。 |
|
| #define | GLFW_WIN32_KEYBOARD_MENU 0x00025001 |
| #define | GLFW_WIN32_SHOWDEFAULT 0x00025002 |
| Win32固有のウィンドウヒント。 |
|
| #define | GLFW_WAYLAND_APP_ID 0x00026001 |
| Wayland固有のウィンドウヒント。 |
|
型定義 |
|
| typedef struct GLFWwindow | GLFWwindow |
| 不透明なウィンドウオブジェクト。 |
|
| typedef void(* | GLFWwindowposfun) (GLFWwindow *window, int xpos, int ypos) |
| ウィンドウ位置コールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowsizefun) (GLFWwindow *window, int width, int height) |
| ウィンドウサイズコールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowclosefun) (GLFWwindow *window) |
| ウィンドウクローズコールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowrefreshfun) (GLFWwindow *window) |
| ウィンドウ内容の再描画コールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowfocusfun) (GLFWwindow *window, int focused) |
| ウィンドウフォーカスコールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowiconifyfun) (GLFWwindow *window, int iconified) |
| ウィンドウアイコン化コールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowmaximizefun) (GLFWwindow *window, int maximized) |
| ウィンドウ最大化コールバックの関数ポインター型。 |
|
| typedef void(* | GLFWframebuffersizefun) (GLFWwindow *window, int width, int height) |
| フレームバッファサイズコールバックの関数ポインター型。 |
|
| typedef void(* | GLFWwindowcontentscalefun) (GLFWwindow *window, float xscale, float yscale) |
| ウィンドウのコンテンツスケールコールバックの関数ポインター型。 |
|
| typedef struct GLFWimage | GLFWimage |
| 画像データ。 |
|
関数 |
|
| void | glfwDefaultWindowHints (void) |
| すべてのウィンドウヒントを既定値へ戻します。 |
|
| void | glfwWindowHint (int hint, int value) |
| 指定したウィンドウヒントを目的の値に設定します。 |
|
| void | glfwWindowHintString (int hint, const char *value) |
| 指定したウィンドウヒントを目的の値に設定します。 |
|
| GLFWwindow * | glfwCreateWindow (int width, int height, const char *title, GLFWmonitor *monitor, GLFWwindow *share) |
| ウィンドウとそれに関連付けられたコンテキストを作成します。 |
|
| void | glfwDestroyWindow (GLFWwindow *window) |
| 指定したウィンドウとそのコンテキストを破棄します。 |
|
| int | glfwWindowShouldClose (GLFWwindow *window) |
| 指定したウィンドウのクローズフラグを確認します。 |
|
| void | glfwSetWindowShouldClose (GLFWwindow *window, int value) |
| 指定したウィンドウのクローズフラグを設定します。 |
|
| const char * | glfwGetWindowTitle (GLFWwindow *window) |
| 指定したウィンドウのタイトルを返します。 |
|
| void | glfwSetWindowTitle (GLFWwindow *window, const char *title) |
| 指定したウィンドウのタイトルを設定します。 |
|
| void | glfwSetWindowIcon (GLFWwindow *window, int count, const GLFWimage *images) |
| 指定したウィンドウのアイコンを設定します。 |
|
| void | glfwGetWindowPos (GLFWwindow *window, int *xpos, int *ypos) |
| 指定したウィンドウのコンテンツ領域の位置を取得します。 |
|
| void | glfwSetWindowPos (GLFWwindow *window, int xpos, int ypos) |
| 指定したウィンドウのコンテンツ領域の位置を設定します。 |
|
| void | glfwGetWindowSize (GLFWwindow *window, int *width, int *height) |
| 指定したウィンドウのコンテンツ領域のサイズを取得します。 |
|
| void | glfwSetWindowSizeLimits (GLFWwindow *window, int minwidth, int minheight, int maxwidth, int maxheight) |
| 指定したウィンドウのサイズ制限を設定します。 |
|
| void | glfwSetWindowAspectRatio (GLFWwindow *window, int numer, int denom) |
| 指定したウィンドウのアスペクト比を設定します。 |
|
| void | glfwSetWindowSize (GLFWwindow *window, int width, int height) |
| 指定したウィンドウのコンテンツ領域のサイズを設定します。 |
|
| void | glfwGetFramebufferSize (GLFWwindow *window, int *width, int *height) |
| 指定したウィンドウのフレームバッファサイズを取得します。 |
|
| void | glfwGetWindowFrameSize (GLFWwindow *window, int *left, int *top, int *right, int *bottom) |
| ウィンドウフレームのサイズを取得します。 |
|
| void | glfwGetWindowContentScale (GLFWwindow *window, float *xscale, float *yscale) |
| 指定したウィンドウのコンテンツスケールを取得します。 |
|
| float | glfwGetWindowOpacity (GLFWwindow *window) |
| ウィンドウ全体の不透明度を返します。 |
|
| void | glfwSetWindowOpacity (GLFWwindow *window, float opacity) |
| ウィンドウ全体の不透明度を設定します。 |
|
| void | glfwIconifyWindow (GLFWwindow *window) |
| 指定したウィンドウをアイコン化します。 |
|
| void | glfwRestoreWindow (GLFWwindow *window) |
| 指定したウィンドウを復元します。 |
|
| void | glfwMaximizeWindow (GLFWwindow *window) |
| 指定したウィンドウを最大化します。 |
|
| void | glfwShowWindow (GLFWwindow *window) |
| 指定したウィンドウを表示します。 |
|
| void | glfwHideWindow (GLFWwindow *window) |
| 指定したウィンドウを非表示にします。 |
|
| void | glfwFocusWindow (GLFWwindow *window) |
| 指定したウィンドウを前面へ移動し、入力フォーカスを設定します。 |
|
| void | glfwRequestWindowAttention (GLFWwindow *window) |
| 指定したウィンドウへユーザーの注意を引くよう要求します。 |
|
| GLFWmonitor * | glfwGetWindowMonitor (GLFWwindow *window) |
| ウィンドウがフルスクリーンモードで使用するモニターを返します。 |
|
| void | glfwSetWindowMonitor (GLFWwindow *window, GLFWmonitor *monitor, int xpos, int ypos, int width, int height, int refreshRate) |
| ウィンドウのモード、モニター、ビデオモード、配置を設定します。 |
|
| int | glfwGetWindowAttrib (GLFWwindow *window, int attrib) |
| 指定したウィンドウの属性を返します。 |
|
| void | glfwSetWindowAttrib (GLFWwindow *window, int attrib, int value) |
| 指定したウィンドウの属性を設定します。 |
|
| void | glfwSetWindowUserPointer (GLFWwindow *window, void *pointer) |
| 指定したウィンドウのユーザーポインターを設定します。 |
|
| void * | glfwGetWindowUserPointer (GLFWwindow *window) |
| 指定したウィンドウのユーザーポインターを返します。 |
|
| GLFWwindowposfun | glfwSetWindowPosCallback (GLFWwindow *window, GLFWwindowposfun callback) |
| 指定したウィンドウの位置コールバックを設定します。 |
|
| GLFWwindowsizefun | glfwSetWindowSizeCallback (GLFWwindow *window, GLFWwindowsizefun callback) |
| 指定したウィンドウのサイズコールバックを設定します。 |
|
| GLFWwindowclosefun | glfwSetWindowCloseCallback (GLFWwindow *window, GLFWwindowclosefun callback) |
| 指定したウィンドウのクローズコールバックを設定します。 |
|
| GLFWwindowrefreshfun | glfwSetWindowRefreshCallback (GLFWwindow *window, GLFWwindowrefreshfun callback) |
| 指定したウィンドウの再描画コールバックを設定します。 |
|
| GLFWwindowfocusfun | glfwSetWindowFocusCallback (GLFWwindow *window, GLFWwindowfocusfun callback) |
| 指定したウィンドウのフォーカスコールバックを設定します。 |
|
| GLFWwindowiconifyfun | glfwSetWindowIconifyCallback (GLFWwindow *window, GLFWwindowiconifyfun callback) |
| 指定したウィンドウのアイコン化コールバックを設定します。 |
|
| GLFWwindowmaximizefun | glfwSetWindowMaximizeCallback (GLFWwindow *window, GLFWwindowmaximizefun callback) |
| 指定したウィンドウの最大化コールバックを設定します。 |
|
| GLFWframebuffersizefun | glfwSetFramebufferSizeCallback (GLFWwindow *window, GLFWframebuffersizefun callback) |
| 指定したウィンドウのフレームバッファサイズ変更コールバックを設定します。 |
|
| GLFWwindowcontentscalefun | glfwSetWindowContentScaleCallback (GLFWwindow *window, GLFWwindowcontentscalefun callback) |
| 指定したウィンドウのコンテンツスケールコールバックを設定します。 |
|
| void | glfwPollEvents (void) |
| 保留中のすべてのイベントを処理します。 |
|
| void | glfwWaitEvents (void) |
| イベントがキューへ追加されるまで待機し、それらを処理します。 |
|
| void | glfwWaitEventsTimeout (double timeout) |
| タイムアウト付きでイベントがキューへ追加されるまで待機し、それらを処理します。 |
|
| void | glfwPostEmptyEvent (void) |
| 空のイベントをイベントキューへ送ります。 |
|
| void | glfwSwapBuffers (GLFWwindow *window) |
| 指定したウィンドウのフロントバッファとバックバッファを交換します。 |
|
マクロ定義の解説
◆ GLFW_FOCUSED
◆ GLFW_ICONIFIED
| #define GLFW_ICONIFIED 0x00020002 |
ウィンドウのアイコン化に関するウィンドウ属性です。
◆ GLFW_RESIZABLE
◆ GLFW_VISIBLE
◆ GLFW_DECORATED
◆ GLFW_AUTO_ICONIFY
◆ GLFW_FLOATING
◆ GLFW_MAXIMIZED
◆ GLFW_CENTER_CURSOR
| #define GLFW_CENTER_CURSOR 0x00020009 |
カーソルの中央配置に関するウィンドウヒントです。
◆ GLFW_TRANSPARENT_FRAMEBUFFER
◆ GLFW_HOVERED
| #define GLFW_HOVERED 0x0002000B |
マウスカーソルのホバーに関するウィンドウ属性です。
◆ GLFW_FOCUS_ON_SHOW
◆ GLFW_MOUSE_PASSTHROUGH
◆ GLFW_POSITION_X
| #define GLFW_POSITION_X 0x0002000E |
初期位置のx座標に関するウィンドウヒントです。
◆ GLFW_POSITION_Y
| #define GLFW_POSITION_Y 0x0002000F |
初期位置のy座標に関するウィンドウヒントです。
◆ GLFW_RED_BITS
| #define GLFW_RED_BITS 0x00021001 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_GREEN_BITS
| #define GLFW_GREEN_BITS 0x00021002 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_BLUE_BITS
| #define GLFW_BLUE_BITS 0x00021003 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_ALPHA_BITS
| #define GLFW_ALPHA_BITS 0x00021004 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_DEPTH_BITS
| #define GLFW_DEPTH_BITS 0x00021005 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_STENCIL_BITS
| #define GLFW_STENCIL_BITS 0x00021006 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_ACCUM_RED_BITS
| #define GLFW_ACCUM_RED_BITS 0x00021007 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_ACCUM_GREEN_BITS
| #define GLFW_ACCUM_GREEN_BITS 0x00021008 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_ACCUM_BLUE_BITS
| #define GLFW_ACCUM_BLUE_BITS 0x00021009 |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_ACCUM_ALPHA_BITS
| #define GLFW_ACCUM_ALPHA_BITS 0x0002100A |
フレームバッファのビット深度に関するヒントです。
◆ GLFW_AUX_BUFFERS
| #define GLFW_AUX_BUFFERS 0x0002100B |
フレームバッファの補助バッファに関するヒントです。
◆ GLFW_STEREO
| #define GLFW_STEREO 0x0002100C |
OpenGLのステレオレンダリングに関するヒントです。
◆ GLFW_SAMPLES
| #define GLFW_SAMPLES 0x0002100D |
フレームバッファのMSAAサンプル数に関するヒントです。
◆ GLFW_SRGB_CAPABLE
| #define GLFW_SRGB_CAPABLE 0x0002100E |
フレームバッファのsRGB対応に関するヒントです。
◆ GLFW_REFRESH_RATE
| #define GLFW_REFRESH_RATE 0x0002100F |
モニターのリフレッシュレートに関するヒントです。
◆ GLFW_DOUBLEBUFFER
◆ GLFW_CLIENT_API
◆ GLFW_CONTEXT_VERSION_MAJOR
◆ GLFW_CONTEXT_VERSION_MINOR
◆ GLFW_CONTEXT_REVISION
| #define GLFW_CONTEXT_REVISION 0x00022004 |
コンテキストのクライアントAPIのリビジョン番号に関する属性です。
◆ GLFW_CONTEXT_ROBUSTNESS
◆ GLFW_OPENGL_FORWARD_COMPAT
◆ GLFW_CONTEXT_DEBUG
◆ GLFW_OPENGL_DEBUG_CONTEXT
| #define GLFW_OPENGL_DEBUG_CONTEXT GLFW_CONTEXT_DEBUG |
これは、以前のバージョンとの互換性のための別名です。
◆ GLFW_OPENGL_PROFILE
◆ GLFW_CONTEXT_RELEASE_BEHAVIOR
◆ GLFW_CONTEXT_NO_ERROR
◆ GLFW_CONTEXT_CREATION_API
◆ GLFW_SCALE_TO_MONITOR
| #define GLFW_SCALE_TO_MONITOR 0x0002200C |
◆ GLFW_SCALE_FRAMEBUFFER
| #define GLFW_SCALE_FRAMEBUFFER 0x0002200D |
◆ GLFW_COCOA_RETINA_FRAMEBUFFER
| #define GLFW_COCOA_RETINA_FRAMEBUFFER 0x00023001 |
これは、以前のバージョンとの互換性のために用意された、GLFW_SCALE_FRAMEBUFFER ウィンドウヒントの別名です。
◆ GLFW_COCOA_FRAME_NAME
| #define GLFW_COCOA_FRAME_NAME 0x00023002 |
◆ GLFW_COCOA_GRAPHICS_SWITCHING
| #define GLFW_COCOA_GRAPHICS_SWITCHING 0x00023003 |
◆ GLFW_X11_CLASS_NAME
| #define GLFW_X11_CLASS_NAME 0x00024001 |
◆ GLFW_X11_INSTANCE_NAME
| #define GLFW_X11_INSTANCE_NAME 0x00024002 |
◆ GLFW_WIN32_KEYBOARD_MENU
| #define GLFW_WIN32_KEYBOARD_MENU 0x00025001 |
◆ GLFW_WIN32_SHOWDEFAULT
| #define GLFW_WIN32_SHOWDEFAULT 0x00025002 |
◆ GLFW_WAYLAND_APP_ID
| #define GLFW_WAYLAND_APP_ID 0x00026001 |
Waylandのapp_idを指定できるようにします。
型定義の解説
◆ GLFWwindow
| typedef struct GLFWwindow GLFWwindow |
◆ GLFWwindowposfun
| typedef void(* GLFWwindowposfun) (GLFWwindow *window, int xpos, int ypos) |
これは、ウィンドウ位置コールバックの関数ポインター型です。ウィンドウ位置コールバック関数は、次のシグネチャを持ちます。
void callback_name(GLFWwindow* window, int xpos, int ypos)
引数
| [in] | window | 移動したウィンドウ。 |
| [in] | xpos | ウィンドウのコンテンツ領域の左上隅について、新しいスクリーン座標系のx座標。 |
| [in] | ypos | ウィンドウのコンテンツ領域の左上隅について、新しいスクリーン座標系のy座標。 |
関連項目
ウィンドウの位置
導入バージョン
バージョン3.0で追加。
◆ GLFWwindowsizefun
| typedef void(* GLFWwindowsizefun) (GLFWwindow *window, int width, int height) |
これは、ウィンドウサイズコールバックの関数ポインター型です。ウィンドウサイズコールバック関数は、次のシグネチャを持ちます。
void callback_name(GLFWwindow* window, int width, int height)
引数
| [in] | window | サイズが変更されたウィンドウ。 |
| [in] | width | ウィンドウの新しい幅(スクリーン座標単位)。 |
| [in] | height | ウィンドウの新しい高さ(スクリーン座標単位)。 |
関連項目
ウィンドウサイズ
導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ GLFWwindowclosefun
| typedef void(* GLFWwindowclosefun) (GLFWwindow *window) |
これは、ウィンドウクローズコールバックの関数ポインター型です。ウィンドウクローズコールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window)
引数
| [in] | window | ユーザーが閉じようとしたウィンドウ。 |
関連項目
ウィンドウを閉じる操作とクローズフラグ
導入バージョン
バージョン2.5で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ GLFWwindowrefreshfun
| typedef void(* GLFWwindowrefreshfun) (GLFWwindow *window) |
これは、ウィンドウ内容の再描画コールバックの関数ポインター型です。ウィンドウ内容の再描画コールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window);
引数
| [in] | window | 内容を再描画する必要があるウィンドウ。 |
関連項目
ウィンドウの損傷と再描画
導入バージョン
バージョン2.5で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ GLFWwindowfocusfun
| typedef void(* GLFWwindowfocusfun) (GLFWwindow *window, int focused) |
これは、ウィンドウフォーカスコールバックの関数ポインター型です。ウィンドウフォーカスコールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window, int focused)
引数
| [in] | window | 入力フォーカスを獲得または喪失したウィンドウ。 |
| [in] | focused | ウィンドウへ入力フォーカスが与えられた場合は GLFW_TRUE、失った場合は GLFW_FALSE。 |
関連項目
ウィンドウの入力フォーカス
導入バージョン
バージョン3.0で追加。
◆ GLFWwindowiconifyfun
| typedef void(* GLFWwindowiconifyfun) (GLFWwindow *window, int iconified) |
これは、ウィンドウアイコン化コールバックの関数ポインター型です。ウィンドウアイコン化コールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window, int iconified)
引数
| [in] | window | アイコン化または復元されたウィンドウ。 |
| [in] | iconified | ウィンドウがアイコン化された場合は GLFW_TRUE、復元された場合は GLFW_FALSE。 |
関連項目
ウィンドウのアイコン化
導入バージョン
バージョン3.0で追加。
◆ GLFWwindowmaximizefun
| typedef void(* GLFWwindowmaximizefun) (GLFWwindow *window, int maximized) |
これは、ウィンドウ最大化コールバックの関数ポインター型です。ウィンドウ最大化コールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window, int maximized)
引数
| [in] | window | 最大化または復元されたウィンドウ。 |
| [in] | maximized | ウィンドウが最大化された場合は GLFW_TRUE、復元された場合は GLFW_FALSE。 |
関連項目
ウィンドウの最大化
導入バージョン
バージョン3.3で追加。
◆ GLFWframebuffersizefun
| typedef void(* GLFWframebuffersizefun) (GLFWwindow *window, int width, int height) |
これは、フレームバッファサイズコールバックの関数ポインター型です。フレームバッファサイズコールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window, int width, int height)
引数
| [in] | window | フレームバッファのサイズが変更されたウィンドウ。 |
| [in] | width | フレームバッファの新しい幅(ピクセル単位)。 |
| [in] | height | フレームバッファの新しい高さ(ピクセル単位)。 |
関連項目
フレームバッファサイズ
glfwSetFramebufferSizeCallback
導入バージョン
バージョン3.0で追加。
◆ GLFWwindowcontentscalefun
| typedef void(* GLFWwindowcontentscalefun) (GLFWwindow *window, float xscale, float yscale) |
これは、ウィンドウのコンテンツスケールコールバックの関数ポインター型です。ウィンドウのコンテンツスケールコールバック関数は、次のシグネチャを持ちます。
void function_name(GLFWwindow* window, float xscale, float yscale)
引数
| [in] | window | コンテンツスケールが変更されたウィンドウ。 |
| [in] | xscale | ウィンドウの新しいx軸方向のコンテンツスケール。 |
| [in] | yscale | ウィンドウの新しいy軸方向のコンテンツスケール。 |
関連項目
ウィンドウのコンテンツスケール
glfwSetWindowContentScaleCallback
導入バージョン
バージョン3.3で追加。
◆ GLFWimage
これは1枚の2D画像を表します。要求されるピクセルフォーマットについては、関連する各関数のドキュメントを参照してください。
関連項目
カスタムカーソルの作成
導入バージョン
バージョン2.1で追加。GLFW 3: フォーマットおよびピクセル当たりのバイト数を表すメンバーを削除。
関数の解説
◆ glfwDefaultWindowHints()
| void glfwDefaultWindowHints | ( | void | ) |
この関数は、すべてのウィンドウヒントを既定値へ戻します。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ作成ヒント
導入バージョン
バージョン3.0で追加。
◆ glfwWindowHint()
| void glfwWindowHint | ( | int | hint, |
| int | value | ||
| ) |
この関数は、次に glfwCreateWindow を呼び出す際のヒントを設定します。一度設定されたヒントは、この関数または glfwDefaultWindowHints の呼び出しによって変更されるか、ライブラリが終了するまで値を保持します。
この関数で設定できるのは整数値のヒントだけです。文字列値のヒントは glfwWindowHintString で設定します。
この関数は、指定したヒント値が有効かどうかを確認しません。ヒントに無効な値を設定した場合、次に glfwCreateWindow を呼び出したときに報告されます。
一部のヒントはプラットフォーム固有です。これらはどのプラットフォームでも設定できますが、該当するプラットフォームにだけ影響します。ほかのプラットフォームでは無視されます。これらのヒントを設定するために、プラットフォーム固有のヘッダーや関数は必要ありません。
引数
| [in] | hint | 設定するウィンドウヒント。 |
| [in] | value | ウィンドウヒントの新しい値。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_INVALID_ENUM があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ作成ヒント
導入バージョン
バージョン3.0で追加。glfwOpenWindowHint を置き換えます。
◆ glfwWindowHintString()
| void glfwWindowHintString | ( | int | hint, |
| const char * | value | ||
| ) |
この関数は、次に glfwCreateWindow を呼び出す際のヒントを設定します。一度設定されたヒントは、この関数または glfwDefaultWindowHints の呼び出しによって変更されるか、ライブラリが終了するまで値を保持します。
この関数で設定できるのは文字列型のヒントだけです。整数値のヒントは glfwWindowHint で設定します。
この関数は、指定したヒント値が有効かどうかを確認しません。ヒントに無効な値を設定した場合、次に glfwCreateWindow を呼び出したときに報告されます。
一部のヒントはプラットフォーム固有です。これらはどのプラットフォームでも設定できますが、該当するプラットフォームにだけ影響します。ほかのプラットフォームでは無視されます。これらのヒントを設定するために、プラットフォーム固有のヘッダーや関数は必要ありません。
引数
| [in] | hint | 設定するウィンドウヒント。 |
| [in] | value | ウィンドウヒントの新しい値。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_INVALID_ENUM があります。
ポインターの有効期間
指定された文字列は、この関数が戻る前にコピーされます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ作成ヒント
導入バージョン
バージョン3.3で追加。
◆ glfwCreateWindow()
| GLFWwindow * glfwCreateWindow | ( | int | width, |
| int | height, | ||
| const char * | title, | ||
| GLFWmonitor * | monitor, | ||
| GLFWwindow * | share | ||
| ) |
この関数は、ウィンドウと、それに関連付けられたOpenGLまたはOpenGL ESコンテキストを作成します。ウィンドウとコンテキストの作成方法を制御するオプションの大部分は、ウィンドウヒントで指定します。
作成に成功しても、どのコンテキストがカレントかは変わりません。新しく作成したコンテキストを使用する前に、そのコンテキストをカレントにする必要があります。share 引数については、コンテキストオブジェクトの共有を参照してください。
すべての引数とヒントが厳密な制約ではないため、作成されたウィンドウ、フレームバッファ、コンテキストは要求したものと異なる場合があります。特にフルスクリーンウィンドウでは、ウィンドウサイズもこれに含まれます。作成されたウィンドウ、フレームバッファ、コンテキストの実際の属性を照会するには、glfwGetWindowAttrib、glfwGetWindowSize、glfwGetFramebufferSize を参照してください。
フルスクリーンウィンドウを作成するには、ウィンドウが覆うモニターを指定する必要があります。モニターを指定しない場合、ウィンドウはウィンドウモードになります。ユーザーが特定のモニターを選択できる仕組みがない限り、プライマリモニターを選ぶことを推奨します。接続されているモニターの照会方法については、モニターの取得を参照してください。
フルスクリーンウィンドウでは、指定したサイズがウィンドウの希望するビデオモードの解像度になります。フルスクリーンウィンドウがアイコン化されていない間は、希望するビデオモードにもっとも近い、サポート対象のビデオモードが指定したモニターへ設定されます。いわゆるウィンドウフルスクリーンまたはボーダーレスフルスクリーンウィンドウの作成を含む、フルスクリーンウィンドウの詳細については、「ウィンドウフルスクリーン」ウィンドウを参照してください。
ウィンドウを作成した後は、glfwSetWindowMonitor を使って、ウィンドウモードとフルスクリーンモードを切り替えられます。この操作は、ウィンドウのOpenGLまたはOpenGL ESコンテキストに影響しません。
既定では、新しく作成されるウィンドウは、ウィンドウシステムが推奨する配置を使用します。特定の位置にウィンドウを作成するには、作成前に GLFW_POSITION_X と GLFW_POSITION_Y ウィンドウヒントを設定します。既定の動作へ戻すには、一方または両方のヒントを GLFW_ANY_POSITION へ戻します。
少なくとも1つのフルスクリーンウィンドウがアイコン化されていない間は、スクリーンセーバーの起動が禁止されます。
ウィンドウシステムはウィンドウサイズに制限を設けています。極端に大きい、または小さいウィンドウの寸法は、作成時にウィンドウシステムによって上書きされる場合があります。作成後に実際のサイズを確認してください。
スワップ間隔はウィンドウ作成時には設定されず、初期値はドライバーの設定や既定値によって異なる場合があります。
引数
| [in] | width | ウィンドウの希望する幅(スクリーン座標単位)。0より大きくなければなりません。 |
| [in] | height | ウィンドウの希望する高さ(スクリーン座標単位)。0より大きくなければなりません。 |
| [in] | title | UTF-8でエンコードされたウィンドウの初期タイトル。 |
| [in] | monitor | フルスクリーンモードで使用するモニター。ウィンドウモードの場合は NULL。 |
| [in] | share | リソースを共有するコンテキストを持つウィンドウ。リソースを共有しない場合は NULL。 |
戻り値
作成されたウィンドウのハンドル。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_ENUM、GLFW_INVALID_VALUE、GLFW_API_UNAVAILABLE、GLFW_VERSION_UNAVAILABLE、GLFW_FORMAT_UNAVAILABLE、GLFW_NO_WINDOW_CONTEXT、GLFW_PLATFORM_ERROR があります。
備考
Win32: Microsoft GDIソフトウェアOpenGL実装しか利用できない場合、ウィンドウの作成は失敗します。
Win32: 実行ファイルに GLFW_ICON, という名前のアイコンリソースがある場合、それがウィンドウの初期アイコンとして設定されます。そのようなアイコンがない場合は、代わりに IDI_APPLICATION アイコンが使用されます。別のアイコンを設定する方法については、glfwSetWindowIcon を参照してください。
Win32: リソース共有元のコンテキストは、ほかのどのスレッドでもカレントであってはなりません。
macOS: OSがサポートするOpenGL 3.2以降のコンテキストは、コアプロファイルコンテキストだけです。OpenGL 3.2以降のコンテキストを作成する前に、GLFW_OPENGL_PROFILE ヒントをそれに応じて設定しなければなりません。macOSはOpenGL 3.0および3.1のコンテキストをまったくサポートしていません。
macOS: GLFWウィンドウはドキュメントウィンドウではないためアイコンを持ちませんが、Dockアイコンはアプリケーションバンドルのアイコンと同じになります。バンドルの詳細については、Mac Developer LibraryのBundle Programming Guideを参照してください。
macOS: GLFW_SCALE_FRAMEBUFFER ヒントが GLFW_TRUE であり、アプリケーションバンドルの Info.plist で NSHighResolutionCapable キーが有効になっていない限り、Retinaディスプレイでウィンドウフレームはフル解像度で描画されません。詳細については、Mac Developer LibraryのHigh Resolution Guidelines for OS Xを参照してください。GLFWのテストおよびサンプルプログラムは、このためにカスタム Info.plist テンプレートを使用しています。これはソースツリーの CMake/Info.plist.in にあります。
macOS: GLFW_COCOA_FRAME_NAME でフレームの自動保存を有効にすると、指定したウィンドウサイズと位置が以前保存された値によって上書きされる場合があります。
Wayland: GLFWは、利用できる場合、ウィンドウ装飾の作成にlibdecorを使用します。libdecorは、利用できる場合はサーバー側のXDG装飾を使用し、GNOMEなどのコンポジターでは高品質なクライアント側装飾を提供します。XDG装飾とlibdecorの両方を利用できない場合、GLFWは、移動、サイズ変更、ウィンドウマネージャーの右クリックメニューだけをサポートする非常に簡素なウィンドウ装飾へフォールバックします。
X11: 一部のウィンドウマネージャーは、初期状態で非表示のウィンドウについて、指定された配置を尊重しません。
X11: X11は非同期で動作するため、ウィンドウが要求された状態へ到達するまで少し時間がかかる場合があります。このため、ウィンドウの作成直後には、最終的なサイズ、位置、その他の属性を照会できないことがあります。
X11: WM_CLASS ウィンドウプロパティのclass部分には、既定でこの関数へ渡されたウィンドウタイトルが設定されます。instance部分には、RESOURCE_NAME 環境変数が存在し、空でなければその内容が使われ、それ以外の場合はウィンドウタイトルへフォールバックします。この動作を上書きするには、GLFW_X11_CLASS_NAME と GLFW_X11_INSTANCE_NAME ウィンドウヒントを設定します。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの作成
導入バージョン
バージョン3.0で追加。glfwOpenWindow を置き換えます。
◆ glfwDestroyWindow()
| void glfwDestroyWindow | ( | GLFWwindow * | window | ) |
この関数は、指定したウィンドウとそのコンテキストを破棄します。この関数を呼び出すと、そのウィンドウについて以後コールバックは呼び出されません。
指定したウィンドウのコンテキストがメインスレッドでカレントになっている場合は、破棄される前に切り離されます。
引数
| [in] | window | 破棄するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
注記
この関数を呼び出すとき、指定したウィンドウのコンテキストは、ほかのどのスレッドでもカレントであってはなりません。
再入可能性
この関数はコールバックから呼び出してはなりません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの作成
導入バージョン
バージョン3.0で追加。glfwCloseWindow を置き換えます。
◆ glfwWindowShouldClose()
| int glfwWindowShouldClose | ( | GLFWwindow * | window | ) |
この関数は、指定したウィンドウのクローズフラグの値を返します。
引数
| [in] | window | 照会するウィンドウ。 |
戻り値
クローズフラグの値。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。アクセスは同期されません。
関連項目
ウィンドウを閉じる操作とクローズフラグ
導入バージョン
バージョン3.0で追加。
◆ glfwSetWindowShouldClose()
| void glfwSetWindowShouldClose | ( | GLFWwindow * | window, |
| int | value | ||
| ) |
この関数は、指定したウィンドウのクローズフラグの値を設定します。ユーザーがウィンドウを閉じようとした操作を取り消したり、ウィンドウを閉じるべきことを通知したりするために使用できます。
引数
| [in] | window | フラグを変更するウィンドウ。 |
| [in] | value | 新しい値。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。アクセスは同期されません。
関連項目
ウィンドウを閉じる操作とクローズフラグ
導入バージョン
バージョン3.0で追加。
◆ glfwGetWindowTitle()
| const char * glfwGetWindowTitle | ( | GLFWwindow * | window | ) |
この関数は、指定したウィンドウのUTF-8でエンコードされたタイトルを返します。これは、以前に glfwCreateWindow または glfwSetWindowTitle で設定されたタイトルです。
引数
| [in] | window | 照会するウィンドウ。 |
戻り値
UTF-8でエンコードされたウィンドウタイトル。エラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
備考
現在返されるタイトルは、glfwCreateWindow または glfwSetWindowTitle で最後に設定されたタイトルのコピーです。プラットフォームまたは別のプログラムによって追加される可能性のある文字列は含まれません。
ポインターの有効期間
返される文字列はGLFWによって割り当ておよび解放されます。自身で解放するべきではありません。次に glfwGetWindowTitle または glfwSetWindowTitle が呼び出されるか、ライブラリが終了するまで有効です。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウタイトル
導入バージョン
バージョン3.4で追加。
◆ glfwSetWindowTitle()
| void glfwSetWindowTitle | ( | GLFWwindow * | window, |
| const char * | title | ||
| ) |
この関数は、指定したウィンドウのタイトルをUTF-8でエンコードされた文字列で設定します。
引数
| [in] | window | タイトルを変更するウィンドウ。 |
| [in] | title | UTF-8でエンコードされたウィンドウタイトル。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
macOS: ウィンドウタイトルは、次にイベントを処理するまで更新されません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウタイトル
導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ glfwSetWindowIcon()
| void glfwSetWindowIcon | ( | GLFWwindow * | window, |
| int | count, | ||
| const GLFWimage * | images | ||
| ) |
この関数は、指定したウィンドウのアイコンを設定します。候補画像の配列を渡すと、システムが要求するサイズ、またはそれにもっとも近いサイズの画像が選択されます。画像を指定しない場合、ウィンドウは既定のアイコンへ戻ります。
ピクセルは32ビット、リトルエンディアン、乗算済みではないRGBA形式です。つまり、各チャンネルが8ビットで、赤チャンネルが先頭です。左上隅から始まる、連続した行を詰めた標準的な形式で配置します。
要求される画像サイズは、プラットフォームとシステム設定によって異なります。選択された画像は必要に応じて拡大縮小されます。適切なサイズには、16x16、32x32、48x48があります。
引数
| [in] | window | アイコンを設定するウィンドウ。 |
| [in] | count | 指定した配列内の画像数。既定のウィンドウアイコンへ戻す場合は0。 |
| [in] | images | アイコンの作成元となる画像。countが0の場合は無視されます。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_VALUE、GLFW_PLATFORM_ERROR、GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。
ポインターの有効期間
指定された画像データは、この関数が戻る前にコピーされます。
備考
macOS: macOSの通常のウィンドウはアイコンを持ちません。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。Dockアイコンはアプリケーションバンドルのアイコンと同じになります。バンドルの詳細については、Mac Developer LibraryのBundle Programming Guideを参照してください。
Wayland: アイコンを変更する既存のプロトコルがないため、ウィンドウはアプリケーションのdesktopファイルに定義されたアイコンを継承します。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウアイコン
導入バージョン
バージョン3.2で追加。
◆ glfwGetWindowPos()
| void glfwGetWindowPos | ( | GLFWwindow * | window, |
| int * | xpos, | ||
| int * | ypos | ||
| ) |
この関数は、指定したウィンドウのコンテンツ領域の左上隅について、スクリーン座標系の位置を取得します。
位置引数は、その一部またはすべてを NULL にできます。エラーが発生した場合、NULL ではないすべての位置引数が0に設定されます。
引数
| [in] | window | 照会するウィンドウ。 |
| [out] | xpos | コンテンツ領域の左上隅のx座標の格納先、または NULL。 |
| [out] | ypos | コンテンツ領域の左上隅のy座標の格納先、または NULL。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_ERROR、GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。
備考
Wayland: 現在、ウィンドウ位置は一般的なWaylandプロトコルのどれにも含まれていないため、この関数は実装できず、GLFW_FEATURE_UNAVAILABLE を発生させます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの位置
導入バージョン
バージョン3.0で追加。
◆ glfwSetWindowPos()
| void glfwSetWindowPos | ( | GLFWwindow * | window, |
| int | xpos, | ||
| int | ypos | ||
| ) |
この関数は、指定したウィンドウモードのウィンドウについて、コンテンツ領域の左上隅の位置をスクリーン座標系で設定します。ウィンドウがフルスクリーンウィンドウの場合、この関数は何も行いません。
そうするための十分な理由がない限り、すでに表示されているウィンドウを移動するために、この関数を使用してはなりません。ユーザーを混乱させ、不快にさせるためです。
ウィンドウマネージャーは、許可される位置に制限を設ける場合があります。GLFWはこれらの制限を上書きできず、上書きするべきでもありません。
引数
| [in] | window | 位置を設定するウィンドウ。 |
| [in] | xpos | コンテンツ領域の左上隅のx座標。 |
| [in] | ypos | コンテンツ領域の左上隅のy座標。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_ERROR、GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。
備考
Wayland: 現在、ウィンドウ位置は一般的なWaylandプロトコルのどれにも含まれていないため、この関数は実装できず、GLFW_FEATURE_UNAVAILABLE を発生させます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの位置
導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ glfwGetWindowSize()
| void glfwGetWindowSize | ( | GLFWwindow * | window, |
| int * | width, | ||
| int * | height | ||
| ) |
この関数は、指定したウィンドウのコンテンツ領域のサイズをスクリーン座標単位で取得します。ウィンドウのフレームバッファサイズをピクセル単位で取得する場合は、glfwGetFramebufferSize を参照してください。
サイズ引数は、その一部またはすべてを NULL にできます。エラーが発生した場合、NULL ではないすべてのサイズ引数が0に設定されます。
引数
| [in] | window | サイズを取得するウィンドウ。 |
| [out] | width | コンテンツ領域の幅(スクリーン座標単位)の格納先、または NULL。 |
| [out] | height | コンテンツ領域の高さ(スクリーン座標単位)の格納先、または NULL。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウサイズ
導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。
◆ glfwSetWindowSizeLimits()
| void glfwSetWindowSizeLimits | ( | GLFWwindow * | window, |
| int | minwidth, | ||
| int | minheight, | ||
| int | maxwidth, | ||
| int | maxheight | ||
| ) |
この関数は、指定したウィンドウのコンテンツ領域のサイズ制限を設定します。ウィンドウがフルスクリーンの場合、サイズ制限はウィンドウモードになってから有効になります。ウィンドウのサイズを変更できない場合、この関数は何も行いません。
サイズ制限はウィンドウモードのウィンドウへ直ちに適用され、ウィンドウのサイズが変更される場合があります。
最大寸法は最小寸法以上でなければならず、すべての寸法が0以上でなければなりません。
引数
| [in] | window | 制限を設定するウィンドウ。 |
| [in] | minwidth | コンテンツ領域の最小幅(スクリーン座標単位)、または GLFW_DONT_CARE。 |
| [in] | minheight | コンテンツ領域の最小高さ(スクリーン座標単位)、または GLFW_DONT_CARE。 |
| [in] | maxwidth | コンテンツ領域の最大幅(スクリーン座標単位)、または GLFW_DONT_CARE。 |
| [in] | maxheight | コンテンツ領域の最大高さ(スクリーン座標単位)、または GLFW_DONT_CARE。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_VALUE、GLFW_PLATFORM_ERROR があります。
備考
互いに矛盾するサイズ制限とアスペクト比を設定した場合、結果は未定義です。
Wayland: サイズ制限は、ユーザーまたはコンポジターによってウィンドウのサイズが実際に変更されるまで適用されません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのサイズ制限
導入バージョン
バージョン3.2で追加。
◆ glfwSetWindowAspectRatio()
| void glfwSetWindowAspectRatio | ( | GLFWwindow * | window, |
| int | numer, | ||
| int | denom | ||
| ) |
この関数は、指定したウィンドウのコンテンツ領域に要求するアスペクト比を設定します。ウィンドウがフルスクリーンの場合、アスペクト比はウィンドウモードになってから有効になります。ウィンドウのサイズを変更できない場合、この関数は何も行いません。
アスペクト比は分子と分母で指定し、どちらの値も0より大きくなければなりません。たとえば、一般的な16:9のアスペクト比は、それぞれ16と9で指定します。
分子と分母を GLFW_DONT_CARE に設定すると、アスペクト比の制限は無効になります。
アスペクト比はウィンドウモードのウィンドウへ直ちに適用され、ウィンドウのサイズが変更される場合があります。
引数
| [in] | window | 制限を設定するウィンドウ。 |
| [in] | numer | 希望するアスペクト比の分子、または GLFW_DONT_CARE。 |
| [in] | denom | 希望するアスペクト比の分母、または GLFW_DONT_CARE。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_VALUE、GLFW_PLATFORM_ERROR があります。
備考
互いに矛盾するサイズ制限とアスペクト比を設定した場合、結果は未定義です。
Wayland: アスペクト比は、ユーザーまたはコンポジターによってウィンドウのサイズが実際に変更されるまで適用されません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのサイズ制限
導入バージョン
バージョン3.2で追加。
◆ glfwSetWindowSize()
| void glfwSetWindowSize | ( | GLFWwindow * | window, |
| int | width, | ||
| int | height | ||
| ) |
この関数は、指定されたウィンドウのコンテンツ領域の大きさをスクリーン座標で設定します。
フルスクリーンウィンドウの場合、この関数はウィンドウが要求するビデオモードの解像度を更新し、ウィンドウのコンテキストに影響を与えることなく、最も近いビデオモードへ切り替えます。コンテキストは影響を受けないため、フレームバッファのビット深度は変わりません。
要求するビデオモードの解像度に加えてリフレッシュレートも更新する場合は、glfwSetWindowMonitor を参照してください。
ウィンドウマネージャーによって、許可される大きさが制限されることがあります。GLFW はこれらの制限を上書きできず、また上書きすべきでもありません。
引数
| [in] | window | 大きさを変更するウィンドウ。 |
| [in] | width | ウィンドウのコンテンツ領域に要求する幅(スクリーン座標)。 |
| [in] | height | ウィンドウのコンテンツ領域に要求する高さ(スクリーン座標)。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの大きさ
導入バージョン
バージョン 1.0 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。
◆ glfwGetFramebufferSize()
| void glfwGetFramebufferSize | ( | GLFWwindow * | window, |
| int * | width, | ||
| int * | height | ||
| ) |
この関数は、指定されたウィンドウのフレームバッファの大きさをピクセル単位で取得します。ウィンドウの大きさをスクリーン座標で取得する場合は、glfwGetWindowSize を参照してください。
大きさを受け取る引数は、一部またはすべてを NULL にできます。エラーが発生した場合、NULL でない大きさの引数はすべてゼロに設定されます。
引数
| [in] | window | フレームバッファを照会するウィンドウ。 |
| [out] | width | フレームバッファの幅をピクセル単位で格納する場所、または NULL。 |
| [out] | height | フレームバッファの高さをピクセル単位で格納する場所、または NULL。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
フレームバッファの大きさ
glfwSetFramebufferSizeCallback
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetWindowFrameSize()
| void glfwGetWindowFrameSize | ( | GLFWwindow * | window, |
| int * | left, | ||
| int * | top, | ||
| int * | right, | ||
| int * | bottom | ||
| ) |
この関数は、指定されたウィンドウのフレームの各辺の大きさをスクリーン座標で取得します。ウィンドウにタイトルバーがある場合、この大きさにはタイトルバーも含まれます。フレームの大きさは、ウィンドウの作成に使用したウィンドウ関連のヒントによって異なることがあります。
この関数が取得するのはウィンドウフレームの各辺の大きさであり、特定の座標軸に沿ったオフセットではないため、取得される値は常にゼロ以上です。
大きさを受け取る引数は、一部またはすべてを NULL にできます。エラーが発生した場合、NULL でない大きさの引数はすべてゼロに設定されます。
引数
| [in] | window | フレームの大きさを照会するウィンドウ。 |
| [out] | left | ウィンドウフレームの左辺の大きさをスクリーン座標で格納する場所、または NULL。 |
| [out] | top | ウィンドウフレームの上辺の大きさをスクリーン座標で格納する場所、または NULL。 |
| [out] | right | ウィンドウフレームの右辺の大きさをスクリーン座標で格納する場所、または NULL。 |
| [out] | bottom | ウィンドウフレームの下辺の大きさをスクリーン座標で格納する場所、または NULL。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの大きさ
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwGetWindowContentScale()
| void glfwGetWindowContentScale | ( | GLFWwindow * | window, |
| float * | xscale, | ||
| float * | yscale | ||
| ) |
この関数は、指定されたウィンドウのコンテンツスケールを取得します。コンテンツスケールは、現在の DPI とプラットフォームの既定の DPI との比率です。これは、テキストやあらゆる UI 要素で特に重要です。この値で拡大縮小した UI のピクセル寸法が使用中のマシンで適切に見えるなら、他のマシンでも、その DPI やスケーリング設定にかかわらず妥当な大きさで表示されるはずです。これは、システムの DPI とスケーリング設定がある程度正しいことを前提とします。
モニターごとに固有のコンテンツスケールを設定できるプラットフォームでは、ウィンドウのコンテンツスケールは、そのウィンドウがどのモニター上にあるとシステムが判断するかによって決まります。
引数
| [in] | window | 照会するウィンドウ。 |
| [out] | xscale | X 軸方向のコンテンツスケールを格納する場所、または NULL。 |
| [out] | yscale | Y 軸方向のコンテンツスケールを格納する場所、または NULL。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのコンテンツスケール
glfwSetWindowContentScaleCallback
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetWindowOpacity()
| float glfwGetWindowOpacity | ( | GLFWwindow * | window | ) |
この関数は、装飾を含むウィンドウの不透明度を返します。
不透明度(アルファ)値はゼロから 1 までの正の有限数で、ゼロは完全な透明、1 は完全な不透明を表します。システムがウィンドウ全体の透過をサポートしていない場合、この関数は常に 1 を返します。
新しく作成されたウィンドウの初期不透明度は 1 です。
引数
| [in] | window | 照会するウィンドウ。 |
戻り値
指定されたウィンドウの不透明度。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの透過
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwSetWindowOpacity()
| void glfwSetWindowOpacity | ( | GLFWwindow * | window, |
| float | opacity | ||
| ) |
この関数は、装飾を含むウィンドウの不透明度を設定します。
不透明度(アルファ)値はゼロから 1 までの正の有限数で、ゼロは完全な透明、1 は完全な不透明を表します。
新しく作成されたウィンドウの初期不透明度は 1 です。
フレームバッファ透過を有効にして作成したウィンドウでは、ウィンドウ全体の透過を使用できないことがあります。これを行った場合の結果は未定義です。
引数
| [in] | window | 不透明度を設定するウィンドウ。 |
| [in] | opacity | 指定されたウィンドウに要求する不透明度。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_PLATFORM_ERROR、および GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。
備考
Wayland: ウィンドウの不透明度係数を設定する方法はありません。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの透過
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwIconifyWindow()
| void glfwIconifyWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウが復元状態であれば、アイコン化(最小化)します。ウィンドウがすでにアイコン化されている場合、この関数は何もしません。
指定されたウィンドウがフルスクリーンウィンドウの場合、GLFW はモニターの元のビデオモードを復元します。ウィンドウを復元すると、ウィンドウが要求するビデオモードが再び設定されます。
引数
| [in] | window | アイコン化するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのアイコン化
導入バージョン
バージョン 2.1 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。
◆ glfwRestoreWindow()
| void glfwRestoreWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウがアイコン化(最小化)または最大化されていれば復元します。ウィンドウがすでに復元されている場合、この関数は何もしません。
指定されたウィンドウがアイコン化されたフルスクリーンウィンドウの場合、ウィンドウを復元すると、そのモニターに要求するビデオモードが再び設定されます。
引数
| [in] | window | 復元するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
Wayland: 最大化されたウィンドウの復元は、現在、共通の Wayland プロトコルには含まれていないため、この関数が復元できるのは最大化されたウィンドウに限られます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのアイコン化
導入バージョン
バージョン 2.1 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。
◆ glfwMaximizeWindow()
| void glfwMaximizeWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウが最大化されていなければ最大化します。ウィンドウがすでに最大化されている場合、この関数は何もしません。
指定されたウィンドウがフルスクリーンウィンドウの場合、この関数は何もしません。
引数
| [in] | window | 最大化するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出せます。
関連項目
ウィンドウのアイコン化
導入バージョン
GLFW 3.2 で追加されました。
◆ glfwShowWindow()
| void glfwShowWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウが非表示であれば表示します。ウィンドウがすでに表示されている場合、またはフルスクリーンモードの場合、この関数は何もしません。
既定では、ウィンドウモードのウィンドウは表示時にフォーカスされます。新しく作成するすべてのウィンドウについてこの動作を変更するには、ウィンドウヒント GLFW_FOCUS_ON_SHOW を設定します。既存のウィンドウについては、glfwSetWindowAttrib で動作を変更できます。
引数
| [in] | window | 表示するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
Wayland: Wayland はデスクトップの各フレームが完全であることを求めるため、この関数はウィンドウを即座には表示しません。代わりに、この呼び出し後にウィンドウのフレームバッファが次に更新されたときに表示されます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの表示状態
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwHideWindow()
| void glfwHideWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウが表示されていれば非表示にします。ウィンドウがすでに非表示の場合、またはフルスクリーンモードの場合、この関数は何もしません。
引数
| [in] | window | 非表示にするウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの表示状態
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwFocusWindow()
| void glfwFocusWindow | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウを前面へ移動し、入力フォーカスを設定します。ウィンドウはすでに表示され、アイコン化されていない必要があります。
既定では、ウィンドウモードとフルスクリーンモードのどちらのウィンドウも、最初の作成時にフォーカスされます。この動作を無効にするには、GLFW_FOCUSED を設定します。
また既定では、ウィンドウモードのウィンドウは glfwShowWindow で表示したときにフォーカスされます。この動作を無効にするには、GLFW_FOCUS_ON_SHOW を設定します。
ユーザーがそれを望んでいると確信できる場合を除き、他のアプリケーションからフォーカスを奪うためにこの関数を使用しないでください。フォーカスの奪取は、ユーザーの作業を著しく妨げることがあります。
ユーザーの注意をより穏当な方法で引くには、注意要求を参照してください。
引数
| [in] | window | 入力フォーカスを与えるウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
Wayland: 同じアプリケーションが作成した別のウィンドウがすでに入力フォーカスを持っている場合を除き、コンポジターはフォーカス要求を無視する可能性があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの入力フォーカス
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwRequestWindowAttention()
| void glfwRequestWindowAttention | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウへユーザーの注意を引くよう要求します。これがサポートされていないプラットフォームでは、アプリケーション全体に対して注意を要求します。
通常はウィンドウまたはアプリケーションをフォーカスすることでユーザーが注意を向けると、システムは要求を自動的に終了します。
引数
| [in] | window | 注意を要求するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
macOS: 特定のウィンドウではなく、アプリケーション全体に対して注意を要求します。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの注意要求
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwGetWindowMonitor()
| GLFWmonitor * glfwGetWindowMonitor | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウがフルスクリーン表示されているモニターのハンドルを返します。
引数
| [in] | window | 照会するウィンドウ。 |
戻り値
モニター。ウィンドウがウィンドウモードの場合、またはエラーが発生した場合は NULL。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのモニター
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowMonitor()
| void glfwSetWindowMonitor | ( | GLFWwindow * | window, |
| GLFWmonitor * | monitor, | ||
| int | xpos, | ||
| int | ypos, | ||
| int | width, | ||
| int | height, | ||
| int | refreshRate | ||
| ) |
この関数は、ウィンドウがフルスクリーンモードで使用するモニターを設定します。モニターが NULL の場合は、ウィンドウモードにします。
モニターを設定すると、この関数は要求するビデオモードの幅、高さ、リフレッシュレートを更新し、それに最も近いビデオモードへ切り替えます。モニターを設定する場合、ウィンドウ位置は無視されます。
モニターが NULL の場合、位置、幅、高さを使用してウィンドウのコンテンツ領域を配置します。モニターが指定されていない場合、リフレッシュレートは無視されます。
フルスクリーンウィンドウの解像度、またはウィンドウモードのウィンドウの大きさだけを更新する場合は、glfwSetWindowSize を参照してください。
ウィンドウがフルスクリーンからウィンドウモードへ移行するとき、この関数は、装飾、フローティング、サイズ変更の可否、大きさやアスペクト比の制限など、以前のウィンドウ設定を復元します。
引数
| [in] | window | モニター、大きさ、またはビデオモードを設定するウィンドウ。 |
| [in] | monitor | 要求するモニター。ウィンドウモードにする場合は NULL。 |
| [in] | xpos | コンテンツ領域の左上隅に要求する X 座標。 |
| [in] | ypos | コンテンツ領域の左上隅に要求する Y 座標。 |
| [in] | width | コンテンツ領域またはビデオモードに要求する幅(スクリーン座標)。 |
| [in] | height | コンテンツ領域またはビデオモードに要求する高さ(スクリーン座標)。 |
| [in] | refreshRate | ビデオモードに要求するリフレッシュレート(Hz)、または GLFW_DONT_CARE。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
備考
大きさの変更やモードの切り替えによって OpenGL または OpenGL ES コンテキストが破棄されたり、その他の影響を受けたりすることはありません。ただし、フレームバッファの大きさが変わった場合は、ビューポートを更新する必要があります。
Wayland: ウィンドウ位置は、現在、共通の Wayland プロトコルには含まれていません。ウィンドウ位置の引数は無視されます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのモニター
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwGetWindowAttrib()
| int glfwGetWindowAttrib | ( | GLFWwindow * | window, |
| int | attrib | ||
| ) |
この関数は、指定されたウィンドウ、またはその OpenGL もしくは OpenGL ES コンテキストの属性値を返します。
引数
| [in] | window | 照会するウィンドウ。 |
| [in] | attrib | 値を返すウィンドウ属性。 |
戻り値
属性の値。エラーが発生した場合はゼロ。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_ENUM、および GLFW_PLATFORM_ERROR があります。
備考
フレームバッファ関連のヒントはウィンドウ属性ではありません。詳しくは、フレームバッファ関連の属性を参照してください。
多くのウィンドウおよびコンテキスト関連属性ではゼロが有効な値であるため、戻り値のゼロをエラーの目印として使用することはできません。ただし、有効な引数を渡し、ライブラリが初期化されている限り、この関数は失敗しないはずです。
Wayland: ウィンドウがアイコン化されているかの確認は、現在、共通の Wayland プロトコルには含まれていません。そのため、GLFW_ICONIFIED 属性は実装できず、常に GLFW_FALSE です。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ属性
導入バージョン
バージョン 3.0 で追加されました。glfwGetWindowParam と glfwGetGLVersion を置き換えます。
◆ glfwSetWindowAttrib()
| void glfwSetWindowAttrib | ( | GLFWwindow * | window, |
| int | attrib, | ||
| int | value | ||
| ) |
この関数は、指定されたウィンドウの属性値を設定します。
サポートされる属性は、GLFW_DECORATED、GLFW_RESIZABLE、GLFW_FLOATING、GLFW_AUTO_ICONIFY、GLFW_FOCUS_ON_SHOW、および GLFW_MOUSE_PASSTHROUGH です。
これらの属性の一部は、フルスクリーンウィンドウでは無視されます。後でウィンドウモードにすると、新しい値が有効になります。
これらの属性の一部は、ウィンドウモードのウィンドウでは無視されます。後でフルスクリーンにすると、新しい値が有効になります。
引数
| [in] | window | 属性を設定するウィンドウ。 |
| [in] | attrib | サポートされるウィンドウ属性。 |
| [in] | value | GLFW_TRUE または GLFW_FALSE。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_ENUM、GLFW_INVALID_VALUE、GLFW_PLATFORM_ERROR、および GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。
備考
glfwGetWindowAttrib を呼び出すと、その値が現在のウィンドウモードで無視されている場合でも、常に最新の値が返されます。
Wayland: ウィンドウ属性 GLFW_FLOATING はサポートされていません。これを設定すると、GLFW_FEATURE_UNAVAILABLE が発生します。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ属性
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwSetWindowUserPointer()
| void glfwSetWindowUserPointer | ( | GLFWwindow * | window, |
| void * | pointer | ||
| ) |
この関数は、指定されたウィンドウのユーザー定義ポインターを設定します。現在の値は、ウィンドウが破棄されるまで保持されます。初期値は NULL です。
引数
| [in] | window | ポインターを設定するウィンドウ。 |
| [in] | pointer | 新しい値。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。アクセスは同期されません。
関連項目
ユーザーポインター
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwGetWindowUserPointer()
| void * glfwGetWindowUserPointer | ( | GLFWwindow * | window | ) |
この関数は、指定されたウィンドウのユーザー定義ポインターの現在値を返します。初期値は NULL です。
引数
| [in] | window | ポインターを返すウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。アクセスは同期されません。
関連項目
ユーザーポインター
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowPosCallback()
| GLFWwindowposfun glfwSetWindowPosCallback | ( | GLFWwindow * | window, |
| GLFWwindowposfun | callback | ||
| ) |
この関数は、指定されたウィンドウの位置コールバックを設定します。このコールバックは、ウィンドウが移動したときに呼び出されます。コールバックには、ウィンドウのコンテンツ領域の左上隅の位置がスクリーン座標で渡されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int xpos, int ypos)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
備考
Wayland: このコールバックは呼び出されません。Wayland プロトコルには、ウィンドウの移動を通知する方法がありません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウ位置
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowSizeCallback()
| GLFWwindowsizefun glfwSetWindowSizeCallback | ( | GLFWwindow * | window, |
| GLFWwindowsizefun | callback | ||
| ) |
この関数は、指定されたウィンドウの大きさコールバックを設定します。このコールバックは、ウィンドウの大きさが変更されたときに呼び出されます。コールバックには、ウィンドウのコンテンツ領域の大きさがスクリーン座標で渡されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int width, int height)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの大きさ
導入バージョン
バージョン 1.0 で追加されました。GLFW 3: ウィンドウハンドルの引数と戻り値が追加されました。
◆ glfwSetWindowCloseCallback()
| GLFWwindowclosefun glfwSetWindowCloseCallback | ( | GLFWwindow * | window, |
| GLFWwindowclosefun | callback | ||
| ) |
この関数は、指定されたウィンドウの終了コールバックを設定します。このコールバックは、たとえばタイトルバーの閉じるウィジェットをクリックするなど、ユーザーがウィンドウを閉じようとしたときに呼び出されます。
終了フラグは、このコールバックが呼び出される前に設定されますが、glfwSetWindowShouldClose を使用すればいつでも変更できます。
glfwDestroyWindow では、終了コールバックは呼び出されません。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
備考
macOS: アプリケーションメニューから「終了」を選択すると、すべてのウィンドウの終了コールバックが呼び出されます。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの終了と終了フラグ
導入バージョン
バージョン 2.5 で追加されました。GLFW 3: ウィンドウハンドルの引数と戻り値が追加されました。
◆ glfwSetWindowRefreshCallback()
| GLFWwindowrefreshfun glfwSetWindowRefreshCallback | ( | GLFWwindow * | window, |
| GLFWwindowrefreshfun | callback | ||
| ) |
この関数は、指定されたウィンドウの再描画コールバックを設定します。このコールバックは、たとえば別のウィンドウに覆われていたウィンドウが露出した場合など、ウィンドウのコンテンツ領域を再描画する必要があるときに呼び出されます。
Aero、Compiz、Aqua、Wayland など、ウィンドウの内容が画面外に保存されるコンポジット型ウィンドウシステムでは、このコールバックはごくまれにしか呼び出されないか、まったく呼び出されないことがあります。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window);
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの損傷と再描画
導入バージョン
バージョン 2.5 で追加されました。GLFW 3: ウィンドウハンドルの引数と戻り値が追加されました。
◆ glfwSetWindowFocusCallback()
| GLFWwindowfocusfun glfwSetWindowFocusCallback | ( | GLFWwindow * | window, |
| GLFWwindowfocusfun | callback | ||
| ) |
この関数は、指定されたウィンドウのフォーカスコールバックを設定します。このコールバックは、ウィンドウが入力フォーカスを得たとき、または失ったときに呼び出されます。
入力フォーカスを失ったウィンドウについてフォーカスコールバックが呼び出された後、押されていたすべてのキーとマウスボタンに対して、合成された解放イベントが生成されます。詳しくは、glfwSetKeyCallback と glfwSetMouseButtonCallback を参照してください。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int focused)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの入力フォーカス
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowIconifyCallback()
| GLFWwindowiconifyfun glfwSetWindowIconifyCallback | ( | GLFWwindow * | window, |
| GLFWwindowiconifyfun | callback | ||
| ) |
この関数は、指定されたウィンドウのアイコン化コールバックを設定します。このコールバックは、ウィンドウがアイコン化または復元されたときに呼び出されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int iconified)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
備考
Wayland: このコールバックは呼び出されません。Wayland プロトコルには、ウィンドウのアイコン化を通知する方法も、ウィンドウが現在アイコン化されているかを確認する方法もありません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのアイコン化
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowMaximizeCallback()
| GLFWwindowmaximizefun glfwSetWindowMaximizeCallback | ( | GLFWwindow * | window, |
| GLFWwindowmaximizefun | callback | ||
| ) |
この関数は、指定されたウィンドウの最大化コールバックを設定します。このコールバックは、ウィンドウが最大化または復元されたときに呼び出されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int maximized)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウの最大化
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwSetFramebufferSizeCallback()
| GLFWframebuffersizefun glfwSetFramebufferSizeCallback | ( | GLFWwindow * | window, |
| GLFWframebuffersizefun | callback | ||
| ) |
この関数は、指定されたウィンドウのフレームバッファサイズ変更コールバックを設定します。このコールバックは、指定されたウィンドウのフレームバッファの大きさが変更されたときに呼び出されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, int width, int height)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
フレームバッファの大きさ
導入バージョン
バージョン 3.0 で追加されました。
◆ glfwSetWindowContentScaleCallback()
| GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback | ( | GLFWwindow * | window, |
| GLFWwindowcontentscalefun | callback | ||
| ) |
この関数は、指定されたウィンドウのコンテンツスケールコールバックを設定します。このコールバックは、指定されたウィンドウのコンテンツスケールが変化したときに呼び出されます。
引数
| [in] | window | コールバックを設定するウィンドウ。 |
| [in] | callback | 新しいコールバック。現在設定されているコールバックを削除する場合は NULL。 |
戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL。
コールバックのシグネチャ
void function_name(GLFWwindow* window, float xscale, float yscale)
コールバックの引数について詳しくは、関数ポインター型を参照してください。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED があります。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
ウィンドウのコンテンツスケール
導入バージョン
バージョン 3.3 で追加されました。
◆ glfwPollEvents()
| void glfwPollEvents | ( | void | ) |
この関数は、イベントキューにすでに入っているイベントだけを処理し、直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。
一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。
設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。
ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
再入可能性
この関数は、コールバックから呼び出してはなりません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
イベント処理
導入バージョン
バージョン 1.0 で追加されました。
◆ glfwWaitEvents()
| void glfwWaitEvents | ( | void | ) |
この関数は、イベントキューで少なくとも1つのイベントが利用可能になるまで、呼び出し元スレッドをスリープさせます。1つ以上のイベントが利用可能になると、glfwPollEvents とまったく同じように動作します。つまり、キュー内のイベントを処理した後、関数は直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。
すべてのイベントがコールバックに関連付けられているわけではないため、すべてのコールバックを監視していても、コールバックが呼び出されないままこの関数が戻ることがあります。
一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。
設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。
ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
再入可能性
この関数は、コールバックから呼び出してはなりません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
イベント処理
導入バージョン
バージョン 2.5 で追加されました。
◆ glfwWaitEventsTimeout()
| void glfwWaitEventsTimeout | ( | double | timeout | ) |
この関数は、イベントキューで少なくとも1つのイベントが利用可能になるか、指定されたタイムアウトに達するまで、呼び出し元スレッドをスリープさせます。1つ以上のイベントが利用可能になると、glfwPollEvents とまったく同じように動作します。つまり、キュー内のイベントを処理した後、関数は直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。
タイムアウト値は、正の有限数でなければなりません。
すべてのイベントがコールバックに関連付けられているわけではないため、すべてのコールバックを監視していても、コールバックが呼び出されないままこの関数が戻ることがあります。
一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。
設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。
ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。
引数
| [in] | timeout | 待機する最大時間(秒)。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_INVALID_VALUE、および GLFW_PLATFORM_ERROR があります。
再入可能性
この関数は、コールバックから呼び出してはなりません。
スレッドセーフ性
この関数は、メインスレッドからのみ呼び出さなければなりません。
関連項目
イベント処理
導入バージョン
バージョン 3.2 で追加されました。
◆ glfwPostEmptyEvent()
| void glfwPostEmptyEvent | ( | void | ) |
この関数は、現在のスレッドからイベントキューへ空のイベントを送信し、glfwWaitEvents または glfwWaitEventsTimeout を戻らせます。
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED と GLFW_PLATFORM_ERROR があります。
スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。
関連項目
イベント処理
導入バージョン
バージョン 3.1 で追加されました。
◆ glfwSwapBuffers()
| void glfwSwapBuffers | ( | GLFWwindow * | window | ) |
この関数は、OpenGL または OpenGL ES でレンダリングするとき、指定されたウィンドウのフロントバッファとバックバッファを交換します。スワップ間隔がゼロより大きい場合、GPU ドライバーは指定された回数の画面更新を待ってからバッファを交換します。
指定されたウィンドウは、OpenGL または OpenGL ES コンテキストを持っていなければなりません。コンテキストのないウィンドウを指定すると、GLFW_NO_WINDOW_CONTEXT エラーが発生します。
この関数は Vulkan には適用されません。Vulkan でレンダリングする場合は、代わりに vkQueuePresentKHR を参照してください。
引数
| [in] | window | バッファを交換するウィンドウ。 |
エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZED、GLFW_NO_WINDOW_CONTEXT、および GLFW_PLATFORM_ERROR があります。
備考
Wayland: スワップ間隔がゼロより大きく、ウィンドウが表示範囲内にない場合、この関数が戻るまでに数ミリ秒余分にかかることがあります。
EGL: 指定されたウィンドウのコンテキストは、呼び出し元スレッドでカレントになっていなければなりません。
スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。
関連項目
バッファの交換
導入バージョン
バージョン 1.0 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。