Commit 2acd99da authored by Roman Sedaikin's avatar Roman Sedaikin

Added initial dpi scaling setup.

parent 841c676f
...@@ -103,11 +103,15 @@ AWTGLLayer *glLayer; ...@@ -103,11 +103,15 @@ AWTGLLayer *glLayer;
- (void) syncSize - (void) syncSize
{ {
self.glLayer.bounds = self.caLayer.bounds;
self.glLayer.frame = self.caLayer.frame;
float scaleFactor = [[self.window screen] backingScaleFactor]; float scaleFactor = [[self.window screen] backingScaleFactor];
if (scaleFactor == 0) {
return;
}
self.caLayer.contentsScale = scaleFactor; self.caLayer.contentsScale = scaleFactor;
self.glLayer.contentsScale = scaleFactor; self.glLayer.contentsScale = scaleFactor;
self.glLayer.bounds = self.caLayer.bounds;
self.glLayer.frame = self.caLayer.frame;
} }
- (void) update - (void) update
...@@ -141,7 +145,7 @@ extern jboolean Skiko_GetAWT(JNIEnv* env, JAWT* awt); ...@@ -141,7 +145,7 @@ extern jboolean Skiko_GetAWT(JNIEnv* env, JAWT* awt);
JNIEXPORT void JNICALL Java_org_jetbrains_skiko_HardwareLayer_updateLayer(JNIEnv *env, jobject window) JNIEXPORT void JNICALL Java_org_jetbrains_skiko_HardwareLayer_updateLayer(JNIEnv *env, jobject window)
{ {
if (windowsSet != nil) { if (windowsSet != nil || [windowsSet count] > 0) {
LayersSet *layer = findByObject(env, window); LayersSet *layer = findByObject(env, window);
if (layer != NULL) { if (layer != NULL) {
if (layer.caLayer == NULL && layer.glLayer == NULL) { if (layer.caLayer == NULL && layer.glLayer == NULL) {
...@@ -221,7 +225,13 @@ JNIEXPORT void JNICALL Java_org_jetbrains_skiko_HardwareLayer_updateLayer(JNIEnv ...@@ -221,7 +225,13 @@ JNIEXPORT void JNICALL Java_org_jetbrains_skiko_HardwareLayer_updateLayer(JNIEnv
[layersSet.glLayer setWindowRef: windowRef]; [layersSet.glLayer setWindowRef: windowRef];
[layersSet setWindowRef: windowRef]; [layersSet setWindowRef: windowRef];
[layersSet syncSize];
NSScreen *screen = [NSScreen mainScreen];
float scaleFactor = screen.backingScaleFactor;
layersSet.caLayer.contentsScale = scaleFactor;
layersSet.glLayer.contentsScale = scaleFactor;
layersSet.glLayer.bounds = layersSet.caLayer.bounds;
layersSet.glLayer.frame = layersSet.caLayer.frame;
} }
ds->FreeDrawingSurfaceInfo(dsi); ds->FreeDrawingSurfaceInfo(dsi);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment