![]() |
Murl Engine Lua Addon API
Version 1.0 beta
|
The application configuration interface defines the application-specific settings which can be modified during runtime.
(!) Specific platform implementations may not react on all modifications.
Get the const platform configuration object.
Murl.IPlatformConfiguration GetPlatformConfiguration()
Get the const engine configuration object.
Murl.IEngineConfiguration GetEngineConfiguration()
Check is any configuration setting has changed.
Boolean, Murl.ChangeInspector HasChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Register the app with this configuration.
Boolean RegisterApp(Murl.IApp app)
app | The app to register. |
Unregister the app from this configuration.
Boolean UnregisterApp(Murl.IApp app)
app | The app to unregister. |
Check if the current user-defined configuration is matching a given ID.
Boolean IsUserConfigurationMatching(String userConfigId)
userConfigId | The ID of the user-defined config to check. |
Set the window title. The window title is displayed on desktop platforms only. The window title can be modified during runtime.
The OSX platform uses the window title to replace "%@" in the interface builder's main window title.
The default window title is "Murl Engine". On OSX and iOS the window title is set to the CFBundleExecutable identifier.
SetWindowTitle(String title)
title | The window title string. |
Get the window title.
String GetWindowTitle()
Check if the window title has changed.
Boolean, Murl.ChangeInspector HasWindowTitleChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current language. The current language can be modified during runtime.
The default current language is IEnums::LANGUAGE_ENGLISH.
SetLanguage(Murl.IEnums.Language language)
language | The current language. |
Get the current language.
Murl.IEnums.Language GetLanguage()
Check if the current language is matching a given one.
Boolean IsLanguageMatching(Murl.IEnums.Language language)
language | The language to check. |
Check if the current language has changed.
Boolean, Murl.ChangeInspector HasLanguageChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current currency symbol.
SetCurrencySymbol(String currencySymbol)
currencySymbol | The current currency symbol. |
Get the current currency symbol.
String GetCurrencySymbol()
Check if the current currency symbol has changed.
Boolean, Murl.ChangeInspector HasCurrencySymbolChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current currency code.
SetCurrencyCode(String currencyCode)
currencyCode | The current currency code. |
Get the current international currency symbol. A country typically has a local currency symbol and an international currency symbol.
The local symbol is used within the country, while the international currency symbol is used in international contexts to specify that country’s currency unambiguously.
String GetCurrencyCode()
Check if the current currency code has changed.
Boolean, Murl.ChangeInspector HasCurrencyCodeChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current decimal separator.
SetDecimalSeparator(String decimalSeparator)
decimalSeparator | The current decimal separator. |
Get the current decimal separator.
String GetDecimalSeparator()
Check if the current decimal separator has changed.
Boolean, Murl.ChangeInspector HasDecimalSeparatorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current grouping separator.
SetGroupingSeparator(String groupingSeparator)
groupingSeparator | The current grouping separator. |
Get the current grouping separator.
String GetGroupingSeparator()
Check if the current grouping separator has changed.
Boolean, Murl.ChangeInspector HasGroupingSeparatorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current application run state. The current application run state is typically modified by the platform depending on the IEngineConfiguration::SetDeactivatedAppRunState().
Run state changes are reported to the application by calling the Logic::IEngineProcessor::RunStateChanged() method which calls Logic::IAppProcessor::OnRunStateChanged() for all child processors.
SetAppRunState(Murl.IEnums.AppRunState appRunState)
appRunState | The current application run state. |
Get the current application run state.
Murl.IEnums.AppRunState GetAppRunState()
Check if the current application run state has changed.
Boolean, Murl.ChangeInspector HasAppRunStateChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the memory warning state. The memory warning state is typically set by the iOS platform to signal low memory from ApplicationDidReceiveMemoryWarning. On Android this state is set/cleared if the ActivityManager.MemoryInfo() lowMemory member changes (updated each frame).
SetMemoryWarning(Boolean warn)
warn | The memory warning state. |
Get the memory warning state.
Boolean GetMemoryWarning()
Check if the memory warning state has changed.
Boolean, Murl.ChangeInspector HasMemoryWarningChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable/disable automatic resource eviction. If enabled, all nodes in the scene graph for which automatic swapping is enabled (set via Graph::INode::SetAutomaticSwappingEnabled() or via the node's "enableAutomaticSwapping" XML attribute) will also try to evict any additional resources (e.g. texture memory surfaces) to save memory. However, when these nodes are restored later on, there may be an extra performance cost for re-creating these resources at run time. By default, automatic eviction is disabled; it is considered good practice to only enable it once a memory warning occurred (see GetMemoryWarning()). Note that when manual swapping is enabled on a node (via "enableManualSwapping" or Graph::INode::SetManualSwappingEnabled()), the engine always tries to evict the node's resources when manual swapping is triggered via Graph::IRoot::TriggerSwapping().
SetAutomaticResourceEvictionEnabled(Boolean enabled)
enabled | If true, automatic resource eviction is enabled. |
Check if automatic resource eviction is enabled.
Boolean IsAutomaticResourceEvictionEnabled()
Check if the automatic resource eviction property has changed.
Boolean, Murl.ChangeInspector HasAutomaticResourceEvictionEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the multi-touch functionality. Activate to receive data by multiple Input::ITouchScreenDevice instances.
This feature is currently supported by iOS platform only. This feature can be activated / deactivated during runtime.
The default multi-touch activation state is true.
SetMultiTouchActive(Boolean enable)
enable | true to enable the multi-touch functionality. |
Check if the multi-touch functionality is activated.
Boolean IsMultiTouchActive()
Check if the multi-touch activation state has changed.
Boolean, Murl.ChangeInspector HasMultiTouchActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the accelerometer functionality. Activate to receive data by the Input::IAccelerometerDevice.
This feature is currently supported by iOS and Android platform. This feature can be activated / deactivated during runtime.
The default accelerometer activation state is false.
SetAccelerometerActive(Boolean enable)
enable | true to enable the accelerometer functionality. |
Check if the accelerometer functionality is activated.
Boolean IsAccelerometerActive()
Check if the accelerometer activation state has changed.
Boolean, Murl.ChangeInspector HasAccelerometerActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the accelerometer frequency. This feature is currently supported by iOS platform only. This feature can be activated / deactivated during runtime.
The default accelerometer frequency is 60.
SetAccelerometerFrequency(Integer frequency)
frequency | The accelerometer frequency in samples per second. |
Get the accelerometer frequency.
Integer GetAccelerometerFrequency()
Check if the accelerometer frequency has changed.
Boolean, Murl.ChangeInspector HasAccelerometerFrequencyChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the gyroscope functionality. Activate to receive data by the Input::IGyroscopeDevice.
This feature is currently supported by iOS and Android platform. This feature can be activated / deactivated during runtime.
The default gyroscope activation state is false.
SetGyroscopeActive(Boolean enable)
enable | true to enable the gyroscope functionality. |
Check if the gyroscope functionality is activated.
Boolean IsGyroscopeActive()
Check if the gyroscope activation state has changed.
Boolean, Murl.ChangeInspector HasGyroscopeActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the gyroscope frequency. This feature is currently supported by iOS platform only. This feature can be activated / deactivated during runtime.
The default gyroscope frequency is 60.
SetGyroscopeFrequency(Integer frequency)
frequency | The gyroscope frequency in samples per second. |
Get the gyroscope frequency.
Integer GetGyroscopeFrequency()
Check if the gyroscope frequency has changed.
Boolean, Murl.ChangeInspector HasGyroscopeFrequencyChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the location functionality. Activate to receive data by the Input::ILocationDevice.
This feature is currently supported by iOS, OSX and Android platform. This feature can be activated / deactivated during runtime.
The default location activation state is false.
SetLocationActive(Boolean enable)
enable | true to enable the location functionality. |
Check if the location functionality is activated.
Boolean IsLocationActive()
Check if the location activation state has changed.
Boolean, Murl.ChangeInspector HasLocationActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the location distance filter. The minimum distance a device must move horizontally before an event is generated.
This feature is currently supported by iOS, OSX and Android platform. This value can be modified during runtime on iOS and OSX only.
The default value is zero, which reports all movements.
SetLocationDistanceFilter(Number meters)
meters | The minimum distance in meters. |
Get the location distance filter.
Number GetLocationDistanceFilter()
Check if the location distance filter has changed.
Boolean, Murl.ChangeInspector HasLocationDistanceFilterChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the location accuracy. The receiver does its best to achieve the requested accuracy, however, the actual accuracy is not guaranteed. You should assign a value that is appropriate for your usage scenario. Determining a location with greater accuracy requires more time and more power.
This feature is currently supported by iOS and OSX platform. This value can be modified during runtime.
The default value is zero, which is the highest accuracy of the device.
SetLocationAccuracy(Number meters)
meters | The location accuracy in meters, if the accuracy is negative the highest possible accuracy combined with additional sensor data is used. This level of accuracy is intended for use in navigation applications that require precise position information at all times and are intended to be used only while the device is plugged in. |
Get the location accuracy.
Number GetLocationAccuracy()
Check if the location accuracy has changed.
Boolean, Murl.ChangeInspector HasLocationAccuracyChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the location purpose description. If the system needs to ask for the user’s consent to use location services, it displays the location purpose description which should explain why the application is using the location services.
This feature is currently supported by iOS and OSX platform. This value can be modified during runtime.
The default value is an empty string.
SetLocationPurpose(String purpose)
purpose | The location purpose description string. |
Get the location purpose description.
String GetLocationPurpose()
Check if the location purpose description has changed.
Boolean, Murl.ChangeInspector HasLocationPurposeChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the heading functionality. Activate to receive data by the Input::IHeadingDevice.
This feature is currently supported by iOS, OSX and Android platform. This feature can be activated / deactivated during runtime.
The default heading activation state is false.
SetHeadingActive(Boolean enable)
enable | true to enable the heading functionality. |
Check if the heading functionality is activated.
Boolean IsHeadingActive()
Check if the heading activation state has changed.
Boolean, Murl.ChangeInspector HasHeadingActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Allow the heading calibration alert. Allow to displays the heading calibration alert on top of the current window immediately if requested by the system.
This feature is currently supported by iOS platform only. This value can be modified during runtime.
The default value is true.
SetHeadingCalibrationAllowed(Boolean enable)
enable | true to allow the heading calibration alert. |
Check if the heading calibration alert is allowed.
Boolean IsHeadingCalibrationAllowed()
Check if the heading calibration alert permission has changed.
Boolean, Murl.ChangeInspector HasHeadingCalibrationAllowedChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the screen auto-rotation functionality. Requires active orientation functionality SetOrientationActive(true).
This feature is currently supported by iOS and Android platform. This value can be modified during runtime.
The default screen auto-rotation activation state is false.
SetAutoRotationActive(Boolean enable)
enable | true to allow the screen auto-rotation functionality. |
Check if the screen auto-rotation functionality is activated.
Boolean IsAutoRotationActive()
Check if the screen auto-rotation activation state has changed.
Boolean, Murl.ChangeInspector HasAutoRotationActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the duration of the screen auto-rotation animation. Describes the duration of a screen rotation by 90 degrees, if rotating by 180 degrees the time is doubled.
A duration of zero means no animation.
This feature is supported by iOS platform only. This value can be modified during runtime.
The default screen auto-rotation duration is 0.3 seconds.
SetAutoRotationDuration(Number duration)
duration | The screen auto-rotation duration in seconds. |
Get the duration of the screen auto-rotation animation.
Number GetAutoRotationDuration()
Check if the duration of the screen auto-rotation animation has changed.
Boolean, Murl.ChangeInspector HasAutoRotationDurationChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Activate the device orientation functionality. Activate to receive data by the Input::IOrientationDevice.
This feature is currently supported by iOS and Android platform. This feature can be activated / deactivated during runtime.
The default device orientation activation state is false.
SetOrientationActive(Boolean enable)
enable | true to enable the device orientation functionality. |
Check if the device orientation functionality is activated.
Boolean IsOrientationActive()
Check if the device orientation activation state has changed.
Boolean, Murl.ChangeInspector HasOrientationActiveChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the allowed screen orientations. Predefined values are IEnums::SCREEN_ORIENTATIONS_PORTRAIT, IEnums::SCREEN_ORIENTATIONS_LANDSCAPE or IEnums::SCREEN_ORIENTATIONS_ALL. Alternatively the IEnums::ScreenOrientation values can be binary or'ed.
This feature is currently supported by iOS and Android platform. This value can be modified during runtime.
The default allowed orientations is IEnums::SCREEN_ORIENTATION_DEFAULT.
SetAllowedScreenOrientations(Integer orientations)
orientations | The allowed screen orientations. |
Get the allowed screen orientations.
Integer GetAllowedScreenOrientations()
Check if the allowed screen orientations value has changed.
Boolean, Murl.ChangeInspector HasAllowedScreenOrientationsChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the current screen orientation. The current screen orientation defines the screen's orientation relative to the device.
The engine adjust's the rendering output and the input device coordinates depending on the current screen orientation.
The current screen orientation is typically set by the platform's screen auto-rotation feature, see SetAutoRotationActive().
The default screen orientation is IEnums::SCREEN_ORIENTATION_DEFAULT.
SetScreenOrientation(Murl.IEnums.ScreenOrientation orientation)
orientation | The current screen orientation. |
Get the current screen orientation.
Murl.IEnums.ScreenOrientation GetScreenOrientation()
Check if the current screen orientation has changed.
Boolean, Murl.ChangeInspector HasScreenOrientationChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the display surface orientation. The display surface orientation defines the display's rendering surface orientation relative to the device.
This is typically set by the platform implementation, applications should not modify this setting.
The default display surface orientation is IEnums::SCREEN_ORIENTATION_DEFAULT.
SetDisplaySurfaceOrientation(Murl.IEnums.ScreenOrientation orientation)
orientation | The current screen orientation. |
Get the display surface orientation. This is typically set by the platform implementation, applications should not depend on this setting.
Murl.IEnums.ScreenOrientation GetDisplaySurfaceOrientation()
Check if the display surface orientation has changed.
Boolean, Murl.ChangeInspector HasDisplaySurfaceOrientationChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Get the display-renderer orientation. The display-renderer orientation is the relative rotation for video rendering depending on the SetScreenOrientation() and the SetDisplaySurfaceOrientation() setting.
Murl.IEnums.Orientation GetDisplayRendererOrientation()
Check if the display-renderer orientation has changed.
Boolean, Murl.ChangeInspector HasDisplayRendererOrientationChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Get the combined relative portrait orientations.
Integer GetPortraitOrientations()
Get a relative portrait orientation.
Murl.IEnums.Orientation GetPortraitOrientation(Integer index)
index | The index in range [0 .. 1]. |
Check if the relative portrait orientations value has changed.
Boolean, Murl.ChangeInspector HasPortraitOrientationsChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Get the combined relative landscape orientations.
Integer GetLandscapeOrientations()
Get a relative landscape orientation.
Murl.IEnums.Orientation GetLandscapeOrientation(Integer index)
index | The index in range [0 .. 1]. |
Check if the relative landscape orientations value has changed.
Boolean, Murl.ChangeInspector HasLandscapeOrientationsChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the display surface size. The display surface size defines the video rendering size and the initial window size.
The default display surface size is set by the platform to the full screen resolution of the primary monitor.
The application can modify this setting prior to starting the engine only, e.g. IApp::Configure(). Setting the size is not supported on Android devices.
SetDisplaySurfaceSize(Integer sizeX, Integer sizeY)
sizeX | The display surface width in pixels. |
sizeY | The display surface height in pixels. |
Get the display surface width.
Integer GetDisplaySurfaceSizeX()
Get the display surface height.
Integer GetDisplaySurfaceSizeY()
Check if the display surface size has changed.
Boolean, Murl.ChangeInspector HasDisplaySurfaceSizeChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the display surface's safe margins. On devices with a notched display and/or overlaid virtual system controls (e.g. iPhone X), this specifies the margins relative to the display surface's four edges making up the area that can be safely used to display relevant content and/or input elements without being obscured.
The value for x1 stores a positive offset from the left edge of the surface, defining the leftmost pixel column to use. Likewise, y1 stores a positive offset from the bottom edge for the bottommost row. (In fact, as the surface always starts at 0/0, the values for x1 and y1 represent the actual left and top pixel coordinate of the safe area).
The values for x2 and y2 store negative offsets from the right and top edges, respectively.
Calculating the actual coordinate values can be done this way: x1 = GetDisplaySurfaceSafeMarginX1(); y1 = GetDisplaySurfaceSafeMarginY1(); x2 = GetDisplaySurfaceSafeMarginX2() + GetDisplaySurfaceSizeX(); y2 = GetDisplaySurfaceSafeMarginY2() + GetDisplaySurfaceSizeY();
Devices without a notch or virtual controls have all four values set to zero. The actual values are defined by the platform implementation.
SetDisplaySurfaceSafeMargin(Integer x1, Integer y1, Integer x2, Integer y2)
x1 | The left offset of the safe area in pixels. |
y1 | The bottom offset of the safe area in pixels. |
x2 | The right offset of the safe area in pixels. |
y2 | The top offset of the safe area in pixels. |
Get the display surface's left safe area margin.
Integer GetDisplaySurfaceSafeMarginX1()
Get the display surface's bottom safe area margin.
Integer GetDisplaySurfaceSafeMarginY1()
Get the display surface's right safe area margin.
Integer GetDisplaySurfaceSafeMarginX2()
Get the display surface's top safe area margin.
Integer GetDisplaySurfaceSafeMarginY2()
Check if the display surface's safe margins have changed.
Boolean, Murl.ChangeInspector HasDisplaySurfaceSafeMarginChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the window aspect ratio. Windows are supported on desktop platforms only.
SetWindowAspectRatio(Number ratio)
ratio | The window aspect ratio (width / height). |
Set the window aspect ratio by integer. Windows are supported on desktop platforms only.
SetWindowAspectRatio(Integer numerator, Integer denominator)
numerator | The window aspect numerator value. |
denominator | The window aspect denominator value. |
Get the window aspect ratio. Windows are supported on desktop platforms only.
Number GetWindowAspectRatio()
Get the window aspect numerator. Windows are supported on desktop platforms only.
Integer GetWindowAspectRatioNumerator()
Get the window aspect denominator. Windows are supported on desktop platforms only.
Integer GetWindowAspectRatioDenominator()
Check if the window aspect ratio has changed.
Boolean, Murl.ChangeInspector HasWindowAspectRatioChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Get the window width. The initial window width is set to the size passed to SetDisplaySurfaceSize().
Windows are supported on desktop platforms only.
Integer GetWindowSizeX()
Get the window height. The initial window height is set to the size passed to SetDisplaySurfaceSize().
Windows are supported on desktop platforms only.
Integer GetWindowSizeY()
Check if the window size has changed.
Boolean, Murl.ChangeInspector HasWindowSizeChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Lock the window aspect ratio. Windows are supported on desktop platforms only.
SetLockWindowAspectEnabled(Boolean enable)
enable | true to lock the window aspect ratio. |
Check if the window aspect ratio is locked. Windows are supported on desktop platforms only.
Boolean IsLockWindowAspectEnabled()
Check if the window aspect ratio lock has changed.
Boolean, Murl.ChangeInspector HasLockWindowAspectEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Hide the mouse cursor. The mouse cursor is supported on desktop platforms only.
SetMouseCursorHidden(Boolean hide)
hide | true to hide the mouse cursor. |
Check if the mouse cursor is hidden. The mouse cursor is supported on desktop platforms only.
Boolean IsMouseCursorHidden()
Check if the mouse cursor is hidden status has changed.
Boolean, Murl.ChangeInspector HasMouseCursorHiddenChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Disable the mouse cursor. If the mouse cursor is disabled no mouse coordinates are generated but mouse movement can be accessed by Input::IRawMouseDevice. When disabling the mouse cursor typically SetMouseCursorHidden(true) should be called too.
The mouse cursor is supported on desktop platforms only.
SetMouseCursorDisabled(Boolean disable)
disable | true to disable the mouse cursor. |
Check if the mouse cursor is disabled. The mouse cursor is supported on desktop platforms only.
Boolean IsMouseCursorDisabled()
Check if the mouse cursor is disabled status has changed.
Boolean, Murl.ChangeInspector HasMouseCursorDisabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Disable mouse input coordinate clamping. By default, input mouse coordinates are clamped to the range [-1.0 .. 1.0], which represents the actual screen bounds in view space.
SetMouseCoordinateClampingDisabled(Boolean disable)
disable | true to disable the coordinate clamping. |
Check if mouse input coordinate clamping is disabled.
Boolean IsMouseCoordinateClampingDisabled()
Check if the mouse input coordinate clamping status has changed.
Boolean, Murl.ChangeInspector HasMouseCoordinateClampingDisabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Disable the command-key. Disabling the command-key suppresses the functionallity of the windows-key.
This feature is supported on windows platforms only.
SetCommandKeyDisabled(Boolean disable)
disable | true to disable the command-key. |
Check if the command-key is disabled. This feature is supported on windows platforms only.
Boolean IsCommandKeyDisabled()
Check if the command-key is disabled status has changed.
Boolean, Murl.ChangeInspector HasCommandKeyDisabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the desired display refresh frequency. This feature is currently supported by the iOS and Android platforms only. This feature can be activated / deactivated during runtime. The default desired display refresh frequency is 60 frames per second.
SetDisplayRefreshFrequency(Integer frequency, Integer forcedFrames)
frequency | The display refresh frequency in frames per second. |
forcedFrames | The number of frames to subsequently force the internal clock's frame duration to the value calculated from the desired frame rate, or 0 if forcing should not be done. |
Get the display refresh frequency.
Integer GetDisplayRefreshFrequency()
Get the number of frames the frame duration is forced to the selected frame rate.
Integer GetDisplayRefreshFrequencyForcedFrames()
Check if the display refresh frequency has changed.
Boolean, Murl.ChangeInspector HasDisplayRefreshFrequencyChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the internal clock's maximum frame delta limit. The default limit is 1.0 seconds.
SetClockDeltaLimit(Number seconds)
seconds | The upper frame duration limit in seconds. |
Get the internal clock's maximum frame delta limit.
Number GetClockDeltaLimit()
Check if the maximum frame delta limit has changed.
Boolean, Murl.ChangeInspector HasClockDeltaLimitChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the internal clock's time base factor. The default time base factor is 1.0.
SetClockTimeBase(Number factor)
factor | The time base factor. |
Get the internal clock's time base factor.
Number GetClockTimeBase()
Check if the clock time base has changed.
Boolean, Murl.ChangeInspector HasClockTimeBaseChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the internal clock's averaging factor. The default averaging factor is 0.1.
SetClockAveragingFactor(Number factor)
factor | The averaging factor. |
Get the internal clock's averaging factor.
Number GetClockAveragingFactor()
Check if the clock's averaging factor has changed.
Boolean, Murl.ChangeInspector HasClockAveragingFactorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set run loop trigger hints.
SetRunLoopTriggers(Integer triggers)
triggers | A combination of IEnums::RunLoopTrigger values. |
Get run loop trigger hints.
Integer GetRunLoopTriggers()
Check if the run loop triggers have changed.
Boolean, Murl.ChangeInspector HasRunLoopTriggersChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable the full screen display. The full screen display is a borderless window which covers the entire screen of the window's current monitor.
The default full screen display state is enabled. Windows are supported on desktop platforms only.
SetFullScreenEnabled(Boolean enable)
enable | true to enable the full screen display. |
Check if the full screen display is enabled. Windows are supported on desktop platforms only.
Boolean IsFullScreenEnabled()
Check if the full screen display status has changed.
Boolean, Murl.ChangeInspector HasFullScreenEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable or disable auto-hiding of the home indicator on iOS 11+ devices, if present. If enabled the home indicator will automatically be hidden when there is no user input for a certain amount of time.
This option is only available on devices that do not have a physical home button and show a virtual home indicator instead, such as iPhone X/XS/XR etc. On all other devices, setting this option has no effect.
The default value is true.
SetIosHomeIndicatorAutoHiddenEnabled(Boolean enabled)
enabled | true to enable. |
Check if auto-hiding of the home indicator is enabled.
Boolean IsIosHomeIndicatorAutoHiddenEnabled()
Check if auto-hiding of the home indicator has changed.
Boolean, Murl.ChangeInspector HasIosHomeIndicatorAutoHiddenChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set screen edges with user gesture precedence over system gestures. This option is only available for iOS 11+ devices. On all other devices, setting this option has no effect.
The default value specifies all edges.
SetIosPreferredScreenEdgesDeferringSystemGestures(Integer edges)
edges | A bit mask of preferred edges. |
Get screen edges with user gesture precedence over system gestures.
Integer GetIosPreferredScreenEdgesDeferringSystemGestures()
Check if user gesture precedence edges have changed.
Boolean, Murl.ChangeInspector HasIosPreferredScreenEdgesDeferringSystemGesturesChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable or disable low profile mode for navigation bars on Android devices. If enabled the navigation bar will switch to (dimmed) low profile mode.
This option is only available on devices where the Android API level is greater than or equal to 14 (Android 4.0 ICE_CREAM_SANDWICH). Enabling this feature will have no effect on devices with API level smaller than 14.
The default value is false.
SetAndroidLowProfileNavigationBarEnabled(Boolean enabled)
enabled | true to enable. |
Check if the low profile mode for navigation bars is enabled.
Boolean IsAndroidLowProfileNavigationBarEnabled()
Check if the low profile mode has changed.
Boolean, Murl.ChangeInspector HasAndroidLowProfileNavigationBarChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable or disable the hide navigation bar feature on Android devices. If enabled the app will hide the navigation bar and set the Immersive_Sticky_Flag. When system bars are hidden in immersive mode, they can be revealed temporarily with system gestures, such as swiping from the top of the screen. These transient system bars will overlay app’s content, may have some degree of transparency, and will automatically hide after a short timeout.
This option is only available on devices where the Android API level is greater than or equal to 18 (Android 4.4 KITKAT). Enabling this feature will have no effect on devices with API level smaller than 18.
The default value is false.
SetAndroidHideNavigationBarImmersiveStickyEnabled(Boolean enabled)
enabled | true to enable. |
Check if the hide navigation bar feature is enabled.
Boolean IsAndroidHideNavigationBarImmersiveStickyEnabled()
Check if the hide navigation bar feature has changed.
Boolean, Murl.ChangeInspector HasAndroidHideNavigationBarImmersiveStickyChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable the system debug-info display. The system debug-info display is available if the built-in "debug" resource package is loaded.
The default system debug-info state is enabled.
SetSystemDebugInfoEnabled(Boolean enable)
enable | true to enable the system debug-info display. |
Check if the system debug-info display is enabled.
Boolean IsSystemDebugInfoEnabled()
Check if the system debug-info status has changed.
Boolean, Murl.ChangeInspector HasSystemDebugInfoEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the system debug-info scale factor. The system debug-info display is available if the built-in "debug" resource package is loaded.
The default system debug-info scale factor is 1.
SetSystemDebugInfoScaleFactor(Number factor)
factor | The system debug-info scale factor. |
Get the system debug-info scale factor.
Number GetSystemDebugInfoScaleFactor()
Check if the system debug-info scale factor has changed.
Boolean, Murl.ChangeInspector HasSystemDebugInfoScaleFactorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Select which items to display in the system debug info display. This method can be used to manually select which debug info should be displayed. The itemMask parameter represents a bit mask of individual IEnums::StatisticItem values.
SetSystemDebugInfoItems(Integer itemMask)
itemMask | The bit mask of items to display. |
Get the bit mask of displayed debug info items.
Integer GetSystemDebugInfoItems()
Check if the system debug-info items have changed.
Boolean, Murl.ChangeInspector HasSystemDebugInfoItemsChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable the user debug-info display. The user debug-info display is available if the built-in "debug" resource package is loaded. The user debug-info can be set by Logic::IState::SetUserDebugMessage().
The default user debug-info state is enabled.
SetUserDebugInfoEnabled(Boolean enable)
enable | true to enable the user debug-info display. |
Check if the user debug-info display is enabled.
Boolean IsUserDebugInfoEnabled()
Check if the user debug-info status has changed.
Boolean, Murl.ChangeInspector HasUserDebugInfoEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the user debug-info scale factor. The user debug-info display is available if the built-in "debug" resource package is loaded. The user debug-info can be set by Logic::IState::SetUserDebugMessage().
The default user debug-info scale factor is 1.
SetUserDebugInfoScaleFactor(Number factor)
factor | The user debug-info scale factor. |
Get the user debug-info scale factor.
Number GetUserDebugInfoScaleFactor()
Check if the user debug-info scale factor has changed.
Boolean, Murl.ChangeInspector HasUserDebugInfoScaleFactorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Enable the debug mouse pointer. The debug mouse pointer is available if the built-in "debug" resource package is loaded.
The default debug mouse pointer state is disabled.
SetDebugMouseEnabled(Boolean enable)
enable | true to enable the debug mouse pointer. |
Check if the debug mouse pointer is enabled.
Boolean IsDebugMouseEnabled()
Check if the debug mouse pointer status has changed.
Boolean, Murl.ChangeInspector HasDebugMouseEnabledChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the debug mouse pointer scale factor. The debug mouse pointer is available if the built-in "debug" resource package is loaded.
The default debug mouse pointer scale factor is 1.
SetDebugMouseScaleFactor(Number factor)
factor | The debug mouse pointer scale factor. |
Get the debug mouse pointer scale factor.
Number GetDebugMouseScaleFactor()
Check if the debug mouse pointer scale factor has changed.
Boolean, Murl.ChangeInspector HasDebugMouseScaleFactorChanged(Murl.ChangeInspector inspector)
inspector | The change inspector. |
Set the trace/error items' verbosity bit mask. The itemMask parameter represents a bit mask of individual values from the IEnums::DebugOutputFunctionItem enumeration, which can be used to select individual items to trace for each function/method call.
SetDebugOutputFunctionVerbosity(Integer itemMask)
itemMask | The trace item bit mask. |
Get the trace items' bit mask.
Integer GetDebugOutputFunctionVerbosity()
Set the global trace level used in MURL_TRACE macros. When running a debug build, only those trace messages are printed whose trace level is equal or below the value specified using this method. In a release build, all calls to MURL_TRACE macros are removed, so no tracing occurs at all. By default, the trace level is set to 1, which enables basic engine traces. Increase the level to get more detailed traces from the engine, currently the most detailed level is 3. The default application trace level is 0, so a value of 0 disables all engine traces and only prints app-specific messages. To further filter app traces, the level can also be set to negative values. The trace level can also be changed at run-time, so it is possible to only activate more detailed traces when a specific (user-defined) condition is met.
SetDebugTraceLevel(Integer level)
level | The global trace level. |
Get the global trace level used in MURL_TRACE macros.
Integer GetDebugTraceLevel()
Set the trace verbosity for scene graph tracker messages. A level <= 0 disables both errors and warnings, a level of 1 enables only errors and a level >= 2 enables both. By default, in release builds a trace level of 1 is set, and for debug builds a level of 2.
SetTrackerTraceLevel(Integer level)
level | The tracker trace level. |
Get the trace verbosity for scene graph tracker messages.
Integer GetTrackerTraceLevel()