* Removes includes.
* Moves code in text-view.cpp to match the .h
Change-Id: Ifc510f19a427722f6072122f68b5f26800dc1081
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
#include <dali-toolkit/public-api/text/rendering-backend.h>
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/rendering/text-backend.h>
+#include <dali-toolkit/internal/text/text-view.h>
#include <dali-toolkit/internal/styling/style-manager-impl.h>
using namespace Dali::Toolkit::Text;
#include <dali-toolkit/public-api/text/rendering-backend.h>
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/rendering/text-backend.h>
+#include <dali-toolkit/internal/text/text-view.h>
#include <dali-toolkit/internal/styling/style-manager-impl.h>
using Dali::Toolkit::Text::LayoutEngine;
$(toolkit_src_dir)/text/rendering/atlas/text-atlas-renderer.cpp \
$(toolkit_src_dir)/text/rendering/atlas/atlas-glyph-manager.cpp \
$(toolkit_src_dir)/text/rendering/atlas/atlas-glyph-manager-impl.cpp \
- $(toolkit_src_dir)/text/rendering/shaders/text-basic-shader.cpp \
- $(toolkit_src_dir)/text/rendering/shaders/text-basic-shadow-shader.cpp \
- $(toolkit_src_dir)/text/rendering/shaders/text-bgra-shader.cpp \
$(toolkit_src_dir)/text/rendering/text-backend-impl.cpp \
$(toolkit_src_dir)/transition-effects/cube-transition-effect-impl.cpp \
$(toolkit_src_dir)/transition-effects/cube-transition-cross-effect-impl.cpp \
namespace Text
{
-class LogicalModel;
-class VisualModel;
-
/**
* Sets the bidirectional info into the logical model.
*
#include <stdint.h>
#include <string>
-// INTERNAL INCLUDES
-#include <dali/public-api/common/dali-common.h>
-
namespace Dali
{
#include <dali-toolkit/internal/text/clipping/text-clipper.h>
// EXTERNAL INCLUDES
-#include <algorithm>
#include <dali/public-api/common/stage.h>
#include <dali/public-api/render-tasks/render-task-list.h>
-#include <dali/integration-api/debug.h>
namespace
{
#include <dali/public-api/actors/layer.h>
#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/actors/camera-actor.h>
-#include <dali/public-api/common/intrusive-ptr.h>
-#include <dali/public-api/math/vector2.h>
-#include <dali/public-api/object/ref-object.h>
#include <dali/public-api/render-tasks/render-task.h>
namespace Dali
// EXTERNAL INCLUDES
#include <dali/integration-api/debug.h>
-#include <dali/public-api/actors/actor.h>
+
#include <dali/public-api/adaptor-framework/timer.h>
-#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/actors/layer.h>
-#include <dali/public-api/animation/constraint.h>
-#include <dali/public-api/common/constants.h>
#include <dali/public-api/common/stage.h>
-#include <dali/public-api/events/tap-gesture.h>
-#include <dali/public-api/events/tap-gesture-detector.h>
#include <dali/public-api/events/touch-event.h>
#include <dali/public-api/events/pan-gesture.h>
-#include <dali/public-api/events/pan-gesture-detector.h>
#include <dali/public-api/images/resource-image.h>
-#include <dali/public-api/math/rect.h>
-#include <dali/public-api/math/vector2.h>
-#include <dali/public-api/math/vector4.h>
#include <dali/public-api/object/property-notification.h>
-#include <dali/public-api/signals/connection-tracker.h>
-#include <dali/devel-api/object/property-buffer.h>
#include <dali/devel-api/rendering/geometry.h>
-#include <dali/devel-api/rendering/material.h>
#include <dali/devel-api/rendering/renderer.h>
-#include <dali/devel-api/rendering/shader.h>
// INTERNAL INCLUDES
-#include <dali-toolkit/public-api/controls/control.h>
#include <dali-toolkit/public-api/controls/control-depth-index-ranges.h>
-#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/public-api/controls/buttons/push-button.h>
#include <dali-toolkit/public-api/controls/default-controls/solid-color-actor.h>
-#include <dali-toolkit/public-api/controls/text-controls/text-label.h>
-#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
#ifdef DEBUG_ENABLED
#define DECORATOR_DEBUG
#include <dali/public-api/common/intrusive-ptr.h>
#include <dali/public-api/object/ref-object.h>
#include <dali/public-api/math/rect.h>
-#include <dali/public-api/math/vector2.h>
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
namespace Dali
{
-class Actor;
-class Image;
-class Vector2;
-class Vector4;
+struct Vector2;
+struct Vector4;
namespace Toolkit
{
-class TextSelectionPopupCallbackInterface;
-
-namespace Internal
-{
-class Control;
-}
-
namespace Text
{
// EXTERNAL INCLUDES
#include <limits>
-#include <dali/public-api/math/vector2.h>
-#include <dali/devel-api/text-abstraction/font-client.h>
#include <dali/integration-api/debug.h>
+#include <dali/devel-api/text-abstraction/font-client.h>
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/layouts/layout-parameters.h>
namespace Dali
{
-struct Vector2;
-
namespace Toolkit
{
*
*/
-// EXTERNAL INCLUDES
-#include <dali/public-api/math/vector2.h>
-
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/character-run.h>
// CLASS HEADER
#include <dali-toolkit/internal/text/logical-model-impl.h>
-// EXTERNAL INCLUDES
-#include <memory.h>
-
namespace Dali
{
namespace Text
{
-struct BidirectionalLineInfoRun;
-struct BidirectionalParagraphInfoRun;
-struct FontRun;
class LogicalModel;
typedef IntrusivePtr<LogicalModel> LogicalModelPtr;
-struct ScriptRun;
/**
* @brief A logical text model contains layout independent information.
#include <dali-toolkit/internal/text/multi-language-support-impl.h>
// EXTERNAL INCLUDES
-#include <memory.h>
#include <dali/integration-api/debug.h>
#include <dali/devel-api/adaptor-framework/singleton-service.h>
#include <dali/devel-api/text-abstraction/font-client.h>
-#include <dali/devel-api/text-abstraction/script.h>
-
-// INTERNAL INCLUDES
-#include <dali-toolkit/internal/text/logical-model-impl.h>
-#include <dali-toolkit/internal/text/font-run.h>
-#include <dali-toolkit/internal/text/script-run.h>
-#include <dali-toolkit/internal/text/text-io.h>
namespace Dali
{
} // Internal
-class LogicalModel;
-
/**
* @brief Sets the character's scripts to the model and validates the fonts set by the user or assigns default ones.
*/
#include <dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.h>
// EXTERNAL INCLUDES
-#include <dali/public-api/actors/image-actor.h>
-#include <dali/public-api/common/stage.h>
#include <dali/integration-api/debug.h>
#define MAKE_SHADER(A)#A
#include <dali/devel-api/adaptor-framework/singleton-service.h>
// INTERNAL INCLUDES
-#include <dali-toolkit/internal/atlas-manager/atlas-manager-impl.h>
#include <dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.h>
namespace Dali
#include <dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.h>
// EXTERNAL INCLUDES
-#include <dali/dali.h>
-#include <dali/devel-api/object/property-buffer.h>
-#include <dali/devel-api/rendering/geometry.h>
+#include <dali/integration-api/debug.h>
+#include <dali/public-api/common/stage.h>
+#include <dali/public-api/images/frame-buffer-image.h>
+#include <dali/public-api/render-tasks/render-task.h>
+#include <dali/public-api/render-tasks/render-task-list.h>
#include <dali/devel-api/rendering/renderer.h>
-#include <dali/devel-api/rendering/sampler.h>
-#include <dali/devel-api/rendering/shader.h>
+#include <dali/devel-api/rendering/geometry.h>
#include <dali/devel-api/text-abstraction/font-client.h>
-#include <dali/integration-api/debug.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control-depth-index-ranges.h>
#include <dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager.h>
+#include <dali-toolkit/internal/text/text-view.h>
using namespace Dali;
using namespace Dali::Toolkit;
// Avoid emptying mTextCache (& removing references) until after incremented references for the new text
Vector< TextCacheEntry > newTextCache;
+ const GlyphInfo* const glyphsBuffer = glyphs.Begin();
for( uint32_t i = 0, glyphSize = glyphs.Size(); i < glyphSize; ++i )
{
- const GlyphInfo& glyph = glyphs[ i ];
+ const GlyphInfo& glyph = *( glyphsBuffer + i );
// No operation for white space
if ( glyph.width && glyph.height )
FontMetrics fontMetrics;
mFontClient.GetFontMetrics( glyph.fontId, fontMetrics );
currentUnderlinePosition = ceil( fabsf( fontMetrics.underlinePosition ) );
- float descender = ceil( fabsf( fontMetrics.descender ) );
+ const float descender = ceil( fabsf( fontMetrics.descender ) );
if ( underlineHeight == ZERO )
{
slot );
lastFontId = glyph.fontId;
}
- }
+ } // glyphs
// Now remove references for the old text
RemoveText();
// Check to see if there's a mesh data object that references the same atlas ?
uint32_t index = 0;
- for ( std::vector< MeshRecord >::iterator mIt = meshContainer.begin(); mIt != meshContainer.end(); ++mIt, ++index )
+ for ( std::vector< MeshRecord >::iterator mIt = meshContainer.begin(),
+ mEndIt = meshContainer.end();
+ mIt != mEndIt;
+ ++mIt, ++index )
{
if ( slot.mAtlasId == mIt->mAtlasId && color == mIt->mColor )
{
float underlineThickness )
{
bool foundExtent = false;
- for ( Vector< Extent >::Iterator eIt = extents.Begin(); eIt != extents.End(); ++eIt )
+ for ( Vector< Extent >::Iterator eIt = extents.Begin(),
+ eEndIt = extents.End();
+ eIt != eEndIt;
+ ++eIt )
{
if ( Equals( baseLine, eIt->mBaseLine ) )
{
}
}
- void GenerateUnderlines( std::vector< MeshRecord>& meshRecords,
+ void GenerateUnderlines( std::vector< MeshRecord >& meshRecords,
Vector< Extent >& extents,
const Vector4& underlineColor,
const Vector4& textColor )
{
AtlasManager::Mesh2D newMesh;
unsigned short faceIndex = 0;
- for ( Vector< Extent >::ConstIterator eIt = extents.Begin(); eIt != extents.End(); ++eIt )
+ for ( Vector< Extent >::ConstIterator eIt = extents.Begin(),
+ eEndIt = extents.End();
+ eIt != eEndIt;
+ ++eIt )
{
AtlasManager::Vertex2D vert;
uint32_t index = eIt->mMeshRecordIndex;
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/rendering/text-renderer.h>
-#include <dali-toolkit/internal/text/text-definitions.h>
namespace Dali
{
+++ /dev/null
-/*
- * Copyright (c) 2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali-toolkit/internal/text/rendering/text-renderer.h>
-#include <dali/public-api/shader-effects/shader-effect.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Text
-{
-
-namespace BasicShader
-{
-
-Dali::ShaderEffect New()
-{
- std::string vertexShader = DALI_COMPOSE_SHADER(
- uniform mediump vec4 uTextureRect;\n
- void main()\n
- {\n
- gl_Position = uMvpMatrix * vec4( aPosition.xy, 0.0, 1.0 );\n
- vTexCoord = aTexCoord.xy;\n
- }\n
- );
-
- std::string fragmentShader = DALI_COMPOSE_SHADER(
- void main()\n
- {\n
- mediump vec4 color = texture2D( sTexture, vTexCoord );
- gl_FragColor = vec4(uColor.rgb, uColor.a*color.r);
- }\n
- );
-
- Dali::ShaderEffect shaderEffect = Dali::ShaderEffect::New( vertexShader, fragmentShader,
- Dali::ShaderEffect::GeometryHints( Dali::ShaderEffect::HINT_NONE ) );
- return shaderEffect;
-}
-
-} // namespace BasicShader
-
-} // namespace Text
-
-} // namespace Toolkit
-
-} // namespace Dali
+++ /dev/null
-#ifndef __DALI_TOOLKIT_TEXT_BASIC_SHADER_H__
-#define __DALI_TOOLKIT_TEXT_BASIC_SHADER_H__
-
-/*
- * Copyright (c) 2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <dali/public-api/shader-effects/shader-effect.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Text
-{
-
-/**
- * @brief A basic shader for rendering glyphs in Pixel::L8 format.
- */
-namespace BasicShader
-{
-
-/**
- * Create a basic text shader.
- * @return A handle to a newly allocated ShaderEffect
- */
-Dali::ShaderEffect New();
-
-} // namespace BasicShader
-
-} // namespace Text
-
-} // namespace Toolkit
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TEXT_BASIC_SHADER_H__
+++ /dev/null
-/*
- * Copyright (c) 2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali-toolkit/internal/text/rendering/text-renderer.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Text
-{
-
-namespace BasicShadowShader
-{
-/*
-Dali::ShaderEffect New()
-{
- std::string vertexShader = DALI_COMPOSE_SHADER(
- void main()\n
- {\n
- gl_Position = vec4( aPosition.xy, 0.0, 1.0 );\n
- vTexCoord = aTexCoord.xy;\n
- }\n
- );
-
- std::string fragmentShader = DALI_COMPOSE_SHADER(
- void main()\n
- {\n
- mediump vec4 color = texture2D( sTexture, vTexCoord );
- gl_FragColor = vec4(uColor.rgb, uColor.a*color.r);
- }\n
- );
-
- Dali::ShaderEffect shaderEffect = Dali::ShaderEffect::New( vertexShader, fragmentShader,
- Dali::ShaderEffect::GeometryHints( Dali::ShaderEffect::HINT_NONE ) );
- return shaderEffect;
-}
-*/
-} // namespace BasicShadowShader
-
-} // namespace Text
-
-} // namespace Toolkit
-
-} // namespace Dali
+++ /dev/null
-/*
- * Copyright (c) 2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// INTERNAL HEADERS
-#include <dali-toolkit/internal/text/rendering/text-renderer.h>
-#include <dali/public-api/shader-effects/shader-effect.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Text
-{
-
-namespace BgraShader
-{
-
-Dali::ShaderEffect New()
-{
- std::string vertexShader = DALI_COMPOSE_SHADER(
- uniform mediump vec4 uTextureRect;\n
- void main()\n
- {\n
- gl_Position = uMvpMatrix * vec4( aPosition.xy, 0.0, 1.0 );\n
- vTexCoord = aTexCoord.xy;\n
- }\n
- );
-
- std::string fragmentShader = DALI_COMPOSE_SHADER(
- void main()\n
- {\n
- gl_FragColor = texture2D( sTexture, vTexCoord );
- }\n
- );
-
- Dali::ShaderEffect shaderEffect = Dali::ShaderEffect::New( vertexShader, fragmentShader,
- Dali::ShaderEffect::GeometryHints( Dali::ShaderEffect::HINT_NONE ) );
- return shaderEffect;
-}
-
-} // namespace BGRAShader
-
-} // namespace Text
-
-} // namespace Toolkit
-
-} // namespace Dali
-
+++ /dev/null
-
-#ifndef __DALI_TOOLKIT_TEXT_BGRA_SHADER_H__
-#define __DALI_TOOLKIT_TEXT_BGRA_SHADER_H__
-
-/*
- * Copyright (c) 2015 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.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <dali/public-api/shader-effects/shader-effect.h>
-
-namespace Dali
-{
-
-namespace Toolkit
-{
-
-namespace Text
-{
-
-/**
- * @brief A BGRA shader for rendering glyphs.
- */
-namespace BgraShader
-{
-
-/**
- * Create a basic text shader.
- * @return A handle to a newly allocated ShaderEffect
- */
-Dali::ShaderEffect New();
-
-} // namespace BGRAShader
-
-} // namespace Text
-
-} // namespace Toolkit
-
-} // namespace Dali
-
-#endif // __DALI_TOOLKIT_TEXT_BGRA_SHADER_H__
#include <dali-toolkit/internal/text/rendering/text-backend-impl.h>
// EXTERNAL INCLUDES
-#include <dali/devel-api/adaptor-framework/singleton-service.h>
#include <dali/integration-api/debug.h>
+#include <dali/devel-api/adaptor-framework/singleton-service.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/text/rendering-backend.h>
#include <dali/public-api/common/intrusive-ptr.h>
#include <dali/public-api/object/ref-object.h>
-// INTERNAL INCLUDES
-#include <dali-toolkit/internal/text/text-view-interface.h>
-
namespace Dali
{
class Renderer;
typedef IntrusivePtr<Renderer> RendererPtr;
+class ViewInterface;
+
/**
* @brief Abstract base class for Text renderers.
*
#include <dali-toolkit/internal/text/shaper.h>
// EXTERNAL INCLUDES
-#include <dali/devel-api/text-abstraction/script.h>
#include <dali/devel-api/text-abstraction/shaping.h>
-// INTERNAL INCLUDES
-#include <dali-toolkit/internal/text/font-run.h>
-#include <dali-toolkit/internal/text/logical-model-impl.h>
-#include <dali-toolkit/internal/text/script-run.h>
-#include <dali-toolkit/internal/text/visual-model-impl.h>
-
namespace Dali
{
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/bidirectional-support.h>
#include <dali-toolkit/internal/text/character-set-conversion.h>
-#include <dali-toolkit/internal/text/layouts/layout-parameters.h>
#include <dali-toolkit/internal/text/multi-language-support.h>
-#include <dali-toolkit/internal/text/script-run.h>
#include <dali-toolkit/internal/text/segmentation.h>
#include <dali-toolkit/internal/text/shaper.h>
-#include <dali-toolkit/internal/text/text-io.h>
-#include <dali-toolkit/internal/text/text-view.h>
namespace
{
// EXTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/clipboard.h>
-#include <dali/devel-api/adaptor-framework/imf-manager.h>
#include <dali/devel-api/text-abstraction/font-client.h>
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/logical-model-impl.h>
#include <dali-toolkit/internal/text/text-controller.h>
+#include <dali-toolkit/internal/text/text-view.h>
#include <dali-toolkit/internal/text/visual-model-impl.h>
namespace Dali
// EXTERNAL INCLUDES
#include <limits>
-#include <iostream>
#include <dali/public-api/adaptor-framework/key.h>
#include <dali/integration-api/debug.h>
#include <dali/devel-api/adaptor-framework/clipboard-event-notifier.h>
#include <dali-toolkit/internal/text/bidirectional-support.h>
#include <dali-toolkit/internal/text/character-set-conversion.h>
#include <dali-toolkit/internal/text/layouts/layout-parameters.h>
-#include <dali-toolkit/internal/text/multi-language-support.h>
-#include <dali-toolkit/internal/text/script-run.h>
-#include <dali-toolkit/internal/text/segmentation.h>
-#include <dali-toolkit/internal/text/shaper.h>
#include <dali-toolkit/internal/text/text-controller-impl.h>
-#include <dali-toolkit/internal/text/text-io.h>
-#include <dali-toolkit/internal/text/text-view.h>
namespace
{
*/
// EXTERNAL INCLUDES
-#include <string>
#include <dali/devel-api/adaptor-framework/imf-manager.h>
-#include <dali/public-api/common/dali-vector.h>
-#include <dali/public-api/common/intrusive-ptr.h>
#include <dali/public-api/events/gesture.h>
-#include <dali/public-api/events/key-event.h>
-#include <dali/public-api/math/vector3.h>
-#include <dali/public-api/math/vector2.h>
-#include <dali/public-api/object/ref-object.h>
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup-callback-interface.h>
#include <dali-toolkit/internal/text/decorator/text-decorator.h>
-#include <dali-toolkit/internal/text/font-run.h>
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/text-control-interface.h>
-#include <dali-toolkit/internal/text/text-view.h>
namespace Dali
{
{
class Controller;
-class LayoutEngine;
+class View;
typedef IntrusivePtr<Controller> ControllerPtr;
typedef Dali::Toolkit::Text::ControlInterface ControlInterface;
*
*/
-// EXTERNAL INCLUDES
-#include <dali/public-api/math/vector4.h>
-
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/text-definitions.h>
{
struct Vector2;
+struct Vector4;
namespace Toolkit
{
namespace Text
{
-struct LineRun;
-
/**
* @brief Abstract interface to provide the information necessary displaying text.
*
return Vector2::ZERO;
}
+Length View::GetNumberOfGlyphs() const
+{
+ if( mImpl->mVisualModel )
+ {
+ const VisualModel& model = *mImpl->mVisualModel;
+
+ const Length glyphCount = model.mGlyphs.Count();
+ const Length positionCount = model.mGlyphPositions.Count();
+
+ DALI_ASSERT_DEBUG( positionCount <= glyphCount && "Invalid glyph positions in Model" );
+
+ return (positionCount < glyphCount) ? positionCount : glyphCount;
+ }
+
+ return 0;
+}
+
Length View::GetGlyphs( GlyphInfo* glyphs,
Vector2* glyphPositions,
GlyphIndex glyphIndex,
const Vector4& View::GetTextColor() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.GetTextColor();
+ return mImpl->mVisualModel->GetTextColor();
}
return Vector4::ZERO;
}
const Vector2& View::GetShadowOffset() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.GetShadowOffset();
+ return mImpl->mVisualModel->GetShadowOffset();
}
return Vector2::ZERO;
}
const Vector4& View::GetShadowColor() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.GetShadowColor();
+ return mImpl->mVisualModel->GetShadowColor();
}
return Vector4::ZERO;
}
const Vector4& View::GetUnderlineColor() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.GetUnderlineColor();
+ return mImpl->mVisualModel->GetUnderlineColor();
}
return Vector4::ZERO;
}
bool View::IsUnderlineEnabled() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.IsUnderlineEnabled();
+ return mImpl->mVisualModel->IsUnderlineEnabled();
}
return false;
}
float View::GetUnderlineHeight() const
{
- if ( mImpl->mVisualModel )
+ if( mImpl->mVisualModel )
{
- VisualModel& model = *mImpl->mVisualModel;
- return model.GetUnderlineHeight();
+ return mImpl->mVisualModel->GetUnderlineHeight();
}
return 0.0f;
}
-Length View::GetNumberOfGlyphs() const
-{
- if( mImpl->mVisualModel )
- {
- VisualModel& model = *mImpl->mVisualModel;
-
- const Length glyphCount = model.mGlyphs.Count();
- const Length positionCount = model.mGlyphPositions.Count();
-
- DALI_ASSERT_DEBUG( positionCount <= glyphCount && "Invalid glyph positions in Model" );
-
- return (positionCount < glyphCount) ? positionCount : glyphCount;
- }
-
- return 0;
-}
} // namespace Text
namespace Dali
{
-struct Vector2;
-
namespace Toolkit
{
// EXTERNAL INCLUDES
#include <memory.h>
-#include <dali/public-api/math/vector2.h>
namespace Dali
{
// EXTERNAL INCLUDES
#include <dali/public-api/common/dali-vector.h>
#include <dali/public-api/common/intrusive-ptr.h>
+#include <dali/public-api/math/vector2.h>
#include <dali/public-api/math/vector4.h>
#include <dali/public-api/object/ref-object.h>
namespace Dali
{
-struct Vector2;
-
namespace Toolkit
{
namespace Text
{
-struct LineRun;
class VisualModel;
typedef IntrusivePtr<VisualModel> VisualModelPtr;