summaryrefslogtreecommitdiffstats
path: root/native/android
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-06-30 18:35:14 -0700
committerDianne Hackborn <hackbod@google.com>2010-07-01 14:43:23 -0700
commit54a181b1a2b1517a9479b21fbf7705a688232faf (patch)
tree90bf20d8f5f818d357c677cb713e964b920dea67 /native/android
parent65c83b906d01c3c1493d0547757dbb16d4c3722a (diff)
downloadframeworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.zip
frameworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.tar.gz
frameworks_base-54a181b1a2b1517a9479b21fbf7705a688232faf.tar.bz2
Make real API for native code to get its window.
Added implementation to use ANativeWindow and provide it to a NativeActivity. Change-Id: I890d71b6e15d4af71e6cf81b327961d7061ec1c2
Diffstat (limited to 'native/android')
-rw-r--r--native/android/Android.mk3
-rw-r--r--native/android/native_window.cpp41
2 files changed, 43 insertions, 1 deletions
diff --git a/native/android/Android.mk b/native/android/Android.mk
index 8c621b6..fe8ed00 100644
--- a/native/android/Android.mk
+++ b/native/android/Android.mk
@@ -7,7 +7,8 @@ include $(CLEAR_VARS)
#
LOCAL_SRC_FILES:= \
activity.cpp \
- input.cpp
+ input.cpp \
+ native_window.cpp
LOCAL_SHARED_LIBRARIES := \
libandroid_runtime \
diff --git a/native/android/native_window.cpp b/native/android/native_window.cpp
new file mode 100644
index 0000000..7a6eb6d
--- /dev/null
+++ b/native/android/native_window.cpp
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "Surface"
+#include <utils/Log.h>
+
+#include <android/native_window.h>
+#include <surfaceflinger/Surface.h>
+
+using android::Surface;
+
+static int32_t getWindowProp(ANativeWindow* window, int what) {
+ int value;
+ int res = window->query(window, what, &value);
+ return res < 0 ? res : value;
+}
+
+int32_t ANativeWindow_getWidth(ANativeWindow* window) {
+ return getWindowProp(window, NATIVE_WINDOW_WIDTH);
+}
+
+int32_t ANativeWindow_getHeight(ANativeWindow* window) {
+ return getWindowProp(window, NATIVE_WINDOW_HEIGHT);
+}
+
+int32_t ANativeWindow_getFormat(ANativeWindow* window) {
+ return getWindowProp(window, NATIVE_WINDOW_FORMAT);
+}