-//
-// 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"
+#include <dali-toolkit/internal/controls/text-view/text-view-impl.h>
// INTERNAL INCLUDES
-#include "split-by-new-line-char-policies.h"
-#include "split-by-word-policies.h"
-#include "split-by-char-policies.h"
-#include "text-view-processor.h"
-#include "text-view-word-processor.h"
-#include "relayout-utilities.h"
-#include "text-view-processor-dbg.h"
+#include <dali-toolkit/internal/controls/text-view/split-by-new-line-char-policies.h>
+#include <dali-toolkit/internal/controls/text-view/split-by-word-policies.h>
+#include <dali-toolkit/internal/controls/text-view/split-by-char-policies.h>
+#include <dali-toolkit/internal/controls/text-view/text-view-processor.h>
+#include <dali-toolkit/internal/controls/text-view/text-view-word-processor.h>
+#include <dali-toolkit/internal/controls/text-view/relayout-utilities.h>
namespace Dali
{
TextView::TextViewProcessorMetadata::TextViewProcessorMetadata()
: mType( TextView::TextSet ),
- mPosition( 0 ),
- mNumberOfCharacters( 0 ),
+ mPosition( 0u ),
+ mNumberOfCharacters( 0u ),
mText()
{
}
RELAYOUT_ALIGNMENT |
RELAYOUT_VISIBILITY |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
}
}
RELAYOUT_ALIGNMENT |
RELAYOUT_VISIBILITY |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
}
}
RELAYOUT_ALIGNMENT |
RELAYOUT_VISIBILITY |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
}
}
RELAYOUT_REMOVE_TEXT_ACTORS |
RELAYOUT_VISIBILITY |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
}
}
if( hasGlyphActors )
{
mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_VIEW );
- mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
}
}
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
{
mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations |
RELAYOUT_REMOVE_TEXT_ACTORS |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
RelayoutRequest();
}
}
TextView::TextView()
-: Control( false ), // doesn't require touch events
+: Control( REQUIRES_STYLE_CHANGE_SIGNALS ),
mCurrentStyledText(),
mTextViewProcessorOperations(),
mLayoutParameters( Toolkit::TextView::SplitByNewLineChar,
mRelayoutData.mGlyphActors.clear();
mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_VIEW );
- mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
}
PerformTextViewProcessorOperations();
if( hasGlyphActors )
{
mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_VIEW );
- mRelayoutOperations = static_cast<RelayoutOperationMask>( mRelayoutOperations | RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
}
if( differentWidth || hasGlyphActors )
}
-void TextView::OnStyleChange( StyleChange change )
+void TextView::OnFontChange( bool defaultFontChange, bool defaultFontSizeChange )
{
mRelayoutData.mTextLayoutInfo.mEllipsizeLayoutInfo = TextViewProcessor::WordLayoutInfo();
TextViewProcessor::CreateWordTextInfo( mLayoutParameters.mEllipsizeText,
RELAYOUT_ALIGNMENT |
RELAYOUT_VISIBILITY |
RELAYOUT_TEXT_ACTOR_UPDATE |
- RELAYOUT_INSERT_TO_TEXT_VIEW |
- RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST );
+ RELAYOUT_INSERT_TO_TEXT_VIEW );
}
}
{
bool optimizationDone = false;
- if( it + 1 != endIt )
+ if( it + 1u != endIt )
{
- const TextViewProcessorMetadata& nextRelayoutMetadata( *( it + 1 ) );
+ const TextViewProcessorMetadata& nextRelayoutMetadata( *( it + 1u ) );
if( TextView::TextInserted == nextRelayoutMetadata.mType )
{
if( relayoutMetadata.mPosition == nextRelayoutMetadata.mPosition )
{
SetWidthExceedPolicy(Toolkit::TextView::Original);
}
- else if(policyName == "Truncate")
- {
- SetWidthExceedPolicy(Toolkit::TextView::Truncate);
- }
else if(policyName == "Fade")
{
SetWidthExceedPolicy(Toolkit::TextView::Fade);
{
SetHeightExceedPolicy(Toolkit::TextView::Original);
}
- else if(policyName == "Truncate")
- {
- SetHeightExceedPolicy(Toolkit::TextView::Truncate);
- }
else if(policyName == "Fade")
{
SetHeightExceedPolicy(Toolkit::TextView::Fade);
void TextView::OnFadeBoundaryPropertySet( Property::Value propertyValue )
{
Vector4 value( propertyValue.Get<Vector4>() );
- DALI_ASSERT_ALWAYS( value.x >= 0 && value.y >= 0 && value.z >= 0 && value.w >= 0
+ DALI_ASSERT_ALWAYS( ( value.x >= 0.f ) && ( value.y >= 0.f ) && ( value.z >= 0.f ) && ( value.w >= 0.f )
&& "TextView::OnFadeBoundaryPropertySet(). Negative value is invalid. " );
Toolkit::TextView::FadeBoundary fadeBoundary( PixelSize( static_cast<unsigned int>( value.x ) ),