Murl Engine Lua Addon API  Version 1.0 beta
Murl.IEngineConfiguration

The engine configuration interface defines the engine-specific settings which can be modified prior to starting the engine only, e.g.

IApp::Configure().


Table members

Methods


GetPlatformConfiguration()

Get the const platform configuration object.

Murl.IPlatformConfiguration GetPlatformConfiguration()

Returns
Murl.IPlatformConfiguration The platform configuration object.

GetAppConfiguration()

Get the application configuration object.

Murl.IAppConfiguration GetAppConfiguration()

Returns
Murl.IAppConfiguration The application configuration object.

HasChanged(inspector)

Check is any configuration setting has changed.

Boolean, Murl.ChangeInspector HasChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if any configuration setting has changed.
Murl.ChangeInspector inspector The change inspector.

GetDefaultGraphParameters()

Get the constant set of default graph parameters.

Murl.IAttributes GetDefaultGraphParameters()

Returns
Murl.IAttributes The constant parameters object.

GetFeatures()

Get the const feature set object.

Murl.IFeatureSet GetFeatures()

Returns
Murl.IFeatureSet The const feature set object.

GetMajorRevision()

Get the major revision of the engine.

Integer GetMajorRevision()

Returns
Integer The major revision of the engine.

GetMinorRevision()

Get the minor revision of the engine.

Integer GetMinorRevision()

Returns
Integer The minor revision of the engine.

GetBuildNumber()

Get the build number of the engine.

Integer GetBuildNumber()

Returns
Integer The build number of the engine.

GetReleaseState()

Get the release state string of the engine.

String GetReleaseState()

Returns
String The release state string of the engine.

GetVersionString()

Get the version string of the engine.

String GetVersionString()

Returns
String The version string of the engine.

GetCopyrightString()

Get the copyright string of the engine.

String GetCopyrightString()

Returns
String The copyright string of the engine.

GetLicenseKey()

Get the licence key data object.

Murl.ConstData GetLicenseKey()

Returns
Murl.ConstData The licence key data object.

SetLogFileName(logFileName)

Set the log file name. If the log file name is set, all MURL_TRACE, MURL_ERROR and MURL_ASSERT messages are written into the file.

The default log file name is empty.

SetLogFileName(String logFileName)

Parameters
logFileNameThe log file name, see also SetLogFileFullPath().

GetLogFileName()

Get the log file name.

String GetLogFileName()

Returns
String The log file name, see also GetLogFileFullPath().

SetLogFileFullPath(logFilePath)

Set the log file full path.

SetLogFileFullPath(String logFilePath)

Parameters
logFilePathThe log file full path, see also SetLogFileName().

GetLogFileFullPath()

Get the log file full path.

String GetLogFileFullPath()

Returns
String The log file full path, see also GetLogFileName().

SetRunLoopMode(runLoopMode)

Set the engine's run loop mode.

SetRunLoopMode(Murl.IEnums.RunLoopMode runLoopMode)

Parameters
runLoopModeThe run loop mode.

GetRunLoopMode()

Get the engine's run loop mode.

Murl.IEnums.RunLoopMode GetRunLoopMode()

Returns
Murl.IEnums.RunLoopMode The run loop mode.

SetBootTime(time)

Set the boot time.

SetBootTime(Murl.System.Time time)

Parameters
timeThe boot time in number of seconds since 00:00 hours, Jan 1, 1970 UTC.

GetBootTime()

Get the boot time.

Murl.System.Time GetBootTime()

Returns
Murl.System.Time The boot time in number of seconds since 00:00 hours, Jan 1, 1970 UTC or zero if not set by the platform implementation.

HasBootTimeChanged(inspector)

Check if the boot time has changed.

Boolean, Murl.ChangeInspector HasBootTimeChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the boot time has changed.
Murl.ChangeInspector inspector The change inspector.

SetNowMonotonic(monotonic)

Sets the behaviour of Murl::System::GetNow. Default is false.

SetNowMonotonic(Boolean monotonic)

Parameters
monotonictrue to force GetNow returning monotonic values

IsNowMonotonic()

Check if Murl::System::GetNow is monotonic.

Boolean IsNowMonotonic()

Returns
Boolean true if GetNow returns monotonic time.

HasNowMonotonicChanged(inspector)

Check if GetNow behaviour has changed.

Boolean, Murl.ChangeInspector HasNowMonotonicChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if GetNow behaviour has changed.
Murl.ChangeInspector inspector The change inspector.

SetProductName(productName)

Set the product name. The product name is used to create a subfolder for IEnums::FILE_CATEGORY_CACHE, IEnums::FILE_CATEGORY_PRIVATE, and IEnums::FILE_CATEGORY_TEMPORARY except on iOS.

The OSX platform uses the product name to replace "%@" in all interface builder's menu items.

On OSX and iOS the product name is set to the kCFBundleExecutableKey identifier.
On Android the product name is set to the application android:label from the manifest.
On Win32 the product name is set to the "ProductName" from version info resource.

SetProductName(String productName)

Parameters
productNameThe product name.

GetProductName()

Get the product name.

String GetProductName()

Returns
String The product name or "MurlApp" if not set by the platform implementation.

HasProductNameChanged(inspector)

Check if the product name has changed.

Boolean, Murl.ChangeInspector HasProductNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the product name has changed.
Murl.ChangeInspector inspector The change inspector.

SetVersionName(versionName)

Set the app version name. On OSX and iOS the app version name is set to the kCFBundleVersionKey identifier.
On Android the app version name is set to the android:versionName from the manifest.
On Win32 the app version name is set to the "ProductVersion" from version info resource.

SetVersionName(String versionName)

Parameters
versionNameThe app version name.

GetVersionName()

Get the app version name.

String GetVersionName()

Returns
String The app version name or "N/A" if not set by the platform implementation.

HasVersionNameChanged(inspector)

Check if the app version name has changed.

Boolean, Murl.ChangeInspector HasVersionNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the app version name has changed.
Murl.ChangeInspector inspector The change inspector.

SetAudioSessionCategory(sessionCategory)

Set the audio session category. Setting the audio session category effects the IMusicPlayerControl only.

If IEnums::AUDIO_SESSION_CATEGORY_MIX_AMBIENT_IF_PLAYING is set, the system's audio session is set to mix ambient if another audio is playing otherwise the system's audio session is not set (default category behaviour). After IApp::Configure() the IMusicPlayerControl::GetPlaybackState() returns IMusicPlayerControl::PLAYBACK_PLAYING if another audio was playing at app start until a IMusicPlayerControl::MusicPlayer is selected.

The default audio session category is IEnums::AUDIO_SESSION_CATEGORY_DEFAULT.

SetAudioSessionCategory(Murl.IEnums.AudioSessionCategory sessionCategory)

Parameters
sessionCategoryThe audio session category.

GetAudioSessionCategory()

Get the audio session category. The IMusicPlayerControl does not change this item.

Murl.IEnums.AudioSessionCategory GetAudioSessionCategory()

Returns
Murl.IEnums.AudioSessionCategory The audio session category.

HasAudioSessionCategoryChanged(inspector)

Check if the audio session category has changed.

Boolean, Murl.ChangeInspector HasAudioSessionCategoryChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the audio session category has changed.
Murl.ChangeInspector inspector The change inspector.

SetVideoApi(videoApi)

Set the video api enumeration value. Typically the platform implementaition sets this to an appropriate value, see also SetVideoRendererClassName().

The default video api is IEnums::VIDEO_API_DEFAULT.

SetVideoApi(Murl.IEnums.VideoApi videoApi)

Parameters
videoApiThe video api enumeration value.

GetVideoApi()

Get the video api enumeration value.

Murl.IEnums.VideoApi GetVideoApi()

Returns
Murl.IEnums.VideoApi The video api enumeration value.

IsVideoApiMatching(videoApi)

Check if the video api is matching a specified value.

Boolean IsVideoApiMatching(Murl.IEnums.VideoApi videoApi)

Parameters
videoApiThe video api enumeration value.
Returns
Boolean true if the video api is matching the parameter value.

HasVideoApiChanged(inspector)

Check if the video api enumeration value has changed.

Boolean, Murl.ChangeInspector HasVideoApiChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the video api enumeration value has changed.
Murl.ChangeInspector inspector The change inspector.

SetAudioApi(audioApi)

Set the audio api enumeration value. Typically the platform implementaition sets this to an appropriate value, see also SetAudioRendererClassName().

The default audio api is IEnums::AUDIO_API_DEFAULT.

SetAudioApi(Murl.IEnums.AudioApi audioApi)

Parameters
audioApiThe audio api enumeration value.

GetAudioApi()

Get the audio api enumeration value.

Murl.IEnums.AudioApi GetAudioApi()

Returns
Murl.IEnums.AudioApi The audio api enumeration value.

IsAudioApiMatching(audioApi)

Check if the audio api is matching a specified value.

Boolean IsAudioApiMatching(Murl.IEnums.AudioApi audioApi)

Parameters
audioApiThe audio api enumeration value.
Returns
Boolean true if the audio api is matching the parameter value.

HasAudioApiChanged(inspector)

Check if the audio api enumeration value has changed.

Boolean, Murl.ChangeInspector HasAudioApiChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the audio api enumeration value has changed.
Murl.ChangeInspector inspector The change inspector.

SetVideoRendererClassName(className)

Set the video renderer class name. If the video renderer class name is empty the engine creates a renderer depending on the value set by SetVideoApi().

The default video renderer class name is empty.

SetVideoRendererClassName(String className)

Parameters
classNameThe video renderer class name.

GetVideoRendererClassName()

Get the video renderer class name.

String GetVideoRendererClassName()

Returns
String The video renderer class name.

HasVideoRendererClassNameChanged(inspector)

Check if the video renderer class name has changed.

Boolean, Murl.ChangeInspector HasVideoRendererClassNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the video renderer class name has changed.
Murl.ChangeInspector inspector The change inspector.

