wg_tooltip.h

00001 // wg_tooltip.h
00002 //
00003 // CToolTip interface
00004 //
00005 //
00006 // Copyright (c) 2002-2004 Rob Wiskow
00007 // rob-dev@boxedchaos.com
00008 //
00009 // This library is free software; you can redistribute it and/or
00010 // modify it under the terms of the GNU Lesser General Public
00011 // License as published by the Free Software Foundation; either
00012 // version 2.1 of the License, or (at your option) any later version.
00013 //
00014 // This library is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017 // Lesser General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU Lesser General Public
00020 // License along with this library; if not, write to the Free Software
00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00022 //
00023 
00024 
00025 #ifndef _WG_TOOLTIP_H_
00026 #define _WG_TOOLTIP_H_
00027 
00028 #include "wg_window.h"
00029 #include "wg_painter.h"
00030 #include "wg_renderedstring.h"
00031 #include "wg_application.h"
00032 #include "wg_timer.h"
00033 #include <string>
00034 #include <memory>
00035 
00036 
00037 namespace wGui
00038 {
00039 
00042 
00043 class CToolTip : public CWindow
00044 {
00045 public:
00053      CToolTip(CWindow* pToolWindow, std::wstring sText,
00054           CRGBColor& FontColor = DEFAULT_LINE_COLOR, CRGBColor& BackgroundColor = COLOR_WHITE, CFontEngine* pFontEngine = 0);
00055 
00057      virtual ~CToolTip(void);
00058 
00061      void ShowTip(const CPoint& DrawPoint);
00062 
00064      void HideTip(void);
00065 
00066 
00067      // CWindow overrides
00069      virtual void Draw(void) const;
00070 
00073      virtual void MoveWindow(const CPoint& MoveDistance);
00074 
00079      virtual void PaintToSurface(SDL_Surface& ScreenSurface, SDL_Surface& FloatingSurface, const CPoint& Offset) const;
00080 
00081 
00082      // CMessageClient overrides
00085      virtual bool HandleMessage(CMessage* pMessage);
00086 
00087 
00088 protected:
00089      CFontEngine* m_pFontEngine;  
00090      std::auto_ptr<CRenderedString> m_pRenderedString;  
00091      CRGBColor m_FontColor;  
00092      CWindow* m_pToolWindow;  
00093      CTimer* m_pTimer;  
00094      CPoint m_LastMousePosition;  
00095      CRect m_BoundingRect;  
00096 
00097 
00098 private:
00099      void operator=(CToolTip) { }  
00100 };
00101 
00102 }
00103 
00104 #endif // _WG_TOOLTIP_H_
00105 

Generated on Wed May 16 23:11:26 2007 for wGui by  doxygen 1.5.1