propclass/messenger.h
00001 /* 00002 Crystal Space Entity Layer 00003 Copyright (C) 2012 by Jorrit Tyberghein 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 #ifndef __CEL_PF_MESSENGER__ 00021 #define __CEL_PF_MESSENGER__ 00022 00023 #include "cstypes.h" 00024 #include "csutil/scf.h" 00025 00026 enum MessageLocationAnchor 00027 { 00028 ANCHOR_INVALID = -1, 00029 ANCHOR_CENTER = 0, 00030 ANCHOR_NORTH, 00031 ANCHOR_NORTHWEST, 00032 ANCHOR_WEST, 00033 ANCHOR_SOUTHWEST, 00034 ANCHOR_SOUTH, 00035 ANCHOR_SOUTHEAST, 00036 ANCHOR_EAST, 00037 ANCHOR_NORTHEAST 00038 }; 00039 00040 enum CycleType 00041 { 00042 CYCLE_UNDEFINED = 0, 00043 CYCLE_RANDOM, 00044 CYCLE_SEQUENCE, 00045 CYCLE_NONE, 00046 CYCLE_INDEX = 100 00047 }; 00048 00052 struct iMessageLogIterator : public virtual iBase 00053 { 00054 SCF_INTERFACE (iMessageLogIterator, 0, 0, 1); 00055 00056 virtual bool HasNext () const = 0; 00057 virtual const char* Next () = 0; 00058 00063 virtual const char* GetID () = 0; 00064 00068 virtual size_t GetCounter () = 0; 00069 }; 00070 00142 struct iPcMessenger : public virtual iBase 00143 { 00144 SCF_INTERFACE (iPcMessenger, 0, 0, 1); 00145 00149 virtual void DefineSlot (const char* name) = 0; 00150 00154 virtual void SetSlotPosition (const char* name, const csVector2& position, 00155 MessageLocationAnchor boxAnchor, 00156 MessageLocationAnchor screenAnchor) = 0; 00157 00169 virtual void SetSlotDimensions (const char* name, 00170 int sizex, int sizey, const char* maxsizex, const char* maxsizey, 00171 int marginx, int marginy) = 0; 00172 00176 virtual void SetSlotBoxAttributes (const char* name, 00177 const csColor& boxColor, const csColor4& borderColor, 00178 float borderWidth, int roundness, float boxfadetime) = 0; 00179 00183 virtual void SetSlotMessageHandling (const char* name, int maxmessages, bool queue) = 0; 00184 00188 virtual void DefineType (const char* type, const char* slot, 00189 const csColor4& textColor, const char* font, int fontSize, 00190 float timeout, float fadetime, bool click, bool log, 00191 CycleType cyclefirst, CycleType cyclenext) = 0; 00192 00196 virtual void SetDefaultType (const char* type) = 0; 00197 00201 virtual const char* GetDefaultType () const = 0; 00202 00208 virtual void Message (const char* type, const char* id, 00209 const csStringArray& msgs) = 0; 00210 virtual void Message (const char* type, const char* id, 00211 const char* msg, ...) = 0; 00212 00216 virtual void ClearId (const char* id) = 0; 00217 00221 virtual void ClearType (const char* type) = 0; 00222 00226 virtual void ClearAll () = 0; 00227 00231 virtual csPtr<iMessageLogIterator> GetMessages (const char* type) = 0; 00232 }; 00233 00234 #endif // __CEL_PF_MESSENGER__ 00235
Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1
