|
@@ -278,119 +278,118 @@ GLFWAPI void glfwWindowHint(int hint, int value)
|
|
{
|
|
{
|
|
case GLFW_RED_BITS:
|
|
case GLFW_RED_BITS:
|
|
_glfw.hints.framebuffer.redBits = value;
|
|
_glfw.hints.framebuffer.redBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_GREEN_BITS:
|
|
case GLFW_GREEN_BITS:
|
|
_glfw.hints.framebuffer.greenBits = value;
|
|
_glfw.hints.framebuffer.greenBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_BLUE_BITS:
|
|
case GLFW_BLUE_BITS:
|
|
_glfw.hints.framebuffer.blueBits = value;
|
|
_glfw.hints.framebuffer.blueBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_ALPHA_BITS:
|
|
case GLFW_ALPHA_BITS:
|
|
_glfw.hints.framebuffer.alphaBits = value;
|
|
_glfw.hints.framebuffer.alphaBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_DEPTH_BITS:
|
|
case GLFW_DEPTH_BITS:
|
|
_glfw.hints.framebuffer.depthBits = value;
|
|
_glfw.hints.framebuffer.depthBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_STENCIL_BITS:
|
|
case GLFW_STENCIL_BITS:
|
|
_glfw.hints.framebuffer.stencilBits = value;
|
|
_glfw.hints.framebuffer.stencilBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_ACCUM_RED_BITS:
|
|
case GLFW_ACCUM_RED_BITS:
|
|
_glfw.hints.framebuffer.accumRedBits = value;
|
|
_glfw.hints.framebuffer.accumRedBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_ACCUM_GREEN_BITS:
|
|
case GLFW_ACCUM_GREEN_BITS:
|
|
_glfw.hints.framebuffer.accumGreenBits = value;
|
|
_glfw.hints.framebuffer.accumGreenBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_ACCUM_BLUE_BITS:
|
|
case GLFW_ACCUM_BLUE_BITS:
|
|
_glfw.hints.framebuffer.accumBlueBits = value;
|
|
_glfw.hints.framebuffer.accumBlueBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_ACCUM_ALPHA_BITS:
|
|
case GLFW_ACCUM_ALPHA_BITS:
|
|
_glfw.hints.framebuffer.accumAlphaBits = value;
|
|
_glfw.hints.framebuffer.accumAlphaBits = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_AUX_BUFFERS:
|
|
case GLFW_AUX_BUFFERS:
|
|
_glfw.hints.framebuffer.auxBuffers = value;
|
|
_glfw.hints.framebuffer.auxBuffers = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_STEREO:
|
|
case GLFW_STEREO:
|
|
_glfw.hints.framebuffer.stereo = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.framebuffer.stereo = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_DOUBLEBUFFER:
|
|
case GLFW_DOUBLEBUFFER:
|
|
_glfw.hints.framebuffer.doublebuffer = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.framebuffer.doublebuffer = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_SAMPLES:
|
|
case GLFW_SAMPLES:
|
|
_glfw.hints.framebuffer.samples = value;
|
|
_glfw.hints.framebuffer.samples = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_SRGB_CAPABLE:
|
|
case GLFW_SRGB_CAPABLE:
|
|
_glfw.hints.framebuffer.sRGB = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.framebuffer.sRGB = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_RESIZABLE:
|
|
case GLFW_RESIZABLE:
|
|
_glfw.hints.window.resizable = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.resizable = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_DECORATED:
|
|
case GLFW_DECORATED:
|
|
_glfw.hints.window.decorated = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.decorated = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_FOCUSED:
|
|
case GLFW_FOCUSED:
|
|
_glfw.hints.window.focused = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.focused = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_AUTO_ICONIFY:
|
|
case GLFW_AUTO_ICONIFY:
|
|
_glfw.hints.window.autoIconify = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.autoIconify = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_FLOATING:
|
|
case GLFW_FLOATING:
|
|
_glfw.hints.window.floating = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.floating = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_MAXIMIZED:
|
|
case GLFW_MAXIMIZED:
|
|
_glfw.hints.window.maximized = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.maximized = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_VISIBLE:
|
|
case GLFW_VISIBLE:
|
|
_glfw.hints.window.visible = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.visible = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_COCOA_RETINA_FRAMEBUFFER:
|
|
case GLFW_COCOA_RETINA_FRAMEBUFFER:
|
|
_glfw.hints.window.ns.retina = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.ns.retina = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_COCOA_FRAME_AUTOSAVE:
|
|
case GLFW_COCOA_FRAME_AUTOSAVE:
|
|
_glfw.hints.window.ns.frame = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.ns.frame = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_COCOA_GRAPHICS_SWITCHING:
|
|
case GLFW_COCOA_GRAPHICS_SWITCHING:
|
|
_glfw.hints.context.nsgl.offline = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.context.nsgl.offline = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CENTER_CURSOR:
|
|
case GLFW_CENTER_CURSOR:
|
|
_glfw.hints.window.centerCursor = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.window.centerCursor = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CLIENT_API:
|
|
case GLFW_CLIENT_API:
|
|
_glfw.hints.context.client = value;
|
|
_glfw.hints.context.client = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_CREATION_API:
|
|
case GLFW_CONTEXT_CREATION_API:
|
|
_glfw.hints.context.source = value;
|
|
_glfw.hints.context.source = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_VERSION_MAJOR:
|
|
case GLFW_CONTEXT_VERSION_MAJOR:
|
|
_glfw.hints.context.major = value;
|
|
_glfw.hints.context.major = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_VERSION_MINOR:
|
|
case GLFW_CONTEXT_VERSION_MINOR:
|
|
_glfw.hints.context.minor = value;
|
|
_glfw.hints.context.minor = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_ROBUSTNESS:
|
|
case GLFW_CONTEXT_ROBUSTNESS:
|
|
_glfw.hints.context.robustness = value;
|
|
_glfw.hints.context.robustness = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_OPENGL_FORWARD_COMPAT:
|
|
case GLFW_OPENGL_FORWARD_COMPAT:
|
|
_glfw.hints.context.forward = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.context.forward = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_OPENGL_DEBUG_CONTEXT:
|
|
case GLFW_OPENGL_DEBUG_CONTEXT:
|
|
_glfw.hints.context.debug = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.context.debug = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_NO_ERROR:
|
|
case GLFW_CONTEXT_NO_ERROR:
|
|
_glfw.hints.context.noerror = value ? GLFW_TRUE : GLFW_FALSE;
|
|
_glfw.hints.context.noerror = value ? GLFW_TRUE : GLFW_FALSE;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_OPENGL_PROFILE:
|
|
case GLFW_OPENGL_PROFILE:
|
|
_glfw.hints.context.profile = value;
|
|
_glfw.hints.context.profile = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_CONTEXT_RELEASE_BEHAVIOR:
|
|
case GLFW_CONTEXT_RELEASE_BEHAVIOR:
|
|
_glfw.hints.context.release = value;
|
|
_glfw.hints.context.release = value;
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
case GLFW_REFRESH_RATE:
|
|
case GLFW_REFRESH_RATE:
|
|
_glfw.hints.refreshRate = value;
|
|
_glfw.hints.refreshRate = value;
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- _glfwInputError(GLFW_INVALID_ENUM, "Invalid window hint 0x%08X", hint);
|
|
|
|
- break;
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ _glfwInputError(GLFW_INVALID_ENUM, "Invalid window hint 0x%08X", hint);
|
|
}
|
|
}
|
|
|
|
|
|
GLFWAPI void glfwDestroyWindow(GLFWwindow* handle)
|
|
GLFWAPI void glfwDestroyWindow(GLFWwindow* handle)
|
|
@@ -770,41 +769,37 @@ GLFWAPI void glfwSetWindowAttrib(GLFWwindow* handle, int attrib, int value)
|
|
|
|
|
|
value = value ? GLFW_TRUE : GLFW_FALSE;
|
|
value = value ? GLFW_TRUE : GLFW_FALSE;
|
|
|
|
|
|
- switch (attrib)
|
|
|
|
|
|
+ if (attrib == GLFW_AUTO_ICONIFY)
|
|
|
|
+ window->autoIconify = value;
|
|
|
|
+ else if (attrib == GLFW_RESIZABLE)
|
|
{
|
|
{
|
|
- case GLFW_RESIZABLE:
|
|
|
|
- if (window->resizable != value)
|
|
|
|
- {
|
|
|
|
- window->resizable = value;
|
|
|
|
- if (!window->monitor)
|
|
|
|
- _glfwPlatformSetWindowResizable(window, value);
|
|
|
|
- }
|
|
|
|
|
|
+ if (window->resizable == value)
|
|
return;
|
|
return;
|
|
|
|
|
|
- case GLFW_DECORATED:
|
|
|
|
- if (window->decorated != value)
|
|
|
|
- {
|
|
|
|
- window->decorated = value;
|
|
|
|
- if (!window->monitor)
|
|
|
|
- _glfwPlatformSetWindowDecorated(window, value);
|
|
|
|
- }
|
|
|
|
|
|
+ window->resizable = value;
|
|
|
|
+ if (!window->monitor)
|
|
|
|
+ _glfwPlatformSetWindowResizable(window, value);
|
|
|
|
+ }
|
|
|
|
+ else if (attrib == GLFW_DECORATED)
|
|
|
|
+ {
|
|
|
|
+ if (window->decorated == value)
|
|
return;
|
|
return;
|
|
|
|
|
|
- case GLFW_FLOATING:
|
|
|
|
- if (window->floating != value)
|
|
|
|
- {
|
|
|
|
- window->floating = value;
|
|
|
|
- if (!window->monitor)
|
|
|
|
- _glfwPlatformSetWindowFloating(window, value);
|
|
|
|
- }
|
|
|
|
|
|
+ window->decorated = value;
|
|
|
|
+ if (!window->monitor)
|
|
|
|
+ _glfwPlatformSetWindowDecorated(window, value);
|
|
|
|
+ }
|
|
|
|
+ else if (attrib == GLFW_FLOATING)
|
|
|
|
+ {
|
|
|
|
+ if (window->floating == value)
|
|
return;
|
|
return;
|
|
|
|
|
|
- case GLFW_AUTO_ICONIFY:
|
|
|
|
- window->autoIconify = value;
|
|
|
|
- return;
|
|
|
|
|
|
+ window->floating = value;
|
|
|
|
+ if (!window->monitor)
|
|
|
|
+ _glfwPlatformSetWindowFloating(window, value);
|
|
}
|
|
}
|
|
-
|
|
|
|
- _glfwInputError(GLFW_INVALID_ENUM, "Invalid window attribute 0x%08X", attrib);
|
|
|
|
|
|
+ else
|
|
|
|
+ _glfwInputError(GLFW_INVALID_ENUM, "Invalid window attribute 0x%08X", attrib);
|
|
}
|
|
}
|
|
|
|
|
|
GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* handle)
|
|
GLFWAPI GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* handle)
|