Class Browser


  • public class Browser
    extends java.lang.Object
    Contains the API for calling JavaScript functions using TeaVM. This consists of general browser APIs, as well as drawing operations for the HTML5 canvas that is displaying the application.

    Note for testing: All methods in this class are defined as static native due to requirements from TeaVM. Applications should therefore mock these methods when using the browser API in Java unit tests.

    This class acts as the bridge between the TeaVM renderer implementation in Java code, and the "native" browser code implemented in JavaScript. Applications will therefore not access any of these methods directly, as interaction with JavaScript is done through the more Java-like API provided by the renderer.

    • Constructor Summary

      Constructors 
      Constructor Description
      Browser()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addModel​(java.lang.String modelId, java.lang.String meshId)  
      static void changeAmbientLight​(java.lang.String color)  
      static void changeLight​(java.lang.String color)  
      static void clearLocalStorage()  
      static void clearModels()  
      static void closeWebSocket()  
      static void connectWebSocket​(java.lang.String uri, WebSocketCallback callback)  
      static void createBox​(java.lang.String meshId, float sizeX, float sizeY, float sizeZ, java.lang.String color, java.lang.String texturePath)  
      static void createSphere​(java.lang.String meshId, float diameter, java.lang.String color, java.lang.String texturePath)  
      static void drawCircle​(float x, float y, float radius, java.lang.String color, float alpha)  
      static void drawImage​(java.lang.String id, float x, float y, float width, float height, float alpha, java.lang.String mask)  
      static void drawImageRegion​(java.lang.String id, float regionX, float regionY, float regionWidth, float regionHeight, float x, float y, float width, float height, float rotation, float scaleX, float scaleY, float alpha, java.lang.String mask)  
      static void drawPolygon​(float[] points, java.lang.String color, float alpha)  
      static void drawRect​(float x, float y, float width, float height, java.lang.String color, float alpha)  
      static void drawText​(java.lang.String text, java.lang.String font, int size, java.lang.String color, boolean bold, float x, float y, java.lang.String align, float alpha)  
      static java.lang.String[] flushPointerEventBuffer()  
      static float getCanvasHeight()  
      static float getCanvasWidth()  
      static float getDevicePixelRatio()  
      static java.lang.String getGraphicsType()  
      static float[] getImageData​(java.lang.String id, int x, int y)  
      static float getImageHeight​(java.lang.String id)  
      static float getImageWidth​(java.lang.String id)  
      static float getKeyState​(int keyCode)  
      static java.lang.String getLocalStorage​(java.lang.String key)  
      static float getPageHeight()  
      static java.lang.String getPageURL()  
      static float getPageWidth()  
      static int getScreenHeight()  
      static int getScreenWidth()  
      static java.lang.String getUserAgent()  
      static boolean isWebSocketSupported()  
      static void loadAudio​(java.lang.String id, java.lang.String path)  
      static void loadFont​(java.lang.String id, java.lang.String path, java.lang.String fontFamily)  
      static void loadImage​(java.lang.String id, java.lang.String path)  
      static void loadModel​(java.lang.String meshId, java.lang.String path, ModelLoadCallback callback)  
      static java.lang.String loadTextResourceFile​(java.lang.String id)  
      static void loadTexture​(java.lang.String path)  
      static void log​(java.lang.String message)  
      static void moveCamera​(float x, float y, float z, float targetX, float targetY, float targetZ)  
      static void playAnimation​(java.lang.String modelId, java.lang.String meshId, java.lang.String name, boolean loop)  
      static void playAudio​(java.lang.String id, float volume, boolean loop)  
      static java.lang.String prompt​(java.lang.String label, java.lang.String initialValue)  
      static void removeModel​(java.lang.String modelId)  
      static void sendGetRequest​(java.lang.String url, java.lang.String[] headers, AjaxCallback callback)  
      static void sendPostRequest​(java.lang.String url, java.lang.String[] headers, java.lang.String params, AjaxCallback callback)  
      static void sendWebSocket​(java.lang.String message)  
      static void setLocalStorage​(java.lang.String key, java.lang.String value)  
      static void startAnimationLoop​(AnimationFrameCallback callback)  
      static void stopAudio​(java.lang.String id, boolean reset)  
      static void syncModel​(java.lang.String modelId, float x, float y, float z, float rotX, float rotY, float rotZ, float scaleX, float scaleY, float scaleZ)  
      static java.lang.String takeScreenshot()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Browser

        public Browser()
    • Method Detail

      • log

        public static void log​(java.lang.String message)
      • getPageURL

        public static java.lang.String getPageURL()
      • getUserAgent

        public static java.lang.String getUserAgent()
      • getPageWidth

        public static float getPageWidth()
      • getPageHeight

        public static float getPageHeight()
      • getScreenWidth

        public static int getScreenWidth()
      • getScreenHeight

        public static int getScreenHeight()
      • getDevicePixelRatio

        public static float getDevicePixelRatio()
      • setLocalStorage

        public static void setLocalStorage​(java.lang.String key,
                                           java.lang.String value)
      • getLocalStorage

        public static java.lang.String getLocalStorage​(java.lang.String key)
      • clearLocalStorage

        public static void clearLocalStorage()
      • getCanvasWidth

        public static float getCanvasWidth()
      • getCanvasHeight

        public static float getCanvasHeight()
      • getGraphicsType

        public static java.lang.String getGraphicsType()
      • getImageWidth

        public static float getImageWidth​(java.lang.String id)
      • getImageHeight

        public static float getImageHeight​(java.lang.String id)
      • getImageData

        public static float[] getImageData​(java.lang.String id,
                                           int x,
                                           int y)
      • playAudio

        public static void playAudio​(java.lang.String id,
                                     float volume,
                                     boolean loop)
      • stopAudio

        public static void stopAudio​(java.lang.String id,
                                     boolean reset)
      • takeScreenshot

        public static java.lang.String takeScreenshot()
      • flushPointerEventBuffer

        public static java.lang.String[] flushPointerEventBuffer()
      • getKeyState

        public static float getKeyState​(int keyCode)
      • prompt

        public static java.lang.String prompt​(java.lang.String label,
                                              java.lang.String initialValue)
      • loadImage

        public static void loadImage​(java.lang.String id,
                                     java.lang.String path)
      • loadAudio

        public static void loadAudio​(java.lang.String id,
                                     java.lang.String path)
      • loadFont

        public static void loadFont​(java.lang.String id,
                                    java.lang.String path,
                                    java.lang.String fontFamily)
      • loadTextResourceFile

        public static java.lang.String loadTextResourceFile​(java.lang.String id)
      • loadModel

        public static void loadModel​(java.lang.String meshId,
                                     java.lang.String path,
                                     ModelLoadCallback callback)
      • loadTexture

        public static void loadTexture​(java.lang.String path)
      • sendGetRequest

        public static void sendGetRequest​(java.lang.String url,
                                          java.lang.String[] headers,
                                          AjaxCallback callback)
      • sendPostRequest

        public static void sendPostRequest​(java.lang.String url,
                                           java.lang.String[] headers,
                                           java.lang.String params,
                                           AjaxCallback callback)
      • isWebSocketSupported

        public static boolean isWebSocketSupported()
      • connectWebSocket

        public static void connectWebSocket​(java.lang.String uri,
                                            WebSocketCallback callback)
      • sendWebSocket

        public static void sendWebSocket​(java.lang.String message)
      • closeWebSocket

        public static void closeWebSocket()
      • drawRect

        public static void drawRect​(float x,
                                    float y,
                                    float width,
                                    float height,
                                    java.lang.String color,
                                    float alpha)
      • drawCircle

        public static void drawCircle​(float x,
                                      float y,
                                      float radius,
                                      java.lang.String color,
                                      float alpha)
      • drawPolygon

        public static void drawPolygon​(float[] points,
                                       java.lang.String color,
                                       float alpha)
      • drawImage

        public static void drawImage​(java.lang.String id,
                                     float x,
                                     float y,
                                     float width,
                                     float height,
                                     float alpha,
                                     java.lang.String mask)
      • drawImageRegion

        public static void drawImageRegion​(java.lang.String id,
                                           float regionX,
                                           float regionY,
                                           float regionWidth,
                                           float regionHeight,
                                           float x,
                                           float y,
                                           float width,
                                           float height,
                                           float rotation,
                                           float scaleX,
                                           float scaleY,
                                           float alpha,
                                           java.lang.String mask)
      • drawText

        public static void drawText​(java.lang.String text,
                                    java.lang.String font,
                                    int size,
                                    java.lang.String color,
                                    boolean bold,
                                    float x,
                                    float y,
                                    java.lang.String align,
                                    float alpha)
      • changeAmbientLight

        public static void changeAmbientLight​(java.lang.String color)
      • changeLight

        public static void changeLight​(java.lang.String color)
      • moveCamera

        public static void moveCamera​(float x,
                                      float y,
                                      float z,
                                      float targetX,
                                      float targetY,
                                      float targetZ)
      • createBox

        public static void createBox​(java.lang.String meshId,
                                     float sizeX,
                                     float sizeY,
                                     float sizeZ,
                                     java.lang.String color,
                                     java.lang.String texturePath)
      • createSphere

        public static void createSphere​(java.lang.String meshId,
                                        float diameter,
                                        java.lang.String color,
                                        java.lang.String texturePath)
      • addModel

        public static void addModel​(java.lang.String modelId,
                                    java.lang.String meshId)
      • removeModel

        public static void removeModel​(java.lang.String modelId)
      • clearModels

        public static void clearModels()
      • syncModel

        public static void syncModel​(java.lang.String modelId,
                                     float x,
                                     float y,
                                     float z,
                                     float rotX,
                                     float rotY,
                                     float rotZ,
                                     float scaleX,
                                     float scaleY,
                                     float scaleZ)
      • playAnimation

        public static void playAnimation​(java.lang.String modelId,
                                         java.lang.String meshId,
                                         java.lang.String name,
                                         boolean loop)