00001 //--------------------------------------------------------------------------- 00002 /// \file CATPictureMulti.h 00003 /// \brief Multiple pictures (like switch multi, but no mouse interaction) 00004 /// \ingroup CATGUI 00005 /// 00006 /// Copyright (c) 2003-2008 by Michael Ellison. 00007 /// See COPYING.txt for the \ref gaslicense License (MIT License). 00008 /// 00009 // $Author: mikeellison $ 00010 // $Date: 2008-01-23 01:43:25 -0600 (Wed, 23 Jan 2008) $ 00011 // $Revision: $ 00012 // $NoKeywords: $ 00013 // 00014 //--------------------------------------------------------------------------- 00015 #ifndef _GGPictureMulti_H_ 00016 #define _GGPictureMulti_H_ 00017 00018 #include "CATControl.h" 00019 00020 class CATPictureMulti; 00021 00022 /// \class CATPictureMulti 00023 /// \brief Multiple pictures (like switch multi, but no mouse interaction) 00024 /// \ingroup CATGUI 00025 class CATPictureMulti : public CATControl 00026 { 00027 public: 00028 /// CATPictureMulti constructor (inherited from CATControl->CATXMLObject) 00029 /// \param element - Type name ("PictureMulti") 00030 /// \param attribs - attribute information for the window 00031 /// \param parent - parent XML object (should be a "Window" element) 00032 /// \param rootDir - root directory of skin for bin/png loads 00033 CATPictureMulti( const CATString& element, 00034 const CATString& rootDir); 00035 00036 virtual ~CATPictureMulti(); 00037 00038 /// IsFocusable() returns true if the control can receive 00039 /// focus, and false otherwise. 00040 virtual bool IsFocusable() const; 00041 00042 /// Draw() draws the control into the parent's image 00043 /// \param image - parent's image to draw into 00044 /// \param dirtyRect - portion of control (in window coordinates) 00045 /// that requires redrawing. 00046 virtual void Draw(CATImage* image, const CATRect& dirtyRect); 00047 00048 /// ParseAttributes() parses the known attributes for an object. 00049 virtual CATResult ParseAttributes(); 00050 protected: 00051 CATUInt32 fNumImages; 00052 std::vector<CATImage*> fImageList; 00053 CATStack<CATImage*> fMasterSet; 00054 }; 00055 00056 #endif // _GGPictureMulti_H_ 00057 00058