A View that wraps and supports a concrete VR presentation view (usually a SurfaceView).
This class operates as the *root* View of a VR scene. It abstracts a number of VR-related auxiliary tasks, e.g., presenting to an external display, obtaining a handle to the Google VR API wrapper and supporting "asynchronous reprojection"-based low-latency rendering.
The client is responsible for installing a "presentation" view. This is the view to which the VR scene (*not 2D, View-based UI*) should be rendered, and will most often be some deriviative of a SurfaceView, e.g., GLSurfaceView. It is this presentation view that owns the render loop; GvrLayout itself does not perform rendering unless asynchronous reprojection is enabled and supported by the client. A typical setup might look something like:
- Create the SurfaceView to which the VR scene will be rendered, e.g., surfaceView = new GLSurfaceView(context); surfaceView.setRenderer(renderer);
- Install the SurfaceView in the GvrLayout, e.g., gvrLayout = new GvrLayout(context); gvrLayout.setPresentationView(surfaceView);
- Install the GvrLayout in the View hierarchy, e.g., activity.setContentView(gvrLayout);
- Use the associated
GvrApi
instance to inform and perform stereo rendering, e.g., gvrApi = gvrLayout.getApi(); nativeOnDrawFrame(gvrApi.getNativeGvrContext());
The GvrLayout must be notified when the activity is paused and resumed. GvrLayout
clients are required to call onPause()
when the activity pauses and
onResume()
when the activity resumes. These calls allow GvrLayout to detach
and reattach any listeners it uses to monitor for external displays. The GvrLayout should
also be explicitly shut down by the client using shutdown()
, typically when
the activity is being destroyed.
Note: This class is *not* generally thread-safe, and should be used solely on the UI
thread unless otherwise noted. The same applies for the GvrApi
instance owned by this
class and exposed via getGvrApi()
.
Nested Classes
interface | GvrLayout.ExternalSurfaceListener | Listener for external Surface events. |
Inherited Constants
int | FOCUS_AFTER_DESCENDANTS | |
int | FOCUS_BEFORE_DESCENDANTS | |
int | FOCUS_BLOCK_DESCENDANTS | |
int | LAYOUT_MODE_CLIP_BOUNDS | |
int | LAYOUT_MODE_OPTICAL_BOUNDS | |
int | PERSISTENT_ALL_CACHES | |
int | PERSISTENT_ANIMATION_CACHE | |
int | PERSISTENT_NO_CACHE | |
int | PERSISTENT_SCROLLING_CACHE |
int | ACCESSIBILITY_LIVE_REGION_ASSERTIVE | |
int | ACCESSIBILITY_LIVE_REGION_NONE | |
int | ACCESSIBILITY_LIVE_REGION_POLITE | |
int | AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS | |
String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE | |
String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY | |
String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH | |
String | AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR | |
String | AUTOFILL_HINT_CREDIT_CARD_NUMBER | |
String | AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE | |
String | AUTOFILL_HINT_EMAIL_ADDRESS | |
String | AUTOFILL_HINT_NAME | |
String | AUTOFILL_HINT_PASSWORD | |
String | AUTOFILL_HINT_PHONE | |
String | AUTOFILL_HINT_POSTAL_ADDRESS | |
String | AUTOFILL_HINT_POSTAL_CODE | |
String | AUTOFILL_HINT_USERNAME | |
int | AUTOFILL_TYPE_DATE | |
int | AUTOFILL_TYPE_LIST | |
int | AUTOFILL_TYPE_NONE | |
int | AUTOFILL_TYPE_TEXT | |
int | AUTOFILL_TYPE_TOGGLE | |
int | DRAG_FLAG_GLOBAL | |
int | DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION | |
int | DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION | |
int | DRAG_FLAG_GLOBAL_URI_READ | |
int | DRAG_FLAG_GLOBAL_URI_WRITE | |
int | DRAG_FLAG_OPAQUE | |
int | DRAWING_CACHE_QUALITY_AUTO | |
int | DRAWING_CACHE_QUALITY_HIGH | |
int | DRAWING_CACHE_QUALITY_LOW | |
int | FIND_VIEWS_WITH_CONTENT_DESCRIPTION | |
int | FIND_VIEWS_WITH_TEXT | |
int | FOCUSABLE | |
int | FOCUSABLES_ALL | |
int | FOCUSABLES_TOUCH_MODE | |
int | FOCUSABLE_AUTO | |
int | FOCUS_BACKWARD | |
int | FOCUS_DOWN | |
int | FOCUS_FORWARD | |
int | FOCUS_LEFT | |
int | FOCUS_RIGHT | |
int | FOCUS_UP | |
int | GONE | |
int | HAPTIC_FEEDBACK_ENABLED | |
int | IMPORTANT_FOR_ACCESSIBILITY_AUTO | |
int | IMPORTANT_FOR_ACCESSIBILITY_NO | |
int | IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS | |
int | IMPORTANT_FOR_ACCESSIBILITY_YES | |
int | IMPORTANT_FOR_AUTOFILL_AUTO | |
int | IMPORTANT_FOR_AUTOFILL_NO | |
int | IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS | |
int | IMPORTANT_FOR_AUTOFILL_YES | |
int | IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS | |
int | INVISIBLE | |
int | KEEP_SCREEN_ON | |
int | LAYER_TYPE_HARDWARE | |
int | LAYER_TYPE_NONE | |
int | LAYER_TYPE_SOFTWARE | |
int | LAYOUT_DIRECTION_INHERIT | |
int | LAYOUT_DIRECTION_LOCALE | |
int | LAYOUT_DIRECTION_LTR | |
int | LAYOUT_DIRECTION_RTL | |
int | MEASURED_HEIGHT_STATE_SHIFT | |
int | MEASURED_SIZE_MASK | |
int | MEASURED_STATE_MASK | |
int | MEASURED_STATE_TOO_SMALL | |
int | NOT_FOCUSABLE | |
int | NO_ID | |
int | OVER_SCROLL_ALWAYS | |
int | OVER_SCROLL_IF_CONTENT_SCROLLS | |
int | OVER_SCROLL_NEVER | |
int | SCREEN_STATE_OFF | |
int | SCREEN_STATE_ON | |
int | SCROLLBARS_INSIDE_INSET | |
int | SCROLLBARS_INSIDE_OVERLAY | |
int | SCROLLBARS_OUTSIDE_INSET | |
int | SCROLLBARS_OUTSIDE_OVERLAY | |
int | SCROLLBAR_POSITION_DEFAULT | |
int | SCROLLBAR_POSITION_LEFT | |
int | SCROLLBAR_POSITION_RIGHT | |
int | SCROLL_AXIS_HORIZONTAL | |
int | SCROLL_AXIS_NONE | |
int | SCROLL_AXIS_VERTICAL | |
int | SCROLL_INDICATOR_BOTTOM | |
int | SCROLL_INDICATOR_END | |
int | SCROLL_INDICATOR_LEFT | |
int | SCROLL_INDICATOR_RIGHT | |
int | SCROLL_INDICATOR_START | |
int | SCROLL_INDICATOR_TOP | |
int | SOUND_EFFECTS_ENABLED | |
int | STATUS_BAR_HIDDEN | |
int | STATUS_BAR_VISIBLE | |
int | SYSTEM_UI_FLAG_FULLSCREEN | |
int | SYSTEM_UI_FLAG_HIDE_NAVIGATION | |
int | SYSTEM_UI_FLAG_IMMERSIVE | |
int | SYSTEM_UI_FLAG_IMMERSIVE_STICKY | |
int | SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | |
int | SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | |
int | SYSTEM_UI_FLAG_LAYOUT_STABLE | |
int | SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR | |
int | SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | |
int | SYSTEM_UI_FLAG_LOW_PROFILE | |
int | SYSTEM_UI_FLAG_VISIBLE | |
int | SYSTEM_UI_LAYOUT_FLAGS | |
int | TEXT_ALIGNMENT_CENTER | |
int | TEXT_ALIGNMENT_GRAVITY | |
int | TEXT_ALIGNMENT_INHERIT | |
int | TEXT_ALIGNMENT_TEXT_END | |
int | TEXT_ALIGNMENT_TEXT_START | |
int | TEXT_ALIGNMENT_VIEW_END | |
int | TEXT_ALIGNMENT_VIEW_START | |
int | TEXT_DIRECTION_ANY_RTL | |
int | TEXT_DIRECTION_FIRST_STRONG | |
int | TEXT_DIRECTION_FIRST_STRONG_LTR | |
int | TEXT_DIRECTION_FIRST_STRONG_RTL | |
int | TEXT_DIRECTION_INHERIT | |
int | TEXT_DIRECTION_LOCALE | |
int | TEXT_DIRECTION_LTR | |
int | TEXT_DIRECTION_RTL | |
int | VISIBLE |
Inherited Fields
public static final Property<View, Float> | ALPHA | |
public static final Property<View, Float> | ROTATION | |
public static final Property<View, Float> | ROTATION_X | |
public static final Property<View, Float> | ROTATION_Y | |
public static final Property<View, Float> | SCALE_X | |
public static final Property<View, Float> | SCALE_Y | |
public static final Property<View, Float> | TRANSLATION_X | |
public static final Property<View, Float> | TRANSLATION_Y | |
public static final Property<View, Float> | TRANSLATION_Z | |
public static final Property<View, Float> | X | |
public static final Property<View, Float> | Y | |
public static final Property<View, Float> | Z |
Public Constructors
GvrLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Creates a new
GvrLayout instance. |
Public Methods
boolean |
enableAsyncReprojectionProtected()
Enables asynchronous reprojection with supported for protected buffers.
|
boolean |
enableAsyncReprojectionVideoSurface(GvrLayout.ExternalSurfaceListener listener, Handler handler, boolean useProtectedBuffers)
Enables video Surface with async reprojection.
|
boolean |
enableCardboardTriggerEmulation(Runnable cardboardTriggerListener)
Enables emulation of Cardboard-style touch trigger input when using a Daydream headset.
|
Surface |
getAsyncReprojectionVideoSurface()
Gets the video Surface managed by the reprojection thread.
|
int |
getAsyncReprojectionVideoSurfaceId()
Gets the Surface ID of the video Surface managed by the reprojection thread.
|
GvrApi | |
GvrUiLayout |
getUiLayout()
Returns the
GvrUiLayout associated with this view. |
void |
onBackPressed()
Optional hook the client can trigger from Activity.onBackPressed().
|
void |
onPause()
This must be called when the parent activity is paused.
|
void |
onResume()
This must be called when the parent activity is resumed.
|
boolean |
setAsyncReprojectionEnabled(boolean enabled)
Enables or disables asynchronous reprojection.
|
void |
setFixedPresentationSurfaceSize(int surfaceWidthPixels, int surfaceHeightPixels)
Updates the pipeline to accommodate a custom, fixed presentation surface size.
|
void | |
void |
Inherited Methods
ViewGroup.LayoutParams |
generateLayoutParams(AttributeSet arg0)
|
CharSequence |
getAccessibilityClassName()
|
boolean |
getConsiderGoneChildrenWhenMeasuring()
|
boolean |
getMeasureAllChildren()
|
void |
setForegroundGravity(int arg0)
|
void |
setMeasureAllChildren(boolean arg0)
|
boolean |
shouldDelayChildPressedState()
|
void | |
void | |
void | |
boolean |
addStatesFromChildren()
|
void | |
void | |
void |
addView(View arg0, int arg1)
|
void | |
void |
addView(View arg0)
|
void |
addView(View arg0, int arg1, int arg2)
|
void |
bringChildToFront(View arg0)
|
void |
childDrawableStateChanged(View arg0)
|
void |
childHasTransientStateChanged(View arg0, boolean arg1)
|
void |
clearChildFocus(View arg0)
|
void |
clearDisappearingChildren()
|
void |
clearFocus()
|
WindowInsets |
dispatchApplyWindowInsets(WindowInsets arg0)
|
boolean |
dispatchCapturedPointerEvent(MotionEvent arg0)
|
void |
dispatchConfigurationChanged(Configuration arg0)
|
void |
dispatchDisplayHint(int arg0)
|
boolean |
dispatchDragEvent(DragEvent arg0)
|
void |
dispatchDrawableHotspotChanged(float arg0, float arg1)
|
void |
dispatchFinishTemporaryDetach()
|
boolean |
dispatchKeyEvent(KeyEvent arg0)
|
boolean |
dispatchKeyEventPreIme(KeyEvent arg0)
|
boolean |
dispatchKeyShortcutEvent(KeyEvent arg0)
|
void |
dispatchPointerCaptureChanged(boolean arg0)
|
void |
dispatchProvideAutofillStructure(ViewStructure arg0, int arg1)
|
void |
dispatchProvideStructure(ViewStructure arg0)
|
void |
dispatchSetActivated(boolean arg0)
|
void |
dispatchSetSelected(boolean arg0)
|
void |
dispatchStartTemporaryDetach()
|
void |
dispatchSystemUiVisibilityChanged(int arg0)
|
boolean |
dispatchTouchEvent(MotionEvent arg0)
|
boolean |
dispatchTrackballEvent(MotionEvent arg0)
|
boolean |
dispatchUnhandledMove(View arg0, int arg1)
|
void |
dispatchWindowFocusChanged(boolean arg0)
|
void |
dispatchWindowSystemUiVisiblityChanged(int arg0)
|
void |
dispatchWindowVisibilityChanged(int arg0)
|
void |
endViewTransition(View arg0)
|
View |
findFocus()
|
void | |
View |
focusSearch(View arg0, int arg1)
|
void |
focusableViewAvailable(View arg0)
|
boolean |
gatherTransparentRegion(Region arg0)
|
ViewGroup.LayoutParams |
generateLayoutParams(AttributeSet arg0)
|
CharSequence |
getAccessibilityClassName()
|
View |
getChildAt(int arg0)
|
int |
getChildCount()
|
static int |
getChildMeasureSpec(int arg0, int arg1, int arg2)
|
boolean | |
boolean |
getClipChildren()
|
boolean |
getClipToPadding()
|
int |
getDescendantFocusability()
|
View |
getFocusedChild()
|
LayoutAnimationController |
getLayoutAnimation()
|
Animation.AnimationListener |
getLayoutAnimationListener()
|
int |
getLayoutMode()
|
LayoutTransition |
getLayoutTransition()
|
int |
getNestedScrollAxes()
|
ViewOverlay |
getOverlay()
|
int |
getPersistentDrawingCache()
|
boolean |
getTouchscreenBlocksFocus()
|
boolean |
hasFocus()
|
boolean |
hasTransientState()
|
int |
indexOfChild(View arg0)
|
final void | |
ViewParent |
invalidateChildInParent(int[] arg0, Rect arg1)
|
boolean |
isAlwaysDrawnWithCacheEnabled()
|
boolean |
isAnimationCacheEnabled()
|
boolean |
isLayoutSuppressed()
|
boolean |
isMotionEventSplittingEnabled()
|
boolean |
isTransitionGroup()
|
void |
jumpDrawablesToCurrentState()
|
final void |
layout(int arg0, int arg1, int arg2, int arg3)
|
void | |
final void | |
final void | |
void | |
boolean |
onInterceptHoverEvent(MotionEvent arg0)
|
boolean |
onInterceptTouchEvent(MotionEvent arg0)
|
boolean |
onNestedFling(View arg0, float arg1, float arg2, boolean arg3)
|
boolean |
onNestedPreFling(View arg0, float arg1, float arg2)
|
boolean | |
void |
onNestedPreScroll(View arg0, int arg1, int arg2, int[] arg3)
|
void |
onNestedScroll(View arg0, int arg1, int arg2, int arg3, int arg4)
|
void | |
boolean | |
PointerIcon |
onResolvePointerIcon(MotionEvent arg0, int arg1)
|
boolean | |
void |
onStopNestedScroll(View arg0)
|
void |
onViewAdded(View arg0)
|
void |
onViewRemoved(View arg0)
|
void |
recomputeViewAttributes(View arg0)
|
void |
removeAllViews()
|
void |
removeAllViewsInLayout()
|
void |
removeView(View arg0)
|
void |
removeViewAt(int arg0)
|
void |
removeViewInLayout(View arg0)
|
void |
removeViews(int arg0, int arg1)
|
void |
removeViewsInLayout(int arg0, int arg1)
|
void | |
boolean | |
void |
requestDisallowInterceptTouchEvent(boolean arg0)
|
boolean |
requestFocus(int arg0, Rect arg1)
|
boolean | |
void |
requestTransparentRegion(View arg0)
|
boolean |
restoreDefaultFocus()
|
void |
scheduleLayoutAnimation()
|
void |
setAddStatesFromChildren(boolean arg0)
|
void |
setAlwaysDrawnWithCacheEnabled(boolean arg0)
|
void |
setAnimationCacheEnabled(boolean arg0)
|
void |
setClipChildren(boolean arg0)
|
void |
setClipToPadding(boolean arg0)
|
void |
setDescendantFocusability(int arg0)
|
void |
setLayoutAnimation(LayoutAnimationController arg0)
|
void |
setLayoutAnimationListener(Animation.AnimationListener arg0)
|
void |
setLayoutMode(int arg0)
|
void |
setLayoutTransition(LayoutTransition arg0)
|
void |
setMotionEventSplittingEnabled(boolean arg0)
|
void |
setOnHierarchyChangeListener(ViewGroup.OnHierarchyChangeListener arg0)
|
void |
setPersistentDrawingCache(int arg0)
|
void |
setTouchscreenBlocksFocus(boolean arg0)
|
void |
setTransitionGroup(boolean arg0)
|
boolean |
shouldDelayChildPressedState()
|
boolean |
showContextMenuForChild(View arg0, float arg1, float arg2)
|
boolean |
showContextMenuForChild(View arg0)
|
ActionMode | |
ActionMode | |
void |
startLayoutAnimation()
|
void |
startViewTransition(View arg0)
|
void |
suppressLayout(boolean arg0)
|
void |
void | |
void | |
void | |
void | |
void | |
void |
addOnAttachStateChangeListener(View.OnAttachStateChangeListener arg0)
|
void |
addOnLayoutChangeListener(View.OnLayoutChangeListener arg0)
|
void |
addOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener arg0)
|
void | |
ViewPropertyAnimator |
animate()
|
void |
announceForAccessibility(CharSequence arg0)
|
void |
autofill(AutofillValue arg0)
|
void |
autofill(SparseArray<AutofillValue> arg0)
|
void |
bringToFront()
|
void |
buildDrawingCache(boolean arg0)
|
void |
buildDrawingCache()
|
void |
buildLayer()
|
boolean |
callOnClick()
|
boolean |
canResolveLayoutDirection()
|
boolean |
canResolveTextAlignment()
|
boolean |
canResolveTextDirection()
|
boolean |
canScrollHorizontally(int arg0)
|
boolean |
canScrollVertically(int arg0)
|
final void |
cancelDragAndDrop()
|
void |
cancelLongPress()
|
final void |
cancelPendingInputEvents()
|
boolean |
checkInputConnectionProxy(View arg0)
|
void |
clearAnimation()
|
void |
clearFocus()
|
static int |
combineMeasuredStates(int arg0, int arg1)
|
void |
computeScroll()
|
WindowInsets | |
AccessibilityNodeInfo |
createAccessibilityNodeInfo()
|
void |
createContextMenu(ContextMenu arg0)
|
void |
destroyDrawingCache()
|
WindowInsets |
dispatchApplyWindowInsets(WindowInsets arg0)
|
boolean |
dispatchCapturedPointerEvent(MotionEvent arg0)
|
void |
dispatchConfigurationChanged(Configuration arg0)
|
void |
dispatchDisplayHint(int arg0)
|
boolean |
dispatchDragEvent(DragEvent arg0)
|
void |
dispatchDrawableHotspotChanged(float arg0, float arg1)
|
void |
dispatchFinishTemporaryDetach()
|
boolean |
dispatchGenericMotionEvent(MotionEvent arg0)
|
boolean |
dispatchKeyEvent(KeyEvent arg0)
|
boolean |
dispatchKeyEventPreIme(KeyEvent arg0)
|
boolean |
dispatchKeyShortcutEvent(KeyEvent arg0)
|
boolean |
dispatchNestedFling(float arg0, float arg1, boolean arg2)
|
boolean |
dispatchNestedPreFling(float arg0, float arg1)
|
boolean |
dispatchNestedPrePerformAccessibilityAction(int arg0, Bundle arg1)
|
boolean |
dispatchNestedPreScroll(int arg0, int arg1, int[] arg2, int[] arg3)
|
boolean |
dispatchNestedScroll(int arg0, int arg1, int arg2, int arg3, int[] arg4)
|
void |
dispatchPointerCaptureChanged(boolean arg0)
|
boolean |
dispatchPopulateAccessibilityEvent(AccessibilityEvent arg0)
|
void |
dispatchProvideAutofillStructure(ViewStructure arg0, int arg1)
|
void |
dispatchProvideStructure(ViewStructure arg0)
|
void |
dispatchStartTemporaryDetach()
|
void |
dispatchSystemUiVisibilityChanged(int arg0)
|
boolean |
dispatchTouchEvent(MotionEvent arg0)
|
boolean |
dispatchTrackballEvent(MotionEvent arg0)
|
boolean |
dispatchUnhandledMove(View arg0, int arg1)
|
void |
dispatchWindowFocusChanged(boolean arg0)
|
void |
dispatchWindowSystemUiVisiblityChanged(int arg0)
|
void |
dispatchWindowVisibilityChanged(int arg0)
|
void |
draw(Canvas arg0)
|
void |
drawableHotspotChanged(float arg0, float arg1)
|
View |
findFocus()
|
final <T extends View> T |
findViewById(int arg0)
|
final <T extends View> T |
findViewWithTag(Object arg0)
|
void | |
View |
focusSearch(int arg0)
|
void |
forceHasOverlappingRendering(boolean arg0)
|
void |
forceLayout()
|
static int |
generateViewId()
|
CharSequence |
getAccessibilityClassName()
|
View.AccessibilityDelegate |
getAccessibilityDelegate()
|
int |
getAccessibilityLiveRegion()
|
AccessibilityNodeProvider |
getAccessibilityNodeProvider()
|
CharSequence |
getAccessibilityPaneTitle()
|
int |
getAccessibilityTraversalAfter()
|
int |
getAccessibilityTraversalBefore()
|
float |
getAlpha()
|
Animation |
getAnimation()
|
IBinder |
getApplicationWindowToken()
|
String[] |
getAutofillHints()
|
final AutofillId |
getAutofillId()
|
int |
getAutofillType()
|
AutofillValue |
getAutofillValue()
|
Drawable |
getBackground()
|
ColorStateList |
getBackgroundTintList()
|
PorterDuff.Mode |
getBackgroundTintMode()
|
int |
getBaseline()
|
final int |
getBottom()
|
float |
getCameraDistance()
|
boolean |
getClipBounds(Rect arg0)
|
Rect |
getClipBounds()
|
final boolean |
getClipToOutline()
|
CharSequence |
getContentDescription()
|
final Context |
getContext()
|
final boolean |
getDefaultFocusHighlightEnabled()
|
static int |
getDefaultSize(int arg0, int arg1)
|
Display |
getDisplay()
|
final int[] |
getDrawableState()
|
Bitmap |
getDrawingCache()
|
Bitmap |
getDrawingCache(boolean arg0)
|
int |
getDrawingCacheBackgroundColor()
|
int |
getDrawingCacheQuality()
|
void |
getDrawingRect(Rect arg0)
|
long |
getDrawingTime()
|
float |
getElevation()
|
boolean |
getFilterTouchesWhenObscured()
|
boolean |
getFitsSystemWindows()
|
int |
getFocusable()
|
ArrayList<View> |
getFocusables(int arg0)
|
void |
getFocusedRect(Rect arg0)
|
Drawable |
getForeground()
|
int |
getForegroundGravity()
|
ColorStateList |
getForegroundTintList()
|
PorterDuff.Mode |
getForegroundTintMode()
|
final boolean |
getGlobalVisibleRect(Rect arg0)
|
boolean | |
Handler |
getHandler()
|
final boolean |
getHasOverlappingRendering()
|
final int |
getHeight()
|
void |
getHitRect(Rect arg0)
|
int |
getHorizontalFadingEdgeLength()
|
int |
getId()
|
int |
getImportantForAccessibility()
|
int |
getImportantForAutofill()
|
boolean |
getKeepScreenOn()
|
KeyEvent.DispatcherState |
getKeyDispatcherState()
|
int |
getLabelFor()
|
int |
getLayerType()
|
int |
getLayoutDirection()
|
ViewGroup.LayoutParams |
getLayoutParams()
|
final int |
getLeft()
|
final boolean |
getLocalVisibleRect(Rect arg0)
|
void |
getLocationInWindow(int[] arg0)
|
void |
getLocationOnScreen(int[] arg0)
|
Matrix |
getMatrix()
|
final int |
getMeasuredHeight()
|
final int |
getMeasuredHeightAndState()
|
final int |
getMeasuredState()
|
final int |
getMeasuredWidth()
|
final int |
getMeasuredWidthAndState()
|
int |
getMinimumHeight()
|
int |
getMinimumWidth()
|
int |
getNextClusterForwardId()
|
int |
getNextFocusDownId()
|
int |
getNextFocusForwardId()
|
int |
getNextFocusLeftId()
|
int |
getNextFocusRightId()
|
int |
getNextFocusUpId()
|
View.OnFocusChangeListener |
getOnFocusChangeListener()
|
int |
getOutlineAmbientShadowColor()
|
ViewOutlineProvider |
getOutlineProvider()
|
int |
getOutlineSpotShadowColor()
|
int |
getOverScrollMode()
|
ViewOverlay |
getOverlay()
|
int |
getPaddingBottom()
|
int |
getPaddingEnd()
|
int |
getPaddingLeft()
|
int |
getPaddingRight()
|
int |
getPaddingStart()
|
int |
getPaddingTop()
|
final ViewParent |
getParent()
|
ViewParent |
getParentForAccessibility()
|
float |
getPivotX()
|
float |
getPivotY()
|
PointerIcon |
getPointerIcon()
|
Resources |
getResources()
|
final boolean |
getRevealOnFocusHint()
|
final int |
getRight()
|
View |
getRootView()
|
WindowInsets |
getRootWindowInsets()
|
float |
getRotation()
|
float |
getRotationX()
|
float |
getRotationY()
|
float |
getScaleX()
|
float |
getScaleY()
|
int |
getScrollBarDefaultDelayBeforeFade()
|
int |
getScrollBarFadeDuration()
|
int |
getScrollBarSize()
|
int |
getScrollBarStyle()
|
int |
getScrollIndicators()
|
final int |
getScrollX()
|
final int |
getScrollY()
|
int |
getSolidColor()
|
int |
getSourceLayoutResId()
|
StateListAnimator |
getStateListAnimator()
|
int |
getSystemUiVisibility()
|
Object |
getTag()
|
Object |
getTag(int arg0)
|
int |
getTextAlignment()
|
int |
getTextDirection()
|
CharSequence |
getTooltipText()
|
final int |
getTop()
|
TouchDelegate |
getTouchDelegate()
|
ArrayList<View> |
getTouchables()
|
float |
getTransitionAlpha()
|
String |
getTransitionName()
|
float |
getTranslationX()
|
float |
getTranslationY()
|
float |
getTranslationZ()
|
long |
getUniqueDrawingId()
|
int |
getVerticalFadingEdgeLength()
|
int |
getVerticalScrollbarPosition()
|
int |
getVerticalScrollbarWidth()
|
ViewTreeObserver |
getViewTreeObserver()
|
int |
getVisibility()
|
final int |
getWidth()
|
WindowId |
getWindowId()
|
int |
getWindowSystemUiVisibility()
|
IBinder |
getWindowToken()
|
int |
getWindowVisibility()
|
void |
getWindowVisibleDisplayFrame(Rect arg0)
|
float |
getX()
|
float |
getY()
|
float |
getZ()
|
boolean |
hasExplicitFocusable()
|
boolean |
hasFocus()
|
boolean |
hasFocusable()
|
boolean |
hasNestedScrollingParent()
|
boolean |
hasOnClickListeners()
|
boolean |
hasOverlappingRendering()
|
boolean |
hasPointerCapture()
|
boolean |
hasTransientState()
|
boolean |
hasWindowFocus()
|
static View | |
void |
invalidate()
|
void |
invalidate(Rect arg0)
|
void |
invalidate(int arg0, int arg1, int arg2, int arg3)
|
void |
invalidateDrawable(Drawable arg0)
|
void |
invalidateOutline()
|
boolean |
isAccessibilityFocused()
|
boolean |
isAccessibilityHeading()
|
boolean |
isActivated()
|
boolean |
isAttachedToWindow()
|
boolean |
isClickable()
|
boolean |
isContextClickable()
|
boolean |
isDirty()
|
boolean |
isDrawingCacheEnabled()
|
boolean |
isDuplicateParentStateEnabled()
|
boolean |
isEnabled()
|
final boolean |
isFocusable()
|
final boolean |
isFocusableInTouchMode()
|
boolean |
isFocused()
|
final boolean |
isFocusedByDefault()
|
boolean |
isForceDarkAllowed()
|
boolean |
isHapticFeedbackEnabled()
|
boolean |
isHardwareAccelerated()
|
boolean |
isHorizontalFadingEdgeEnabled()
|
boolean |
isHorizontalScrollBarEnabled()
|
boolean |
isHovered()
|
boolean |
isImportantForAccessibility()
|
final boolean |
isImportantForAutofill()
|
boolean |
isInEditMode()
|
boolean |
isInLayout()
|
boolean |
isInTouchMode()
|
final boolean |
isKeyboardNavigationCluster()
|
boolean |
isLaidOut()
|
boolean |
isLayoutDirectionResolved()
|
boolean |
isLayoutRequested()
|
boolean |
isLongClickable()
|
boolean |
isNestedScrollingEnabled()
|
boolean |
isOpaque()
|
boolean |
isPaddingRelative()
|
boolean |
isPivotSet()
|
boolean |
isPressed()
|
boolean |
isSaveEnabled()
|
boolean |
isSaveFromParentEnabled()
|
boolean |
isScreenReaderFocusable()
|
boolean |
isScrollContainer()
|
boolean |
isScrollbarFadingEnabled()
|
boolean |
isSelected()
|
boolean |
isShown()
|
boolean |
isSoundEffectsEnabled()
|
final boolean |
isTemporarilyDetached()
|
boolean |
isTextAlignmentResolved()
|
boolean |
isTextDirectionResolved()
|
boolean |
isVerticalFadingEdgeEnabled()
|
boolean |
isVerticalScrollBarEnabled()
|
boolean |
isVisibleToUserForAutofill(int arg0)
|
void |
jumpDrawablesToCurrentState()
|
View |
keyboardNavigationClusterSearch(View arg0, int arg1)
|
void |
layout(int arg0, int arg1, int arg2, int arg3)
|
final void |
measure(int arg0, int arg1)
|
void |
offsetLeftAndRight(int arg0)
|
void |
offsetTopAndBottom(int arg0)
|
WindowInsets |
onApplyWindowInsets(WindowInsets arg0)
|
void |
onCancelPendingInputEvents()
|
boolean |
onCapturedPointerEvent(MotionEvent arg0)
|
boolean |
onCheckIsTextEditor()
|
InputConnection |
onCreateInputConnection(EditorInfo arg0)
|
boolean |
onDragEvent(DragEvent arg0)
|
void |
onDrawForeground(Canvas arg0)
|
boolean |
onFilterTouchEventForSecurity(MotionEvent arg0)
|
void |
onFinishTemporaryDetach()
|
boolean |
onGenericMotionEvent(MotionEvent arg0)
|
void |
onHoverChanged(boolean arg0)
|
boolean |
onHoverEvent(MotionEvent arg0)
|
void |
onInitializeAccessibilityEvent(AccessibilityEvent arg0)
|
void |
onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo arg0)
|
boolean |
onKeyDown(int arg0, KeyEvent arg1)
|
boolean |
onKeyLongPress(int arg0, KeyEvent arg1)
|
boolean |
onKeyMultiple(int arg0, int arg1, KeyEvent arg2)
|
boolean |
onKeyPreIme(int arg0, KeyEvent arg1)
|
boolean |
onKeyShortcut(int arg0, KeyEvent arg1)
|
boolean |
onKeyUp(int arg0, KeyEvent arg1)
|
void |
onPointerCaptureChange(boolean arg0)
|
void |
onPopulateAccessibilityEvent(AccessibilityEvent arg0)
|
void |
onProvideAutofillStructure(ViewStructure arg0, int arg1)
|
void |
onProvideAutofillVirtualStructure(ViewStructure arg0, int arg1)
|
void |
onProvideStructure(ViewStructure arg0)
|
void |
onProvideVirtualStructure(ViewStructure arg0)
|
PointerIcon |
onResolvePointerIcon(MotionEvent arg0, int arg1)
|
void |
onRtlPropertiesChanged(int arg0)
|
void |
onScreenStateChanged(int arg0)
|
void |
onStartTemporaryDetach()
|
boolean |
onTouchEvent(MotionEvent arg0)
|
boolean |
onTrackballEvent(MotionEvent arg0)
|
void |
onVisibilityAggregated(boolean arg0)
|
void |
onWindowFocusChanged(boolean arg0)
|
void |
onWindowSystemUiVisibilityChanged(int arg0)
|
boolean |
performAccessibilityAction(int arg0, Bundle arg1)
|
boolean |
performClick()
|
boolean |
performContextClick(float arg0, float arg1)
|
boolean |
performContextClick()
|
boolean |
performHapticFeedback(int arg0)
|
boolean |
performHapticFeedback(int arg0, int arg1)
|
boolean |
performLongClick(float arg0, float arg1)
|
boolean |
performLongClick()
|
void |
playSoundEffect(int arg0)
|
boolean |
post(Runnable arg0)
|
boolean |
postDelayed(Runnable arg0, long arg1)
|
void |
postInvalidate()
|
void |
postInvalidate(int arg0, int arg1, int arg2, int arg3)
|
void |
postInvalidateDelayed(long arg0, int arg1, int arg2, int arg3, int arg4)
|
void |
postInvalidateDelayed(long arg0)
|
void |
postInvalidateOnAnimation(int arg0, int arg1, int arg2, int arg3)
|
void |
postInvalidateOnAnimation()
|
void |
postOnAnimation(Runnable arg0)
|
void |
postOnAnimationDelayed(Runnable arg0, long arg1)
|
void |
refreshDrawableState()
|
void |
releasePointerCapture()
|
boolean |
removeCallbacks(Runnable arg0)
|
void |
removeOnAttachStateChangeListener(View.OnAttachStateChangeListener arg0)
|
void |
removeOnLayoutChangeListener(View.OnLayoutChangeListener arg0)
|
void |
removeOnUnhandledKeyEventListener(View.OnUnhandledKeyEventListener arg0)
|
void |
requestApplyInsets()
|
void |
requestFitSystemWindows()
|
final boolean |
requestFocus(int arg0)
|
final boolean |
requestFocus()
|
boolean |
requestFocus(int arg0, Rect arg1)
|
final boolean |
requestFocusFromTouch()
|
void |
requestLayout()
|
void |
requestPointerCapture()
|
boolean |
requestRectangleOnScreen(Rect arg0)
|
boolean |
requestRectangleOnScreen(Rect arg0, boolean arg1)
|
final void |
requestUnbufferedDispatch(MotionEvent arg0)
|
final <T extends View> T |
requireViewById(int arg0)
|
void |
resetPivot()
|
static int |
resolveSize(int arg0, int arg1)
|
static int |
resolveSizeAndState(int arg0, int arg1, int arg2)
|
boolean |
restoreDefaultFocus()
|
void | |
void | |
void | |
void |
scrollBy(int arg0, int arg1)
|
void |
scrollTo(int arg0, int arg1)
|
void |
sendAccessibilityEvent(int arg0)
|
void |
sendAccessibilityEventUnchecked(AccessibilityEvent arg0)
|
void |
setAccessibilityDelegate(View.AccessibilityDelegate arg0)
|
void |
setAccessibilityHeading(boolean arg0)
|
void |
setAccessibilityLiveRegion(int arg0)
|
void |
setAccessibilityPaneTitle(CharSequence arg0)
|
void |
setAccessibilityTraversalAfter(int arg0)
|
void |
setAccessibilityTraversalBefore(int arg0)
|
void |
setActivated(boolean arg0)
|
void |
setAlpha(float arg0)
|
void |
setAnimation(Animation arg0)
|
void |
setAnimationMatrix(Matrix arg0)
|
void |
setAutofillHints(String... arg0)
|
void |
setAutofillId(AutofillId arg0)
|
void |
setBackground(Drawable arg0)
|
void |
setBackgroundColor(int arg0)
|
void |
setBackgroundDrawable(Drawable arg0)
|
void |
setBackgroundResource(int arg0)
|
void |
setBackgroundTintList(ColorStateList arg0)
|
void |
setBackgroundTintMode(PorterDuff.Mode arg0)
|
final void |
setBottom(int arg0)
|
void |
setCameraDistance(float arg0)
|
void |
setClickable(boolean arg0)
|
void |
setClipBounds(Rect arg0)
|
void |
setClipToOutline(boolean arg0)
|
void |
setContentDescription(CharSequence arg0)
|
void |
setContextClickable(boolean arg0)
|
void |
setDefaultFocusHighlightEnabled(boolean arg0)
|
void |
setDrawingCacheBackgroundColor(int arg0)
|
void |
setDrawingCacheEnabled(boolean arg0)
|
void |
setDrawingCacheQuality(int arg0)
|
void |
setDuplicateParentStateEnabled(boolean arg0)
|
void |
setElevation(float arg0)
|
void |
setEnabled(boolean arg0)
|
void |
setFadingEdgeLength(int arg0)
|
void |
setFilterTouchesWhenObscured(boolean arg0)
|
void |
setFitsSystemWindows(boolean arg0)
|
void |
setFocusable(boolean arg0)
|
void |
setFocusable(int arg0)
|
void |
setFocusableInTouchMode(boolean arg0)
|
void |
setFocusedByDefault(boolean arg0)
|
void |
setForceDarkAllowed(boolean arg0)
|
void |
setForeground(Drawable arg0)
|
void |
setForegroundGravity(int arg0)
|
void |
setForegroundTintList(ColorStateList arg0)
|
void |
setForegroundTintMode(PorterDuff.Mode arg0)
|
void |
setHapticFeedbackEnabled(boolean arg0)
|
void |
setHasTransientState(boolean arg0)
|
void |
setHorizontalFadingEdgeEnabled(boolean arg0)
|
void |
setHorizontalScrollBarEnabled(boolean arg0)
|
void |
setHovered(boolean arg0)
|
void |
setId(int arg0)
|
void |
setImportantForAccessibility(int arg0)
|
void |
setImportantForAutofill(int arg0)
|
void |
setKeepScreenOn(boolean arg0)
|
void |
setKeyboardNavigationCluster(boolean arg0)
|
void |
setLabelFor(int arg0)
|
void |
setLayerPaint(Paint arg0)
|
void |
setLayerType(int arg0, Paint arg1)
|
void |
setLayoutDirection(int arg0)
|
void |
setLayoutParams(ViewGroup.LayoutParams arg0)
|
final void |
setLeft(int arg0)
|
final void |
setLeftTopRightBottom(int arg0, int arg1, int arg2, int arg3)
|
void |
setLongClickable(boolean arg0)
|
void |
setMinimumHeight(int arg0)
|
void |
setMinimumWidth(int arg0)
|
void |
setNestedScrollingEnabled(boolean arg0)
|
void |
setNextClusterForwardId(int arg0)
|
void |
setNextFocusDownId(int arg0)
|
void |
setNextFocusForwardId(int arg0)
|
void |
setNextFocusLeftId(int arg0)
|
void |
setNextFocusRightId(int arg0)
|
void |
setNextFocusUpId(int arg0)
|
void |
setOnApplyWindowInsetsListener(View.OnApplyWindowInsetsListener arg0)
|
void |
setOnCapturedPointerListener(View.OnCapturedPointerListener arg0)
|
void |
setOnClickListener(View.OnClickListener arg0)
|
void |
setOnContextClickListener(View.OnContextClickListener arg0)
|
void |
setOnCreateContextMenuListener(View.OnCreateContextMenuListener arg0)
|
void |
setOnDragListener(View.OnDragListener arg0)
|
void |
setOnFocusChangeListener(View.OnFocusChangeListener arg0)
|
void |
setOnGenericMotionListener(View.OnGenericMotionListener arg0)
|
void |
setOnHoverListener(View.OnHoverListener arg0)
|
void |
setOnKeyListener(View.OnKeyListener arg0)
|
void |
setOnLongClickListener(View.OnLongClickListener arg0)
|
void |
setOnScrollChangeListener(View.OnScrollChangeListener arg0)
|
void |
setOnSystemUiVisibilityChangeListener(View.OnSystemUiVisibilityChangeListener arg0)
|
void |
setOnTouchListener(View.OnTouchListener arg0)
|
void |
setOutlineAmbientShadowColor(int arg0)
|
void |
setOutlineProvider(ViewOutlineProvider arg0)
|
void |
setOutlineSpotShadowColor(int arg0)
|
void |
setOverScrollMode(int arg0)
|
void |
setPadding(int arg0, int arg1, int arg2, int arg3)
|
void |
setPaddingRelative(int arg0, int arg1, int arg2, int arg3)
|
void |
setPivotX(float arg0)
|
void |
setPivotY(float arg0)
|
void |
setPointerIcon(PointerIcon arg0)
|
void |
setPressed(boolean arg0)
|
final void |
setRevealOnFocusHint(boolean arg0)
|
final void |
setRight(int arg0)
|
void |
setRotation(float arg0)
|
void |
setRotationX(float arg0)
|
void |
setRotationY(float arg0)
|
void |
setSaveEnabled(boolean arg0)
|
void |
setSaveFromParentEnabled(boolean arg0)
|
void |
setScaleX(float arg0)
|
void |
setScaleY(float arg0)
|
void |
setScreenReaderFocusable(boolean arg0)
|
void |
setScrollBarDefaultDelayBeforeFade(int arg0)
|
void |
setScrollBarFadeDuration(int arg0)
|
void |
setScrollBarSize(int arg0)
|
void |
setScrollBarStyle(int arg0)
|
void |
setScrollContainer(boolean arg0)
|
void |
setScrollIndicators(int arg0, int arg1)
|
void |
setScrollIndicators(int arg0)
|
void |
setScrollX(int arg0)
|
void |
setScrollY(int arg0)
|
void |
setScrollbarFadingEnabled(boolean arg0)
|
void |
setSelected(boolean arg0)
|
void |
setSoundEffectsEnabled(boolean arg0)
|
void |
setStateListAnimator(StateListAnimator arg0)
|
void |
setSystemUiVisibility(int arg0)
|
void |
setTag(int arg0, Object arg1)
|
void |
setTag(Object arg0)
|
void |
setTextAlignment(int arg0)
|
void |
setTextDirection(int arg0)
|
void |
setTooltipText(CharSequence arg0)
|
final void |
setTop(int arg0)
|
void |
setTouchDelegate(TouchDelegate arg0)
|
void |
setTransitionAlpha(float arg0)
|
final void |
setTransitionName(String arg0)
|
void |
setTranslationX(float arg0)
|
void |
setTranslationY(float arg0)
|
void |
setTranslationZ(float arg0)
|
void |
setVerticalFadingEdgeEnabled(boolean arg0)
|
void |
setVerticalScrollBarEnabled(boolean arg0)
|
void |
setVerticalScrollbarPosition(int arg0)
|
void |
setVisibility(int arg0)
|
void |
setWillNotCacheDrawing(boolean arg0)
|
void |
setWillNotDraw(boolean arg0)
|
void |
setX(float arg0)
|
void |
setY(float arg0)
|
void |
setZ(float arg0)
|
boolean |
showContextMenu()
|
boolean |
showContextMenu(float arg0, float arg1)
|
ActionMode |
startActionMode(ActionMode.Callback arg0, int arg1)
|
ActionMode |
startActionMode(ActionMode.Callback arg0)
|
void |
startAnimation(Animation arg0)
|
final boolean | |
final boolean | |
boolean |
startNestedScroll(int arg0)
|
void |
stopNestedScroll()
|
String |
toString()
|
void |
transformMatrixToGlobal(Matrix arg0)
|
void |
transformMatrixToLocal(Matrix arg0)
|
void | |
void |
unscheduleDrawable(Drawable arg0)
|
final void |
updateDragShadow(View.DragShadowBuilder arg0)
|
boolean |
willNotCacheDrawing()
|
boolean |
willNotDraw()
|
abstract void |
bringChildToFront(View arg0)
|
abstract boolean |
canResolveLayoutDirection()
|
abstract boolean |
canResolveTextAlignment()
|
abstract boolean |
canResolveTextDirection()
|
abstract void |
childDrawableStateChanged(View arg0)
|
abstract void |
childHasTransientStateChanged(View arg0, boolean arg1)
|
abstract void |
clearChildFocus(View arg0)
|
abstract void |
createContextMenu(ContextMenu arg0)
|
abstract View |
focusSearch(View arg0, int arg1)
|
abstract void |
focusableViewAvailable(View arg0)
|
abstract boolean | |
abstract int |
getLayoutDirection()
|
abstract ViewParent |
getParent()
|
abstract ViewParent |
getParentForAccessibility()
|
abstract int |
getTextAlignment()
|
abstract int |
getTextDirection()
|
abstract void | |
abstract ViewParent |
invalidateChildInParent(int[] arg0, Rect arg1)
|
abstract boolean |
isLayoutDirectionResolved()
|
abstract boolean |
isLayoutRequested()
|
abstract boolean |
isTextAlignmentResolved()
|
abstract boolean |
isTextDirectionResolved()
|
abstract View |
keyboardNavigationClusterSearch(View arg0, int arg1)
|
abstract void | |
void | |
abstract boolean |
onNestedFling(View arg0, float arg1, float arg2, boolean arg3)
|
abstract boolean |
onNestedPreFling(View arg0, float arg1, float arg2)
|
abstract boolean | |
abstract void |
onNestedPreScroll(View arg0, int arg1, int arg2, int[] arg3)
|
abstract void |
onNestedScroll(View arg0, int arg1, int arg2, int arg3, int arg4)
|
abstract void | |
abstract boolean | |
abstract void |
onStopNestedScroll(View arg0)
|
abstract void |
recomputeViewAttributes(View arg0)
|
abstract void | |
abstract boolean | |
abstract void |
requestDisallowInterceptTouchEvent(boolean arg0)
|
abstract void |
requestFitSystemWindows()
|
abstract void |
requestLayout()
|
abstract boolean | |
abstract void |
requestTransparentRegion(View arg0)
|
abstract boolean |
showContextMenuForChild(View arg0)
|
abstract boolean |
showContextMenuForChild(View arg0, float arg1, float arg2)
|
abstract ActionMode | |
abstract ActionMode |
abstract void | |
abstract void |
removeView(View arg0)
|
abstract void |
abstract void |
sendAccessibilityEvent(int arg0)
|
abstract void |
sendAccessibilityEventUnchecked(AccessibilityEvent arg0)
|
Public Constructors
public GvrLayout (Context context)
Creates a new GvrLayout
instance.
Parameters
context | The current Context. This *must* be, or wrap, an Activity instance. |
---|
Returns
- The newly created
GvrLayout
instance.
Throws
IllegalArgumentException | if the provided Context is not an Activity context. |
---|
public GvrLayout (Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)
Creates a new GvrLayout
instance.
Parameters
context | The current Context. This *must* be, or wrap, an Activity instance. |
---|---|
attrs | The custom AttributeSet. |
defStyleAttr | The custom style attributes. |
defStyleRes | The custom style resource. |
Returns
- The newly created
GvrLayout
instance.
Throws
IllegalArgumentException | if the provided Context is not an Activity context. |
---|
Public Methods
public boolean enableAsyncReprojectionProtected ()
Enables asynchronous reprojection with supported for protected buffers. Applications should stop calling eglSwapBuffers on their native view once this feature is enabled. Will only activate on VR-Ready devices. Once asynchronous reprojection is enabled, it cannot be disabled.
This function must be called before any calls to initializeGl()
on the
GvrApi
instance, and must be called on the UI thread.
Returns
true
if enabling the feature worked,false
otherwise.
public boolean enableAsyncReprojectionVideoSurface (GvrLayout.ExternalSurfaceListener listener, Handler handler, boolean useProtectedBuffers)
Enables video Surface with async reprojection.
Applications should set the Surface as the output buffer for their Media playback. Video rendering will occur on the reprojection thread, and so will not be limited to App framerate.
Note: This will implicitly invoke setAsyncReprojectionEnabled(boolean)
.
Parameters
listener | The GvrLayout.ExternalSurfaceListener to receive callbacks from the video
Surface. Cannot be null. |
---|---|
handler | The Handler that listener events are posted to. Cannot be null. |
useProtectedBuffers | Whether to use protected buffers when rendering to the video Surface. |
Returns
true
if setting the feature worked,false
otherwise.
public boolean enableCardboardTriggerEmulation (Runnable cardboardTriggerListener)
Enables emulation of Cardboard-style touch trigger input when using a Daydream headset.
A Cardboard viewer supports touch-trigger based input, whereas a Daydream headest supports controller input. Enabling Cardboard trigger emulation will simulate Cardboard-style touch trigger input using app and touchpad button events from a Daydream controller. This allows Cardboard-supporting apps to simply and easily support operation on a Daydream headset. Enabling this emulation will have no effect when the paired viewer is already a Cardboard viewer.
Note: It is not sufficient to enable Cardboard emulation to run a Cardboard app on a Daydream headset. The following adjustments to a regular Cardboard app need also be made:
- Enable VR mode via
setVrModeEnabled(Activity, boolean)
. - Enable async reprojection via
setAsyncReprojectionEnabled(boolean)
. - Add the `com.google.intent.category.DAYDREAM` category to the Activity's `intent-filter`.
Note: Enabling trigger emulation will *only* translate controller clicks into trigger events. The client reticle (if present) will continue to tracker the user's head motion, which may be less than intuitive for users accustomed to controller-driven reticle motion in a typical Daydream app.
Parameters
cardboardTriggerListener | The callback to execute when a simulated Cardboard trigger event (Daydream controller button press) is detected. Must not be null. |
---|
Returns
- Whether emulation was successfully enabled. This requires that the current phone is Daydream-ready. Once enabled, Emulation cannot be disabled, and redundant calls to this method will be effectively ignored.
public Surface getAsyncReprojectionVideoSurface ()
Gets the video Surface managed by the reprojection thread. Must be called after enableAsyncReprojectionVideoSurface(ExternalSurfaceListener, Handler, boolean)
and setAsyncReprojectionEnabled(boolean)
.
Returns
- The video Surface. Null if Surface has not yet been initialized.
public int getAsyncReprojectionVideoSurfaceId ()
Gets the Surface ID of the video Surface managed by the reprojection thread. This must be
called after enableAsyncReprojectionVideoSurface(ExternalSurfaceListener, Handler, boolean)
.
To render the video Surface to screen, create a BufferViewport
that renders the
video texture coordinates to the source buffer, and sets this ID as the external surface ID.
Returns
- The external surface ID associated with the video Surface.
EXTERNAL_SURFACE_ID_NONE
if not created.
public GvrApi getGvrApi ()
Gets the GvrApi
object associated with the GvrLayout
.
Typical usage of the GvrApi object will take place in the presentation View's render loop,
as provided via setPresentationView
. However, this is not a
strict requirement. In either case, it is up to the caller to ensure that the api is used in a
thread-safe fashion, as GvrApi itself is not strictly thread-safe.
Once created, the GvrApi instance will remain alive and valid for the duration of GvrLayout's existence.
Note: The returned GvrApi
instance is *live* from the moment of creation, and
will start head tracking immediately. The caller should pause and/or resume tracking as
desired, typically using the Activity pause and resume signals.
public GvrUiLayout getUiLayout ()
Returns the GvrUiLayout
associated with this view.
The UI layout provides the static, 2D UI overlays like the settings gear icon and the stereo divider line. It is attached and initialized by default when the GvrLayout is created.
public void onBackPressed ()
Optional hook the client can trigger from Activity.onBackPressed().
This will invoke the currently configured "close" behavior for the layout. For Daydream-compatible Activities this will quit VR and restore the Android launcher. If the user has configured an override for the close button behavior, that action will be invoked. Otherwise, this call will simply invoke Activity.finish().
public void onPause ()
This must be called when the parent activity is paused.
public void onResume ()
This must be called when the parent activity is resumed.
public boolean setAsyncReprojectionEnabled (boolean enabled)
Enables or disables asynchronous reprojection. Applications should stop calling eglSwapBuffers on their native view once this feature is enabled. Will only activate on VR-Ready devices. Once asynchronous reprojection is enabled, it cannot be disabled.
This function must be called before any calls to initializeGl()
on the
GvrApi
instance, and must be called on the UI thread.
Parameters
enabled | true to enable async reprojection, false to disable. |
---|
Returns
true
if setting the feature worked,false
otherwise.
public void setFixedPresentationSurfaceSize (int surfaceWidthPixels, int surfaceHeightPixels)
Updates the pipeline to accommodate a custom, fixed presentation surface size.
By default, the renderer assumes that the display size matches the surface size. If that is the case for the client app, this method need never be called. However, in certain cases (e.g., hardware scaling via SurfaceView.setFixedSize()), this will not always hold, in which case the vr pipeline must be informed of the custom surface size, e.g., surfaceView.getHolder().setFixedSize(1280, 720); gvrLayout.setPresentationView(surfaceView); gvrLayout.setFixedPresentationSurfaceSize(1280, 720);
If both surface dimensions are set to 0, it is assumed that the rendering surface dimensions match that of the active display.
Note: A custom surface size will *also* change the recommended render target and screen target sizes. The caller should respond accordingly.
Warning: This method calls into GvrApi
, and so should be
called on the same thread on which the GvrApi
instance is used for
rendering (or the caller should otheriwise ensure thread-safe GvrApi access).
Parameters
surfaceWidthPixels | The width in pixels of the display surface. May be zero to restore default behavior. |
---|---|
surfaceHeightPixels | The height in pixels of the display surface. May be zero to restore default behavior. |
Throws
IllegalArgumentException | if the dimensions are not simultaneously zero or non-zero. |
---|
public void setPresentationView (View view)
Sets the presentation view to a given View. The presentation view will be placed at the bottom of this layout, and will be reparented whenever an appropriate external display is discovered. Any previously presented view will be removed and discarded.
This view should contain the stereo content for consumption through a Cardboard device, and not any mono content.
Reparenting to an external display is only supported on devices with Android APIs > 16. For API 16, the passed in presentationView is always attached to the GvrLayout and never reparented.
Parameters
view | a view with stereo VR content |
---|