Skip navigation links
com.badlogic.gdx.backends.android.surfaceview

Class GLSurfaceViewAPI18

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static interface  GLSurfaceViewAPI18.EGLContextFactory
      An interface for customizing the eglCreateContext and eglDestroyContext calls.
      static interface  GLSurfaceViewAPI18.EGLWindowSurfaceFactory
      An interface for customizing the eglCreateWindowSurface and eglDestroySurface calls.
      static interface  GLSurfaceViewAPI18.GLWrapper
      An interface used to wrap a GL interface.
      • Nested classes/interfaces inherited from class android.view.View

        android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnAttachStateChangeListener, android.view.View.OnClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int DEBUG_CHECK_GL_ERROR
      Check glError() after every GL call and throw an exception if glError indicates that an error has occurred.
      static int DEBUG_LOG_GL_CALLS
      Log GL calls to the system log at "verbose" level with tag "GLSurfaceView".
      static int RENDERMODE_CONTINUOUSLY
      The renderer is called continuously to re-render the scene.
      static int RENDERMODE_WHEN_DIRTY
      The renderer only renders when the surface is created, or when requestRender() is called.
      • Fields inherited from class android.view.View

        ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, VISIBLE, X, Y
    • Constructor Summary

      Constructors 
      Constructor and Description
      GLSurfaceViewAPI18(android.content.Context context)
      Standard View constructor.
      GLSurfaceViewAPI18(android.content.Context context, android.util.AttributeSet attrs)
      Standard View constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      int getDebugFlags()
      Get the current value of the debug flags.
      boolean getPreserveEGLContextOnPause() 
      int getRenderMode()
      Get the current rendering mode.
      void onPause()
      Inform the view that the activity is paused.
      void onResume()
      Inform the view that the activity is resumed.
      void queueEvent(Runnable r)
      Queue a runnable to be run on the GL rendering thread.
      void requestRender()
      Request that the renderer render a frame.
      void setDebugFlags(int debugFlags)
      Set the debug flags to a new value.
      void setEGLConfigChooser(boolean needDepth)
      Install a config chooser which will choose a config as close to 16-bit RGB as possible, with or without an optional depth buffer as close to 16-bits as possible.
      void setEGLConfigChooser(android.opengl.GLSurfaceView.EGLConfigChooser configChooser)
      Install a custom EGLConfigChooser.
      void setEGLConfigChooser(int redSize, int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize)
      Install a config chooser which will choose a config with at least the specified depthSize and stencilSize, and exactly the specified redSize, greenSize, blueSize and alphaSize.
      void setEGLContextClientVersion(int version)
      Inform the default EGLContextFactory and default EGLConfigChooser which EGLContext client version to pick.
      void setEGLContextFactory(GLSurfaceViewAPI18.EGLContextFactory factory)
      Install a custom EGLContextFactory.
      void setEGLWindowSurfaceFactory(GLSurfaceViewAPI18.EGLWindowSurfaceFactory factory)
      Install a custom EGLWindowSurfaceFactory.
      void setGLWrapper(GLSurfaceViewAPI18.GLWrapper glWrapper)
      Set the glWrapper.
      void setPreserveEGLContextOnPause(boolean preserveOnPause)
      Control whether the EGL context is preserved when the GLSurfaceView is paused and resumed.
      void setRenderer(android.opengl.GLSurfaceView.Renderer renderer)
      Set the renderer associated with this view.
      void setRenderMode(int renderMode)
      Set the rendering mode.
      void surfaceChanged(android.view.SurfaceHolder holder, int format, int w, int h)
      This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
      void surfaceCreated(android.view.SurfaceHolder holder)
      This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
      void surfaceDestroyed(android.view.SurfaceHolder holder)
      This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
      • Methods inherited from class android.view.SurfaceView

        draw, gatherTransparentRegion, getHolder, setSecure, setVisibility, setZOrderMediaOverlay, setZOrderOnTop
      • Methods inherited from class android.view.View

        addChildrenForAccessibility, addFocusables, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addTouchables, animate, announceForAccessibility, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, combineMeasuredStates, computeScroll, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPopulateAccessibilityEvent, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, focusSearch, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAlpha, getAnimation, getApplicationWindowToken, getBackground, getBaseline, getBottom, getCameraDistance, getClipBounds, getContentDescription, getContext, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusables, getFocusedRect, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHeight, getHitRect, getHorizontalFadingEdgeLength, getId, getImportantForAccessibility, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getResources, getRight, getRootView, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollX, getScrollY, getSolidColor, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTop, getTouchables, getTouchDelegate, getTranslationX, getTranslationY, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, hasFocus, hasFocusable, hasOnClickListeners, hasOverlappingRendering, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, isActivated, isAttachedToWindow, isClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isInEditMode, isInLayout, isInTouchMode, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isOpaque, isPaddingRelative, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, jumpDrawablesToCurrentState, layout, measure, offsetLeftAndRight, offsetTopAndBottom, onCancelPendingInputEvents, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPopulateAccessibilityEvent, onRtlPropertiesChanged, onScreenStateChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performHapticFeedback, performHapticFeedback, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, resolveSize, resolveSizeAndState, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityLiveRegion, setActivated, setAlpha, setAnimation, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBottom, setCameraDistance, setClickable, setClipBounds, setContentDescription, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusableInTouchMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHovered, setId, setImportantForAccessibility, setKeepScreenOn, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLongClickable, setMinimumHeight, setMinimumWidth, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPressed, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTop, setTouchDelegate, setTranslationX, setTranslationY, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setWillNotCacheDrawing, setWillNotDraw, setX, setY, showContextMenu, startActionMode, startAnimation, startDrag, toString, unscheduleDrawable, unscheduleDrawable, willNotCacheDrawing, willNotDraw
    • Method Detail

      • setGLWrapper

        public void setGLWrapper(GLSurfaceViewAPI18.GLWrapper glWrapper)
        Set the glWrapper. If the glWrapper is not null, its GLSurfaceViewAPI18.GLWrapper.wrap(GL) method is called whenever a surface is created. A GLWrapper can be used to wrap the GL object that's passed to the renderer. Wrapping a GL object enables examining and modifying the behavior of the GL calls made by the renderer.

        Wrapping is typically used for debugging purposes.

        The default value is null.

        Parameters:
        glWrapper - the new GLWrapper
      • setDebugFlags

        public void setDebugFlags(int debugFlags)
        Set the debug flags to a new value. The value is constructed by OR-together zero or more of the DEBUG_CHECK_* constants. The debug flags take effect whenever a surface is created. The default value is zero.
        Parameters:
        debugFlags - the new debug flags
        See Also:
        DEBUG_CHECK_GL_ERROR, DEBUG_LOG_GL_CALLS
      • getDebugFlags

        public int getDebugFlags()
        Get the current value of the debug flags.
        Returns:
        the current value of the debug flags.
      • setPreserveEGLContextOnPause

        public void setPreserveEGLContextOnPause(boolean preserveOnPause)
        Control whether the EGL context is preserved when the GLSurfaceView is paused and resumed.

        If set to true, then the EGL context may be preserved when the GLSurfaceView is paused. Whether the EGL context is actually preserved or not depends upon whether the Android device that the program is running on can support an arbitrary number of EGL contexts or not. Devices that can only support a limited number of EGL contexts must release the EGL context in order to allow multiple applications to share the GPU.

        If set to false, the EGL context will be released when the GLSurfaceView is paused, and recreated when the GLSurfaceView is resumed.

        The default is false.

        Parameters:
        preserveOnPause - preserve the EGL context when paused
      • getPreserveEGLContextOnPause

        public boolean getPreserveEGLContextOnPause()
        Returns:
        true if the EGL context will be preserved when paused
      • setEGLContextFactory

        public void setEGLContextFactory(GLSurfaceViewAPI18.EGLContextFactory factory)
        Install a custom EGLContextFactory.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        If this method is not called, then by default a context will be created with no shared context and with a null attribute list.

      • setEGLWindowSurfaceFactory

        public void setEGLWindowSurfaceFactory(GLSurfaceViewAPI18.EGLWindowSurfaceFactory factory)
        Install a custom EGLWindowSurfaceFactory.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        If this method is not called, then by default a window surface will be created with a null attribute list.

      • setEGLConfigChooser

        public void setEGLConfigChooser(android.opengl.GLSurfaceView.EGLConfigChooser configChooser)
        Install a custom EGLConfigChooser.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        If no setEGLConfigChooser method is called, then by default the view will choose an EGLConfig that is compatible with the current android.view.Surface, with a depth buffer depth of at least 16 bits.

        Parameters:
        configChooser -
      • setEGLConfigChooser

        public void setEGLConfigChooser(boolean needDepth)
        Install a config chooser which will choose a config as close to 16-bit RGB as possible, with or without an optional depth buffer as close to 16-bits as possible.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        If no setEGLConfigChooser method is called, then by default the view will choose an RGB_888 surface with a depth buffer depth of at least 16 bits.

        Parameters:
        needDepth -
      • setEGLConfigChooser

        public void setEGLConfigChooser(int redSize,
                                        int greenSize,
                                        int blueSize,
                                        int alphaSize,
                                        int depthSize,
                                        int stencilSize)
        Install a config chooser which will choose a config with at least the specified depthSize and stencilSize, and exactly the specified redSize, greenSize, blueSize and alphaSize.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        If no setEGLConfigChooser method is called, then by default the view will choose an RGB_888 surface with a depth buffer depth of at least 16 bits.

      • setEGLContextClientVersion

        public void setEGLContextClientVersion(int version)
        Inform the default EGLContextFactory and default EGLConfigChooser which EGLContext client version to pick.

        Use this method to create an OpenGL ES 2.0-compatible context. Example:

             public MyView(Context context) {
                 super(context);
                 setEGLContextClientVersion(2); // Pick an OpenGL ES 2.0 context.
                 setRenderer(new MyRenderer());
             }
         

        Note: Activities which require OpenGL ES 2.0 should indicate this by setting @lt;uses-feature android:glEsVersion="0x00020000" /> in the activity's AndroidManifest.xml file.

        If this method is called, it must be called before #setRenderer(Renderer) is called.

        This method only affects the behavior of the default EGLContexFactory and the default EGLConfigChooser. If setEGLContextFactory(EGLContextFactory) has been called, then the supplied EGLContextFactory is responsible for creating an OpenGL ES 2.0-compatible context. If #setEGLConfigChooser(EGLConfigChooser) has been called, then the supplied EGLConfigChooser is responsible for choosing an OpenGL ES 2.0-compatible config.

        Parameters:
        version - The EGLContext client version to choose. Use 2 for OpenGL ES 2.0
      • setRenderMode

        public void setRenderMode(int renderMode)
        Set the rendering mode. When renderMode is RENDERMODE_CONTINUOUSLY, the renderer is called repeatedly to re-render the scene. When renderMode is RENDERMODE_WHEN_DIRTY, the renderer only rendered when the surface is created, or when requestRender() is called. Defaults to RENDERMODE_CONTINUOUSLY.

        Using RENDERMODE_WHEN_DIRTY can improve battery life and overall system performance by allowing the GPU and CPU to idle when the view does not need to be updated.

        This method can only be called after #setRenderer(Renderer)

        Parameters:
        renderMode - one of the RENDERMODE_X constants
        See Also:
        RENDERMODE_CONTINUOUSLY, RENDERMODE_WHEN_DIRTY
      • getRenderMode

        public int getRenderMode()
        Get the current rendering mode. May be called from any thread. Must not be called before a renderer has been set.
        Returns:
        the current rendering mode.
        See Also:
        RENDERMODE_CONTINUOUSLY, RENDERMODE_WHEN_DIRTY
      • requestRender

        public void requestRender()
        Request that the renderer render a frame. This method is typically used when the render mode has been set to RENDERMODE_WHEN_DIRTY, so that frames are only rendered on demand. May be called from any thread. Must not be called before a renderer has been set.
      • surfaceCreated

        public void surfaceCreated(android.view.SurfaceHolder holder)
        This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
        Specified by:
        surfaceCreated in interface android.view.SurfaceHolder.Callback
      • surfaceDestroyed

        public void surfaceDestroyed(android.view.SurfaceHolder holder)
        This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
        Specified by:
        surfaceDestroyed in interface android.view.SurfaceHolder.Callback
      • surfaceChanged

        public void surfaceChanged(android.view.SurfaceHolder holder,
                                   int format,
                                   int w,
                                   int h)
        This method is part of the SurfaceHolder.Callback interface, and is not normally called or subclassed by clients of GLSurfaceView.
        Specified by:
        surfaceChanged in interface android.view.SurfaceHolder.Callback
      • onPause

        public void onPause()
        Inform the view that the activity is paused. The owner of this view must call this method when the activity is paused. Calling this method will pause the rendering thread. Must not be called before a renderer has been set.
      • onResume

        public void onResume()
        Inform the view that the activity is resumed. The owner of this view must call this method when the activity is resumed. Calling this method will recreate the OpenGL display and resume the rendering thread. Must not be called before a renderer has been set.
      • queueEvent

        public void queueEvent(Runnable r)
        Queue a runnable to be run on the GL rendering thread. This can be used to communicate with the Renderer on the rendering thread. Must not be called before a renderer has been set.
        Parameters:
        r - the runnable to be run on the GL rendering thread.

Copyright © 2016. All rights reserved.