X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fcharacter-run.h;h=757beb0f8e98c71a5bd414203bba2ef148eb16af;hb=ba1c6fea08ea39ca92356ae4b39a952919398e7e;hp=221ecbdaa052be8c000e419579ed1d632cf21c4d;hpb=3bdbf66c314bb6036eb35ec0d2f1c9c32652f931;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/character-run.h b/dali-toolkit/internal/text/character-run.h index 221ecbd..757beb0 100644 --- a/dali-toolkit/internal/text/character-run.h +++ b/dali-toolkit/internal/text/character-run.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEXT_CHARACTER_RUN_H__ -#define __DALI_TOOLKIT_TEXT_CHARACTER_RUN_H__ +#ifndef DALI_TOOLKIT_TEXT_CHARACTER_RUN_H +#define DALI_TOOLKIT_TEXT_CHARACTER_RUN_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,20 +23,44 @@ namespace Dali { - namespace Toolkit { - namespace Text { - /** * @brief A run of consecutive characters. */ struct CharacterRun { + CharacterRun() + : characterIndex{0u}, + numberOfCharacters{0u} + { + } + + CharacterRun(CharacterIndex characterIndex, Length numberOfCharacters) + : characterIndex{characterIndex}, + numberOfCharacters{numberOfCharacters} + { + } + CharacterIndex characterIndex; ///< Index to the first character. Length numberOfCharacters; ///< Number of characters in the run. + + //Methods + + /** + * @brief Calculate the end index in run. + * @return the end character index in run. + */ + CharacterIndex GetEndCharacterIndex() const + { + DALI_ASSERT_DEBUG(!((0u == numberOfCharacters) && (characterIndex > 0u)) && + "Toolkit::Text::CharacterRun. NumberOfCharacters should be greater than zero"); + + // Note: Length is uint32. Extra validation to avoid a potential defects. + return (numberOfCharacters == 0u ? 0u : (characterIndex + numberOfCharacters - 1u)); + } }; } // namespace Text @@ -45,4 +69,4 @@ struct CharacterRun } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_CHARACTER_RUN_H__ +#endif // DALI_TOOLKIT_TEXT_CHARACTER_RUN_H