ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dinput_private.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2000 Lionel Ulmer
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #ifndef __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
00020 #define __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H
00021 
00022 #include <stdarg.h>
00023 
00024 #include "windef.h"
00025 #include "winbase.h"
00026 #include "dinput.h"
00027 #include "wine/list.h"
00028 
00029 /* Implementation specification */
00030 typedef struct IDirectInputImpl IDirectInputImpl;
00031 struct IDirectInputImpl
00032 {
00033     const IDirectInput7AVtbl   *lpVtbl;
00034     const IDirectInput7WVtbl   *lpVtbl7w;
00035     const IDirectInput8AVtbl   *lpVtbl8a;
00036     const IDirectInput8WVtbl   *lpVtbl8w;
00037 
00038     LONG                        ref;
00039 
00040     CRITICAL_SECTION            crit;
00041     struct list                 entry;          /* entry into list of all IDirectInputs */
00042 
00043     DWORD                       evsequence;     /* unique sequence number for events */
00044     DWORD                       dwVersion;      /* direct input version number */
00045     struct list                 devices_list;   /* list of all created dinput devices */
00046 };
00047 
00048 /* Function called by all devices that Wine supports */
00049 struct dinput_device {
00050     const char *name;
00051     BOOL (*enum_deviceA)(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEA lpddi, DWORD version, int id);
00052     BOOL (*enum_deviceW)(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEW lpddi, DWORD version, int id);
00053     HRESULT (*create_deviceA)(IDirectInputImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEA* pdev);
00054     HRESULT (*create_deviceW)(IDirectInputImpl *dinput, REFGUID rguid, REFIID riid, LPDIRECTINPUTDEVICEW* pdev);
00055 };
00056 
00057 extern const struct dinput_device mouse_device;
00058 extern const struct dinput_device keyboard_device;
00059 extern const struct dinput_device joystick_linux_device;
00060 extern const struct dinput_device joystick_linuxinput_device;
00061 
00062 extern void check_dinput_hooks(LPDIRECTINPUTDEVICE8A);
00063 typedef void (*DI_EVENT_PROC)(LPDIRECTINPUTDEVICE8A, WPARAM, LPARAM);
00064 
00065 extern void _dump_diactionformatA(LPDIACTIONFORMATA);
00066 
00067 #endif /* __WINE_DLLS_DINPUT_DINPUT_PRIVATE_H */

Generated on Sun May 27 2012 04:21:31 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.