X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-relayouter.h;h=a98ed53a114c421e26876eea08a7f5708b64b02e;hp=d2d86706abfc52df43fa66a2cd68a3595d72fcb9;hb=9012617eed6ae42908bbb15363cc9db49af44e2d;hpb=d0b0cfa4a44953be9af9128885eb6ef5d83a214e diff --git a/dali-toolkit/internal/text/text-controller-relayouter.h b/dali-toolkit/internal/text/text-controller-relayouter.h index d2d8670..a98ed53 100644 --- a/dali-toolkit/internal/text/text-controller-relayouter.h +++ b/dali-toolkit/internal/text/text-controller-relayouter.h @@ -85,21 +85,47 @@ struct Controller::Relayouter /** * @brief Called by the Controller to do certain operations when relayouting. * - * @param[in] controller A reference to the controller class + * @param[in] impl A reference to the controller impl class * @param[in] size The size to set * @param[in] operationsRequired The operations we need to do * @param[in/out] layoutSize The Layout size which can be updated depending on the result of the performed operations * @return */ - static bool DoRelayout(Controller& controller, const Size& size, OperationsMask operationsRequired, Size& layoutSize); + + static bool DoRelayout(Controller::Impl& impl, const Size& size, OperationsMask operationsRequired, Size& layoutSize); /** * @brief Called by the Controller to calculate the veritcal offset give the control size. * - * @param[in] controller A reference to the controller class + * @param[in] impl A reference to the controller impl class * @param[in] controlSize The control size */ - static void CalculateVerticalOffset(Controller& controller, const Size& controlSize); + static void CalculateVerticalOffset(Controller::Impl& impl, const Size& controlSize); + + /** + * @brief Calculates the layout size of control according to @p requestedControllerSize and @p requestedOperationsMask + * + * GetNaturalSize() and GetHeightForWidth() calls this method. + * + * @param[in] controller The controller to calcualte size on it. + * @param[in] requestedControllerSize The requested size of controller to calcualte layout size on it. + * @param[in] requestedOperationsMask The requested operations-mask to calcualte layout size according to it. + * + * @return The calculated layout-size. + */ + static Size CalculateLayoutSizeOnRequiredControllerSize(Controller& controller, const Size& requestedControllerSize, const OperationsMask& requestedOperationsMask); + +private: + /** + * @brief Called by the DoRelayout to do HorizontalAlignment operation when relayouting. + * + * @param[in] impl A reference to the controller impl class + * @param[in] size The size to set + * @param[in] startIndex The start index for relayouting + * @param[in] requestedNumberOfCharacters The number Of characters for relayouting + */ + + static void DoRelayoutHorizontalAlignment(Controller::Impl& impl, const Size& size, const CharacterIndex startIndex, const Length requestedNumberOfCharacters); }; } // namespace Text