/**
* @brief Called to signal that caret (cursor position) has been moved.
*/
- virtual void CaretMoved(unsigned int position) = 0;
+ virtual void CursorPositionChanged(unsigned int oldPosition, unsigned int newPosition) = 0;
/**
* @brief Called to signal that text has been inserted or deleted.
- *
+ *
* @param[in] immediate If true, it immediately emits the signal, if false, only emits once the signal when OnRelayout() is called next time.
*/
virtual void TextChanged(bool immediate) = 0;
* @brief Add a decoration.
*
* @param[in] decoration The actor displaying a decoration.
+ * @param[in] type Whether this decoration is a layer or not, which layer it is.
* @param[in] needsClipping Whether the actor needs clipping.
*/
- virtual void AddDecoration(Actor& actor, bool needsClipping) = 0;
+ virtual void AddDecoration(Actor& actor, DecorationType type, bool needsClipping) = 0;
+
+ /**
+ * @brief Gets the color of the control.
+ *
+ * @param[out] The color of the control.
+ */
+ virtual void GetControlBackgroundColor(Vector4& color) const = 0;
/**
* @brief Editable status (on/off).
* @param[in] editable The editable status.
*/
virtual void SetEditable(bool editable) = 0;
+
+ /**
+ * @brief Called to copy the selected text.
+ * @return The copied text.
+ */
+ virtual string CopyText() = 0;
+
+ /**
+ * @brief Called to cut the selected text.
+ * @return The cut text.
+ */
+ virtual string CutText() = 0;
+
+ /**
+ * @brief Called to paste the most recent clipboard text item into the control.
+ */
+ virtual void PasteText() = 0;
};
} // namespace Text