summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRay <[email protected]>2021-03-20 20:06:38 +0100
committerRay <[email protected]>2021-03-20 20:06:38 +0100
commit95f9a6171b19596411d1f77295f33f09ebd2eeba (patch)
tree47df6524a30504a830a758ab6f6def700597d804
parentf4d6bad607ef1eb1f932abdc9b357802925a012f (diff)
downloadraylib-95f9a6171b19596411d1f77295f33f09ebd2eeba.tar.gz
raylib-95f9a6171b19596411d1f77295f33f09ebd2eeba.zip
Review HighDPI macOS support #1510
-rw-r--r--src/core.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/core.c b/src/core.c
index b8a61d6d..ca695937 100644
--- a/src/core.c
+++ b/src/core.c
@@ -4261,9 +4261,16 @@ static void SetupViewport(int width, int height)
// Set viewport width and height
// NOTE: We consider render size (scaled) and offset in case black bars are required and
// render area does not match full display area (this situation is only applicable on fullscreen mode)
- float xScale = 1, yScale = 1;
- glfwGetWindowContentScale(CORE.Window.handle, &xScale, &yScale);
- rlViewport(CORE.Window.renderOffset.x/2*xScale, CORE.Window.renderOffset.y/2*yScale, (CORE.Window.render.width - CORE.Window.renderOffset.x)*xScale, (CORE.Window.render.height - CORE.Window.renderOffset.y)*yScale);
+#if defined(__APPLE__)
+ if ((CORE.Window.flags & FLAG_WINDOW_HIGHDPI) > 0)
+ {
+ float xScale = 1.0f, yScale = 1.0f;
+ glfwGetWindowContentScale(CORE.Window.handle, &xScale, &yScale);
+ rlViewport(CORE.Window.renderOffset.x/2*xScale, CORE.Window.renderOffset.y/2*yScale, (CORE.Window.render.width - CORE.Window.renderOffset.x)*xScale, (CORE.Window.render.height - CORE.Window.renderOffset.y)*yScale);
+ }
+#else
+ rlViewport(CORE.Window.renderOffset.x/2, CORE.Window.renderOffset.y/2, CORE.Window.render.width - CORE.Window.renderOffset.x, CORE.Window.render.height - CORE.Window.renderOffset.y);
+#endif
rlMatrixMode(RL_PROJECTION); // Switch to projection matrix
rlLoadIdentity(); // Reset current matrix (projection)