37 lines
1.6 KiB
Haxe
37 lines
1.6 KiB
Haxe
package funkin.external.apple;
|
|
|
|
#if ((ios || macos) && cpp)
|
|
/**
|
|
* A utility class to get screen related informations on apple devices.
|
|
*/
|
|
@:build(funkin.util.macro.LinkerMacro.xml('project/Build.xml'))
|
|
@:include('ScreenUtil.hpp')
|
|
@:unreflective
|
|
extern class ScreenUtil
|
|
{
|
|
/**
|
|
* Retrieves the safe area insets for the current screen on iOS devices.
|
|
*
|
|
* This function populates the provided pointers with the safe area insets (in pixels) for the top, bottom, left, and right edges of the screen.
|
|
* On iOS 11 and later, it uses the main window's safeAreaInsets and converts them to pixel values using the screen scale.
|
|
* On earlier iOS versions, all insets are set to 0.0.
|
|
*
|
|
* @param top Pointer to a double to receive the top safe area inset (in pixels).
|
|
* @param bottom Pointer to a double to receive the bottom safe area inset (in pixels).
|
|
* @param left Pointer to a double to receive the left safe area inset (in pixels).
|
|
* @param right Pointer to a double to receive the right safe area inset (in pixels).
|
|
*/
|
|
@:native('Apple_ScreenUtil_GetSafeAreaInsets')
|
|
static function getSafeAreaInsets(top:cpp.RawPointer<Float>, bottom:cpp.RawPointer<Float>, left:cpp.RawPointer<Float>, right:cpp.RawPointer<Float>):Void;
|
|
|
|
/**
|
|
* Retrieves the size of the main screen in pixels.
|
|
*
|
|
* @param width Pointer to a double where the screen width (in pixels) will be stored.
|
|
* @param height Pointer to a double where the screen height (in pixels) will be stored.
|
|
*/
|
|
@:native('Apple_ScreenUtil_GetScreenSize')
|
|
static function getScreenSize(width:cpp.RawPointer<Float>, height:cpp.RawPointer<Float>):Void;
|
|
}
|
|
#end
|