- /**
- * @brief Retrieve the Control implementation.
- *
- * @return The implementation.
- */
- Internal::Control& GetImplementation();
-
- /**
- * @brief Retrieve the Control implementation.
- *
- * @return The implementation.
- */
- const Internal::Control& GetImplementation() const;
-
- // Size Negotiation
-
- /**
- * @brief Sets the size policies for the width and height dimensions.
- *
- * @param[in] widthPolicy Size policy for the width dimension.
- * @param[in] heightPolicy Size policy for the height dimension.
- */
- void SetSizePolicy( SizePolicy widthPolicy, SizePolicy heightPolicy );
-
- /**
- * @brief Retrieves the size policies for the width and height dimensions.
- *
- * @param[out] widthPolicy Width's size policy.
- * @param[out] heightPolicy Height's size policy.
- */
- void GetSizePolicy( SizePolicy& widthPolicy, SizePolicy& heightPolicy ) const;
-
- /**
- * @brief Sets the minimum size for the control.
- *
- * @param[in] size The minimum size.
- */
- void SetMinimumSize( const Vector3& size );
-
- /**
- * @brief Retrieves the minimum size.
- *
- * @return The minimum size.
- */
- const Vector3& GetMinimumSize() const;
-
- /**
- * @brief Sets the maximum size.
- *
- * @param[in] size The maximum size.
- */
- void SetMaximumSize( const Vector3& size );
-
- /**
- * @brief Retrieves the maximum size.
- *
- * @return The maximum size.
- */
- const Vector3& GetMaximumSize() const;
-
- /**
- * @brief Works out the natural size.
- *
- * Natural size is the control's size with any restriction.
- *
- * @return The natural size.
- */
- Vector3 GetNaturalSize();
-
- /**
- * @brief Works out the control's height for a given width.
- *
- * @param[in] width The control's width.
- *
- * @return The control's height for the given width.
- */
- float GetHeightForWidth( float width );
-
- /**
- * @brief Works out the control's width for a given height.
- *
- * @param[in] height The control's height.
- *
- * @return The control's width for the given height.
- */
- float GetWidthForHeight( float height );
-