OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 package org.chromium.ui; | |
6 | |
7 import org.chromium.base.JNINamespace; | |
8 import org.chromium.ui.ViewAndroidDelegate; | |
9 import org.chromium.ui.gfx.WindowAndroid; | |
joth
2013/04/18 01:41:17
why Window in in ui.gfx but ViewAndroid just in .u
aurimas (slooooooooow)
2013/04/18 02:49:57
Em. No good reason :/
| |
10 | |
11 /** | |
12 * From the Chromium architecture point of view, ViewAndroid and its native coun terpart | |
13 * serve purpose of representing Android view where Chrome expects to have a cro ss platform | |
14 * handle to the system view type. As Views are Java object on Android, this Vie wAndroid | |
15 * and its native counterpart provide the expected abstractions on the C++ side and allow | |
16 * it to be flexibly glued to an actual Android Java View at runtime. | |
17 * | |
18 * It should only be used where access to Android Views is needed from the C++ c ode. | |
19 */ | |
20 @JNINamespace("ui") | |
21 public class ViewAndroid { | |
22 // Native pointer to the c++ ViewAndroid object. | |
23 private int mNativeViewAndroid = 0; | |
24 private final WindowAndroid mNativeWindow; | |
25 private final ViewAndroidDelegate mViewAndroidDelegate; | |
26 | |
27 /** | |
28 * Constructs a View object. | |
29 */ | |
30 public ViewAndroid(WindowAndroid nativeWindow, ViewAndroidDelegate viewAndro idDelegate) { | |
31 mNativeWindow = nativeWindow; | |
32 mViewAndroidDelegate = viewAndroidDelegate; | |
33 mNativeViewAndroid = nativeInit(mNativeWindow.getNativePointer()); | |
34 } | |
35 | |
36 public ViewAndroidDelegate getViewAndroidDelegate() { | |
37 return mViewAndroidDelegate; | |
38 } | |
39 | |
40 /** | |
41 * Destroys the c++ ViewAndroid object if one has been created. | |
42 */ | |
43 public void destroy() { | |
44 if (mNativeViewAndroid != 0) { | |
45 nativeDestroy(mNativeViewAndroid); | |
46 mNativeViewAndroid = 0; | |
47 } | |
48 } | |
49 | |
50 /** | |
51 * Returns a pointer to the c++ AndroidWindow object. | |
52 * @return A pointer to the c++ AndroidWindow. | |
53 */ | |
54 public int getNativePointer() { | |
55 return mNativeViewAndroid; | |
56 } | |
57 | |
58 private native int nativeInit(int windowPtr); | |
59 private native void nativeDestroy(int nativeViewAndroid); | |
60 } | |
OLD | NEW |