OSDN Git Service

ran gdx-tools HeaderFixer tool
[mikumikustudio/libgdx-mikumikustudio.git] / backends / gdx-backend-jglfw / src / com / badlogic / gdx / backends / jglfw / JglfwGraphics.java
index 8c0ac8b..56117e3 100644 (file)
@@ -1,3 +1,18 @@
+/*******************************************************************************\r
+ * Copyright 2011 See AUTHORS file.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ * \r
+ *   http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ ******************************************************************************/
 
 package com.badlogic.gdx.backends.jglfw;
 
@@ -33,8 +48,8 @@ public class JglfwGraphics implements Graphics {
        private int x, y, width, height;
        private boolean visible;
        private Color initialBackgroundColor;
-       private volatile boolean isContinuous = true;
-       private volatile boolean renderRequested;
+       private volatile boolean isContinuous = true, renderRequested;
+       volatile boolean foreground, minimized;
 
        private float deltaTime;
        private long frameStart, lastTime = -1;
@@ -134,8 +149,7 @@ public class JglfwGraphics implements Graphics {
                return true;
        }
 
-       void frameStart () {
-               long time = System.nanoTime();
+       void frameStart (long time) {
                if (lastTime == -1) lastTime = time;
                deltaTime = (time - lastTime) / 1000000000.0f;
                lastTime = time;
@@ -149,6 +163,7 @@ public class JglfwGraphics implements Graphics {
        }
 
        void sizeChanged (int width, int height) {
+               glfwShowWindow(window); // This is required to refresh the NSOpenGLContext on OSX!
                width = Math.max(1, width);
                height = Math.max(1, height);
                this.width = width;
@@ -358,8 +373,16 @@ public class JglfwGraphics implements Graphics {
                glfwSwapBuffers(window);
        }
 
+       public boolean isHidden () {
+               return !visible;
+       }
+
        public boolean isMinimized () {
-               return glfwGetWindowParam(window, GLFW_ICONIFIED) == 1;
+               return minimized;
+       }
+
+       public boolean isForeground () {
+               return foreground;
        }
 
        public void minimize () {
@@ -383,4 +406,4 @@ public class JglfwGraphics implements Graphics {
                        super(width, height, refreshRate, bitsPerPixel);
                }
        }
-}
+}
\ No newline at end of file