mirror of
https://github.com/glfw/glfw.git
synced 2024-11-26 06:14:35 +00:00
parent
d630684654
commit
1fe319d234
@ -246,6 +246,7 @@ information on what to include when reporting a bug.
|
|||||||
- [Cocoa] Bugfix: Some characters did not repeat due to Press and Hold (#1010)
|
- [Cocoa] Bugfix: Some characters did not repeat due to Press and Hold (#1010)
|
||||||
- [Cocoa] Bugfix: Window title was lost when full screen or undecorated (#1082)
|
- [Cocoa] Bugfix: Window title was lost when full screen or undecorated (#1082)
|
||||||
- [Cocoa] Bugfix: Window was resized twice when entering full screen (#1085)
|
- [Cocoa] Bugfix: Window was resized twice when entering full screen (#1085)
|
||||||
|
- [Cocoa] Bugfix: Duplicate size events were not filtered (#1085)
|
||||||
- [WGL] Added support for `WGL_EXT_colorspace` for OpenGL ES contexts
|
- [WGL] Added support for `WGL_EXT_colorspace` for OpenGL ES contexts
|
||||||
- [WGL] Added support for `WGL_ARB_create_context_no_error`
|
- [WGL] Added support for `WGL_ARB_create_context_no_error`
|
||||||
- [GLX] Added support for `GLX_ARB_create_context_no_error`
|
- [GLX] Added support for `GLX_ARB_create_context_no_error`
|
||||||
|
@ -88,6 +88,10 @@ typedef struct _GLFWwindowNS
|
|||||||
|
|
||||||
GLFWbool maximized;
|
GLFWbool maximized;
|
||||||
|
|
||||||
|
// Cached window and framebuffer sizes used to filter out duplicate events
|
||||||
|
int width, height;
|
||||||
|
int fbWidth, fbHeight;
|
||||||
|
|
||||||
// The total sum of the distances the cursor has been warped
|
// The total sum of the distances the cursor has been warped
|
||||||
// since the last cursor motion event was processed
|
// since the last cursor motion event was processed
|
||||||
// This is kept to counteract Cocoa doing the same internally
|
// This is kept to counteract Cocoa doing the same internally
|
||||||
|
@ -267,8 +267,21 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
|
|||||||
const NSRect contentRect = [window->ns.view frame];
|
const NSRect contentRect = [window->ns.view frame];
|
||||||
const NSRect fbRect = [window->ns.view convertRectToBacking:contentRect];
|
const NSRect fbRect = [window->ns.view convertRectToBacking:contentRect];
|
||||||
|
|
||||||
|
if (fbRect.size.width != window->ns.fbWidth ||
|
||||||
|
fbRect.size.height != window->ns.fbHeight)
|
||||||
|
{
|
||||||
|
window->ns.fbWidth = fbRect.size.width;
|
||||||
|
window->ns.fbHeight = fbRect.size.height;
|
||||||
_glfwInputFramebufferSize(window, fbRect.size.width, fbRect.size.height);
|
_glfwInputFramebufferSize(window, fbRect.size.width, fbRect.size.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contentRect.size.width != window->ns.width ||
|
||||||
|
contentRect.size.height != window->ns.height)
|
||||||
|
{
|
||||||
|
window->ns.width = contentRect.size.width;
|
||||||
|
window->ns.height = contentRect.size.height;
|
||||||
_glfwInputWindowSize(window, contentRect.size.width, contentRect.size.height);
|
_glfwInputWindowSize(window, contentRect.size.width, contentRect.size.height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)windowDidMove:(NSNotification *)notification
|
- (void)windowDidMove:(NSNotification *)notification
|
||||||
@ -551,7 +564,13 @@ static const NSRange kEmptyRange = { NSNotFound, 0 };
|
|||||||
const NSRect contentRect = [window->ns.view frame];
|
const NSRect contentRect = [window->ns.view frame];
|
||||||
const NSRect fbRect = [window->ns.view convertRectToBacking:contentRect];
|
const NSRect fbRect = [window->ns.view convertRectToBacking:contentRect];
|
||||||
|
|
||||||
|
if (fbRect.size.width != window->ns.fbWidth ||
|
||||||
|
fbRect.size.height != window->ns.fbHeight)
|
||||||
|
{
|
||||||
|
window->ns.fbWidth = fbRect.size.width;
|
||||||
|
window->ns.fbHeight = fbRect.size.height;
|
||||||
_glfwInputFramebufferSize(window, fbRect.size.width, fbRect.size.height);
|
_glfwInputFramebufferSize(window, fbRect.size.width, fbRect.size.height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)drawRect:(NSRect)rect
|
- (void)drawRect:(NSRect)rect
|
||||||
@ -1095,6 +1114,9 @@ static GLFWbool createNativeWindow(_GLFWwindow* window,
|
|||||||
[window->ns.object setAcceptsMouseMovedEvents:YES];
|
[window->ns.object setAcceptsMouseMovedEvents:YES];
|
||||||
[window->ns.object setRestorable:NO];
|
[window->ns.object setRestorable:NO];
|
||||||
|
|
||||||
|
_glfwPlatformGetWindowSize(window, &window->ns.width, &window->ns.height);
|
||||||
|
_glfwPlatformGetFramebufferSize(window, &window->ns.fbWidth, &window->ns.fbHeight);
|
||||||
|
|
||||||
return GLFW_TRUE;
|
return GLFW_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user