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

nativewindowpriv: add setOrientation


Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <jb@videolan.org>
parent cd6fd1d8
......@@ -259,3 +259,32 @@ int ANativeWindowPriv_cancel( void *window, void *p_handle )
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)
native->lock = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_lock");
native->queue = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_queue");
native->cancel = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_cancel");
native->setOrientation = dlsym(RTLD_DEFAULT, "ANativeWindowPriv_setOrientation");
return native->connect && native->disconnect && native->setup &&
native->getMinUndequeued && native->setBufferCount && native->setCrop &&
native->dequeue && native->lock && native->queue && native->cancel
? 0 : -1;
native->dequeue && native->lock && native->queue && native->cancel &&
native->setOrientation ? 0 : -1;
}
extern void jni_getMouseCoordinates(int *, int *, int *, int *);
......
......@@ -59,6 +59,8 @@ typedef int (*ptr_ANativeWindowPriv_dequeue) (void *, void **);
typedef int (*ptr_ANativeWindowPriv_lock) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_queue) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_cancel) (void *, void *);
typedef int (*ptr_ANativeWindowPriv_setOrientation) (void *, int);
typedef struct
{
ptr_ANativeWindowPriv_connect connect;
......@@ -71,6 +73,7 @@ typedef struct
ptr_ANativeWindowPriv_lock lock;
ptr_ANativeWindowPriv_queue queue;
ptr_ANativeWindowPriv_cancel cancel;
ptr_ANativeWindowPriv_setOrientation setOrientation;
} native_window_priv_api_t;
/* 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