SetAudioRendererClassName(className)

Set the audio renderer class name. If the audio renderer class name is empty the engine creates a renderer depending on the value set by SetAudioApi().

The default audio renderer class name is empty.

SetAudioRendererClassName(String className)

Parameters
classNameThe audio renderer class name.

GetAudioRendererClassName()

Get the audio renderer class name.

String GetAudioRendererClassName()

Returns
String The audio renderer class name.

HasAudioRendererClassNameChanged(inspector)

Check if the audio renderer class name has changed.

Boolean, Murl.ChangeInspector HasAudioRendererClassNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the audio renderer class name has changed.
Murl.ChangeInspector inspector The change inspector.

SetPhysicsSimulatorClassName(className)

Set the physics simulator class name. If the physics simulator class name is empty the engine creates the built-in simulator.

The default physics simulator class name is empty.

SetPhysicsSimulatorClassName(String className)

Parameters
classNameThe physics simulator class name.

GetPhysicsSimulatorClassName()

Get the physics simulator class name.

String GetPhysicsSimulatorClassName()

Returns
String The physics simulator class name.

HasPhysicsSimulatorClassNameChanged(inspector)

Check if the physics simulator class name has changed.

Boolean, Murl.ChangeInspector HasPhysicsSimulatorClassNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the physics simulator class name has changed.
Murl.ChangeInspector inspector The change inspector.

SetResourceCollectionClassName(className)

Set the resource collection class name. If the resource collection class name is empty the engine creates the built-in collection.

The default resource collection class name is empty.

SetResourceCollectionClassName(String className)

Parameters
classNameThe resource collection class name.

GetResourceCollectionClassName()

Get the resource collection class name.

String GetResourceCollectionClassName()

Returns
String The resource collection class name.

HasResourceCollectionClassNameChanged(inspector)

Check if the resource collection class name has changed.

Boolean, Murl.ChangeInspector HasResourceCollectionClassNameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the resource collection class name has changed.
Murl.ChangeInspector inspector The change inspector.

SetPreferredResourcePackageType(type)

Set the preferred resource package type. When a package is added to the loader in the App::Init() method without explicitly specifying a file suffix (.murlres/.murlpkg), the resource system loads the first appropriate package found in the folder specified by SetResourceFileCategory(); usually, this will be a .murlpkg file if present. During development it may be convenient to directly work from .murlres packages, so one does not need to run the resource packer tool every time the application is started. For this reason, this method can be used to manually specify a different preferred package type. By default, release builds on all platforms use the IEnums::PACKAGE_TYPE_NATIVE type, and IEnums::PACKAGE_TYPE_XML is used for debug builds on all available platforms except Android (where only native packages are supported). If a file suffix is specified, this setting has no effect.

SetPreferredResourcePackageType(Murl.IEnums.PackageType type)

Parameters
typeThe preferred resource package type.

GetPreferredResourcePackageType()

Get the preferred resource package type.

Murl.IEnums.PackageType GetPreferredResourcePackageType()

Returns
Murl.IEnums.PackageType The package type

HasPreferredResourcePackageTypeChanged(inspector)

Check if the preferred resource package type has changed.

Boolean, Murl.ChangeInspector HasPreferredResourcePackageTypeChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if changed.
Murl.ChangeInspector inspector The change inspector.

SetResourceFileCategory(category)

Set the resource file category. The category specifies the working directory of the package loader. On desktop platforms the category is set to Murl::IEnums::FILE_CATEGORY_CURRENT in debug build, which allows easier development.

The default resource file category is IEnums::FILE_CATEGORY_RESOURCE.

SetResourceFileCategory(Murl.IEnums.FileCategory category)

Parameters
categoryThe resource file category.

GetResourceFileCategory()

Get the resource file category.

Murl.IEnums.FileCategory GetResourceFileCategory()

Returns
Murl.IEnums.FileCategory The resource file category.

HasResourceFileCategoryChanged(inspector)

Check if the resource file category has changed.

Boolean, Murl.ChangeInspector HasResourceFileCategoryChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the resource file category has changed.
Murl.ChangeInspector inspector The change inspector.

SetDeactivatedAppRunState(appRunState)

Set the deactivated application run state. Depending on this setting the platform implementation decides how to set the IAppConfiguration::SetAppRunState() if the application is activated or deactivated.

The application is deactivated:

  • If the application is sent to background on mobile platforms.
  • If the application's window looses it's focus on desktop platforms.

The default deactivated application run state is IEnums::APP_RUN_STATE_DEFAULT which performs no action.

SetDeactivatedAppRunState(Murl.IEnums.AppRunState appRunState)

Parameters
appRunStateThe deactivated application run state.

GetDeactivatedAppRunState()

Get the deactivated application run state.

Murl.IEnums.AppRunState GetDeactivatedAppRunState()

Returns
Murl.IEnums.AppRunState The deactivated application run state.

HasDeactivatedAppRunStateChanged(inspector)

