media/omx-plugin/include/froyo/android/native_window.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  * Copyright (C) 2010 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  */
    17 #ifndef ANDROID_NATIVE_WINDOW_H
    18 #define ANDROID_NATIVE_WINDOW_H
    20 #include <android/rect.h>
    22 #ifdef __cplusplus
    23 extern "C" {
    24 #endif
    26 /*
    27  * Pixel formats that a window can use.
    28  */
    29 enum {
    30     WINDOW_FORMAT_RGBA_8888          = 1,
    31     WINDOW_FORMAT_RGBX_8888          = 2,
    32     WINDOW_FORMAT_RGB_565            = 4,
    33 };
    35 struct ANativeWindow;
    36 typedef struct ANativeWindow ANativeWindow;
    38 typedef struct ANativeWindow_Buffer {
    39     // The number of pixels that are show horizontally.
    40     int32_t width;
    42     // The number of pixels that are shown vertically.
    43     int32_t height;
    45     // The number of *pixels* that a line in the buffer takes in
    46     // memory.  This may be >= width.
    47     int32_t stride;
    49     // The format of the buffer.  One of WINDOW_FORMAT_*
    50     int32_t format;
    52     // The actual bits.
    53     void* bits;
    55     // Do not touch.
    56     uint32_t reserved[6];
    57 } ANativeWindow_Buffer;
    59 /**
    60  * Acquire a reference on the given ANativeWindow object.  This prevents the object
    61  * from being deleted until the reference is removed.
    62  */
    63 void ANativeWindow_acquire(ANativeWindow* window);
    65 /**
    66  * Remove a reference that was previously acquired with ANativeWindow_acquire().
    67  */
    68 void ANativeWindow_release(ANativeWindow* window);
    70 /*
    71  * Return the current width in pixels of the window surface.  Returns a
    72  * negative value on error.
    73  */
    74 int32_t ANativeWindow_getWidth(ANativeWindow* window);
    76 /*
    77  * Return the current height in pixels of the window surface.  Returns a
    78  * negative value on error.
    79  */
    80 int32_t ANativeWindow_getHeight(ANativeWindow* window);
    82 /*
    83  * Return the current pixel format of the window surface.  Returns a
    84  * negative value on error.
    85  */
    86 int32_t ANativeWindow_getFormat(ANativeWindow* window);
    88 /*
    89  * Change the format and size of the window buffers.
    90  *
    91  * The width and height control the number of pixels in the buffers, not the
    92  * dimensions of the window on screen.  If these are different than the
    93  * window's physical size, then it buffer will be scaled to match that size
    94  * when compositing it to the screen.
    95  *
    96  * For all of these parameters, if 0 is supplied then the window's base
    97  * value will come back in force.
    98  */
    99 int32_t ANativeWindow_setBuffersGeometry(ANativeWindow* window, int32_t width, int32_t height, int32_t format);
   101 /**
   102  * Lock the window's next drawing surface for writing.
   103  */
   104 int32_t ANativeWindow_lock(ANativeWindow* window, ANativeWindow_Buffer* outBuffer,
   105         ARect* inOutDirtyBounds);
   107 /**
   108  * Unlock the window's drawing surface after previously locking it,
   109  * posting the new buffer to the display.
   110  */
   111 int32_t ANativeWindow_unlockAndPost(ANativeWindow* window);
   113 #ifdef __cplusplus
   114 };
   115 #endif
   117 #endif // ANDROID_NATIVE_WINDOW_H

mercurial