X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Ftext%2Fbitmap-font.cpp;h=c42eed834e49e534f6dffc3d05a945104038af8b;hb=bb062d712aaa43ea393f46bd0c3758d266baa898;hp=1e0e9c6e7573edc3c9111bb23627f0c83f8ee774;hpb=f60b3d8e308a5145efe754cbff2a47b4ae278021;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/devel-api/text/bitmap-font.cpp b/dali-toolkit/devel-api/text/bitmap-font.cpp old mode 100755 new mode 100644 index 1e0e9c6..c42eed8 --- a/dali-toolkit/devel-api/text/bitmap-font.cpp +++ b/dali-toolkit/devel-api/text/bitmap-font.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -19,65 +19,70 @@ #include // EXTERNAL INCLUDE -#include #include +#include // INTERNAL INCLUDE #include -#include - namespace Dali { - namespace Toolkit { -using namespace Text; namespace DevelText { - Glyph::Glyph() : url{}, - utf8{ 0u }, - ascender{ 0.f }, - descender{ 0.f } -{} + utf8{}, + ascender{0.f}, + descender{0.f} +{ +} + +Glyph::Glyph(const std::string& url, const std::string utf8Character, float ascender, float descender) +: url{url}, + utf8{}, + ascender{ascender}, + descender{descender} +{ + DALI_ASSERT_DEBUG(utf8Character.size() <= 4u); + + std::copy(utf8Character.begin(), utf8Character.end(), utf8); +} Glyph::~Glyph() -{} +{ +} BitmapFontDescription::BitmapFontDescription() : glyphs{}, name{}, - underlinePosition{ 0.f }, - underlineThickness{ 1.f } -{} + underlinePosition{0.f}, + underlineThickness{1.f}, + isColorFont{false} +{ +} BitmapFontDescription::~BitmapFontDescription() -{} +{ +} -void CreateBitmapFont( const BitmapFontDescription& description, TextAbstraction::BitmapFont& bitmapFont ) +void CreateBitmapFont(const BitmapFontDescription& description, TextAbstraction::BitmapFont& bitmapFont) { - bitmapFont.glyphs.reserve( description.glyphs.size() ); - bitmapFont.name = description.name; - bitmapFont.underlinePosition = description.underlinePosition; + bitmapFont.glyphs.reserve(description.glyphs.size()); + bitmapFont.name = description.name; + bitmapFont.underlinePosition = description.underlinePosition; bitmapFont.underlineThickness = description.underlineThickness; + bitmapFont.isColorFont = description.isColorFont; - for( const auto& glyph : description.glyphs ) + for(const auto& glyph : description.glyphs) { - // 1) Convert to utf32 - Vector utf32; - utf32.Resize( glyph.utf8.size() ); - - const uint32_t numberOfCharacters = ( glyph.utf8.size() == 0 ) ? 0 : - Text::Utf8ToUtf32( reinterpret_cast( glyph.utf8.c_str() ), - glyph.utf8.size(), - &utf32[0u] ); - utf32.Resize( numberOfCharacters ); + uint32_t c = 0u; + Text::Utf8ToUtf32(glyph.utf8, Text::GetUtf8Length(glyph.utf8[0u]), &c); - TextAbstraction::BitmapGlyph bitmapGlyph( glyph.url, utf32[0u], glyph.ascender, glyph.descender ); + TextAbstraction::BitmapGlyph bitmapGlyph(glyph.url, c, glyph.ascender, glyph.descender); - bitmapFont.glyphs.push_back( std::move( bitmapGlyph ) ); + bitmapFont.glyphs.push_back(std::move(bitmapGlyph)); } }