Check if the deactivated application run state has changed.

Boolean, Murl.ChangeInspector HasDeactivatedAppRunStateChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the deactivated application run state has changed.
Murl.ChangeInspector inspector The change inspector.

SetSuspendUnloadsResources(unload)

Set the suspend unloads resources flag. If the suspend unloads resources flag is true the engine unloads all resource types specified by SetSuspendableResources() if the IAppConfiguration::SetAppRunState() is set to IEnums::APP_RUN_STATE_SUSPENDED.

The default suspend unloads resources flag is false.

SetSuspendUnloadsResources(Boolean unload)

Parameters
unloadThe suspend unloads resources flag.

GetSuspendUnloadsResources()

Get the suspend unloads resources flag.

Boolean GetSuspendUnloadsResources()

Returns
Boolean The suspend unloads resources flag.

HasSuspendUnloadsResourcesChanged(inspector)

Check if the suspend unloads resources flag has changed.

Boolean, Murl.ChangeInspector HasSuspendUnloadsResourcesChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the suspend unloads resources flag has changed.
Murl.ChangeInspector inspector The change inspector.

SetSuspendableResources(suspendableResources)

Set the suspendable resources type. See also SetSuspendUnloadsResources().

The default suspendable resources value is IEnums::SUSPENDABLE_RESOURCE_ALL.

SetSuspendableResources(Integer suspendableResources)

Parameters
suspendableResourcesThe suspendable resources type.

GetSuspendableResources()

Get the suspendable resources type.

Integer GetSuspendableResources()

Returns
Integer The suspendable resources type.

HasSuspendableResourcesChanged(inspector)

Check if the suspendable resources type has changed.

Boolean, Murl.ChangeInspector HasSuspendableResourcesChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the suspendable resources type has changed.
Murl.ChangeInspector inspector The change inspector.

SetUnitSize(sizeX, sizeY)

Set the global unit size factor. The global unit size factor is multiplied to the camera's unit size.

The default global unit size factor is 1.0.

SetUnitSize(Number sizeX, Number sizeY)

Parameters
sizeXThe horizontal unit size factor.
sizeYThe vertical unit size factor.

GetUnitSizeX()

Get the horizontal unit size factor.

Number GetUnitSizeX()

Returns
Number The horizontal unit size factor.

GetUnitSizeY()

Get the vertical unit size factor.

Number GetUnitSizeY()

Returns
Number The vertical unit size factor.

HasUnitSizeChanged(inspector)

Check if the global unit size factor has changed.

Boolean, Murl.ChangeInspector HasUnitSizeChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the global unit size factor has changed.
Murl.ChangeInspector inspector The change inspector.

SetPixelCenter(centerX, centerY)

Set the pixel center position. The pixel center position is used by the camera, the range is [0 .. 1]. The pixel center is typically determined by the platform implementation depending on the graphic driver's properties.

The default pixel center position is 0 / 0.

SetPixelCenter(Number centerX, Number centerY)

Parameters
centerXThe horizontal pixel center position.
centerYThe vertical pixel center position.

GetPixelCenterX()

Get the horizontal pixel center position.

Number GetPixelCenterX()

Returns
Number The horizontal pixel center position.

GetPixelCenterY()

Get the vertical pixel center position.

Number GetPixelCenterY()

Returns
Number The vertical pixel center position.

HasPixelCenterChanged(inspector)

Check if the global pixel center position has changed.

Boolean, Murl.ChangeInspector HasPixelCenterChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the global pixel center position has changed.
Murl.ChangeInspector inspector The change inspector.

SetThreadAffinity(thread, policy, mask)

