Include <string> to compensate for core inclusion cleanup
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / text-view / text-view-processor-dbg.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // FILE HEADER
19 #include <dali-toolkit/internal/controls/text-view/text-view-processor-dbg.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/internal/controls/text-view/text-view-processor-types.h>
23
24 // EXTERNAL INCLUDES
25 #include <iostream>
26
27 namespace Dali
28 {
29
30 namespace Toolkit
31 {
32
33 namespace Internal
34 {
35
36 namespace TextViewProcessor
37 {
38
39 #if defined(DEBUG_ENABLED)
40 Debug::Filter* gTextViewProcessorLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_TEXT_VIEW_PROCESSOR");
41 #endif
42
43 void dbgPrint( const WordLayoutInfo& word )
44 {
45   std::cout << "       size " << word.mSize << std::endl;
46   std::cout << "   ascender " << word.mAscender << std::endl;
47   std::cout << "       type ";
48   switch( word.mType )
49   {
50     case NoSeparator:
51     {
52       std::cout << "NoSeparator" << std::endl;
53       break;
54     }
55     case ParagraphSeparator:
56     {
57       std::cout << "ParagraphSeparator" << std::endl;
58       break;
59     }
60     case WordSeparator:
61     {
62       std::cout << "WordSeparator" << std::endl;
63       break;
64     }
65   }
66   std::cout << " first char " << word.mFirstCharacter << std::endl;
67   std::cout << "   num char " << word.mCharactersLayoutInfo.size() << std::endl;
68   for( CharacterLayoutInfoContainer::const_iterator characterIt = word.mCharactersLayoutInfo.begin(), endCharacterIt = word.mCharactersLayoutInfo.end();
69        characterIt != endCharacterIt;
70        ++characterIt )
71   {
72     const CharacterLayoutInfo& character( *characterIt );
73
74     std::cout << "[" << character.mSize << std::endl;
75     std::cout << " ascender " << character.mAscender << std::endl;
76   }
77 }
78
79 void dbgPrint( const ParagraphLayoutInfo& paragraph )
80 {
81   std::cout << "< ";
82   std::cout << "  text : [" << paragraph.mText.GetText() << "]" << std::endl;
83   std::cout << "  number of styles : " << paragraph.mTextStyles.Count() << std::endl;
84   std::cout << paragraph.mSize;
85   for( WordLayoutInfoContainer::const_iterator wordIt = paragraph.mWordsLayoutInfo.begin(), endWordIt = paragraph.mWordsLayoutInfo.end();
86        wordIt != endWordIt;
87        ++wordIt )
88   {
89     dbgPrint( *wordIt );
90   }
91   std::cout << " >";
92   std::cout << std::endl;
93 }
94
95 void dbgPrint( const TextLayoutInfo& textInfo )
96 {
97   std::cout << "||" << std::endl;
98   std::cout << textInfo.mWholeTextSize;
99   std::cout << textInfo.mNumberOfCharacters;
100   for( ParagraphLayoutInfoContainer::const_iterator it = textInfo.mParagraphsLayoutInfo.begin(), endIt = textInfo.mParagraphsLayoutInfo.end();
101        it != endIt;
102        ++it )
103   {
104     dbgPrint( *it );
105   }
106   std::cout << "||" << std::endl;
107 }
108
109 void dbgPrint( const TextStyle& style )
110 {
111   std::cout << "               font name : " << style.GetFontName() << std::endl;
112   std::cout << "              font style : " << style.GetFontStyle() << std::endl;
113   std::cout << "         font point size : " << style.GetFontPointSize() << std::endl;
114   std::cout << "                  weight : " << style.GetWeight() << std::endl;
115   std::cout << "              text color : " << style.GetTextColor() << std::endl;
116   std::cout << "                 italics : " << style.IsItalicsEnabled() << std::endl;
117   std::cout << "           italics angle : " << style.GetItalicsAngle() << std::endl;
118   std::cout << "               underline : " << style.IsUnderlineEnabled() << std::endl;
119   std::cout << "     underline thickness : " << style.GetUnderlineThickness() << std::endl;
120   std::cout << "      underline position : " << style.GetUnderlinePosition() << std::endl;
121   std::cout << "                  shadow : " << style.IsShadowEnabled() << std::endl;
122   std::cout << "            shadow color : " << style.GetShadowColor() << std::endl;
123   std::cout << "           shadow offset : " << style.GetShadowOffset() << std::endl;
124   std::cout << "             shadow size : " << style.GetShadowSize() << std::endl;
125   std::cout << "                    glow : " << style.IsGlowEnabled() << std::endl;
126   std::cout << "              glow color : " << style.GetGlowColor() << std::endl;
127   std::cout << "          glow intensity : " << style.GetGlowIntensity() << std::endl;
128   std::cout << "             smooth edge : " << style.GetSmoothEdge() << std::endl;
129   std::cout << "                 outline : " << style.IsOutlineEnabled() << std::endl;
130   std::cout << "           outline color : " << style.GetOutlineColor() << std::endl;
131   std::cout << "       outline thickness : " << style.GetOutlineThickness() << std::endl;
132   std::cout << "                gradient : " << style.IsGradientEnabled() << std::endl;
133   std::cout << "          gradient color : " << style.GetGradientColor() << std::endl;
134   std::cout << "    gradient start point : " << style.GetGradientStartPoint() << std::endl;
135   std::cout << "      gradient end point : " << style.GetGradientEndPoint() << std::endl;
136   std::cout << "    is font name default : " << style.IsFontNameDefault() << std::endl;
137   std::cout << "   is font style default : " << style.IsFontStyleDefault() << std::endl;
138   std::cout << "    is font size default : " << style.IsFontSizeDefault() << std::endl;
139   std::cout << "   is text color default : " << style.IsTextColorDefault() << std::endl;
140   std::cout << "  is font weight default : " << style.IsFontWeightDefault() << std::endl;
141   std::cout << "  is smooth edge default : " << style.IsSmoothEdgeDefault() << std::endl;
142   std::cout << "      is italics default : " << style.IsItalicsDefault() << std::endl;
143   std::cout << "    is underline default : " << style.IsUnderlineDefault() << std::endl;
144   std::cout << "       is shadow default : " << style.IsShadowDefault() << std::endl;
145   std::cout << "         is glow default : " << style.IsGlowDefault() << std::endl;
146   std::cout << "      is outline default : " << style.IsOutlineDefault() << std::endl;
147   std::cout << "     is gradient default : " << style.IsGradientDefault() << std::endl;
148 }
149
150 void dbgPrint( const TextInfoIndices& indices )
151 {
152   std::cout << "          paragraph : " << indices.mParagraphIndex << std::endl;
153   std::cout << "               word : " << indices.mWordIndex << std::endl;
154   std::cout << "               char : " << indices.mCharacterIndex << std::endl;
155   std::cout << "  char in paragraph : " << indices.mCharacterParagraphIndex << std::endl;
156 }
157
158 void dbgPrint( const MarkupProcessor::StyledTextArray& textArray )
159 {
160   for( MarkupProcessor::StyledTextArray::const_iterator it = textArray.begin(), endIt = textArray.end(); it != endIt; ++it )
161   {
162     const MarkupProcessor::StyledText& text( *it );
163
164     std::cout << text.mText.GetText();
165   }
166 }
167
168 } // namespace TextViewProcessor
169
170 } // namespace Internal
171
172 } // namespace Toolkit
173
174 } // namespace Dali