public class LegacyGLSurfaceView
extends android.view.SurfaceView
implements android.view.SurfaceHolder.Callback
A GLSurfaceView provides the following features:
For more information about how to use OpenGL, read the OpenGL developer guide.
setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer) call.
setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer).
However, if desired, you can modify the default behavior of GLSurfaceView by calling one or
more of these methods before calling setRenderer:
setDebugFlags(int)
setEGLConfigChooser(boolean)
setEGLConfigChooser(com.telenav.map.engine.LegacyGLSurfaceView.EGLConfigChooser)
setEGLConfigChooser(int, int, int, int, int, int)
setGLWrapper(com.telenav.map.engine.LegacyGLSurfaceView.GLWrapper)
setDebugFlags(int),
and setGLWrapper(com.telenav.map.engine.LegacyGLSurfaceView.GLWrapper). These methods may be called before and/or after setRenderer, but
typically they are called before setRenderer so that they take effect immediately.
setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer) to register a LegacyGLSurfaceView.Renderer.
The renderer is
responsible for doing the actual OpenGL rendering.
setRenderMode(int). The default is continuous rendering.
onPause() when the activity pauses and
onResume() when the activity resumes. These calls allow GLSurfaceView to
pause and resume the rendering thread, and also allow GLSurfaceView to release and recreate
the OpenGL display.
queueEvent(Runnable). For example:
class MyGLSurfaceView extends GLSurfaceView {
private MyRenderer mMyRenderer;
public void start() {
mMyRenderer = ...;
setRenderer(mMyRenderer);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
queueEvent(new Runnable() {
// This method will be called on the rendering
// thread:
public void run() {
mMyRenderer.handleDpadCenter();
}});
return true;
}
return super.onKeyDown(keyCode, event);
}
}
| Modifier and Type | Class and Description |
|---|---|
static interface |
LegacyGLSurfaceView.EGLConfigChooser
An interface for choosing an EGLConfig configuration from a list of
potential configurations.
|
static interface |
LegacyGLSurfaceView.EGLContextFactory
An interface for customizing the eglCreateContext and eglDestroyContext calls.
|
static interface |
LegacyGLSurfaceView.EGLWindowSurfaceFactory
An interface for customizing the eglCreateWindowSurface and eglDestroySurface calls.
|
static interface |
LegacyGLSurfaceView.GLWrapper
An interface used to wrap a GL interface.
|
static interface |
LegacyGLSurfaceView.Renderer
A generic renderer interface.
|
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| 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. |
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, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, 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, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, 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, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, 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, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, 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, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y| Constructor and Description |
|---|
LegacyGLSurfaceView(android.content.Context context)
Standard View constructor.
|
LegacyGLSurfaceView(android.content.Context context,
android.util.AttributeSet attrs)
Standard View constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
finalize() |
int |
getDebugFlags()
Get the current value of the debug flags.
|
int |
getInnerRenderMode()
Get the current rendering mode.
|
boolean |
getPreserveEGLContextOnPause() |
protected void |
onAttachedToWindow()
This method is used as part of the View class and is not normally
called or subclassed by clients of GLSurfaceView.
|
protected void |
onDetachedFromWindow()
This method is used as part of the View class and is not normally
called or subclassed by clients of GLSurfaceView.
|
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(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 |
setEGLConfigChooser(LegacyGLSurfaceView.EGLConfigChooser configChooser)
Install a custom EGLConfigChooser.
|
void |
setEGLContextClientVersion(int version)
Inform the default EGLContextFactory and default EGLConfigChooser
which EGLContext client version to pick.
|
void |
setEGLContextFactory(LegacyGLSurfaceView.EGLContextFactory factory)
Install a custom EGLContextFactory.
|
void |
setEGLWindowSurfaceFactory(LegacyGLSurfaceView.EGLWindowSurfaceFactory factory)
Install a custom EGLWindowSurfaceFactory.
|
void |
setGLWrapper(LegacyGLSurfaceView.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(LegacyGLSurfaceView.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.
|
dispatchDraw, draw, gatherTransparentRegion, getHolder, onMeasure, onWindowVisibilityChanged, setSecure, setVisibility, setZOrderMediaOverlay, setZOrderOnTopaddChildrenForAccessibility, addFocusables, addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addTouchables, animate, announceForAccessibility, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchGenericFocusedEvent, dispatchGenericMotionEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPopulateAccessibilityEvent, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, fitSystemWindows, focusSearch, forceLayout, generateViewId, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAlpha, getAnimation, getApplicationWindowToken, getBackground, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getContentDescription, getContext, getContextMenuInfo, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusables, getFocusedRect, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getImportantForAccessibility, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, 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, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollX, getScrollY, getSolidColor, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTranslationX, getTranslationY, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, hasFocus, hasFocusable, hasOnClickListeners, hasOverlappingRendering, hasTransientState, hasWindowFocus, inflate, initializeFadingEdge, initializeScrollbars, 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, isPaddingOffsetRequired, isPaddingRelative, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShown, isSoundEffectsEnabled, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, jumpDrawablesToCurrentState, layout, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onCancelPendingInputEvents, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateDrawableState, onCreateInputConnection, onDisplayHint, onDragEvent, onDraw, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onLayout, onOverScrolled, onPopulateAccessibilityEvent, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, overScrollBy, 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, setMeasuredDimension, 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, verifyDrawable, willNotCacheDrawing, willNotDrawpublic static final int RENDERMODE_WHEN_DIRTY
requestRender() is called.public static final int RENDERMODE_CONTINUOUSLY
public static final int DEBUG_CHECK_GL_ERROR
public static final int DEBUG_LOG_GL_CALLS
public LegacyGLSurfaceView(android.content.Context context)
setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer) to register a renderer.public LegacyGLSurfaceView(android.content.Context context,
android.util.AttributeSet attrs)
setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer) to register a renderer.protected void finalize()
throws Throwable
public void setGLWrapper(LegacyGLSurfaceView.GLWrapper glWrapper)
LegacyGLSurfaceView.GLWrapper.wrap(javax.microedition.khronos.opengles.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.glWrapper - the new GLWrapperpublic void setDebugFlags(int debugFlags)
debugFlags - the new debug flagsDEBUG_CHECK_GL_ERROR,
DEBUG_LOG_GL_CALLSpublic int getDebugFlags()
public void setPreserveEGLContextOnPause(boolean preserveOnPause)
preserveOnPause - preserve the EGL context when pausedpublic boolean getPreserveEGLContextOnPause()
public void setRenderer(LegacyGLSurfaceView.Renderer renderer)
This method should be called once and only once in the life-cycle of a GLSurfaceView.
The following GLSurfaceView methods can only be called before setRenderer is called:
The following GLSurfaceView methods can only be called after setRenderer is called:renderer - the renderer to use to perform OpenGL drawing.public void setEGLContextFactory(LegacyGLSurfaceView.EGLContextFactory factory)
If this method is
called, it must be called before setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
public void setEGLWindowSurfaceFactory(LegacyGLSurfaceView.EGLWindowSurfaceFactory factory)
If this method is
called, it must be called before setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
public void setEGLConfigChooser(LegacyGLSurfaceView.EGLConfigChooser configChooser)
If this method is
called, it must be called before setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
configChooser - public void setEGLConfigChooser(boolean needDepth)
If this method is
called, it must be called before setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
needDepth - public void setEGLConfigChooser(int redSize,
int greenSize,
int blueSize,
int alphaSize,
int depthSize,
int stencilSize)
If this method is
called, it must be called before setRenderer(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
public void setEGLContextClientVersion(int version)
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(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)
is called.
This method only affects the behavior of the default EGLContexFactory and the
default EGLConfigChooser. If
setEGLContextFactory(com.telenav.map.engine.LegacyGLSurfaceView.EGLContextFactory) has been called, then the supplied
EGLContextFactory is responsible for creating an OpenGL ES 2.0-compatible context.
If
setEGLConfigChooser(com.telenav.map.engine.LegacyGLSurfaceView.EGLConfigChooser) has been called, then the supplied
EGLConfigChooser is responsible for choosing an OpenGL ES 2.0-compatible config.
version - The EGLContext client version to choose. Use 2 for OpenGL ES 2.0public void setRenderMode(int renderMode)
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(com.telenav.map.engine.LegacyGLSurfaceView.Renderer)renderMode - one of the RENDERMODE_X constantsRENDERMODE_CONTINUOUSLY,
RENDERMODE_WHEN_DIRTYpublic int getInnerRenderMode()
RENDERMODE_CONTINUOUSLY,
RENDERMODE_WHEN_DIRTYpublic void requestRender()
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.public void surfaceCreated(android.view.SurfaceHolder holder)
surfaceCreated in interface android.view.SurfaceHolder.Callbackpublic void surfaceDestroyed(android.view.SurfaceHolder holder)
surfaceDestroyed in interface android.view.SurfaceHolder.Callbackpublic void surfaceChanged(android.view.SurfaceHolder holder,
int format,
int w,
int h)
surfaceChanged in interface android.view.SurfaceHolder.Callbackpublic void onPause()
public void onResume()
public void queueEvent(Runnable r)
r - the runnable to be run on the GL rendering thread.protected void onAttachedToWindow()
onAttachedToWindow in class android.view.SurfaceViewprotected void onDetachedFromWindow()
onDetachedFromWindow in class android.view.SurfaceView