00001 00018 #ifndef INC_MGUI_GADGETIMAGE_H 00019 #define INC_MGUI_GADGETIMAGE_H 00020 00021 #ifndef INC_MGUI_GADGET_H 00022 #include <mgui/gadget.h> 00023 #endif 00024 00025 #ifndef INC_SPATMOD_IMAGESTAGEAUTOPTR_H 00026 #include <spatmod/imagestageautoptr.h> 00027 #endif 00028 00029 #ifndef INC_MI32_MISTRING_H 00030 #include <mi32/mistring.h> 00031 #endif 00032 00033 namespace MGUI { 00034 00035 //===================================================================================================================== 00036 00038 class GADGET_IMAGE : public MGUI::GADGET { 00039 public: 00040 00042 GADGET_IMAGE ( 00043 MGUI::TOOLCANVAS *pCanvas, 00044 PLACEMENT PlacementsAllowed, 00045 FLAGS flags = FLAG_None, 00046 CANVASDEVICES CanvasDevices = CANVASDEVICE_Memory 00047 ); 00048 00050 ~GADGET_IMAGE (); 00051 00054 void SetImage ( 00055 SPATMOD::IMAGE::STAGE *pStage, 00056 bool TakeOwnership 00057 ) { m_StagePtr.Assign(pStage,TakeOwnership); } 00058 00060 void SetToolTip ( 00061 const MISTRING& tooltip 00062 ) { m_ToolTip = tooltip; } 00063 00065 void SetUseAlphaBlend ( 00066 bool UseAlphaBlend = true 00067 ) { m_UseAlphaBlend = UseAlphaBlend; } 00068 00069 private: 00070 #ifndef GENERATING_DOXYGEN_OUTPUT 00071 00072 SPATMOD::IMAGE::STAGE_AUTOPTR m_StagePtr; 00073 MISTRING m_ToolTip; 00074 bool m_UseAlphaBlend; 00075 00076 // GADGET overrides 00077 virtual MGUI::POINT v_ComputeSize (); 00078 virtual void v_Draw (MGD::CONTEXT *gc, MGUI::CANVAS::DEVICETYPE DeviceType); 00079 virtual bool v_OnToolTipRequest (MGUI::CTRL_TOOLTIP& tooltip, MGUI::POINT& ptCanvas); 00080 #endif 00081 }; 00082 00083 //===================================================================================================================== 00084 00085 } // End namespace MGUI 00086 00087 #endif // INC_MGUI_GADGETIMAGE_H
1.6.1