1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef BASE_EVENT_TYPES_H_ 6 #define BASE_EVENT_TYPES_H_ 7 8 #include "build/build_config.h" 9 10 #if defined(OS_WIN) 11 #include <windows.h> 12 #elif defined(USE_X11) 13 typedef union _XEvent XEvent; 14 #elif defined(OS_MACOSX) 15 #if defined(__OBJC__) 16 @class NSEvent; 17 #else // __OBJC__ 18 class NSEvent; 19 #endif // __OBJC__ 20 #endif 21 22 namespace base { 23 24 // Cross platform typedefs for native event types. 25 #if defined(OS_WIN) 26 typedef MSG NativeEvent; 27 #elif defined(USE_X11) 28 typedef XEvent* NativeEvent; 29 #elif defined(OS_MACOSX) 30 typedef NSEvent* NativeEvent; 31 #else 32 typedef void* NativeEvent; 33 #endif 34 35 } // namespace base 36 37 #endif // BASE_EVENT_TYPES_H_ 38