@ -405,6 +405,27 @@ const GodotDisplay = {
$GodotDisplay _ _deps : [ '$GodotConfig' , '$GodotRuntime' , '$GodotDisplayCursor' , '$GodotDisplayListeners' , '$GodotDisplayDragDrop' , '$GodotDisplayGamepads' ] ,
$GodotDisplay : {
window _icon : '' ,
findDPI : function ( ) {
function testDPI ( dpi ) {
return window . matchMedia ( ` (max-resolution: ${ dpi } dpi) ` ) . matches ;
}
function bisect ( low , high , func ) {
const mid = parseInt ( ( ( high - low ) / 2 ) + low , 10 ) ;
if ( high - low <= 1 ) {
return func ( high ) ? high : low ;
}
if ( func ( mid ) ) {
return bisect ( low , mid , func ) ;
}
return bisect ( mid , high , func ) ;
}
try {
const dpi = bisect ( 0 , 800 , testDPI ) ;
return dpi >= 96 ? dpi : 96 ;
} catch ( e ) {
return 96 ;
}
} ,
} ,
godot _js _display _is _swap _ok _cancel _ _sig : 'i' ,
@ -422,6 +443,11 @@ const GodotDisplay = {
window . alert ( GodotRuntime . parseString ( p _text ) ) ; // eslint-disable-line no-alert
} ,
godot _js _display _screen _dpi _get _ _sig : 'i' ,
godot _js _display _screen _dpi _get : function ( ) {
return GodotDisplay . findDPI ( ) ;
} ,
godot _js _display _pixel _ratio _get _ _sig : 'f' ,
godot _js _display _pixel _ratio _get : function ( ) {
return window . devicePixelRatio || 1 ;