Package arc
Interface Application
- All Superinterfaces:
Disposable
- All Known Implementing Classes:
HeadlessApplication,MockApplication
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptiondefault voidaddListener(ApplicationListener listener) Adds a new application listener.default voidCall this before update() in each backend.default voiddispose()Disposes of core resources.voidexit()Schedule an exit from the application.floatdefault voidlongReturns the id of the current frame.intdefault longReturns a list of all the application listeners used.default Threaddefault longgetType()default intdefault booleandefault booleandefault booleandefault booleanisIOS()default booleanisMobile()default booleandefault booleanisWeb()default booleanopenFolder(String file) Open a folder in the system's file browser.default booleanLaunches the default browser to display a URI.voidPosts a runnable on the main loop thread.default voidremoveListener(ApplicationListener listener) Removes an application listener.voidsetClipboardText(String text) Methods inherited from interface arc.util.Disposable
isDisposed
-
Method Details
-
getListeners
Seq<ApplicationListener> getListeners()Returns a list of all the application listeners used. -
addListener
Adds a new application listener. -
removeListener
Removes an application listener. -
defaultUpdate
default void defaultUpdate()Call this before update() in each backend. -
getType
Application.ApplicationType getType()- Returns:
- what
Application.ApplicationTypethis application has, e.g. Android or Desktop
-
isDesktop
default boolean isDesktop() -
isHeadless
default boolean isHeadless() -
isAndroid
default boolean isAndroid() -
isIOS
default boolean isIOS() -
isMobile
default boolean isMobile() -
isWeb
default boolean isWeb() -
getVersion
default int getVersion()- Returns:
- the Android API level on Android, the major OS version on iOS (5, 6, 7, ..), or 0 on the desktop.
-
getFrameId
long getFrameId()Returns the id of the current frame. The general contract of this method is that the id is incremented only when the application is in the running state right before calling theApplicationListener.update()method. Also, the id of the first frame is 0; the id of subsequent frames is guaranteed to take increasing values for 263-1 rendering cycles.- Returns:
- the id of the current frame
-
getDeltaTime
float getDeltaTime()- Returns:
- the time span between the current frame and the last frame in seconds. Might be smoothed over n frames.
-
getFramesPerSecond
int getFramesPerSecond()- Returns:
- the average number of frames per second
-
getJavaHeap
default long getJavaHeap()- Returns:
- the Java heap memory use in bytes.
-
getNativeHeap
default long getNativeHeap()- Returns:
- the Native heap memory use in bytes. Only valid on Android.
-
getMainThread
- Returns:
- the main graphics thread, upon which all ApplicationListener methods are called. May return null if not initialized.
-
isOnMainThread
default boolean isOnMainThread()- Returns:
- whether the currently executing thread is the main thread. If the main thread is not initialized, returns true by default. This is used for error checking purposes.
-
getClipboardText
-
setClipboardText
-
openFolder
Open a folder in the system's file browser.- Returns:
- whether this operation was successful.
-
openURI
Launches the default browser to display a URI. If the default browser is not able to handle the specified URI, the application registered for handling URIs of the specified type is invoked. The application is determined from the protocol and path of the URI. A best effort is made to open the given URI; however, since external applications are involved, no guarantee can be made as to whether the URI was actually opened. If it is known that the URI was not opened, false will be returned; otherwise, true will be returned.- Parameters:
URI- the URI to be opened.- Returns:
- false if it is known the uri was not opened, true otherwise.
-
getDnsServers
-
post
Posts a runnable on the main loop thread. -
exit
void exit()Schedule an exit from the application. On android, this will cause a call to pause() and dispose() some time in the future, it will not immediately finish your application. On iOS this should be avoided in production as it breaks Apples guidelines. -
dispose
default void dispose()Disposes of core resources.- Specified by:
disposein interfaceDisposable
-