このページの内容

このリファレンスページは、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

#define GLFW_FOCUSED   0x00020001

入力フォーカスに関するウィンドウヒントまたはウィンドウ属性です。

◆ GLFW_ICONIFIED

#define GLFW_ICONIFIED   0x00020002

ウィンドウのアイコン化に関するウィンドウ属性です。

◆ GLFW_RESIZABLE

#define GLFW_RESIZABLE   0x00020003

ウィンドウのサイズ変更可否に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_VISIBLE

#define GLFW_VISIBLE   0x00020004

ウィンドウの表示状態に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_DECORATED

#define GLFW_DECORATED   0x00020005

ウィンドウ装飾に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_AUTO_ICONIFY

#define GLFW_AUTO_ICONIFY   0x00020006

ウィンドウの自動アイコン化に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_FLOATING

#define GLFW_FLOATING   0x00020007

ウィンドウのフローティング状態に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_MAXIMIZED

#define GLFW_MAXIMIZED   0x00020008

ウィンドウの最大化に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_CENTER_CURSOR

#define GLFW_CENTER_CURSOR   0x00020009

カーソルの中央配置に関するウィンドウヒントです。

◆ GLFW_TRANSPARENT_FRAMEBUFFER

#define GLFW_TRANSPARENT_FRAMEBUFFER   0x0002000A

ウィンドウフレームバッファの透過性に関するウィンドウヒントおよびウィンドウ属性です。

◆ GLFW_HOVERED

#define GLFW_HOVERED   0x0002000B

マウスカーソルのホバーに関するウィンドウ属性です。

◆ GLFW_FOCUS_ON_SHOW

#define GLFW_FOCUS_ON_SHOW   0x0002000C

入力フォーカスに関するウィンドウヒントまたはウィンドウ属性です。

◆ GLFW_MOUSE_PASSTHROUGH

#define GLFW_MOUSE_PASSTHROUGH   0x0002000D

マウス入力の透過に関するウィンドウヒントまたはウィンドウ属性です。

◆ 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

#define GLFW_DOUBLEBUFFER   0x00021010

フレームバッファのダブルバッファリングに関するヒントおよび属性です。

◆ GLFW_CLIENT_API

#define GLFW_CLIENT_API   0x00022001

コンテキストのクライアントAPIに関するヒントおよび属性です。

◆ GLFW_CONTEXT_VERSION_MAJOR

#define GLFW_CONTEXT_VERSION_MAJOR   0x00022002

コンテキストのクライアントAPIのメジャーバージョンに関するヒントおよび属性です。

◆ GLFW_CONTEXT_VERSION_MINOR

#define GLFW_CONTEXT_VERSION_MINOR   0x00022003

コンテキストのクライアントAPIのマイナーバージョンに関するヒントおよび属性です。

◆ GLFW_CONTEXT_REVISION

#define GLFW_CONTEXT_REVISION   0x00022004

コンテキストのクライアントAPIのリビジョン番号に関する属性です。

◆ GLFW_CONTEXT_ROBUSTNESS

#define GLFW_CONTEXT_ROBUSTNESS   0x00022005

コンテキストの堅牢性に関するヒントおよび属性です。

◆ GLFW_OPENGL_FORWARD_COMPAT

#define GLFW_OPENGL_FORWARD_COMPAT   0x00022006

OpenGLの前方互換性に関するヒントおよび属性です。

◆ GLFW_CONTEXT_DEBUG

#define GLFW_CONTEXT_DEBUG   0x00022007

デバッグモードのコンテキストに関するヒントおよび属性です。

◆ GLFW_OPENGL_DEBUG_CONTEXT

#define GLFW_OPENGL_DEBUG_CONTEXT   GLFW_CONTEXT_DEBUG

これは、以前のバージョンとの互換性のための別名です。

◆ GLFW_OPENGL_PROFILE

#define GLFW_OPENGL_PROFILE   0x00022008

OpenGLプロファイルに関するヒントおよび属性です。

◆ GLFW_CONTEXT_RELEASE_BEHAVIOR

#define GLFW_CONTEXT_RELEASE_BEHAVIOR   0x00022009

コンテキスト解放時のフラッシュに関するヒントおよび属性です。

◆ GLFW_CONTEXT_NO_ERROR

#define GLFW_CONTEXT_NO_ERROR   0x0002200A

コンテキストのエラー抑制に関するヒントおよび属性です。

◆ GLFW_CONTEXT_CREATION_API

#define GLFW_CONTEXT_CREATION_API   0x0002200B

コンテキスト作成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

不透明なウィンドウオブジェクトです。

関連項目
ウィンドウオブジェクト

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

◆ GLFWwindowposfun

typedef void(* GLFWwindowposfun) (GLFWwindow *window, int xpos, int ypos)

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

void callback_name(GLFWwindow* window, int xpos, int ypos)

struct GLFWwindow GLFWwindow

不透明なウィンドウオブジェクトです。

定義 glfw3.h:1408

引数

[in]window移動したウィンドウ。
[in]xposウィンドウのコンテンツ領域の左上隅について、新しいスクリーン座標系のx座標。
[in]yposウィンドウのコンテンツ領域の左上隅について、新しいスクリーン座標系のy座標。

関連項目
ウィンドウの位置

glfwSetWindowPosCallback

導入バージョン
バージョン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ウィンドウの新しい高さ(スクリーン座標単位)。

関連項目
ウィンドウサイズ

glfwSetWindowSizeCallback

導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。

◆ GLFWwindowclosefun

