瀏覽代碼

improved calculation of screen resolution on ios

romulox_x 10 年之前
父節點
當前提交
ef173a2c9c
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      platform/iphone/gl_view.mm

+ 3 - 2
platform/iphone/gl_view.mm

@@ -352,8 +352,9 @@ static void clear_touches() {
 	// Generate IDs for a framebuffer object and a color renderbuffer
 	UIScreen* mainscr = [UIScreen mainScreen];
 	printf("******** screen size %i, %i\n", (int)mainscr.currentMode.size.width, (int)mainscr.currentMode.size.height);
-	if (mainscr.currentMode.size.width == 640 || mainscr.currentMode.size.width == 960) // modern iphone, can go to 640x960
-		self.contentScaleFactor = 2.0;
+	float minPointSize = MIN(mainscr.bounds.size.width, mainscr.bounds.size.height);
+	float minScreenSize = MIN(mainscr.currentMode.size.width, mainscr.currentMode.size.height);
+	self.contentScaleFactor = minScreenSize / minPointSize;
 
 	glGenFramebuffersOES(1, &viewFramebuffer);
 	glGenRenderbuffersOES(1, &viewRenderbuffer);