| Index: blimp/client/core/contents/android/blimp_view.h
|
| diff --git a/blimp/client/core/contents/android/blimp_view.h b/blimp/client/core/contents/android/blimp_view.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7df8be4eb28f0ac158500a724c9ef0bf611e048f
|
| --- /dev/null
|
| +++ b/blimp/client/core/contents/android/blimp_view.h
|
| @@ -0,0 +1,86 @@
|
| +// Copyright 2016 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.
|
| +
|
| +#ifndef BLIMP_CLIENT_CORE_CONTENTS_ANDROID_BLIMP_VIEW_H_
|
| +#define BLIMP_CLIENT_CORE_CONTENTS_ANDROID_BLIMP_VIEW_H_
|
| +
|
| +#include <jni.h>
|
| +
|
| +#include "base/android/jni_android.h"
|
| +#include "base/android/scoped_java_ref.h"
|
| +
|
| +namespace blimp {
|
| +namespace client {
|
| +
|
| +class BlimpContentsImpl;
|
| +
|
| +// The JNI bridge for the Java BlimpView that will provide hooks to the Android
|
| +// framework to interact with the content. The Java object is created by
|
| +// constructed and owned by the native class.
|
| +class BlimpView {
|
| + public:
|
| + static bool RegisterJni(JNIEnv* env);
|
| +
|
| + // |blimp_contents_impl| must be the BlimpContentsImpl that this BlimpView is
|
| + // used for.
|
| + explicit BlimpView(BlimpContentsImpl* blimp_contents_impl);
|
| + ~BlimpView();
|
| +
|
| + base::android::ScopedJavaLocalRef<jobject> GetJavaObject();
|
| +
|
| + // Creates a new ViewAndroidDelegate for this view.
|
| + base::android::ScopedJavaLocalRef<jobject> CreateViewAndroidDelegate();
|
| +
|
| + void OnSizeChanged(JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& jobj,
|
| + jint width,
|
| + jint height,
|
| + jfloat device_scale_factor_dp_to_px);
|
| +
|
| + jboolean OnTouchEvent(
|
| + JNIEnv* env,
|
| + const base::android::JavaParamRef<jobject>& obj,
|
| + const base::android::JavaParamRef<jobject>& motion_event,
|
| + jlong time_ms,
|
| + jint android_action,
|
| + jint pointer_count,
|
| + jint history_size,
|
| + jint action_index,
|
| + jfloat pos_x_0,
|
| + jfloat pos_y_0,
|
| + jfloat pos_x_1,
|
| + jfloat pos_y_1,
|
| + jint pointer_id_0,
|
| + jint pointer_id_1,
|
| + jfloat touch_major_0,
|
| + jfloat touch_major_1,
|
| + jfloat touch_minor_0,
|
| + jfloat touch_minor_1,
|
| + jfloat orientation_0,
|
| + jfloat orientation_1,
|
| + jfloat tilt_0,
|
| + jfloat tilt_1,
|
| + jfloat raw_pos_x,
|
| + jfloat raw_pos_y,
|
| + jint android_tool_type_0,
|
| + jint android_tool_type_1,
|
| + jint android_button_state,
|
| + jint android_meta_state,
|
| + jfloat device_scale_factor_dp_to_px);
|
| +
|
| + private:
|
| + // The BlimpContentsImpl that this BlimpView is used for.
|
| + // TODO(nyquist): Use a delegate instead of the BlimpContentsImpl.
|
| + BlimpContentsImpl* blimp_contents_impl_;
|
| +
|
| + // The Java object for this BlimpView.
|
| + base::android::ScopedJavaGlobalRef<jobject> java_obj_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(BlimpView);
|
| +};
|
| +
|
| +} // namespace client
|
| +} // namespace blimp
|
| +
|
| +#endif // BLIMP_CLIENT_CORE_CONTENTS_ANDROID_BLIMP_VIEW_H_
|
|
|