typedef void(* GLFWwindowclosefun) (GLFWwindow *window)

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

void function_name(GLFWwindow* window)

引数

[in]windowユーザーが閉じようとしたウィンドウ。

関連項目
ウィンドウを閉じる操作とクローズフラグ

glfwSetWindowCloseCallback

導入バージョン
バージョン2.5で追加。GLFW 3: ウィンドウハンドル引数を追加。

◆ GLFWwindowrefreshfun

typedef void(* GLFWwindowrefreshfun) (GLFWwindow *window)

これは、ウィンドウ内容の再描画コールバックの関数ポインター型です。ウィンドウ内容の再描画コールバック関数は、次のシグネチャを持ちます。

void function_name(GLFWwindow* window);

引数

[in]window内容を再描画する必要があるウィンドウ。

関連項目
ウィンドウの損傷と再描画

glfwSetWindowRefreshCallback

導入バージョン
バージョン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

関連項目
ウィンドウの入力フォーカス

glfwSetWindowFocusCallback

導入バージョン
バージョン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

関連項目
ウィンドウのアイコン化

glfwSetWindowIconifyCallback

導入バージョン
バージョン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

関連項目
ウィンドウの最大化

glfwSetWindowMaximizeCallback

導入バージョン
バージョン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

typedef struct GLFWimage GLFWimage

これは1枚の2D画像を表します。要求されるピクセルフォーマットについては、関連する各関数のドキュメントを参照してください。

関連項目
カスタムカーソルの作成

ウィンドウアイコン

導入バージョン
バージョン2.1で追加。GLFW 3: フォーマットおよびピクセル当たりのバイト数を表すメンバーを削除。

関数の解説

◆ glfwDefaultWindowHints()

void glfwDefaultWindowHints(void )

この関数は、すべてのウィンドウヒントを既定値へ戻します。

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

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

関連項目
ウィンドウ作成ヒント

glfwWindowHint

glfwWindowHintString

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

◆ glfwWindowHint()

void glfwWindowHint(int hint,
int value 
)

この関数は、次に glfwCreateWindow を呼び出す際のヒントを設定します。一度設定されたヒントは、この関数または glfwDefaultWindowHints の呼び出しによって変更されるか、ライブラリが終了するまで値を保持します。

この関数で設定できるのは整数値のヒントだけです。文字列値のヒントは glfwWindowHintString で設定します。

この関数は、指定したヒント値が有効かどうかを確認しません。ヒントに無効な値を設定した場合、次に glfwCreateWindow を呼び出したときに報告されます。

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

引数

[in]hint設定するウィンドウヒント
[in]valueウィンドウヒントの新しい値。

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

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

関連項目
ウィンドウ作成ヒント

glfwWindowHintString

glfwDefaultWindowHints

導入バージョン
バージョン3.0で追加。glfwOpenWindowHint を置き換えます。

◆ glfwWindowHintString()

void glfwWindowHintString(int hint,
const char * value 
)

この関数は、次に glfwCreateWindow を呼び出す際のヒントを設定します。一度設定されたヒントは、この関数または glfwDefaultWindowHints の呼び出しによって変更されるか、ライブラリが終了するまで値を保持します。

この関数で設定できるのは文字列型のヒントだけです。整数値のヒントは glfwWindowHint で設定します。

この関数は、指定したヒント値が有効かどうかを確認しません。ヒントに無効な値を設定した場合、次に glfwCreateWindow を呼び出したときに報告されます。

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

引数

[in]hint設定するウィンドウヒント
[in]valueウィンドウヒントの新しい値。

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

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

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

関連項目
ウィンドウ作成ヒント

glfwWindowHint

glfwDefaultWindowHints

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

◆ glfwCreateWindow()

GLFWwindow * glfwCreateWindow(int width,
int height,
const char * title,
GLFWmonitormonitor,
GLFWwindowshare 
)

この関数は、ウィンドウと、それに関連付けられたOpenGLまたはOpenGL ESコンテキストを作成します。ウィンドウとコンテキストの作成方法を制御するオプションの大部分は、ウィンドウヒントで指定します。

作成に成功しても、どのコンテキストがカレントかは変わりません。新しく作成したコンテキストを使用する前に、そのコンテキストをカレントにする必要があります。share 引数については、コンテキストオブジェクトの共有を参照してください。

すべての引数とヒントが厳密な制約ではないため、作成されたウィンドウ、フレームバッファ、コンテキストは要求したものと異なる場合があります。特にフルスクリーンウィンドウでは、ウィンドウサイズもこれに含まれます。作成されたウィンドウ、フレームバッファ、コンテキストの実際の属性を照会するには、glfwGetWindowAttribglfwGetWindowSizeglfwGetFramebufferSize を参照してください。

フルスクリーンウィンドウを作成するには、ウィンドウが覆うモニターを指定する必要があります。モニターを指定しない場合、ウィンドウはウィンドウモードになります。ユーザーが特定のモニターを選択できる仕組みがない限り、プライマリモニターを選ぶことを推奨します。接続されているモニターの照会方法については、モニターの取得を参照してください。

フルスクリーンウィンドウでは、指定したサイズがウィンドウの希望するビデオモードの解像度になります。フルスクリーンウィンドウがアイコン化されていない間は、希望するビデオモードにもっとも近い、サポート対象のビデオモードが指定したモニターへ設定されます。いわゆるウィンドウフルスクリーンまたはボーダーレスフルスクリーンウィンドウの作成を含む、フルスクリーンウィンドウの詳細については、「ウィンドウフルスクリーン」ウィンドウを参照してください。

