From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- .../requestor/idirectfbdisplaylayer_requestor.c | 721 +++++++++++++++++++++ 1 file changed, 721 insertions(+) create mode 100755 Source/DirectFB/proxy/requestor/idirectfbdisplaylayer_requestor.c (limited to 'Source/DirectFB/proxy/requestor/idirectfbdisplaylayer_requestor.c') diff --git a/Source/DirectFB/proxy/requestor/idirectfbdisplaylayer_requestor.c b/Source/DirectFB/proxy/requestor/idirectfbdisplaylayer_requestor.c new file mode 100755 index 0000000..4867f06 --- /dev/null +++ b/Source/DirectFB/proxy/requestor/idirectfbdisplaylayer_requestor.c @@ -0,0 +1,721 @@ +/* + (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) + (c) Copyright 2000-2004 Convergence (integrated media) GmbH + + All rights reserved. + + Written by Denis Oliver Kropp , + Andreas Hundt , + Sven Neumann , + Ville Syrjälä and + Claudio Ciccani . + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include "idirectfbdisplaylayer_requestor.h" +#include "idirectfbsurface_requestor.h" + + +static DFBResult Probe( void ); +static DFBResult Construct( IDirectFBDisplayLayer *thiz, + VoodooManager *manager, + VoodooInstanceID instance, + void *arg ); + +#include + +DIRECT_INTERFACE_IMPLEMENTATION( IDirectFBDisplayLayer, Requestor ) + + +/**************************************************************************************************/ + +static void +IDirectFBDisplayLayer_Requestor_Destruct( IDirectFBDisplayLayer *thiz ) +{ + IDirectFBDisplayLayer_Requestor_data *data = thiz->priv; + + D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); + + voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_Release, VREQ_NONE, NULL, + VMBT_NONE ); + + DIRECT_DEALLOCATE_INTERFACE( thiz ); +} + +/**************************************************************************************************/ + +static DirectResult +IDirectFBDisplayLayer_Requestor_AddRef( IDirectFBDisplayLayer *thiz ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + data->ref++; + + return DFB_OK; +} + +static DirectResult +IDirectFBDisplayLayer_Requestor_Release( IDirectFBDisplayLayer *thiz ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (--data->ref == 0) + IDirectFBDisplayLayer_Requestor_Destruct( thiz ); + + return DFB_OK; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetID( IDirectFBDisplayLayer *thiz, + DFBDisplayLayerID *ret_id ) +{ + DirectResult ret; + VoodooResponseMessage *response; + VoodooMessageParser parser; + DFBDisplayLayerID id; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_id) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetID, VREQ_RESPOND, &response, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret) { + voodoo_manager_finish_request( data->manager, response ); + return ret; + } + + VOODOO_PARSER_BEGIN( parser, response ); + VOODOO_PARSER_GET_ID( parser, id ); + VOODOO_PARSER_END( parser ); + + voodoo_manager_finish_request( data->manager, response ); + + *ret_id = id; + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetDescription( IDirectFBDisplayLayer *thiz, + DFBDisplayLayerDescription *desc ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetSurface( IDirectFBDisplayLayer *thiz, + IDirectFBSurface **interface_ptr ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetScreen( IDirectFBDisplayLayer *thiz, + IDirectFBScreen **ret_interface ) +{ + DirectResult ret; + VoodooResponseMessage *response; + void *interface_ptr = NULL; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_interface) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetScreen, VREQ_RESPOND, &response, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) + ret = voodoo_construct_requestor( data->manager, "IDirectFBScreen", + response->instance, data->idirectfb, &interface_ptr ); + + voodoo_manager_finish_request( data->manager, response ); + + *ret_interface = interface_ptr; + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetCooperativeLevel( IDirectFBDisplayLayer *thiz, + DFBDisplayLayerCooperativeLevel level ) +{ + DirectResult ret; + VoodooResponseMessage *response; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_SetCooperativeLevel, VREQ_RESPOND, &response, + VMBT_UINT, level, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + + voodoo_manager_finish_request( data->manager, response ); + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetOpacity( IDirectFBDisplayLayer *thiz, + u8 opacity ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetCurrentOutputField( IDirectFBDisplayLayer *thiz, int *field ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetFieldParity( IDirectFBDisplayLayer *thiz, int field ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetScreenLocation( IDirectFBDisplayLayer *thiz, + float x, + float y, + float width, + float height ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetSrcColorKey( IDirectFBDisplayLayer *thiz, + u8 r, + u8 g, + u8 b ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetDstColorKey( IDirectFBDisplayLayer *thiz, + u8 r, + u8 g, + u8 b ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetLevel( IDirectFBDisplayLayer *thiz, + int *level ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetLevel( IDirectFBDisplayLayer *thiz, + int level ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetConfiguration( IDirectFBDisplayLayer *thiz, + DFBDisplayLayerConfig *ret_config ) +{ + DirectResult ret; + VoodooResponseMessage *response; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetConfiguration, VREQ_RESPOND, &response, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) { + VoodooMessageParser parser; + + VOODOO_PARSER_BEGIN( parser, response ); + VOODOO_PARSER_READ_DATA( parser, ret_config, sizeof(DFBDisplayLayerConfig) ); + VOODOO_PARSER_END( parser ); + } + + voodoo_manager_finish_request( data->manager, response ); + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_TestConfiguration( IDirectFBDisplayLayer *thiz, + const DFBDisplayLayerConfig *config, + DFBDisplayLayerConfigFlags *ret_failed ) +{ + DirectResult ret; + VoodooResponseMessage *response; + VoodooMessageParser parser; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!config) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_TestConfiguration, VREQ_RESPOND, &response, + VMBT_DATA, sizeof(DFBDisplayLayerConfig), config, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + + if (ret_failed) { + VOODOO_PARSER_BEGIN( parser, response ); + VOODOO_PARSER_GET_UINT( parser, *ret_failed ); + VOODOO_PARSER_END( parser ); + } + + voodoo_manager_finish_request( data->manager, response ); + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetConfiguration( IDirectFBDisplayLayer *thiz, + const DFBDisplayLayerConfig *config ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetBackgroundMode( IDirectFBDisplayLayer *thiz, + DFBDisplayLayerBackgroundMode background_mode ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + return voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_SetBackgroundMode, VREQ_NONE, NULL, + VMBT_INT, background_mode, + VMBT_NONE ); +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetBackgroundImage( IDirectFBDisplayLayer *thiz, + IDirectFBSurface *surface ) +{ + IDirectFBSurface_Requestor_data *surface_data; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!surface) + return DFB_INVARG; + + DIRECT_INTERFACE_GET_DATA_FROM( surface, surface_data, IDirectFBSurface_Requestor ); + + return voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_SetBackgroundImage, VREQ_NONE, NULL, + VMBT_ID, surface_data->instance, + VMBT_NONE ); +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetBackgroundColor( IDirectFBDisplayLayer *thiz, + u8 r, u8 g, u8 b, u8 a ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_CreateWindow( IDirectFBDisplayLayer *thiz, + const DFBWindowDescription *real_desc, + IDirectFBWindow **ret_interface ) +{ + DirectResult ret; + VoodooResponseMessage *response; + DFBWindowDescription desc; + void *interface_ptr = NULL; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_interface) + return DFB_INVARG; + + direct_memcpy( &desc, real_desc, sizeof(DFBWindowDescription) ); + + if (!(desc.flags & DWDESC_RESOURCE_ID)) { + desc.flags |= DWDESC_RESOURCE_ID; + desc.resource_id = 1100; + } + + D_INFO( "IDirectFBDisplayLayer_Requestor_CreateWindow: Using resource ID %lu\n", desc.resource_id ); + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_CreateWindow, VREQ_RESPOND, &response, + VMBT_DATA, sizeof(DFBWindowDescription), &desc, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) + ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow", + response->instance, data->idirectfb, &interface_ptr ); + + voodoo_manager_finish_request( data->manager, response ); + + *ret_interface = interface_ptr; + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetWindow( IDirectFBDisplayLayer *thiz, + DFBWindowID id, + IDirectFBWindow **ret_interface ) +{ + DirectResult ret; + VoodooResponseMessage *response; + void *interface_ptr = NULL; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_interface) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindow, VREQ_RESPOND, &response, + VMBT_ID, id, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) + ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow", + response->instance, data->idirectfb, &interface_ptr ); + + voodoo_manager_finish_request( data->manager, response ); + + *ret_interface = interface_ptr; + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_EnableCursor( IDirectFBDisplayLayer *thiz, int enable ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetCursorPosition( IDirectFBDisplayLayer *thiz, + int *x, int *y ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_WarpCursor( IDirectFBDisplayLayer *thiz, int x, int y ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetCursorAcceleration( IDirectFBDisplayLayer *thiz, + int numerator, + int denominator, + int threshold ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetCursorShape( IDirectFBDisplayLayer *thiz, + IDirectFBSurface *shape, + int hot_x, + int hot_y ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetCursorOpacity( IDirectFBDisplayLayer *thiz, + u8 opacity ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetColorAdjustment( IDirectFBDisplayLayer *thiz, + DFBColorAdjustment *adj ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_SetColorAdjustment( IDirectFBDisplayLayer *thiz, + const DFBColorAdjustment *adj ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_WaitForSync( IDirectFBDisplayLayer *thiz ) +{ + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + D_UNIMPLEMENTED(); + + return DFB_UNIMPLEMENTED; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetWindowByResourceID( IDirectFBDisplayLayer *thiz, + unsigned long resource_id, + IDirectFBWindow **ret_interface ) +{ + DirectResult ret; + VoodooResponseMessage *response; + void *interface_ptr = NULL; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_interface) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetWindowByResourceID, VREQ_RESPOND, &response, + VMBT_ID, resource_id, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) + ret = voodoo_construct_requestor( data->manager, "IDirectFBWindow", + response->instance, data->idirectfb, &interface_ptr ); + + voodoo_manager_finish_request( data->manager, response ); + + *ret_interface = interface_ptr; + + return ret; +} + +static DFBResult +IDirectFBDisplayLayer_Requestor_GetRotation( IDirectFBDisplayLayer *thiz, + int *ret_rotation ) +{ + DirectResult ret; + VoodooResponseMessage *response; + + DIRECT_INTERFACE_GET_DATA(IDirectFBDisplayLayer_Requestor) + + if (!ret_rotation) + return DFB_INVARG; + + ret = voodoo_manager_request( data->manager, data->instance, + IDIRECTFBDISPLAYLAYER_METHOD_ID_GetRotation, VREQ_RESPOND, &response, + VMBT_NONE ); + if (ret) + return ret; + + ret = response->result; + if (ret == DR_OK) { + VoodooMessageParser parser; + + VOODOO_PARSER_BEGIN( parser, response ); + VOODOO_PARSER_GET_INT( parser, *ret_rotation ); + VOODOO_PARSER_END( parser ); + } + + voodoo_manager_finish_request( data->manager, response ); + + return ret; +} + +/**************************************************************************************************/ + +static DFBResult +Probe() +{ + /* This implementation has to be loaded explicitly. */ + return DFB_UNSUPPORTED; +} + +static DFBResult +Construct( IDirectFBDisplayLayer *thiz, + VoodooManager *manager, + VoodooInstanceID instance, + void *arg ) +{ + DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBDisplayLayer_Requestor) + + data->ref = 1; + data->manager = manager; + data->instance = instance; + data->idirectfb = arg; + + thiz->AddRef = IDirectFBDisplayLayer_Requestor_AddRef; + thiz->Release = IDirectFBDisplayLayer_Requestor_Release; + thiz->GetID = IDirectFBDisplayLayer_Requestor_GetID; + thiz->GetDescription = IDirectFBDisplayLayer_Requestor_GetDescription; + thiz->GetSurface = IDirectFBDisplayLayer_Requestor_GetSurface; + thiz->GetScreen = IDirectFBDisplayLayer_Requestor_GetScreen; + thiz->SetCooperativeLevel = IDirectFBDisplayLayer_Requestor_SetCooperativeLevel; + thiz->SetOpacity = IDirectFBDisplayLayer_Requestor_SetOpacity; + thiz->GetCurrentOutputField = IDirectFBDisplayLayer_Requestor_GetCurrentOutputField; + thiz->SetScreenLocation = IDirectFBDisplayLayer_Requestor_SetScreenLocation; + thiz->SetSrcColorKey = IDirectFBDisplayLayer_Requestor_SetSrcColorKey; + thiz->SetDstColorKey = IDirectFBDisplayLayer_Requestor_SetDstColorKey; + thiz->GetLevel = IDirectFBDisplayLayer_Requestor_GetLevel; + thiz->SetLevel = IDirectFBDisplayLayer_Requestor_SetLevel; + thiz->GetConfiguration = IDirectFBDisplayLayer_Requestor_GetConfiguration; + thiz->TestConfiguration = IDirectFBDisplayLayer_Requestor_TestConfiguration; + thiz->SetConfiguration = IDirectFBDisplayLayer_Requestor_SetConfiguration; + thiz->SetBackgroundMode = IDirectFBDisplayLayer_Requestor_SetBackgroundMode; + thiz->SetBackgroundColor = IDirectFBDisplayLayer_Requestor_SetBackgroundColor; + thiz->SetBackgroundImage = IDirectFBDisplayLayer_Requestor_SetBackgroundImage; + thiz->GetColorAdjustment = IDirectFBDisplayLayer_Requestor_GetColorAdjustment; + thiz->SetColorAdjustment = IDirectFBDisplayLayer_Requestor_SetColorAdjustment; + thiz->CreateWindow = IDirectFBDisplayLayer_Requestor_CreateWindow; + thiz->GetWindow = IDirectFBDisplayLayer_Requestor_GetWindow; + thiz->WarpCursor = IDirectFBDisplayLayer_Requestor_WarpCursor; + thiz->SetCursorAcceleration = IDirectFBDisplayLayer_Requestor_SetCursorAcceleration; + thiz->EnableCursor = IDirectFBDisplayLayer_Requestor_EnableCursor; + thiz->GetCursorPosition = IDirectFBDisplayLayer_Requestor_GetCursorPosition; + thiz->SetCursorShape = IDirectFBDisplayLayer_Requestor_SetCursorShape; + thiz->SetCursorOpacity = IDirectFBDisplayLayer_Requestor_SetCursorOpacity; + thiz->SetFieldParity = IDirectFBDisplayLayer_Requestor_SetFieldParity; + thiz->WaitForSync = IDirectFBDisplayLayer_Requestor_WaitForSync; + thiz->GetWindowByResourceID = IDirectFBDisplayLayer_Requestor_GetWindowByResourceID; + thiz->GetRotation = IDirectFBDisplayLayer_Requestor_GetRotation; + + return DFB_OK; +} + -- cgit