blob: 0c7b26d424d5720f0f622d9d95f348def586251b [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.android_webview;
import android.content.res.Configuration;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.DragEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityNodeProvider;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
/**
* An interface that defines a subset of the {@link View} functionality.
*
* <p>This interface allows us to hook up drawing and input related methods to the
* {@link AwContents}'s consumer in embedded mode, and to the {@link FullScreenView}
* in fullscreen mode.
*/
interface AwViewMethods {
/**
* @see android.view.View#onDraw
*/
void onDraw(Canvas canvas);
/**
* @see android.view.View#onMeasure
*/
void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
/**
* @see android.view.View#requestFocus
*/
void requestFocus();
/**
* @see android.view.View#setLayerType
*/
void setLayerType(int layerType, Paint paint);
/**
* @see android.view.View#onCreateInputConnection
*/
InputConnection onCreateInputConnection(EditorInfo outAttrs);
/**
* @see android.view.View#onDragEvent
*/
boolean onDragEvent(DragEvent event);
/**
* @see android.view.View#onKeyUp
*/
boolean onKeyUp(int keyCode, KeyEvent event);
/**
* @see android.view.View#dispatchKeyEvent
*/
boolean dispatchKeyEvent(KeyEvent event);
/**
* @see android.view.View#onTouchEvent
*/
boolean onTouchEvent(MotionEvent event);
/**
* @see android.view.View#onHoverEvent
*/
boolean onHoverEvent(MotionEvent event);
/**
* @see android.view.View#onGenericMotionEvent
*/
boolean onGenericMotionEvent(MotionEvent event);
/**
* @see android.view.View#onConfigurationChanged
*/
void onConfigurationChanged(Configuration newConfig);
/**
* @see android.view.View#onAttachedToWindow
*/
void onAttachedToWindow();
/**
* @see android.view.View#onDetachedFromWindow
*/
void onDetachedFromWindow();
/**
* @see android.view.View#onWindowFocusChanged
*/
void onWindowFocusChanged(boolean hasWindowFocus);
/**
* @see android.view.View#onFocusChanged
*/
void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect);
/**
* @see android.view.View#onSizeChanged
*/
void onSizeChanged(int w, int h, int ow, int oh);
/**
* @see android.view.View#onVisibilityChanged
*/
void onVisibilityChanged(View changedView, int visibility);
/**
* @see android.view.View#onWindowVisibilityChanged
*/
void onWindowVisibilityChanged(int visibility);
/**
* @see android.view.View#onScrollChanged
*/
void onContainerViewScrollChanged(int l, int t, int oldl, int oldt);
/**
* @see android.view.View#onOverScrolled
*/
void onContainerViewOverScrolled(
int scrollX, int scrollY, boolean clampedX, boolean clampedY);
/**
* @see android.view.View#computeHorizontalScrollRange
*/
int computeHorizontalScrollRange();
/**
* @see android.view.View#computeHorizontalScrollOffset
*/
int computeHorizontalScrollOffset();
/**
* @see android.view.View#computeVerticalScrollRange
*/
int computeVerticalScrollRange();
/**
* @see android.view.View#computeVerticalScrollOffset
*/
int computeVerticalScrollOffset();
/**
* @see android.view.View#computeVerticalScrollExtent
*/
int computeVerticalScrollExtent();
/**
* @see android.view.View#computeScroll
*/
void computeScroll();
/**
* @see android.view.View#onCheckIsTextEditor
*/
boolean onCheckIsTextEditor();
/**
* @see android.view.View#getAccessibilityNodeProvider
*/
AccessibilityNodeProvider getAccessibilityNodeProvider();
/**
* @see android.view.View#performAccessibilityAction
*/
public boolean performAccessibilityAction(final int action, final Bundle arguments);
}