PixelLightAPI
.
|
00001 /*********************************************************\ 00002 * File: CursorManager.h * 00003 * 00004 * Copyright (C) 2002-2011 The PixelLight Team (http://www.pixellight.org/) 00005 * 00006 * This file is part of PixelLight. 00007 * 00008 * PixelLight is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as published by 00010 * the Free Software Foundation, either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * PixelLight is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public License 00019 * along with PixelLight. If not, see <http://www.gnu.org/licenses/>. 00020 \*********************************************************/ 00021 00022 00023 #ifndef __PLGUI_CURSORMANAGER_H__ 00024 #define __PLGUI_CURSORMANAGER_H__ 00025 #pragma once 00026 00027 00028 //[-------------------------------------------------------] 00029 //[ Includes ] 00030 //[-------------------------------------------------------] 00031 #include <PLCore/PLCore.h> 00032 #include "PLGui/Gui/Resources/Cursor.h" 00033 00034 00035 //[-------------------------------------------------------] 00036 //[ Namespace ] 00037 //[-------------------------------------------------------] 00038 namespace PLGui { 00039 00040 00041 //[-------------------------------------------------------] 00042 //[ Forward declarations ] 00043 //[-------------------------------------------------------] 00044 class Gui; 00045 00046 00047 //[-------------------------------------------------------] 00048 //[ Classes ] 00049 //[-------------------------------------------------------] 00050 /** 00051 * @brief 00052 * Cursor manager 00053 */ 00054 class CursorManager { 00055 00056 00057 //[-------------------------------------------------------] 00058 //[ Public functions ] 00059 //[-------------------------------------------------------] 00060 public: 00061 /** 00062 * @brief 00063 * Constructor 00064 * 00065 * @param[in] cGui 00066 * Owner GUI 00067 */ 00068 PLGUI_API CursorManager(Gui &cGui); 00069 00070 /** 00071 * @brief 00072 * Destructor 00073 */ 00074 PLGUI_API ~CursorManager(); 00075 00076 /** 00077 * @brief 00078 * Get owner GUI 00079 * 00080 * @return 00081 * Pointer to GUI object (never a null pointer) 00082 */ 00083 PLGUI_API Gui *GetGui() const; 00084 00085 /** 00086 * @brief 00087 * Get standard cursor 00088 * 00089 * @param[in] nCursor 00090 * Cursor ID 00091 * 00092 * @return 00093 * Mouse cursor, can be a null pointer if the backend doesn't support it 00094 */ 00095 PLGUI_API Cursor *GetCursor(EMouseCursor nCursor); 00096 00097 00098 //[-------------------------------------------------------] 00099 //[ Protected data ] 00100 //[-------------------------------------------------------] 00101 protected: 00102 Gui *m_pGui; /**< Pointer to GUI */ 00103 Cursor *m_pCursors[Cursor_Count]; /**< Standard mouse cursors */ 00104 00105 00106 }; 00107 00108 00109 //[-------------------------------------------------------] 00110 //[ Namespace ] 00111 //[-------------------------------------------------------] 00112 } // PLGui 00113 00114 00115 #endif // __PLGUI_CURSORMANAGER_H__
|