OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2012 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.ContainerViewDelegate; |
| 9 import org.chromium.ui.gfx.NativeWindow; |
| 10 |
| 11 /** |
| 12 * TODO: Insert description here. (generated by aurimas) |
| 13 */ |
| 14 @JNINamespace("ui") |
| 15 public class NativeView { |
| 16 // Native pointer to the c++ ViewAndroid object. |
| 17 private int mNativeViewAndroid = 0; |
| 18 private final NativeWindow mNativeWindow; |
| 19 public final ContainerViewDelegate mContainerViewDelegate; |
| 20 |
| 21 /** |
| 22 * Constructs a View object. |
| 23 */ |
| 24 public NativeView(NativeWindow nativeWindow, ContainerViewDelegate container
ViewDelegate) { |
| 25 mNativeViewAndroid = 0; |
| 26 mNativeWindow = nativeWindow; |
| 27 mContainerViewDelegate = containerViewDelegate; |
| 28 } |
| 29 |
| 30 /** |
| 31 * Destroys the c++ ViewAndroid object if one has been created. |
| 32 */ |
| 33 public void destroy() { |
| 34 if (mNativeViewAndroid != 0) { |
| 35 nativeDestroy(mNativeViewAndroid); |
| 36 mNativeViewAndroid = 0; |
| 37 } |
| 38 } |
| 39 |
| 40 /** |
| 41 * Returns a pointer to the c++ AndroidWindow object and calls the initializ
er if |
| 42 * the object has not been previously initialized. |
| 43 * @return A pointer to the c++ AndroidWindow. |
| 44 */ |
| 45 public int getNativePointer() { |
| 46 if (mNativeViewAndroid == 0) { |
| 47 mNativeViewAndroid = nativeInit(mNativeWindow.getNativePointer()); |
| 48 } |
| 49 return mNativeViewAndroid; |
| 50 } |
| 51 |
| 52 private native int nativeInit(int windowPtr); |
| 53 private native void nativeDestroy(int nativeViewAndroid); |
| 54 } |
OLD | NEW |