X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Ftext-view%2Ftext-view-impl.cpp;h=3919c6de0ea5d68f87e12c76c45bcffad518e6dd;hb=865bc7d9efba2ba1ddc5e365ce99fa94ae3e9187;hp=426357dd0206285fba0fc8590f42efe5c98c04ad;hpb=92480e026ce2bfc7e2a5166b9097c31a37a84346;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/text-view/text-view-impl.cpp b/base/dali-toolkit/internal/controls/text-view/text-view-impl.cpp index 426357d..3919c6d 100644 --- a/base/dali-toolkit/internal/controls/text-view/text-view-impl.cpp +++ b/base/dali-toolkit/internal/controls/text-view/text-view-impl.cpp @@ -1,18 +1,19 @@ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.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://floralicense.org/license/ -// -// 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. -// +/* + * Copyright (c) 2014 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 "text-view-impl.h" @@ -49,7 +50,6 @@ namespace Internal namespace { - const char* MULTILINE_POLICY_NAME[] = {"SplitByNewLineChar", "SplitByWord", "SplitByChar"}; const char* EXCEED_POLICY_NAME[] = {"Original", "Truncate", "Fade", "Split","ShrinkToFit","EllipsizeEnd"}; const char* LINE_JUSTIFICATION_NAME[] = {"Left","Center","Right","Justified"}; @@ -140,8 +140,8 @@ Toolkit::TextView TextView::New() // This can only be done after the CustomActor connection has been made... textView->Initialize(); - // Enables by default the offscreen rendering. - textView->SetSnapshotModeEnabled( false ); /// @note Temporary disabled due to some issues with text quality and glyph loading. + // Disables by default the offscreen rendering. + textView->SetSnapshotModeEnabled( false ); return handle; } @@ -192,7 +192,7 @@ void TextView::InsertTextAt( std::size_t position, const std::string& text ) InsertTextAt( position, styledText ); } -void TextView::InsertTextAt( const std::size_t position, const MarkupProcessor::StyledTextArray& text ) +void TextView::InsertTextAt( std::size_t position, const MarkupProcessor::StyledTextArray& text ) { // Creates metadata with the Insert operation. TextViewProcessorMetadata metadata; @@ -213,7 +213,7 @@ void TextView::InsertTextAt( const std::size_t position, const MarkupProcessor:: mRelayoutOperations = RELAYOUT_ALL; } -void TextView::ReplaceTextFromTo( const std::size_t position, const std::size_t numberOfCharacters, const std::string& text ) +void TextView::ReplaceTextFromTo( std::size_t position, std::size_t numberOfCharacters, const std::string& text ) { // Creates a styled text with the markup or plain string. MarkupProcessor::StyledTextArray styledText; @@ -223,7 +223,7 @@ void TextView::ReplaceTextFromTo( const std::size_t position, const std::size_t ReplaceTextFromTo( position, numberOfCharacters, styledText ); } -void TextView::ReplaceTextFromTo( const std::size_t position, const std::size_t numberOfCharacters, const MarkupProcessor::StyledTextArray& text ) +void TextView::ReplaceTextFromTo( std::size_t position, std::size_t numberOfCharacters, const MarkupProcessor::StyledTextArray& text ) { // Creates metadata with the Insert operation. TextViewProcessorMetadata metadata; @@ -248,7 +248,7 @@ void TextView::ReplaceTextFromTo( const std::size_t position, const std::size_t mRelayoutOperations = RELAYOUT_ALL; } -void TextView::RemoveTextFrom( const std::size_t position, const std::size_t numberOfCharacters ) +void TextView::RemoveTextFrom( std::size_t position, std::size_t numberOfCharacters ) { // Creates metadata with the Remove operation. TextViewProcessorMetadata metadata; @@ -284,7 +284,7 @@ std::string TextView::GetText() const return text; } -void TextView::SetLineHeightOffset( const PointSize offset ) +void TextView::SetLineHeightOffset( PointSize offset ) { if( fabsf( mLayoutParameters.mLineHeightOffset - offset ) > Math::MACHINE_EPSILON_1000 ) { @@ -323,7 +323,7 @@ PointSize TextView::GetLineHeightOffset() const return PointSize( mLayoutParameters.mLineHeightOffset ); } -void TextView::SetStyleToCurrentText( const TextStyle& style, const TextStyle::Mask mask ) +void TextView::SetStyleToCurrentText( const TextStyle& style, TextStyle::Mask mask ) { if( !mCurrentStyledText.empty() ) { @@ -712,11 +712,13 @@ void TextView::SetSnapshotModeEnabled( bool enable ) mOffscreenImageActor.SetAnchorPoint( ParentOrigin::CENTER ); mOffscreenImageActor.SetParentOrigin( ParentOrigin::CENTER ); + mOffscreenImageActor.SetBlendFunc( BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA, + BlendingFactor::ONE, BlendingFactor::ONE ); Actor self = Self(); self.Add( mOffscreenRootActor ); self.Add( mOffscreenImageActor ); - mOffscreenImageActor.SetScale(Vector3(1.f, -1.f, 1.f)); + mOffscreenImageActor.SetScale( Vector3( 1.f, -1.f, 1.f ) ); } else { @@ -762,7 +764,7 @@ bool TextView::IsMarkupProcessingEnabled() const return mMarkUpEnabled; } -void TextView::SetScrollEnabled( const bool enable ) +void TextView::SetScrollEnabled( bool enable ) { if( enable != mVisualParameters.mScrollEnabled ) { @@ -874,14 +876,14 @@ TextView::LayoutParameters::LayoutParameters() MarkupProcessor::GetStyledTextArray( std::string( "..." ), mEllipsizeText, false ); } -TextView::LayoutParameters::LayoutParameters( const Toolkit::TextView::MultilinePolicy multilinePolicy, - const Toolkit::TextView::ExceedPolicy widthExceedPolicy, - const Toolkit::TextView::ExceedPolicy heightExceedPolicy, - const Toolkit::Alignment::Type alignmentType, - const Toolkit::TextView::LineJustification lineJustification, - const float lineHeightOffset, - const std::string& ellipsizeText, - const bool markUpEnabled ) +TextView::LayoutParameters::LayoutParameters( Toolkit::TextView::MultilinePolicy multilinePolicy, + Toolkit::TextView::ExceedPolicy widthExceedPolicy, + Toolkit::TextView::ExceedPolicy heightExceedPolicy, + Toolkit::Alignment::Type alignmentType, + Toolkit::TextView::LineJustification lineJustification, + float lineHeightOffset, + const std::string& ellipsizeText, + bool markUpEnabled ) : mMultilinePolicy( multilinePolicy ), mWidthExceedPolicy( widthExceedPolicy ), mHeightExceedPolicy( heightExceedPolicy ), @@ -1010,7 +1012,7 @@ TextView::RelayoutData& TextView::RelayoutData::operator=( const TextView::Relay } TextView::TextView() -: ControlImpl( false ), // doesn't require touch events +: Control( REQUIRES_STYLE_CHANGE_SIGNALS ), mCurrentStyledText(), mTextViewProcessorOperations(), mLayoutParameters( Toolkit::TextView::SplitByNewLineChar, @@ -1150,7 +1152,7 @@ void TextView::OnInitialize() } -void TextView::OnStyleChange( StyleChange change ) +void TextView::OnFontChange( bool defaultFontChange, bool defaultFontSizeChange ) { mRelayoutData.mTextLayoutInfo.mEllipsizeLayoutInfo = TextViewProcessor::WordLayoutInfo(); TextViewProcessor::CreateWordTextInfo( mLayoutParameters.mEllipsizeText, @@ -1336,7 +1338,7 @@ void TextView::OptimizeTextViewProcessorOperations() mTextViewProcessorOperations = textViewProcessorOperations; } -void TextView::DoRelayOut( const Size& textViewSize, const RelayoutOperationMask relayoutOperationMask ) +void TextView::DoRelayOut( const Size& textViewSize, RelayoutOperationMask relayoutOperationMask ) { // Traverse the relayout operation vector. It fills the natural size, layout and glyph-actor data structures. if( !mTextViewProcessorOperations.empty() ) @@ -1930,10 +1932,6 @@ void TextView::OnWidthExceedPolicyPropertySet( Property::Value propertyValue ) { SetWidthExceedPolicy(Toolkit::TextView::Original); } - else if(policyName == "Truncate") - { - SetWidthExceedPolicy(Toolkit::TextView::Truncate); - } else if(policyName == "Fade") { SetWidthExceedPolicy(Toolkit::TextView::Fade); @@ -1963,10 +1961,6 @@ void TextView::OnHeightExceedPolicyPropertySet( Property::Value propertyValue ) { SetHeightExceedPolicy(Toolkit::TextView::Original); } - else if(policyName == "Truncate") - { - SetHeightExceedPolicy(Toolkit::TextView::Truncate); - } else if(policyName == "Fade") { SetHeightExceedPolicy(Toolkit::TextView::Fade);