blob: 402843e20565ef3921e8e0728dd396c94e87ff50 [file] [log] [blame]
Mathias Agopian3330b202009-10-05 17:07:12 -07001/*
2 * Copyright (C) 2009 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef ANDROID_ANDROID_NATIVES_PRIV_H
18#define ANDROID_ANDROID_NATIVES_PRIV_H
19
20#include <ui/egl/android_natives.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26/*****************************************************************************/
27
28typedef struct android_native_buffer_t
29{
30#ifdef __cplusplus
31 android_native_buffer_t() {
32 common.magic = ANDROID_NATIVE_BUFFER_MAGIC;
33 common.version = sizeof(android_native_buffer_t);
34 memset(common.reserved, 0, sizeof(common.reserved));
35 }
Jamie Gennis5e67f872010-05-10 17:33:32 -070036
37 // Implement the methods that sp<android_native_buffer_t> expects so that it
38 // can be used to automatically refcount android_native_buffer_t's.
39 void incStrong(const void* id) const {
40 common.incRef(const_cast<android_native_base_t*>(&common));
41 }
42 void decStrong(const void* id) const {
43 common.decRef(const_cast<android_native_base_t*>(&common));
44 }
Mathias Agopian3330b202009-10-05 17:07:12 -070045#endif
46
47 struct android_native_base_t common;
48
49 int width;
50 int height;
51 int stride;
52 int format;
53 int usage;
54
55 void* reserved[2];
56
57 buffer_handle_t handle;
58
59 void* reserved_proc[8];
60} android_native_buffer_t;
61
62
63/*****************************************************************************/
64
65#ifdef __cplusplus
66}
67#endif
68
69/*****************************************************************************/
70
71#endif /* ANDROID_ANDROID_NATIVES_PRIV_H */