38 #define GLFW_INCLUDE_NONE 43 #define GLFW_EXPOSE_NATIVE_WIN32 46 #define GLFW_HAS_WINDOW_TOPMOST (GLFW_VERSION_MAJOR * 1000 + GLFW_VERSION_MINOR * 100 >= 3200) // 3.2+ GLFW_FLOATING 47 #define GLFW_HAS_WINDOW_HOVERED (GLFW_VERSION_MAJOR * 1000 + GLFW_VERSION_MINOR * 100 >= 3300) // 3.3+ GLFW_HOVERED 48 #define GLFW_HAS_WINDOW_ALPHA (GLFW_VERSION_MAJOR * 1000 + GLFW_VERSION_MINOR * 100 >= 3300) // 3.3+ glfwSetWindowOpacity 49 #define GLFW_HAS_PER_MONITOR_DPI (GLFW_VERSION_MAJOR * 1000 + GLFW_VERSION_MINOR * 100 >= 3300) // 3.3+ glfwGetMonitorContentScale 50 #define GLFW_HAS_VULKAN (GLFW_VERSION_MAJOR * 1000 + GLFW_VERSION_MINOR * 100 >= 3200) // 3.2+ glfwCreateWindowSurface 124 if (c > 0 && c < 0x10000)
183 if (install_callbacks)
229 #ifdef __EMSCRIPTEN__ 230 const bool focused =
true;
242 double mouse_x, mouse_y;
273 IM_ASSERT(io.
Fonts->
IsBuilt() &&
"Font atlas not built! It is generally built by the renderer back-end. Missing call to renderer _NewFrame() function? e.g. ImGui_ImplOpenGL3_NewFrame().");
277 int display_w, display_h;
296 #define MAP_BUTTON(NAV_NO, BUTTON_NO) { if (buttons_count > BUTTON_NO && buttons[BUTTON_NO] == GLFW_PRESS) io.NavInputs[NAV_NO] = 1.0f; } 297 #define MAP_ANALOG(NAV_NO, AXIS_NO, V0, V1) { float v = (axes_count > AXIS_NO) ? axes[AXIS_NO] : V0; v = (v - V0) / (V1 - V0); if (v > 1.0f) v = 1.0f; if (io.NavInputs[NAV_NO] < v) io.NavInputs[NAV_NO] = v; } 298 int axes_count = 0, buttons_count = 0;
319 if (axes_count > 0 && buttons_count > 0)
float NavInputs[ImGuiNavInput_COUNT]
bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow *window, bool install_callbacks)
const char *(* GetClipboardTextFn)(void *user_data)
#define GLFW_KEY_RIGHT_CONTROL
GLFWAPI void glfwGetWindowSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the client area of the specified window.
GLFWAPI int glfwGetWindowAttrib(GLFWwindow *window, int attrib)
Returns an attribute of the specified window.
static const char * ImGui_ImplGlfw_GetClipboardText(void *user_data)
The header of the GLFW 3 API.
IMGUI_API void AddInputCharacter(ImWchar c)
void(* SetClipboardTextFn)(void *user_data, const char *text)
static GLFWcursor * g_MouseCursors[ImGuiMouseCursor_COUNT]
static bool ImGui_ImplGlfw_Init(GLFWwindow *window, bool install_callbacks, GlfwClientApi client_api)
bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow *window, bool install_callbacks)
void ImGui_ImplGlfw_Shutdown()
static GLFWkeyfun g_PrevUserCallbackKey
#define GLFW_KEY_LEFT_SHIFT
const char * BackendPlatformName
#define GLFW_KEY_PAGE_DOWN
#define IM_ARRAYSIZE(_ARR)
IMGUI_API ImGuiMouseCursor GetMouseCursor()
#define GLFW_ARROW_CURSOR
The regular arrow cursor shape.
static void ImGui_ImplGlfw_UpdateMousePosAndButtons()
#define GLFW_KEY_BACKSPACE
struct GLFWwindow GLFWwindow
Opaque window object.
int KeyMap[ImGuiKey_COUNT]
static GLFWmousebuttonfun g_PrevUserCallbackMousebutton
#define GLFW_CURSOR_DISABLED
void ImGui_ImplGlfw_KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow *window, int button, int action, int mods)
#define GLFW_VRESIZE_CURSOR
The vertical resize arrow shape.
#define GLFW_KEY_RIGHT_SUPER
static GLFWscrollfun g_PrevUserCallbackScroll
void ImGui_ImplGlfw_NewFrame()
#define GLFW_CURSOR_NORMAL
static void ImGui_ImplGlfw_SetClipboardText(void *user_data, const char *text)
#define GLFW_HAND_CURSOR
The hand shape.
IMGUI_API ImGuiIO & GetIO()
static void ImGui_ImplGlfw_UpdateMouseCursor()
void ImGui_ImplGlfw_ScrollCallback(GLFWwindow *window, double xoffset, double yoffset)
static bool g_MouseJustPressed[5]
static GlfwClientApi g_ClientApi
static GLFWcharfun g_PrevUserCallbackChar
static GLFWwindow * g_Window
void ImGui_ImplGlfw_CharCallback(GLFWwindow *window, unsigned int c)
#define MAP_BUTTON(NAV_NO, BUTTON_NO)
#define GLFW_FOCUSED
Input focus window hint and attribute.
The header of the native access functions.
#define MAP_ANALOG(NAV_NO, AXIS_NO, V0, V1)
ImGuiBackendFlags BackendFlags
#define GLFW_CURSOR_HIDDEN
#define GLFW_HRESIZE_CURSOR
The horizontal resize arrow shape.
#define GLFW_KEY_RIGHT_ALT
#define GLFW_IBEAM_CURSOR
The text input I-beam cursor shape.
GLFWAPI void glfwGetFramebufferSize(GLFWwindow *window, int *width, int *height)
Retrieves the size of the framebuffer of the specified window.
ImGuiConfigFlags ConfigFlags
#define GLFW_KEY_LEFT_CONTROL
ImVec2 DisplayFramebufferScale
#define GLFW_KEY_LEFT_ALT
#define GLFW_KEY_RIGHT_SHIFT
#define GLFW_KEY_LEFT_SUPER
GLFWAPI HWND glfwGetWin32Window(GLFWwindow *handle)