Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00032
00033 #pragma once
00034
00035 #include "../api_display.h"
00036 #include "../../Core/System/sharedptr.h"
00037
00038 class CL_InputDevice;
00039 class CL_InputContext_Impl;
00040
00044 class CL_API_DISPLAY CL_InputContext
00045 {
00048
00049 public:
00051 CL_InputContext();
00052
00053 ~CL_InputContext();
00054
00058
00059 public:
00061 int get_keyboard_count() const;
00062
00064 int get_mouse_count() const;
00065
00067 int get_joystick_count() const;
00068
00070 int get_tablet_count() const;
00071
00073 CL_InputDevice &get_keyboard(int keyboard = 0);
00074
00076 CL_InputDevice &get_mouse(int mouse = 0);
00077
00079 CL_InputDevice &get_joystick(int joystick = 0);
00080
00082 CL_InputDevice &get_tablet(int tablet = 0);
00083
00085 CL_InputDevice &get_device(const CL_StringRef &device_name);
00086
00090
00091 public:
00093 CL_InputContext &operator =(CL_InputContext ©);
00094
00096 void clear();
00097
00099 void add_keyboard(const CL_InputDevice keyboard);
00100
00102 void add_mouse(const CL_InputDevice mouse);
00103
00105 void add_joystick(const CL_InputDevice joystick);
00106
00108 void add_tablet(const CL_InputDevice tablet);
00109
00111 void process_messages();
00112
00118 bool poll(bool peek_only);
00119
00123 void dispose();
00124
00128 bool is_disposed() const;
00129
00133
00134 private:
00135 CL_SharedPtr<CL_InputContext_Impl> impl;
00136
00137 friend class CL_Win32Window;
00138 friend class CL_X11Window;
00139
00141 };
00142