Set the thread affinity mask and application policy for one of the present engine threads. This method only has effect if there is more than one CPU core present on the device and the platform implementation supports controlling CPU affinity. The mask parameter is ignored if policy is set to NEVER. By default, CPU affinity application policy is set to CONTINUOUS for both the rendering thread (core #1, mask 0x00000001) and the loader thread (core #3, mask 0x00000004), and to NEVER for the logic thread. See SetThreadAffinityMask()

SetThreadAffinity(Murl.IEnums.EngineThread thread, Murl.IEnums.CpuAffinityPolicy policy, Integer mask)

Parameters
threadThe engine thread for which to set the CPU affinity mask.
policyThe CPU affinity mask application policy.
maskThe CPU affinity mask.

GetThreadAffinityPolicy(thread)

Get the thread affinity mask application policy for one of the present engine threads.

Murl.IEnums.CpuAffinityPolicy GetThreadAffinityPolicy(Murl.IEnums.EngineThread thread)

Parameters
threadThe engine thread for which to get the CPU affinity mask.
Returns
Murl.IEnums.CpuAffinityPolicy The CPU affinity mask application policy.

GetThreadAffinityMask(thread)

Get the thread affinity mask for one of the present engine threads.

Integer GetThreadAffinityMask(Murl.IEnums.EngineThread thread)

Parameters
threadThe engine thread for which to get the CPU affinity mask.
Returns
Integer mask The CPU affinity mask.

HasThreadAffinityChanged(thread, inspector)

Check if the thread affinity mask or application policy has changed for one of the present engine threads.

Boolean, Murl.ChangeInspector HasThreadAffinityChanged(Murl.IEnums.EngineThread thread, Murl.ChangeInspector inspector)

Parameters
threadThe engine thread for which to check.
inspectorThe change inspector.
Returns
Boolean true if changed.
Murl.ChangeInspector inspector The change inspector.

SetSyncLoadingTimeout(timeout)

Set the synchronous resource initialization timeout. Is used only if SetAsyncLoadingEnabled() is set to false. The timeout specifies the maximum time to use for initializing multiple graphic objects before the next frame is rendered. At least one object is initialized each frame which can take more time than the timeout depending on the complexity of the object.

The default timeout is 0.005 seconds.

SetSyncLoadingTimeout(Number timeout)

Parameters
timeoutThe loading timeout in seconds.

GetSyncLoadingTimeout()

Get the synchronous resource initialization timeout.

Number GetSyncLoadingTimeout()

Returns
Number The synchronous resource initialization timeout.

HasSyncLoadingTimeoutChanged(inspector)

Check if the synchronous resource initialization timeout has changed.

Boolean, Murl.ChangeInspector HasSyncLoadingTimeoutChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the synchronous resource initialization timeout has changed.
Murl.ChangeInspector inspector The change inspector.

SetAsyncLoadingEnabled(enabled)

Enable asynchronous resource initialization after loading. Setup how to initialize loaded graphic objects:

  • If true the initialization is performed asynchronous in the loader thread context (in parallel to the rendering).
  • If false the initialization is performed synchronous in the render thread context, which blocks rendering for a specified time set up by SetSyncLoadingTimeout().
  • Framebuffer objects are always initialized in the render thread context.

This feature is typically determined by the platform implementation depending on the graphic driver's capabilities.

The default value is true.

SetAsyncLoadingEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

IsAsyncLoadingEnabled()

Check if the asynchronous loading is enabled.

Boolean IsAsyncLoadingEnabled()

Returns
Boolean true if the asynchronous loading is enabled.

HasAsyncLoadingEnabledChanged(inspector)

Check if the asynchronous loading setting has changed.

Boolean, Murl.ChangeInspector HasAsyncLoadingEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the asynchronous loading setting has changed.
Murl.ChangeInspector inspector The change inspector.

SetSyncToVBlankEnabled(enabled)

Enable synchronous vertical blank page flipping. The platform implementation is using this setting to enable vertical blank page flipping depending on the graphic driver capabilities.

The default value is true.

SetSyncToVBlankEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

IsSyncToVBlankEnabled()

Check if the synchronous vertical blank page flipping is enabled.

Boolean IsSyncToVBlankEnabled()

Returns
Boolean true if the synchronous vertical blank page flipping is enabled.

HasSyncToVBlankEnabledChanged(inspector)

Check if the synchronous vertical blank page flipping setting has changed.

Boolean, Murl.ChangeInspector HasSyncToVBlankEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the synchronous vertical blank page flipping setting has changed.
Murl.ChangeInspector inspector The change inspector.

SetHighResolutionDisplayEnabled(enabled)

Enable native rendering on a high resolution (retina) display if available. If enabled, the output window will use the native resolution of the screen it is shown in. If disabled, the output window's contents are upscaled by the respective screen's scale factor. Currently, this is only supported on OSX.

The default value is false.

SetHighResolutionDisplayEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

IsHighResolutionDisplayEnabled()

Check if high resolution rendering is enabled.

Boolean IsHighResolutionDisplayEnabled()

Returns
Boolean true if enabled.

HasHighResolutionDisplayEnabledChanged(inspector)

Check if high resolution rendering setting has changed.

Boolean, Murl.ChangeInspector HasHighResolutionDisplayEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if changed.
Murl.ChangeInspector inspector The change inspector.

SetVideoApiChecksEnabled(enabled)

Enable checks to video api calls. Api checks are used for development purposes and are available in debug build only.

The default value is false.

SetVideoApiChecksEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

AreVideoApiChecksEnabled()

Check if the video api check feature is enabled.

Boolean AreVideoApiChecksEnabled()

Returns
Boolean true if the video api check feature is enabled.

HasVideoApiChecksEnabledChanged(inspector)

Check if the video api check setting has changed.

Boolean, Murl.ChangeInspector HasVideoApiChecksEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the video api check setting has changed.
Murl.ChangeInspector inspector The change inspector.

SetAudioApiChecksEnabled(enabled)

Enable checks to audio api calls. Api checks are used for development purposes and are available in debug build only.

The default value is false.

SetAudioApiChecksEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

AreAudioApiChecksEnabled()

Check if the audio api check feature is enabled.

Boolean AreAudioApiChecksEnabled()

Returns
Boolean true if the audio api check feature is enabled.

HasAudioApiChecksEnabledChanged(inspector)

Check if the audio api check setting has changed.

Boolean, Murl.ChangeInspector HasAudioApiChecksEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the audio api check setting has changed.
Murl.ChangeInspector inspector The change inspector.

SetExtendedObjectStatisticsEnabled(enabled)

Enable extended object statistics. If enabled, submodules (video renderer, audio renderer etc.) keep track of all allocated objects.

The default value is false.

SetExtendedObjectStatisticsEnabled(Boolean enabled)

Parameters
enabledtrue to enable.

AreExtendedObjectStatisticsEnabled()

Check if extended object statistics are enabled.

Boolean AreExtendedObjectStatisticsEnabled()

Returns
Boolean true if enabled.

HasExtendedObjectStatisticsEnabledChanged(inspector)

Check if the extended object statistics setting has changed.

Boolean, Murl.ChangeInspector HasExtendedObjectStatisticsEnabledChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if changed.
Murl.ChangeInspector inspector The change inspector.

SetNumberOfAntialiasSamples(numSamples)

Set the number of antialiasing samples. The platform implementation is using this setting depending on the graphic driver capabilities.

The default value is 1.

SetNumberOfAntialiasSamples(Integer numSamples)

Parameters
numSamplesThe number of antialiasing samples.

GetNumberOfAntialiasSamples()

Get the number of antialiasing samples.

Integer GetNumberOfAntialiasSamples()

Returns
Integer The number of antialiasing samples.

HasNumberOfAntialiasSamplesChanged(inspector)

Check if the number of antialiasing samples has changed.

Boolean, Murl.ChangeInspector HasNumberOfAntialiasSamplesChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the number of antialiasing samples has changed.
Murl.ChangeInspector inspector The change inspector.

SetDefaultMaxTextureAnisotropy(maxAnisotropy)

Set the default maximum texture anisotropy for filtering. This value specifies the preferred maximum anisotropy used for texture filtering if not specified for a given texture. The actual value is clamped to hardware-specific limits. Higher values produce better visual results, but may result in degraded rendering performance. The default value is 1.0, i.e. isotropic filtering (fastest). The maximum anisotropy value supported by the hardware is typically around 16.0.

SetDefaultMaxTextureAnisotropy(Number maxAnisotropy)

Parameters
maxAnisotropyThe default maximum texture filtering anisotropy.

GetDefaultMaxTextureAnisotropy()

Get the default maximum texture anisotropy for filtering.

Number GetDefaultMaxTextureAnisotropy()

Returns
Number The default maximum texture filtering anisotropy.

HasDefaultMaxTextureAnisotropyChanged(inspector)

Check if the default maximum texture anisotropy has changed.

Boolean, Murl.ChangeInspector HasDefaultMaxTextureAnisotropyChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the default maximum texture anisotropy has changed.
Murl.ChangeInspector inspector The change inspector.

SetTexturePrescaleDivisor(divisor)

Set the texture prescale divisor. The texture prescale divisor is used to shrink textures before loading to the graphics memory. This allows reducing of memory usage on small equipped platforms.

The default texture prescale divisor is 1.

SetTexturePrescaleDivisor(Integer divisor)

Parameters
divisorThe texture prescale divisor.

GetTexturePrescaleDivisor()

Get the texture prescale divisor.

Integer GetTexturePrescaleDivisor()

Returns
Integer The texture prescale divisor.

IsTexturePrescaleDivisorMatching(divisor)

Check if the texture prescale divisor matching a specified value.

Boolean IsTexturePrescaleDivisorMatching(Integer divisor)

Parameters
divisorThe divisor value to check.
Returns
Boolean true if the texture prescale divisor is matching the parameter value.

HasTexturePrescaleDivisorChanged(inspector)

Check if the texture prescale divisor has changed.

Boolean, Murl.ChangeInspector HasTexturePrescaleDivisorChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the texture prescale divisor has changed.
Murl.ChangeInspector inspector The change inspector.

SetExactLogicTickDuration(dt)

Set the exact logic tick duration. Set the duration bounds to the same value, see SetBoundsForLogicTickDuration().

SetExactLogicTickDuration(Number dt)

Parameters
dtThe exact logic tick duration in seconds.

SetBoundsForLogicTickDuration(dtMin, dtMax)

Set the logic tick duration bounds. The logic tick duration allows exact tick cycles for e.g. physics simulation.

If the bounds have the same value, the SetBoundsForLogicTicksPerFrame() should be set to an appropriate range.

The default value is (0, 1).

SetBoundsForLogicTickDuration(Number dtMin, Number dtMax)

Parameters
dtMinThe minimum logic tick duration in seconds.
dtMaxThe maximum logic tick duration in seconds.

GetMinimumLogicTickDuration()

Get minimum logic tick duration in seconds.

Number GetMinimumLogicTickDuration()

Returns
Number The minimum logic tick duration in seconds.

GetMaximumLogicTickDuration()

Get maximum logic tick duration in seconds.

Number GetMaximumLogicTickDuration()

Returns
Number The maximum logic tick duration in seconds.

HasLogicTickDurationChanged(inspector)

Check if the logic tick duration setting has changed.

Boolean, Murl.ChangeInspector HasLogicTickDurationChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the logic tick duration setting has changed.
Murl.ChangeInspector inspector The change inspector.

SetExactLogicTicksPerFrame(numTicks)

Set the exact number of logic ticks per frame. Set the per frame bounds to the same value, see SetBoundsForLogicTicksPerFrame().

SetExactLogicTicksPerFrame(Integer numTicks)

Parameters
numTicksThe exact number of logic ticks per frame.

SetBoundsForLogicTicksPerFrame(numTicksMin, numTicksMax)

Set the number of logic ticks per frame bounds. If the bounds have the same value, the SetBoundsForLogicTickDuration() should be set to an appropriate range.

The default value is (1, 1).

SetBoundsForLogicTicksPerFrame(Integer numTicksMin, Integer numTicksMax)

Parameters
numTicksMinThe minimum number of logic logic ticks per frame.
numTicksMaxThe maximum number of logic logic ticks per frame.

GetMinimumLogicTicksPerFrame()

Get minimum number of logic logic ticks per frame.

Integer GetMinimumLogicTicksPerFrame()

Returns
Integer The minimum number of logic logic ticks per frame.

GetMaximumLogicTicksPerFrame()

Get maximum number of logic logic ticks per frame.

Integer GetMaximumLogicTicksPerFrame()

Returns
Integer The maximum number of logic logic ticks per frame.

HasLogicTicksPerFrameChanged(inspector)

Check if the number of logic logic ticks per frame setting has changed.

Boolean, Murl.ChangeInspector HasLogicTicksPerFrameChanged(Murl.ChangeInspector inspector)

Parameters
inspectorThe change inspector.
Returns
Boolean true if the number of logic logic ticks per frame has changed.
Murl.ChangeInspector inspector The change inspector.

AddSystemFont(fontId, fontName, weight, sizeFactor, ascent, descent, leading)

Add a user-defined system font. This method can be used to define additional platform-specific system fonts used in conjunction with a Graph::IFlatTextTexture. If user-defined system fonts are required, this method must be called with different values for the "fontName" parameter depending on the platform. In addition, some platforms accept a "Bold" identifier as part of the font name, e.g. "Helvetica-Bold" on iOS and OSX. In this case, the weight parameter is ignored. On other platforms, it is required to specify the boldness of the font via the "weight" parameter (usually 400 for regular thickness and 800 for bold fonts), and only specify the font name without style.

AddSystemFont(String fontId, String fontName, Number weight, Number sizeFactor, Number ascent, Number descent, Number leading)

Parameters
fontIdThe unique font ID within the Murl Engine.
fontNameThe font name, as expected by the operating system.
weightThe font weight (default 400), if supported by the operating system.
sizeFactorThe scale factor to apply (default 1.0).
ascentThe font ascent, i.e. height above the base line. Ascent and descent should sum up to 1.0.
descentThe font descent.
leadingThe font leading, i.e. additional space between consecutive text lines.

GetNumberOfSystemFonts()

Get the number of user-defined system fonts.

Integer GetNumberOfSystemFonts()

Returns
Integer The number of system fonts defined by the user.

GetSystemFontId(index)

Get the internal ID of the user-defined system font at a given index.

String GetSystemFontId(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
String The font ID.

GetSystemFontName(index)

Get the OS-specific name of the user-defined system font at a given index.

String GetSystemFontName(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
String The font name.

GetSystemFontWeight(index)

Get the weight of the user-defined system font at a given index.

Number GetSystemFontWeight(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
Number The font weight.

GetSystemFontSizeFactor(index)

Get the size factor of the user-defined system font at a given index.

Number GetSystemFontSizeFactor(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
Number The size factor.

GetSystemFontAscent(index)

Get the ascent of the user-defined system font at a given index.

Number GetSystemFontAscent(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
Number The font ascent.

GetSystemFontDescent(index)

Get the descent of the user-defined system font at a given index.

Number GetSystemFontDescent(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
Number The font descent.

GetSystemFontLeading(index)

Get the leading value of the user-defined system font at a given index.

Number GetSystemFontLeading(Integer index)

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
Number The font leading value.

SetVirtualMouseEnable(isEnabled)

Enable the virtual mouse device. A virtual mouse is available on AppleTV Siri Remote device. The default value is true on AppleTV, otherwise false.

SetVirtualMouseEnable(Boolean isEnabled)

Parameters
isEnabledThe enabled state.

IsVirtualMouseEnabled()

Check if the virtual mouse device is enabled.

Boolean IsVirtualMouseEnabled()

Returns
Boolean true if the virtual mouse device is enabled.

SetVirtualRawMouseEnable(isEnabled)

Enable the virtual raw-mouse device. A virtual raw-mouse is available on AppleTV Siri Remote device. The default value is true on AppleTV, otherwise false.

SetVirtualRawMouseEnable(Boolean isEnabled)

Parameters
isEnabledThe enabled state.

IsVirtualRawMouseEnabled()

Check if the virtual raw-mouse device is enabled.

Boolean IsVirtualRawMouseEnabled()

Returns
Boolean true if the virtual raw-mouse device is enabled.

SetCloudControlEnable(isEnabled)

Enable the cloud control. The cloud control is available on iOS/OSX/tvOS. The default value is false, if enabled an iCloud entitlement must be setup for the application,

See also
CloudKit Framework Reference.

SetCloudControlEnable(Boolean isEnabled)

Parameters
isEnabledThe enabled state.

IsCloudControlEnabled()

Check if the cloud control is enabled.

Boolean IsCloudControlEnabled()

Returns
Boolean true if the cloud control is enabled.

SetGpuBufferSafetyCopiesEnabled(isEnabled)

Enable/disable safety GPU buffer copies. If enabled, all Resource::NativeMesh objects will create safety copies of all the vertex and index buffers present in a given data stream instead of directly using the data in that stream. This is for debugging purposes, as there are suspicions that certain GPU drivers crash when directly using vertex or index data from a memory-mapped pointer.

SetGpuBufferSafetyCopiesEnabled(Boolean isEnabled)

Parameters
isEnabledThe enabled state.

AreGpuBufferSafetyCopiesEnabled()

Check if safety GPU buffer copies are enabled.

Boolean AreGpuBufferSafetyCopiesEnabled()

Returns
Boolean true if enabled.

SetGraphObjectResultAction(code, action)

Define the action to perform on a specific graph node/controller parsing result. This method allows to define the action to perform when a specific result occurred during scene graph object (node or controller) parsing. If the default action for the given code cannot be changed, this method returns false. Actions can be defined for the following codes (with defaults after colon): IEnums::RESULT_CODE_ATTRIBUTE_NUMBER_CONVERSION_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_ATTRIBUTE_ENUM_CONVERSION_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_ATTRIBUTE_UNKNOWN_ERROR : IEnums::RESULT_ACTION_WARN IEnums::RESULT_CODE_GRAPH_NODE_NOT_FOUND_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_GRAPH_NODE_WRONG_INTERFACE_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_RESOURCE_OBJECT_NOT_FOUND_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_RESOURCE_OBJECT_WRONG_INTERFACE_ERROR : IEnums::RESULT_ACTION_ABORT

Boolean SetGraphObjectResultAction(Murl.IEnums.ResultCode code, Murl.IEnums.ResultAction action)

Parameters
codeThe result code for which to define the action.
actionThe action to perform.
Returns
Boolean true if successful.

GetGraphObjectResultAction(code)

Get the action to perform on a specific graph node/controller parsing result. If the default action for the given code cannot be changed, IEnums::RESULT_ACTION_UNDEFINED is returned.

Murl.IEnums.ResultAction GetGraphObjectResultAction(Murl.IEnums.ResultCode code)

Parameters
codeThe result code for which to query the action.
Returns
Murl.IEnums.ResultAction The action to perform.

SetDefaultDepthBufferFormat(depthBufferFormat)

SetDefaultDepthBufferFormat(Murl.IEnums.DepthBufferFormat depthBufferFormat)


GetDefaultDepthBufferFormat()

Murl.IEnums.DepthBufferFormat GetDefaultDepthBufferFormat()

Returns
Murl.IEnums.DepthBufferFormat

HasDefaultDepthBufferFormatChanged(inspector)

Boolean, Murl.ChangeInspector HasDefaultDepthBufferFormatChanged(Murl.ChangeInspector inspector)

Returns
Boolean
Murl.ChangeInspector

SetDefaultRgbPixelFormat(pixelFormat)

SetDefaultRgbPixelFormat(Murl.IEnums.RgbPixelFormat pixelFormat)


GetDefaultRgbPixelFormat()

Murl.IEnums.RgbPixelFormat GetDefaultRgbPixelFormat()

Returns
Murl.IEnums.RgbPixelFormat

HasDefaultRgbPixelFormatChanged(inspector)

Boolean, Murl.ChangeInspector HasDefaultRgbPixelFormatChanged(Murl.ChangeInspector inspector)

Returns
Boolean
Murl.ChangeInspector

SetDefaultRgbaPixelFormat(pixelFormat)

SetDefaultRgbaPixelFormat(Murl.IEnums.RgbaPixelFormat pixelFormat)


GetDefaultRgbaPixelFormat()

Murl.IEnums.RgbaPixelFormat GetDefaultRgbaPixelFormat()

Returns
Murl.IEnums.RgbaPixelFormat

HasDefaultRgbaPixelFormatChanged(inspector)

Boolean, Murl.ChangeInspector HasDefaultRgbaPixelFormatChanged(Murl.ChangeInspector inspector)

Returns
Boolean
Murl.ChangeInspector

GetDefaultResourcePixelFormat(useAlpha)

Murl.IEnums.PixelFormat GetDefaultResourcePixelFormat(Boolean useAlpha)

Returns
Murl.IEnums.PixelFormat