v2 / vlib / gg / gg_android_outside_termux.c.v
21 lines · 17 sloc · 618 bytes · f0ce7fb9d3aff239d9ca3c7971497cc18dd606ec
Raw
1module gg
2
3import os
4import sokol.sapp
5
6#include <android/configuration.h>
7
8fn C.AConfiguration_new() voidptr
9fn C.AConfiguration_fromAssetManager(voidptr, voidptr)
10fn C.AConfiguration_getDensity(voidptr) u32
11fn C.AConfiguration_delete(voidptr)
12
13// android_dpi_scale returns the scale factor of the device.
14pub fn android_dpi_scale() f32 {
15 config := C.AConfiguration_new()
16 activity := &os.NativeActivity(sapp.android_get_native_activity())
17 C.AConfiguration_fromAssetManager(config, activity.assetManager)
18 density := C.AConfiguration_getDensity(config)
19 C.AConfiguration_delete(config)
20 return f32(density) / 160
21}
22