Commit 842b6578 authored by Thomas Guillem's avatar Thomas Guillem Committed by Jean-Baptiste Kempf

nativewindowpriv: add setOrientation

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent cd6fd1d8
...@@ -259,3 +259,32 @@ int ANativeWindowPriv_cancel( void *window, void *p_handle ) ...@@ -259,3 +259,32 @@ int ANativeWindowPriv_cancel( void *window, void *p_handle )
return 0; return 0;
} }
int ANativeWindowPriv_setOrientation( void *window, int orientation )
{
ANativeWindow *anw = (ANativeWindow *)window;
status_t err = NO_ERROR;
int transform;
CHECK_ANW();
switch( orientation )
{
case 90:
transform = NATIVE_WINDOW_TRANSFORM_ROT_90;
break;
case 180:
transform = NATIVE_WINDOW_TRANSFORM_ROT_180;
break;
case 270:
transform = NATIVE_WINDOW_TRANSFORM_ROT_270;
break;
default:
transform = 0;
}
err = native_window_set_buffers_transform( anw, transform );
CHECK_ERR();
return 0;
}
...@@ -61,11 +61,12 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native) ...@@ -61,11 +61,12 @@ int LoadNativeWindowPrivAPI(native_window_priv_api_t *native)
native->lock = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_lock"); native->lock = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_lock");
native->queue = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_queue"); native->queue = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_queue");
native->cancel = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_cancel"); native->cancel = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_cancel");
native->setOrientation = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setOrientation");
return native->connect && native->disconnect && native->setup && return native->connect && native->disconnect && native->setup &&
native->getMinUndequeued && native->setBufferCount && native->setCrop && native->getMinUndequeued && native->setBufferCount && native->setCrop &&
native->dequeue && native->lock && native->queue && native->cancel native->dequeue && native->lock && native->queue && native->cancel &&
? 0 : -1; native->setOrientation ? 0 : -1;
} }
extern void jni_getMouseCoordinates(int *, int *, int *, int *); extern void jni_getMouseCoordinates(int *, int *, int *, int *);
......
...@@ -59,6 +59,8 @@ typedef int (*ptr_ANativeWindowPriv_dequeue) (void *, void **); ...@@ -59,6 +59,8 @@ typedef int (*ptr_ANativeWindowPriv_dequeue) (void *, void **);
typedef int (*ptr_ANativeWindowPriv_lock) (void *, void *); typedef int (*ptr_ANativeWindowPriv_lock) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_queue) (void *, void *); typedef int (*ptr_ANativeWindowPriv_queue) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_cancel) (void *, void *); typedef int (*ptr_ANativeWindowPriv_cancel) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_setOrientation) (void *, int);
typedef struct typedef struct
{ {
ptr_ANativeWindowPriv_connect connect; ptr_ANativeWindowPriv_connect connect;
...@@ -71,6 +73,7 @@ typedef struct ...@@ -71,6 +73,7 @@ typedef struct
ptr_ANativeWindowPriv_lock lock; ptr_ANativeWindowPriv_lock lock;
ptr_ANativeWindowPriv_queue queue; ptr_ANativeWindowPriv_queue queue;
ptr_ANativeWindowPriv_cancel cancel; ptr_ANativeWindowPriv_cancel cancel;
ptr_ANativeWindowPriv_setOrientation setOrientation;
} native_window_priv_api_t; } native_window_priv_api_t;
/* Fill the structure passed as parameter and return 0 if all symbols are /* Fill the structure passed as parameter and return 0 if all symbols are
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment