def get_density(self, force_recompute=False): if not force_recompute and self._density is not None: return self._density value = 1.0 if platform == 'android': import jnius Hardware = jnius.autoclass('org.renpy.android.Hardware') value = Hardware.metrics.scaledDensity elif platform == 'ios': import ios value = ios.get_scale() elif platform in ('macosx', 'win'): value = self.dpi / 96. sync_pixel_scale(density=value) return value
def density(self): '''Return the density of the screen. This value is 1 by default on desktop, and varies on android depending the screen. ''' custom_density = environ.get('KIVY_METRICS_DENSITY') if custom_density: return float(custom_density) if platform() == 'android': import jnius Hardware = jnius.autoclass('org.renpy.android.Hardware') return Hardware.metrics.scaledDensity elif platform() == 'ios': # 0.75 is for mapping the same density as android tablet import ios return ios.get_scale() * 0.75 return 1.0
def density(self): '''Return the density of the screen. This value is 1 by default on desktops but varies on android depending on the screen. ''' custom_density = environ.get('KIVY_METRICS_DENSITY') if custom_density: return float(custom_density) if platform == 'android': import jnius Hardware = jnius.autoclass('org.renpy.android.Hardware') return Hardware.metrics.scaledDensity elif platform == 'ios': import ios return ios.get_scale() elif platform == 'macosx': from kivy.base import EventLoop EventLoop.ensure_window() return EventLoop.window.dpi / 96. return 1.0