Package arc

Interface Application

All Superinterfaces:
Disposable
All Known Implementing Classes:
HeadlessApplication, MockApplication

public interface Application extends Disposable
  • Method Details

    • getListeners

      Seq<ApplicationListener> getListeners()
      Returns a list of all the application listeners used.
    • addListener

      default void addListener(ApplicationListener listener)
      Adds a new application listener.
    • removeListener

      default void removeListener(ApplicationListener listener)
      Removes an application listener.
    • defaultUpdate

      default void defaultUpdate()
      Call this before update() in each backend.
    • getType

      Returns:
      what Application.ApplicationType this 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 the ApplicationListener.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

      @Nullable default Thread 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

      @Nullable String getClipboardText()
    • setClipboardText

      void setClipboardText(String text)
    • openFolder

      default boolean openFolder(String file)
      Open a folder in the system's file browser.
      Returns:
      whether this operation was successful.
    • openURI

      default boolean openURI(String URI)
      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

      default void getDnsServers(Seq<InetSocketAddress> out)
    • post

      void post(Runnable runnable)
      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:
      dispose in interface Disposable