ウィンドウを作成した後は、glfwSetWindowMonitor を使って、ウィンドウモードとフルスクリーンモードを切り替えられます。この操作は、ウィンドウのOpenGLまたはOpenGL ESコンテキストに影響しません。

既定では、新しく作成されるウィンドウは、ウィンドウシステムが推奨する配置を使用します。特定の位置にウィンドウを作成するには、作成前に GLFW_POSITION_XGLFW_POSITION_Y ウィンドウヒントを設定します。既定の動作へ戻すには、一方または両方のヒントを GLFW_ANY_POSITION へ戻します。

少なくとも1つのフルスクリーンウィンドウがアイコン化されていない間は、スクリーンセーバーの起動が禁止されます。

ウィンドウシステムはウィンドウサイズに制限を設けています。極端に大きい、または小さいウィンドウの寸法は、作成時にウィンドウシステムによって上書きされる場合があります。作成後に実際のサイズを確認してください。

スワップ間隔はウィンドウ作成時には設定されず、初期値はドライバーの設定や既定値によって異なる場合があります。

引数

[in]widthウィンドウの希望する幅(スクリーン座標単位)。0より大きくなければなりません。
[in]heightウィンドウの希望する高さ(スクリーン座標単位)。0より大きくなければなりません。
[in]titleUTF-8でエンコードされたウィンドウの初期タイトル。
[in]monitorフルスクリーンモードで使用するモニター。ウィンドウモードの場合は NULL
[in]shareリソースを共有するコンテキストを持つウィンドウ。リソースを共有しない場合は NULL

戻り値
作成されたウィンドウのハンドル。エラーが発生した場合は NULL

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_INVALID_ENUMGLFW_INVALID_VALUEGLFW_API_UNAVAILABLEGLFW_VERSION_UNAVAILABLEGLFW_FORMAT_UNAVAILABLEGLFW_NO_WINDOW_CONTEXTGLFW_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.plistNSHighResolutionCapable キーが有効になっていない限り、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_NAMEGLFW_X11_INSTANCE_NAME ウィンドウヒントを設定します。

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

関連項目
ウィンドウの作成

glfwDestroyWindow

導入バージョン
バージョン3.0で追加。glfwOpenWindow を置き換えます。

◆ glfwDestroyWindow()

void glfwDestroyWindow(GLFWwindowwindow)

この関数は、指定したウィンドウとそのコンテキストを破棄します。この関数を呼び出すと、そのウィンドウについて以後コールバックは呼び出されません。

指定したウィンドウのコンテキストがメインスレッドでカレントになっている場合は、破棄される前に切り離されます。

引数

[in]window破棄するウィンドウ。

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

注記
この関数を呼び出すとき、指定したウィンドウのコンテキストは、ほかのどのスレッドでもカレントであってはなりません。

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

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

関連項目
ウィンドウの作成

glfwCreateWindow

導入バージョン
バージョン3.0で追加。glfwCloseWindow を置き換えます。

◆ glfwWindowShouldClose()

int glfwWindowShouldClose(GLFWwindowwindow)

この関数は、指定したウィンドウのクローズフラグの値を返します。

引数

[in]window照会するウィンドウ。

戻り値
クローズフラグの値。

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

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。アクセスは同期されません。

関連項目
ウィンドウを閉じる操作とクローズフラグ

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

◆ glfwSetWindowShouldClose()

void glfwSetWindowShouldClose(GLFWwindowwindow,
int value 
)

この関数は、指定したウィンドウのクローズフラグの値を設定します。ユーザーがウィンドウを閉じようとした操作を取り消したり、ウィンドウを閉じるべきことを通知したりするために使用できます。

引数

[in]windowフラグを変更するウィンドウ。
[in]value新しい値。

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

スレッドセーフ性
この関数はどのスレッドからでも呼び出せます。アクセスは同期されません。

関連項目
ウィンドウを閉じる操作とクローズフラグ

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

◆ glfwGetWindowTitle()

const char * glfwGetWindowTitle(GLFWwindowwindow)

この関数は、指定したウィンドウのUTF-8でエンコードされたタイトルを返します。これは、以前に glfwCreateWindow または glfwSetWindowTitle で設定されたタイトルです。

引数

[in]window照会するウィンドウ。

戻り値
UTF-8でエンコードされたウィンドウタイトル。エラーが発生した場合は NULL

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

備考
現在返されるタイトルは、glfwCreateWindow または glfwSetWindowTitle で最後に設定されたタイトルのコピーです。プラットフォームまたは別のプログラムによって追加される可能性のある文字列は含まれません。

ポインターの有効期間
返される文字列はGLFWによって割り当ておよび解放されます。自身で解放するべきではありません。次に glfwGetWindowTitle または glfwSetWindowTitle が呼び出されるか、ライブラリが終了するまで有効です。

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

関連項目
ウィンドウタイトル

glfwSetWindowTitle

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

◆ glfwSetWindowTitle()

void glfwSetWindowTitle(GLFWwindowwindow,
const char * title 
)

この関数は、指定したウィンドウのタイトルをUTF-8でエンコードされた文字列で設定します。

引数

[in]windowタイトルを変更するウィンドウ。
[in]titleUTF-8でエンコードされたウィンドウタイトル。

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

備考
macOS: ウィンドウタイトルは、次にイベントを処理するまで更新されません。

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

関連項目
ウィンドウタイトル

glfwGetWindowTitle

導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。

◆ glfwSetWindowIcon()

