/* (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. */ #ifndef __IDIRECTFB_DISPATCHER_H__ #define __IDIRECTFB_DISPATCHER_H__ #include #define IDIRECTFB_METHOD_ID_AddRef 1 #define IDIRECTFB_METHOD_ID_Release 2 #define IDIRECTFB_METHOD_ID_SetCooperativeLevel 3 #define IDIRECTFB_METHOD_ID_GetDeviceDescription 4 #define IDIRECTFB_METHOD_ID_EnumVideoModes 5 #define IDIRECTFB_METHOD_ID_SetVideoMode 6 #define IDIRECTFB_METHOD_ID_CreateSurface 7 #define IDIRECTFB_METHOD_ID_CreatePalette 8 #define IDIRECTFB_METHOD_ID_EnumScreens 9 #define IDIRECTFB_METHOD_ID_GetScreen 10 #define IDIRECTFB_METHOD_ID_EnumDisplayLayers 11 #define IDIRECTFB_METHOD_ID_GetDisplayLayer 12 #define IDIRECTFB_METHOD_ID_EnumInputDevices 13 #define IDIRECTFB_METHOD_ID_GetInputDevice 14 #define IDIRECTFB_METHOD_ID_CreateEventBuffer 15 #define IDIRECTFB_METHOD_ID_CreateInputEventBuffer 16 #define IDIRECTFB_METHOD_ID_CreateImageProvider 17 #define IDIRECTFB_METHOD_ID_CreateVideoProvider 18 #define IDIRECTFB_METHOD_ID_CreateFont 19 #define IDIRECTFB_METHOD_ID_CreateDataBuffer 20 #define IDIRECTFB_METHOD_ID_SetClipboardData 21 #define IDIRECTFB_METHOD_ID_GetClipboardData 22 #define IDIRECTFB_METHOD_ID_GetClipboardTimeStamp 23 #define IDIRECTFB_METHOD_ID_Suspend 24 #define IDIRECTFB_METHOD_ID_Resume 25 #define IDIRECTFB_METHOD_ID_WaitIdle 26 #define IDIRECTFB_METHOD_ID_WaitForSync 27 #define IDIRECTFB_METHOD_ID_GetInterface 28 typedef struct { int width; int height; int bpp; } IDirectFB_Dispatcher_EnumVideoModes_Item; typedef struct { DFBScreenID screen_id; DFBScreenDescription desc; } IDirectFB_Dispatcher_EnumScreens_Item; typedef struct { DFBInputDeviceID device_id; DFBInputDeviceDescription desc; } IDirectFB_Dispatcher_EnumInputDevices_Item; #if 0 #define VOODOO_PARSER_READ_DFBSurfaceDescription( p, desc ) \ do { \ VOODOO_PARSER_GET_INT( p, (desc).flags ); \ VOODOO_PARSER_GET_INT( p, (desc).caps ); \ VOODOO_PARSER_GET_INT( p, (desc).width ); \ VOODOO_PARSER_GET_INT( p, (desc).height ); \ VOODOO_PARSER_GET_INT( p, (desc).pixelformat ); \ VOODOO_PARSER_GET_UINT( p, (desc).resource_id ); \ VOODOO_PARSER_GET_INT( p, (desc).hints ); \ } while (0) #define VMBT_DFBSurfaceDescription( desc ) \ VMBT_INT, (desc).flags, \ VMBT_INT, (desc).caps, \ VMBT_INT, (desc).width, \ VMBT_INT, (desc).height, \ VMBT_INT, (desc).pixelformat, \ VMBT_UINT, (desc).resource_id, \ VMBT_INT, (desc).hints #else #define VOODOO_PARSER_READ_DFBSurfaceDescription( p, desc ) \ do { \ VOODOO_PARSER_READ_DATA( p, &(desc), sizeof(DFBSurfaceDescription) ); \ } while (0) #define VMBT_DFBSurfaceDescription( desc ) \ VMBT_DATA, sizeof(DFBSurfaceDescription), &(desc) #endif #endif