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)
13typedef union _XEvent XEvent;
14#elif defined(OS_MACOSX)
15#if defined(__OBJC__)
16@class NSEvent;
17#else  // __OBJC__
18class NSEvent;
19#endif // __OBJC__
20#endif
21
22namespace base {
23
24// Cross platform typedefs for native event types.
25#if defined(OS_WIN)
26typedef MSG NativeEvent;
27#elif defined(USE_X11)
28typedef XEvent* NativeEvent;
29#elif defined(OS_MACOSX)
30typedef NSEvent* NativeEvent;
31#else
32typedef void* NativeEvent;
33#endif
34
35} // namespace base
36
37#endif  // BASE_EVENT_TYPES_H
38