void glfwSetWindowIcon(GLFWwindowwindow,
int count,
const GLFWimageimages 
)

この関数は、指定したウィンドウのアイコンを設定します。候補画像の配列を渡すと、システムが要求するサイズ、またはそれにもっとも近いサイズの画像が選択されます。画像を指定しない場合、ウィンドウは既定のアイコンへ戻ります。

ピクセルは32ビット、リトルエンディアン、乗算済みではないRGBA形式です。つまり、各チャンネルが8ビットで、赤チャンネルが先頭です。左上隅から始まる、連続した行を詰めた標準的な形式で配置します。

要求される画像サイズは、プラットフォームとシステム設定によって異なります。選択された画像は必要に応じて拡大縮小されます。適切なサイズには、16x16、32x32、48x48があります。

引数

[in]windowアイコンを設定するウィンドウ。
[in]count指定した配列内の画像数。既定のウィンドウアイコンへ戻す場合は0。
[in]imagesアイコンの作成元となる画像。countが0の場合は無視されます。

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_INVALID_VALUEGLFW_PLATFORM_ERRORGLFW_FEATURE_UNAVAILABLE(備考を参照)があります。

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

備考
macOS: macOSの通常のウィンドウはアイコンを持ちません。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。Dockアイコンはアプリケーションバンドルのアイコンと同じになります。バンドルの詳細については、Mac Developer LibraryのBundle Programming Guideを参照してください。

Wayland: アイコンを変更する既存のプロトコルがないため、ウィンドウはアプリケーションのdesktopファイルに定義されたアイコンを継承します。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。

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

関連項目
ウィンドウアイコン

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

◆ glfwGetWindowPos()

void glfwGetWindowPos(GLFWwindowwindow,
int * xpos,
int * ypos 
)

この関数は、指定したウィンドウのコンテンツ領域の左上隅について、スクリーン座標系の位置を取得します。

位置引数は、その一部またはすべてを NULL にできます。エラーが発生した場合、NULL ではないすべての位置引数が0に設定されます。

引数

[in]window照会するウィンドウ。
[out]xposコンテンツ領域の左上隅のx座標の格納先、または NULL
[out]yposコンテンツ領域の左上隅のy座標の格納先、または NULL

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_PLATFORM_ERRORGLFW_FEATURE_UNAVAILABLE(備考を参照)があります。

備考
Wayland: 現在、ウィンドウ位置は一般的なWaylandプロトコルのどれにも含まれていないため、この関数は実装できず、GLFW_FEATURE_UNAVAILABLE を発生させます。

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

関連項目
ウィンドウの位置

glfwSetWindowPos

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

◆ glfwSetWindowPos()

void glfwSetWindowPos(GLFWwindowwindow,
int xpos,
int ypos 
)

この関数は、指定したウィンドウモードのウィンドウについて、コンテンツ領域の左上隅の位置をスクリーン座標系で設定します。ウィンドウがフルスクリーンウィンドウの場合、この関数は何も行いません。

そうするための十分な理由がない限り、すでに表示されているウィンドウを移動するために、この関数を使用してはなりません。ユーザーを混乱させ、不快にさせるためです。

ウィンドウマネージャーは、許可される位置に制限を設ける場合があります。GLFWはこれらの制限を上書きできず、上書きするべきでもありません。

引数

[in]window位置を設定するウィンドウ。
[in]xposコンテンツ領域の左上隅のx座標。
[in]yposコンテンツ領域の左上隅のy座標。

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_PLATFORM_ERRORGLFW_FEATURE_UNAVAILABLE(備考を参照)があります。

備考
Wayland: 現在、ウィンドウ位置は一般的なWaylandプロトコルのどれにも含まれていないため、この関数は実装できず、GLFW_FEATURE_UNAVAILABLE を発生させます。

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

関連項目
ウィンドウの位置

glfwGetWindowPos

導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。

◆ glfwGetWindowSize()

void glfwGetWindowSize(GLFWwindowwindow,
int * width,
int * height 
)

この関数は、指定したウィンドウのコンテンツ領域のサイズをスクリーン座標単位で取得します。ウィンドウのフレームバッファサイズをピクセル単位で取得する場合は、glfwGetFramebufferSize を参照してください。

サイズ引数は、その一部またはすべてを NULL にできます。エラーが発生した場合、NULL ではないすべてのサイズ引数が0に設定されます。

引数

[in]windowサイズを取得するウィンドウ。
[out]widthコンテンツ領域の幅(スクリーン座標単位)の格納先、または NULL
[out]heightコンテンツ領域の高さ(スクリーン座標単位)の格納先、または NULL

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

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

関連項目
ウィンドウサイズ

glfwSetWindowSize

導入バージョン
バージョン1.0で追加。GLFW 3: ウィンドウハンドル引数を追加。

◆ glfwSetWindowSizeLimits()

void glfwSetWindowSizeLimits(GLFWwindowwindow,
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_INITIALIZEDGLFW_INVALID_VALUEGLFW_PLATFORM_ERROR があります。

備考
互いに矛盾するサイズ制限とアスペクト比を設定した場合、結果は未定義です。

Wayland: サイズ制限は、ユーザーまたはコンポジターによってウィンドウのサイズが実際に変更されるまで適用されません。

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

関連項目
ウィンドウのサイズ制限

glfwSetWindowAspectRatio

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

◆ glfwSetWindowAspectRatio()

void glfwSetWindowAspectRatio(GLFWwindowwindow,
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_INITIALIZEDGLFW_INVALID_VALUEGLFW_PLATFORM_ERROR があります。

備考
互いに矛盾するサイズ制限とアスペクト比を設定した場合、結果は未定義です。

Wayland: アスペクト比は、ユーザーまたはコンポジターによってウィンドウのサイズが実際に変更されるまで適用されません。

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

関連項目
ウィンドウのサイズ制限

glfwSetWindowSizeLimits

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

◆ glfwSetWindowSize()

void glfwSetWindowSize(GLFWwindowwindow,
int width,
int height 
)

この関数は、指定されたウィンドウのコンテンツ領域の大きさをスクリーン座標で設定します。

フルスクリーンウィンドウの場合、この関数はウィンドウが要求するビデオモードの解像度を更新し、ウィンドウのコンテキストに影響を与えることなく、最も近いビデオモードへ切り替えます。コンテキストは影響を受けないため、フレームバッファのビット深度は変わりません。

要求するビデオモードの解像度に加えてリフレッシュレートも更新する場合は、glfwSetWindowMonitor を参照してください。

ウィンドウマネージャーによって、許可される大きさが制限されることがあります。GLFW はこれらの制限を上書きできず、また上書きすべきでもありません。

引数

[in]window大きさを変更するウィンドウ。
[in]widthウィンドウのコンテンツ領域に要求する幅(スクリーン座標)。
[in]heightウィンドウのコンテンツ領域に要求する高さ(スクリーン座標)。

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

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

関連項目
ウィンドウの大きさ

glfwGetWindowSize

glfwSetWindowMonitor

導入バージョン
バージョン 1.0 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。

◆ glfwGetFramebufferSize()

void glfwGetFramebufferSize(GLFWwindowwindow,
int * width,
int * height 
)

この関数は、指定されたウィンドウのフレームバッファの大きさをピクセル単位で取得します。ウィンドウの大きさをスクリーン座標で取得する場合は、glfwGetWindowSize を参照してください。

大きさを受け取る引数は、一部またはすべてを NULL にできます。エラーが発生した場合、NULL でない大きさの引数はすべてゼロに設定されます。

引数

[in]windowフレームバッファを照会するウィンドウ。
[out]widthフレームバッファの幅をピクセル単位で格納する場所、または NULL
[out]heightフレームバッファの高さをピクセル単位で格納する場所、または NULL

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

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

関連項目
フレームバッファの大きさ

glfwSetFramebufferSizeCallback

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwGetWindowFrameSize()

void glfwGetWindowFrameSize(GLFWwindowwindow,
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_INITIALIZEDGLFW_PLATFORM_ERROR があります。

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

関連項目
ウィンドウの大きさ

導入バージョン
バージョン 3.1 で追加されました。

◆ glfwGetWindowContentScale()

void glfwGetWindowContentScale(GLFWwindowwindow,
float * xscale,
float * yscale 
)

この関数は、指定されたウィンドウのコンテンツスケールを取得します。コンテンツスケールは、現在の DPI とプラットフォームの既定の DPI との比率です。これは、テキストやあらゆる UI 要素で特に重要です。この値で拡大縮小した UI のピクセル寸法が使用中のマシンで適切に見えるなら、他のマシンでも、その DPI やスケーリング設定にかかわらず妥当な大きさで表示されるはずです。これは、システムの DPI とスケーリング設定がある程度正しいことを前提とします。

モニターごとに固有のコンテンツスケールを設定できるプラットフォームでは、ウィンドウのコンテンツスケールは、そのウィンドウがどのモニター上にあるとシステムが判断するかによって決まります。

引数

[in]window照会するウィンドウ。
[out]xscaleX 軸方向のコンテンツスケールを格納する場所、または NULL
[out]yscaleY 軸方向のコンテンツスケールを格納する場所、または NULL

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

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

関連項目
ウィンドウのコンテンツスケール

glfwSetWindowContentScaleCallback

glfwGetMonitorContentScale

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwGetWindowOpacity()

float glfwGetWindowOpacity(GLFWwindowwindow)

この関数は、装飾を含むウィンドウの不透明度を返します。

不透明度(アルファ)値はゼロから 1 までの正の有限数で、ゼロは完全な透明、1 は完全な不透明を表します。システムがウィンドウ全体の透過をサポートしていない場合、この関数は常に 1 を返します。

新しく作成されたウィンドウの初期不透明度は 1 です。

引数

[in]window照会するウィンドウ。

戻り値
指定されたウィンドウの不透明度。

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

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

関連項目
ウィンドウの透過

glfwSetWindowOpacity

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwSetWindowOpacity()

void glfwSetWindowOpacity(GLFWwindowwindow,
float opacity 
)

この関数は、装飾を含むウィンドウの不透明度を設定します。

不透明度(アルファ)値はゼロから 1 までの正の有限数で、ゼロは完全な透明、1 は完全な不透明を表します。

新しく作成されたウィンドウの初期不透明度は 1 です。

フレームバッファ透過を有効にして作成したウィンドウでは、ウィンドウ全体の透過を使用できないことがあります。これを行った場合の結果は未定義です。

引数

[in]window不透明度を設定するウィンドウ。
[in]opacity指定されたウィンドウに要求する不透明度。

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_PLATFORM_ERROR、および GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。

備考
Wayland: ウィンドウの不透明度係数を設定する方法はありません。この関数は GLFW_FEATURE_UNAVAILABLE を発生させます。

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

関連項目
ウィンドウの透過

glfwGetWindowOpacity

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwIconifyWindow()

void glfwIconifyWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウが復元状態であれば、アイコン化(最小化)します。ウィンドウがすでにアイコン化されている場合、この関数は何もしません。

指定されたウィンドウがフルスクリーンウィンドウの場合、GLFW はモニターの元のビデオモードを復元します。ウィンドウを復元すると、ウィンドウが要求するビデオモードが再び設定されます。

引数

[in]windowアイコン化するウィンドウ。

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

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

関連項目
ウィンドウのアイコン化

glfwRestoreWindow

glfwMaximizeWindow

導入バージョン
バージョン 2.1 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。

◆ glfwRestoreWindow()

void glfwRestoreWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウがアイコン化(最小化)または最大化されていれば復元します。ウィンドウがすでに復元されている場合、この関数は何もしません。

指定されたウィンドウがアイコン化されたフルスクリーンウィンドウの場合、ウィンドウを復元すると、そのモニターに要求するビデオモードが再び設定されます。

引数

[in]window復元するウィンドウ。

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

備考
Wayland: 最大化されたウィンドウの復元は、現在、共通の Wayland プロトコルには含まれていないため、この関数が復元できるのは最大化されたウィンドウに限られます。

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

関連項目
ウィンドウのアイコン化

glfwIconifyWindow

glfwMaximizeWindow

導入バージョン
バージョン 2.1 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。

◆ glfwMaximizeWindow()

void glfwMaximizeWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウが最大化されていなければ最大化します。ウィンドウがすでに最大化されている場合、この関数は何もしません。

指定されたウィンドウがフルスクリーンウィンドウの場合、この関数は何もしません。

引数

[in]window最大化するウィンドウ。

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

スレッドセーフ性
この関数は、メインスレッドからのみ呼び出せます。

関連項目
ウィンドウのアイコン化

glfwIconifyWindow

glfwRestoreWindow

導入バージョン
GLFW 3.2 で追加されました。

◆ glfwShowWindow()

void glfwShowWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウが非表示であれば表示します。ウィンドウがすでに表示されている場合、またはフルスクリーンモードの場合、この関数は何もしません。

既定では、ウィンドウモードのウィンドウは表示時にフォーカスされます。新しく作成するすべてのウィンドウについてこの動作を変更するには、ウィンドウヒント GLFW_FOCUS_ON_SHOW を設定します。既存のウィンドウについては、glfwSetWindowAttrib で動作を変更できます。

引数

[in]window表示するウィンドウ。

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

備考
Wayland: Wayland はデスクトップの各フレームが完全であることを求めるため、この関数はウィンドウを即座には表示しません。代わりに、この呼び出し後にウィンドウのフレームバッファが次に更新されたときに表示されます。

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

関連項目
ウィンドウの表示状態

glfwHideWindow

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwHideWindow()

void glfwHideWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウが表示されていれば非表示にします。ウィンドウがすでに非表示の場合、またはフルスクリーンモードの場合、この関数は何もしません。

引数

[in]window非表示にするウィンドウ。

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

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

関連項目
ウィンドウの表示状態

glfwShowWindow

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwFocusWindow()

void glfwFocusWindow(GLFWwindowwindow)

この関数は、指定されたウィンドウを前面へ移動し、入力フォーカスを設定します。ウィンドウはすでに表示され、アイコン化されていない必要があります。

既定では、ウィンドウモードとフルスクリーンモードのどちらのウィンドウも、最初の作成時にフォーカスされます。この動作を無効にするには、GLFW_FOCUSED を設定します。

また既定では、ウィンドウモードのウィンドウは glfwShowWindow で表示したときにフォーカスされます。この動作を無効にするには、GLFW_FOCUS_ON_SHOW を設定します。

ユーザーがそれを望んでいると確信できる場合を除き、他のアプリケーションからフォーカスを奪うためにこの関数を使用しないでください。フォーカスの奪取は、ユーザーの作業を著しく妨げることがあります。

ユーザーの注意をより穏当な方法で引くには、注意要求を参照してください。

引数

[in]window入力フォーカスを与えるウィンドウ。

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

備考
Wayland: 同じアプリケーションが作成した別のウィンドウがすでに入力フォーカスを持っている場合を除き、コンポジターはフォーカス要求を無視する可能性があります。

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

関連項目
ウィンドウの入力フォーカス

ウィンドウの注意要求

導入バージョン
バージョン 3.2 で追加されました。

◆ glfwRequestWindowAttention()

void glfwRequestWindowAttention(GLFWwindowwindow)

この関数は、指定されたウィンドウへユーザーの注意を引くよう要求します。これがサポートされていないプラットフォームでは、アプリケーション全体に対して注意を要求します。

通常はウィンドウまたはアプリケーションをフォーカスすることでユーザーが注意を向けると、システムは要求を自動的に終了します。

引数

[in]window注意を要求するウィンドウ。

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

備考
macOS: 特定のウィンドウではなく、アプリケーション全体に対して注意を要求します。

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

関連項目
ウィンドウの注意要求

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwGetWindowMonitor()

GLFWmonitor * glfwGetWindowMonitor(GLFWwindowwindow)

この関数は、指定されたウィンドウがフルスクリーン表示されているモニターのハンドルを返します。

引数

[in]window照会するウィンドウ。

戻り値
モニター。ウィンドウがウィンドウモードの場合、またはエラーが発生した場合は NULL

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

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

関連項目
ウィンドウのモニター

glfwSetWindowMonitor

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwSetWindowMonitor()

void glfwSetWindowMonitor(GLFWwindowwindow,
GLFWmonitormonitor,
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_INITIALIZEDGLFW_PLATFORM_ERROR があります。

備考
大きさの変更やモードの切り替えによって OpenGL または OpenGL ES コンテキストが破棄されたり、その他の影響を受けたりすることはありません。ただし、フレームバッファの大きさが変わった場合は、ビューポートを更新する必要があります。

Wayland: ウィンドウ位置は、現在、共通の Wayland プロトコルには含まれていません。ウィンドウ位置の引数は無視されます。

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

関連項目
ウィンドウのモニター

フルスクリーンウィンドウ

glfwGetWindowMonitor

glfwSetWindowSize

導入バージョン
バージョン 3.2 で追加されました。

◆ glfwGetWindowAttrib()

int glfwGetWindowAttrib(GLFWwindowwindow,
int attrib 
)

この関数は、指定されたウィンドウ、またはその OpenGL もしくは OpenGL ES コンテキストの属性値を返します。

引数

[in]window照会するウィンドウ。
[in]attrib値を返すウィンドウ属性

戻り値
属性の値。エラーが発生した場合はゼロ。

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

備考
フレームバッファ関連のヒントはウィンドウ属性ではありません。詳しくは、フレームバッファ関連の属性を参照してください。

多くのウィンドウおよびコンテキスト関連属性ではゼロが有効な値であるため、戻り値のゼロをエラーの目印として使用することはできません。ただし、有効な引数を渡し、ライブラリが初期化されている限り、この関数は失敗しないはずです。

Wayland: ウィンドウがアイコン化されているかの確認は、現在、共通の Wayland プロトコルには含まれていません。そのため、GLFW_ICONIFIED 属性は実装できず、常に GLFW_FALSE です。

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

関連項目
ウィンドウ属性

glfwSetWindowAttrib

導入バージョン
バージョン 3.0 で追加されました。glfwGetWindowParamglfwGetGLVersion を置き換えます。

◆ glfwSetWindowAttrib()

void glfwSetWindowAttrib(GLFWwindowwindow,
int attrib,
int value 
)

この関数は、指定されたウィンドウの属性値を設定します。

サポートされる属性は、GLFW_DECORATEDGLFW_RESIZABLEGLFW_FLOATINGGLFW_AUTO_ICONIFYGLFW_FOCUS_ON_SHOW、および GLFW_MOUSE_PASSTHROUGH です。

これらの属性の一部は、フルスクリーンウィンドウでは無視されます。後でウィンドウモードにすると、新しい値が有効になります。

これらの属性の一部は、ウィンドウモードのウィンドウでは無視されます。後でフルスクリーンにすると、新しい値が有効になります。

引数

[in]window属性を設定するウィンドウ。
[in]attribサポートされるウィンドウ属性。
[in]valueGLFW_TRUE または GLFW_FALSE

エラー
発生する可能性のあるエラーには、GLFW_NOT_INITIALIZEDGLFW_INVALID_ENUMGLFW_INVALID_VALUEGLFW_PLATFORM_ERROR、および GLFW_FEATURE_UNAVAILABLE(備考を参照)があります。

備考
glfwGetWindowAttrib を呼び出すと、その値が現在のウィンドウモードで無視されている場合でも、常に最新の値が返されます。

Wayland: ウィンドウ属性 GLFW_FLOATING はサポートされていません。これを設定すると、GLFW_FEATURE_UNAVAILABLE が発生します。

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

関連項目
ウィンドウ属性

glfwGetWindowAttrib

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwSetWindowUserPointer()

void glfwSetWindowUserPointer(GLFWwindowwindow,
void * pointer 
)

この関数は、指定されたウィンドウのユーザー定義ポインターを設定します。現在の値は、ウィンドウが破棄されるまで保持されます。初期値は NULL です。

引数

[in]windowポインターを設定するウィンドウ。
[in]pointer新しい値。

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

スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。アクセスは同期されません。

関連項目
ユーザーポインター

glfwGetWindowUserPointer

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwGetWindowUserPointer()

void * glfwGetWindowUserPointer(GLFWwindowwindow)

この関数は、指定されたウィンドウのユーザー定義ポインターの現在値を返します。初期値は NULL です。

引数

[in]windowポインターを返すウィンドウ。

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

スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。アクセスは同期されません。

関連項目
ユーザーポインター

glfwSetWindowUserPointer

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwSetWindowPosCallback()

GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindowwindow,
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(GLFWwindowwindow,
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(GLFWwindowwindow,
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(GLFWwindowwindow,
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(GLFWwindowwindow,
GLFWwindowfocusfun callback 
)

この関数は、指定されたウィンドウのフォーカスコールバックを設定します。このコールバックは、ウィンドウが入力フォーカスを得たとき、または失ったときに呼び出されます。

入力フォーカスを失ったウィンドウについてフォーカスコールバックが呼び出された後、押されていたすべてのキーとマウスボタンに対して、合成された解放イベントが生成されます。詳しくは、glfwSetKeyCallbackglfwSetMouseButtonCallback を参照してください。

引数

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

戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL

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

void function_name(GLFWwindow* window, int focused)

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

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

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

関連項目
ウィンドウの入力フォーカス

導入バージョン
バージョン 3.0 で追加されました。

◆ glfwSetWindowIconifyCallback()

GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindowwindow,
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(GLFWwindowwindow,
GLFWwindowmaximizefun callback 
)

この関数は、指定されたウィンドウの最大化コールバックを設定します。このコールバックは、ウィンドウが最大化または復元されたときに呼び出されます。

引数

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

戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL

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

void function_name(GLFWwindow* window, int maximized)

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

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

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

関連項目
ウィンドウの最大化

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwSetFramebufferSizeCallback()

GLFWframebuffersizefun glfwSetFramebufferSizeCallback(GLFWwindowwindow,
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(GLFWwindowwindow,
GLFWwindowcontentscalefun callback 
)

この関数は、指定されたウィンドウのコンテンツスケールコールバックを設定します。このコールバックは、指定されたウィンドウのコンテンツスケールが変化したときに呼び出されます。

引数

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

戻り値
以前に設定されていたコールバック。コールバックが設定されていなかった場合、またはライブラリが初期化されていなかった場合は NULL

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

void function_name(GLFWwindow* window, float xscale, float yscale)

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

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

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

関連項目
ウィンドウのコンテンツスケール

glfwGetWindowContentScale

導入バージョン
バージョン 3.3 で追加されました。

◆ glfwPollEvents()

void glfwPollEvents(void )

この関数は、イベントキューにすでに入っているイベントだけを処理し、直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。

一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。

設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。

ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。

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

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

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

関連項目
イベント処理

glfwWaitEvents

glfwWaitEventsTimeout

導入バージョン
バージョン 1.0 で追加されました。

◆ glfwWaitEvents()

void glfwWaitEvents(void )

この関数は、イベントキューで少なくとも1つのイベントが利用可能になるまで、呼び出し元スレッドをスリープさせます。1つ以上のイベントが利用可能になると、glfwPollEvents とまったく同じように動作します。つまり、キュー内のイベントを処理した後、関数は直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。

すべてのイベントがコールバックに関連付けられているわけではないため、すべてのコールバックを監視していても、コールバックが呼び出されないままこの関数が戻ることがあります。

一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。

設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。

ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。

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

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

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

関連項目
イベント処理

glfwPollEvents

glfwWaitEventsTimeout

導入バージョン
バージョン 2.5 で追加されました。

◆ glfwWaitEventsTimeout()

void glfwWaitEventsTimeout(double timeout)

この関数は、イベントキューで少なくとも1つのイベントが利用可能になるか、指定されたタイムアウトに達するまで、呼び出し元スレッドをスリープさせます。1つ以上のイベントが利用可能になると、glfwPollEvents とまったく同じように動作します。つまり、キュー内のイベントを処理した後、関数は直ちに戻ります。イベントを処理すると、それらのイベントに関連付けられたウィンドウおよび入力コールバックが呼び出されます。

タイムアウト値は、正の有限数でなければなりません。

すべてのイベントがコールバックに関連付けられているわけではないため、すべてのコールバックを監視していても、コールバックが呼び出されないままこの関数が戻ることがあります。

一部のプラットフォームでは、ウィンドウの移動、大きさの変更、またはメニュー操作によって、イベント処理がブロックされます。これは、それらのプラットフォームにおけるイベント処理の設計によるものです。このような操作中に必要に応じてウィンドウの内容を再描画するには、ウィンドウ再描画コールバックを使用できます。

設定したコールバックが、この関数のようなイベント処理関数への応答としてのみ呼び出されるとは想定しないでください。イベントをポーリングする必要はありますが、GLFW 自身のコールバック登録を必要とするウィンドウシステムでは、多くのウィンドウシステム関数の呼び出しに応じて GLFW へイベントが渡されることがあります。GLFW は戻る前に、それらのイベントをアプリケーションのコールバックへ渡します。

ジョイスティック入力を受け取るためにイベント処理は必要ありません。ジョイスティック入力関数またはゲームパッド入力関数が呼び出されたときに、ジョイスティックの状態がポーリングされます。

引数

[in]timeout待機する最大時間(秒)。

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

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

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

関連項目
イベント処理

glfwPollEvents

glfwWaitEvents

導入バージョン
バージョン 3.2 で追加されました。

◆ glfwPostEmptyEvent()

void glfwPostEmptyEvent(void )

この関数は、現在のスレッドからイベントキューへ空のイベントを送信し、glfwWaitEvents または glfwWaitEventsTimeout を戻らせます。

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

スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。

関連項目
イベント処理

glfwWaitEvents

glfwWaitEventsTimeout

導入バージョン
バージョン 3.1 で追加されました。

◆ glfwSwapBuffers()

void glfwSwapBuffers(GLFWwindowwindow)

この関数は、OpenGL または OpenGL ES でレンダリングするとき、指定されたウィンドウのフロントバッファとバックバッファを交換します。スワップ間隔がゼロより大きい場合、GPU ドライバーは指定された回数の画面更新を待ってからバッファを交換します。

指定されたウィンドウは、OpenGL または OpenGL ES コンテキストを持っていなければなりません。コンテキストのないウィンドウを指定すると、GLFW_NO_WINDOW_CONTEXT エラーが発生します。

この関数は Vulkan には適用されません。Vulkan でレンダリングする場合は、代わりに vkQueuePresentKHR を参照してください。

引数

[in]windowバッファを交換するウィンドウ。

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

備考
Wayland: スワップ間隔がゼロより大きく、ウィンドウが表示範囲内にない場合、この関数が戻るまでに数ミリ秒余分にかかることがあります。

EGL: 指定されたウィンドウのコンテキストは、呼び出し元スレッドでカレントになっていなければなりません。

スレッドセーフ性
この関数は、任意のスレッドから呼び出せます。

関連項目
バッファの交換

glfwSwapInterval

導入バージョン
バージョン 1.0 で追加されました。GLFW 3: ウィンドウハンドルの引数が追加されました。