com.neovisionaries.android.opengl
Class GLESSurfaceView

java.lang.Object
  extended by android.view.View
      extended by android.view.SurfaceView
          extended by android.opengl.GLSurfaceView
              extended by com.neovisionaries.android.opengl.GLESSurfaceView
All Implemented Interfaces:
Drawable.Callback, AccessibilityEventSource, KeyEvent.Callback, SurfaceHolder.Callback

public class GLESSurfaceView
extends GLSurfaceView

SurfaceView for OpenGL.

Constructors of this class call setEGLContextClientVersion(int version). The number given to setEGLContextClientVersion() is the return value from GLESFactory.getInstance().getMajorVersion().

A renderer instance passed to setRenderer() method should be an instance of GLESRenderer in order to make this view delegate some events to the renderer.

Author:
Takahiko Kawasaki

Nested Class Summary
 
Nested classes/interfaces inherited from class android.opengl.GLSurfaceView
GLSurfaceView.EGLConfigChooser, GLSurfaceView.EGLContextFactory, GLSurfaceView.EGLWindowSurfaceFactory, GLSurfaceView.GLWrapper, GLSurfaceView.Renderer
 
Nested classes/interfaces inherited from class android.view.View
View.BaseSavedState, View.MeasureSpec, View.OnClickListener, View.OnCreateContextMenuListener, View.OnFocusChangeListener, View.OnKeyListener, View.OnLongClickListener, View.OnTouchListener
 
Field Summary
 
Fields inherited from class android.opengl.GLSurfaceView
DEBUG_CHECK_GL_ERROR, DEBUG_LOG_GL_CALLS, RENDERMODE_CONTINUOUSLY, RENDERMODE_WHEN_DIRTY
 
Fields inherited from class android.view.View
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, 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, INVISIBLE, KEEP_SCREEN_ON, 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_WINDOW_FOCUSED_STATE_SET, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, SOUND_EFFECTS_ENABLED, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET
 
Constructor Summary
GLESSurfaceView(Context context)
           
GLESSurfaceView(Context context, AttributeSet attrs)
           
 
Method Summary
 GLSurfaceView.Renderer getRenderer()
          Get the renderer that is currently set to this view.
 boolean onKeyDown(int keyCode, KeyEvent event)
          Callback method for KeyDown event.
 boolean onKeyLongPress(int keyCode, KeyEvent event)
          Callback method for KeyLongPress event.
 boolean onKeyUp(int keyCode, KeyEvent event)
          Callback method for KeyUp event.
 boolean onTouchEvent(MotionEvent event)
          Callback method for Touch event.
 void setRenderer(GLSurfaceView.Renderer renderer)
          Set a renderer to this view.
 
Methods inherited from class android.opengl.GLSurfaceView
getDebugFlags, getRenderMode, onDetachedFromWindow, onPause, onResume, queueEvent, requestRender, setDebugFlags, setEGLConfigChooser, setEGLConfigChooser, setEGLConfigChooser, setEGLContextClientVersion, setEGLContextFactory, setEGLWindowSurfaceFactory, setGLWrapper, setRenderMode, surfaceChanged, surfaceCreated, surfaceDestroyed
 
Methods inherited from class android.view.SurfaceView
dispatchDraw, draw, gatherTransparentRegion, getHolder, onAttachedToWindow, onMeasure, onWindowVisibilityChanged, setVisibility, setZOrderMediaOverlay, setZOrderOnTop
 
Methods inherited from class android.view.View
addFocusables, addFocusables, addTouchables, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, cancelLongPress, checkInputConnectionProxy, clearAnimation, clearFocus, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createContextMenu, destroyDrawingCache, dispatchConfigurationChanged, dispatchDisplayHint, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPopulateAccessibilityEvent, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchSetPressed, dispatchSetSelected, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowVisibilityChanged, drawableStateChanged, findFocus, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceLayout, getAnimation, getApplicationWindowToken, getBackground, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getContentDescription, getContext, getContextMenuInfo, getDefaultSize, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getFilterTouchesWhenObscured, getFocusables, getFocusedRect, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getKeepScreenOn, getKeyDispatcherState, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMeasuredHeight, getMeasuredWidth, getNextFocusDownId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOverScrollMode, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getParent, getResources, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootView, getScrollBarStyle, getScrollX, getScrollY, getSolidColor, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getTag, getTag, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getVerticalFadingEdgeLength, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, hasFocus, hasFocusable, hasWindowFocus, inflate, initializeFadingEdge, initializeScrollbars, invalidate, invalidate, invalidate, invalidateDrawable, isClickable, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isHapticFeedbackEnabled, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isInEditMode, isInTouchMode, isLayoutRequested, isLongClickable, isOpaque, isPaddingOffsetRequired, isPressed, isSaveEnabled, isScrollbarFadingEnabled, isSelected, isShown, isSoundEffectsEnabled, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, layout, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateDrawableState, onCreateInputConnection, onDisplayHint, onDraw, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onKeyMultiple, onKeyPreIme, onKeyShortcut, onLayout, onOverScrolled, onRestoreInstanceState, onSaveInstanceState, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTrackballEvent, onVisibilityChanged, onWindowFocusChanged, overScrollBy, performClick, performHapticFeedback, performHapticFeedback, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, refreshDrawableState, removeCallbacks, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, resolveSize, restoreHierarchyState, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAnimation, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setClickable, setContentDescription, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFocusable, setFocusableInTouchMode, setHapticFeedbackEnabled, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setId, setKeepScreenOn, setLayoutParams, setLongClickable, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNextFocusDownId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnClickListener, setOnCreateContextMenuListener, setOnFocusChangeListener, setOnKeyListener, setOnLongClickListener, setOnTouchListener, setOverScrollMode, setPadding, setPressed, setSaveEnabled, setScrollbarFadingEnabled, setScrollBarStyle, setScrollContainer, setSelected, setSoundEffectsEnabled, setTag, setTag, setTouchDelegate, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setWillNotCacheDrawing, setWillNotDraw, showContextMenu, startAnimation, unscheduleDrawable, unscheduleDrawable, verifyDrawable, willNotCacheDrawing, willNotDraw
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GLESSurfaceView

public GLESSurfaceView(Context context)

GLESSurfaceView

public GLESSurfaceView(Context context,
                       AttributeSet attrs)
Method Detail

getRenderer

public GLSurfaceView.Renderer getRenderer()
Get the renderer that is currently set to this view.

Returns:
The renderer set to this view.

setRenderer

public void setRenderer(GLSurfaceView.Renderer renderer)
Set a renderer to this view.

If the renderer is an instance of GLESRenderer, some of events this view receives are passed to the renderer. See the description of onKeyDown(int, KeyEvent) for example.

Overrides:
setRenderer in class GLSurfaceView
See Also:
GLESRenderer

onKeyDown

public boolean onKeyDown(int keyCode,
                         KeyEvent event)
Callback method for KeyDown event.

This implementation calls GLESRenderer.onKeyDown(GLESSurfaceView, int, KeyEvent) if the renderer set to this view is an instance of GLESRenderer.

If the renderer is not an instance of GLESRenderer or if the renderer's onKeyDown() method returns false, this method calls super.onKeyDown(keyCode, event).

Specified by:
onKeyDown in interface KeyEvent.Callback
Overrides:
onKeyDown in class View
Returns:
True if the event has been consumed by this method.
See Also:
GLESRenderer.onKeyDown(GLESSurfaceView, int, KeyEvent)

onKeyLongPress

public boolean onKeyLongPress(int keyCode,
                              KeyEvent event)
Callback method for KeyLongPress event.

This implementation calls GLESRenderer.onKeyLongPress(GLESSurfaceView, int, KeyEvent) if the renderer set to this view is an instance of GLESRenderer.

If the renderer is not an instance of GLESRenderer or if the renderer's onKeyLongPress() method returns false, this method calls super.onKeyLongPress(keyCode, event).

Specified by:
onKeyLongPress in interface KeyEvent.Callback
Overrides:
onKeyLongPress in class View
Returns:
True if the event has been consumed by this method.
See Also:
GLESRenderer.onKeyLongPress(GLESSurfaceView, int, KeyEvent)

onKeyUp

public boolean onKeyUp(int keyCode,
                       KeyEvent event)
Callback method for KeyUp event.

This implementation calls GLESRenderer.onKeyUp(GLESSurfaceView, int, KeyEvent) if the renderer set to this view is an instance of GLESRenderer.

If the renderer is not an instance of GLESRenderer or if the renderer's onKeyUp() method returns false, this method calls super.onKeyUp(keyCode, event).

Specified by:
onKeyUp in interface KeyEvent.Callback
Overrides:
onKeyUp in class View
Returns:
True if the event has been consumed by this method.
See Also:
GLESRenderer.onKeyUp(GLESSurfaceView, int, KeyEvent)

onTouchEvent

public boolean onTouchEvent(MotionEvent event)
Callback method for Touch event.

This implementation calls GLESRenderer.onTouchEvent(GLESSurfaceView, MotionEvent) if the renderer set to this view is an instance of GLESRenderer.

If the renderer is not an instance of GLESRenderer or if the renderer's onTouchEvent() method returns false, this method calls super.onTouchEvent(event).

Overrides:
onTouchEvent in class View
Returns:
True if the event has been consumed by this method.
See Also:
GLESRenderer.onTouchEvent(GLESSurfaceView, MotionEvent)