1 /*************************************************************************** 2 ui.h - description 3 ------------------- 4 begin : june 6th, 2003 5 copyright : (C) 2003 by Duong Khang NGUYEN 6 email : neoneurone @ gmail com 7 8 $Id: ui.h 375 2008-10-28 14:47:15Z neoneurone $ 9 ***************************************************************************/ 10 11 /*************************************************************************** 12 * * 13 * This program is free software; you can redistribute it and/or modify * 14 * it under the terms of the GNU General Public License as published by * 15 * the Free Software Foundation; either version 2 of the License, or * 16 * any later version. * 17 * * 18 ***************************************************************************/ 19 20 #ifndef _OPENCITY_UI_H_ 21 #define _OPENCITY_UI_H_ 1 22 23 #include "macros.h" 24 #include "SDL.h" 25 26 //======================================================================== 27 /** This is the base class for all other User Interface classes. It 28 offers an interface that the derived class must implement in order 29 to deal with the user's inputs 30 */ 31 class UI { 32 public: 33 UI(); 34 virtual ~UI(); 35 36 37 //======================================================================== 38 /** This method handles the keyboard events such as: key down or up 39 \param rcsEvent The SDL keyboard event 40 */ 41 virtual void 42 Keyboard( const SDL_KeyboardEvent& rcEvent ) = 0; 43 44 45 //======================================================================== 46 /** This method handles the mouse motion event 47 \param rcsEvent The SDL mouse motion event 48 */ 49 virtual void 50 MouseMotion( const SDL_MouseMotionEvent& rcEvent ) = 0; 51 52 53 //======================================================================== 54 /** This method handles the mouse action event such as: mouse button 55 clicks or releases 56 \param rcsEvent The SDL mouse action event 57 */ 58 virtual void 59 MouseButton( const SDL_MouseButtonEvent& rcEvent ) = 0; 60 61 62 //======================================================================== 63 /** The expose event is received when the display needs to be updated. 64 \param rcsEvent The SDL expose event 65 */ 66 virtual void 67 Expose( const SDL_ExposeEvent& rcEvent ) = 0; 68 69 70 //======================================================================== 71 /** The resize event is received when display window is resized 72 \param rcsEvent The SDL resize 73 */ 74 virtual void 75 Resize( const SDL_ResizeEvent& rcEvent )= 0; 76 77 }; 78 #endif 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116