mirror of
https://github.com/glfw/glfw.git
synced 2024-11-25 19:42:00 +00:00
Merge branch 'master' into multi-monitor
Conflicts: tests/iconify.c
This commit is contained in:
commit
c1bb1d8a6e
@ -729,7 +729,7 @@ static GLboolean createContext(_GLFWwindow* window,
|
||||
else if (colorBits < 15)
|
||||
colorBits = 15;
|
||||
|
||||
if (wndconfig->clientAPI != GLFW_OPENGL_ES_API)
|
||||
if (wndconfig->clientAPI == GLFW_OPENGL_ES_API)
|
||||
{
|
||||
_glfwSetError(GLFW_VERSION_UNAVAILABLE,
|
||||
"Cocoa/NSOpenGL: NSOpenGL does not support OpenGL ES");
|
||||
|
@ -411,7 +411,7 @@ static GLboolean createContext(_GLFWwindow* window,
|
||||
|
||||
if (wndconfig->glRobustness)
|
||||
{
|
||||
int strategy;
|
||||
int strategy = 0;
|
||||
|
||||
if (!window->WGL.ARB_create_context_robustness)
|
||||
{
|
||||
|
@ -248,6 +248,15 @@ static GLboolean createWindow(_GLFWwindow* window,
|
||||
|
||||
static void hideCursor(_GLFWwindow* window)
|
||||
{
|
||||
// Un-grab cursor (in windowed mode only; in fullscreen mode we still
|
||||
// want the cursor grabbed in order to confine the cursor to the window
|
||||
// area)
|
||||
if (window->X11.cursorGrabbed && window->monitor == NULL)
|
||||
{
|
||||
XUngrabPointer(_glfwLibrary.X11.display, CurrentTime);
|
||||
window->X11.cursorGrabbed = GL_FALSE;
|
||||
}
|
||||
|
||||
if (!window->X11.cursorHidden)
|
||||
{
|
||||
XDefineCursor(_glfwLibrary.X11.display,
|
||||
@ -290,7 +299,7 @@ static void showCursor(_GLFWwindow* window)
|
||||
// Un-grab cursor (in windowed mode only; in fullscreen mode we still
|
||||
// want the cursor grabbed in order to confine the cursor to the window
|
||||
// area)
|
||||
if (window->X11.cursorGrabbed)
|
||||
if (window->X11.cursorGrabbed && window->monitor == NULL)
|
||||
{
|
||||
XUngrabPointer(_glfwLibrary.X11.display, CurrentTime);
|
||||
window->X11.cursorGrabbed = GL_FALSE;
|
||||
|
@ -70,15 +70,28 @@ static void key_callback(GLFWwindow window, int key, int action)
|
||||
|
||||
static void window_size_callback(GLFWwindow window, int width, int height)
|
||||
{
|
||||
printf("%0.2f Size %ix%i\n", glfwGetTime(), width, height);
|
||||
printf("%0.2f Window resized to %ix%i\n", glfwGetTime(), width, height);
|
||||
|
||||
glViewport(0, 0, width, height);
|
||||
}
|
||||
|
||||
static void window_focus_callback(GLFWwindow window, int activated)
|
||||
{
|
||||
printf("%0.2f Window %s\n",
|
||||
glfwGetTime(),
|
||||
activated ? "activated" : "deactivated");
|
||||
}
|
||||
|
||||
static void window_iconify_callback(GLFWwindow window, int iconified)
|
||||
{
|
||||
printf("%0.2f Window %s\n",
|
||||
glfwGetTime(),
|
||||
iconified ? "iconified" : "restored");
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int width, height, ch;
|
||||
GLboolean active = -1, iconified = -1;
|
||||
GLFWmonitor monitor = NULL;
|
||||
GLFWwindow window;
|
||||
|
||||
@ -134,23 +147,17 @@ int main(int argc, char** argv)
|
||||
glfwSetKeyCallback(key_callback);
|
||||
glfwSetWindowSizeCallback(window_size_callback);
|
||||
glfwSetWindowCloseCallback(window_close_callback);
|
||||
glfwSetWindowFocusCallback(window_focus_callback);
|
||||
glfwSetWindowIconifyCallback(window_iconify_callback);
|
||||
|
||||
printf("Window is %s and %s\n",
|
||||
glfwGetWindowParam(window, GLFW_ICONIFIED) ? "iconified" : "restored",
|
||||
glfwGetWindowParam(window, GLFW_ACTIVE) ? "active" : "inactive");
|
||||
|
||||
glEnable(GL_SCISSOR_TEST);
|
||||
|
||||
while (!closed)
|
||||
{
|
||||
if (iconified != glfwGetWindowParam(window, GLFW_ICONIFIED) ||
|
||||
active != glfwGetWindowParam(window, GLFW_ACTIVE))
|
||||
{
|
||||
iconified = glfwGetWindowParam(window, GLFW_ICONIFIED);
|
||||
active = glfwGetWindowParam(window, GLFW_ACTIVE);
|
||||
|
||||
printf("%0.2f %s %s\n",
|
||||
glfwGetTime(),
|
||||
iconified ? "Iconified" : "Restored",
|
||||
active ? "Active" : "Inactive");
|
||||
}
|
||||
|
||||
glfwGetWindowSize(window, &width, &height);
|
||||
|
||||
glScissor(0, 0, width, height);
|
||||
|
Loading…
Reference in New Issue
Block a user