/** @file * @author Edouard DUPIN * @copyright 2011, Edouard DUPIN, all right reserved * @license MPL v2.0 (see license file) */ #pragma once #include #include #include #include #include #include #include namespace ewol { namespace widget { class PopUp; using PopUp = ememory::Ptr; using PopUpWeak = ememory::WeakPtr; /** * @ingroup ewolWidgetGroup */ class PopUp : public ewol::widget::Container { public: // properties eproperty::Value propertyShape; //!< Compositing theme. eproperty::Value propertyLockExpand; //!< Lock the expend of the sub widget to this one == > this permit to limit bigger subWidget eproperty::Value propertyCloseOutEvent; //!< ratio progression of a sliding protected: /** * @brief Constructor * @param[in] _shaperName Shaper file properties */ PopUp(); void init() ; public: DECLARE_WIDGET_FACTORY(PopUp, "PopUp"); /** * @brief Destructor */ ~PopUp(); protected: ewol::compositing::Shaper this.shaper; //!< Compositing theme. protected: void onDraw() ; public: void systemDraw( ewol::DrawProperty _displayProp) ; void onRegenerateDisplay() ; void onChangeSize() ; boolean onEventInput( ewol::event::Input _event) ; Widget getWidgetAtPos( Vector2f _pos) ; protected: void onChangePropertyShape(); void onChangePropertyLockExpand(); }; }; };