KodeGarden icon indicating copy to clipboard operation
KodeGarden copied to clipboard

Panel Arrangement is unusable

Open jpryne opened this issue 5 years ago • 17 comments

On Windows 10, I consistently get an unusable window arrangement, as shown in the image below. This may be due to having multiple monitors, as I also have an Oculus Rift installed.

kha

jpryne avatar Apr 09 '19 15:04 jpryne

Different DPI scaling options per monitor? Same in other browsers?

RobDangerous avatar Apr 09 '19 15:04 RobDangerous

Toolkit.autoScale = false should fix that before kodegarden loads, i can make the change but need a little bit of time as i dont have anything setup for KG. Before this line should work: https://github.com/Kode/KodeGarden/blob/master/Client/src/Main.hx#L8

I would be interested to see what Screen.instance.dpi returns in this case also

ianharrigan avatar Apr 10 '19 05:04 ianharrigan

This may also be due to my Windows Accessability settings, as I often enlarge the text for easy reading.

@ianharrigan Not sure if I'm doing it right, but when I enter "Screen.instance.dpi" into the console, "TypeError: Screen.instance is undefined", though "Screen" is recognized.

jpryne avatar Apr 11 '19 17:04 jpryne

Yeah, thats probably not going to work - haxeui doesnt expose the classes by default, the Screen you are seeing is the browsers, not haxeui's.

Can you run this .html (attached) click the button and paste the values? The easiest option would to probably just switch off autoscaling, or change the threshold, would be interesting to see what the values are for your system though.

Cheers, Ian

html5.zip

For reference, i get:

image

ianharrigan avatar Apr 12 '19 05:04 ianharrigan

image

jpryne avatar Apr 12 '19 17:04 jpryne

Also, I have a 4K monitor, though I typically have it set to 1080p.

jpryne avatar Apr 12 '19 17:04 jpryne

... that'll do it... i wonder why your dpi is so high though... Looking at how haxeui-html5 calcs this.

ianharrigan avatar Apr 12 '19 17:04 ianharrigan

    public static function get_dpi():Float {
        if (_dpi != 0) {
            return _dpi;
        }

        var div = Browser.document.createElement("div");
        div.style.width = "1in";
        div.style.height = "1in";
        div.style.position = "absolute";
        div.style.top = "-99999px"; // position off-screen!
        div.style.left = "-99999px"; // position off-screen!
        Browser.document.body.appendChild(div);
        
        var devicePixelRatio:Null<Float> = Browser.window.devicePixelRatio;
        if (devicePixelRatio == null) {
            devicePixelRatio = 1;
        }
        
        _dpi = div.offsetWidth * devicePixelRatio;
        HtmlUtils.removeElement(div);
        return _dpi;
    }

Seems like its a little complex... wonder how this can be improved.

ianharrigan avatar Apr 12 '19 17:04 ianharrigan

Maybe it's grabbing specs from my Oculus Rift? (High resolution, small screen)

jpryne avatar Apr 12 '19 17:04 jpryne

My window.devicePixelRatio is 2.5 (96 * 2.5 = 240)

jpryne avatar Apr 12 '19 17:04 jpryne

i wonder why? The easy option here is to turn of auto scaling in haxeui, its not needed for KG, but its a strange one regardless

ianharrigan avatar Apr 12 '19 17:04 ianharrigan

I'm using a 4K uhdtv as my main screen. (I'm Batman.) :|

jpryne avatar Apr 12 '19 17:04 jpryne

is that detectable? Can you think of there being a better way to calc this dpi setting?

ianharrigan avatar Apr 12 '19 17:04 ianharrigan

I hope not. It's supposed to be a secr- oh, you mean the dpi? Is it important for the graphics? Seems logical to let the browser handle it.

jpryne avatar Apr 12 '19 17:04 jpryne

Yeah, autoScaling off would fix it...

ianharrigan avatar Apr 12 '19 17:04 ianharrigan

Ok, how do I turn off autoScaling?

jpryne avatar Apr 15 '19 16:04 jpryne

the Toolkit.autoScale needs to be set to false before the app starts, its not something that can be changed at runtime... i can make a "blind" PR but dont want to build it as my version of haxeui is no doubt different and i dont have a setup to run kodegarden locally at the moment.

ianharrigan avatar Apr 24 '19 09:04 ianharrigan