#include <string>
#include <dali/public-api/common/dali-vector.h>
#include <dali/public-api/common/intrusive-ptr.h>
+#include <dali/public-api/events/gesture.h>
#include <dali/public-api/events/key-event.h>
#include <dali/public-api/math/vector3.h>
#include <dali/public-api/math/vector2.h>
LAYOUT = 0x0100,
UPDATE_ACTUAL_SIZE = 0x0200,
REORDER = 0x0400,
- ALIGNMENT = 0x0800,
- RENDER = 0x1000,
+ ALIGN = 0x0800,
ALL_OPERATIONS = 0xFFFF
};
bool GetEnableCursorBlink() const;
/**
+ * @brief Query the current scroll position; the UI control is responsible for moving actors to this position.
+ *
+ * @return The scroll position.
+ */
+ const Vector2& GetScrollPosition() const;
+
+ /**
+ * @brief Query the alignment offset.
+ *
+ * @return The alignmnet offset.
+ */
+ const Vector2& GetAlignmentOffset() const;
+
+ /**
* @copydoc Control::GetNaturalSize()
*/
Vector3 GetNaturalSize();
* @param[in] size A the size of a bounding box to layout text within.
* @return True if the text model or decorations were updated.
*/
- bool Relayout( const Vector2& size );
+ bool Relayout( const Size& size );
/**
* @brief Process queued events which modify the model.
* @param[in] operations The layout operations which need to be done.
* @param[out] layoutSize The size of the laid-out text.
*/
- bool DoRelayout( const Vector2& size,
+ bool DoRelayout( const Size& size,
OperationsMask operations,
Size& layoutSize );
/**
+ * @brief Calulates the alignment of the whole text inside the bounding box.
+ *
+ * @param[in] size The size of the bounding box.
+ */
+ void CalculateTextAlignment( const Size& size );
+
+ /**
* @brief Return the layout engine.
*
* @return A reference to the layout engine.
void TapEvent( unsigned int tapCount, float x, float y );
/**
+ * @brief Caller by editable UI controls when a pan gesture occurs.
+ *
+ * @param[in] state The state of the gesture.
+ * @param[in] displacement This distance panned since the last pan gesture.
+ */
+ void PanEvent( Gesture::State state, const Vector2& displacement );
+
+ /**
* @copydoc Dali::Toolkit::Text::Decorator::Observer::GrabHandleEvent()
*/
virtual void GrabHandleEvent( GrabHandleState state, float x, float y );