From: Adeel Kazmi Date: Tue, 24 Jan 2017 16:33:25 +0000 (-0800) Subject: Merge "Add C# binding for ItemView." into devel/master X-Git-Tag: dali_1.2.24~5 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=afdfeea4e117ce670cd489f46549129d535e5943;hp=fb6643323927e106d95ddeacedf6665638a52251 Merge "Add C# binding for ItemView." into devel/master --- diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp index 3be899f..eba6b05 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-MultiLanguage.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -106,23 +106,6 @@ struct ValidateFontsData }; ////////////////////////////////////////////////////////// -void PrintFontDescription( FontId id ) -{ - TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); - - TextAbstraction::FontDescription description; - fontClient.GetDescription( id, description ); - - const TextAbstraction::PointSize26Dot6 pointSize = fontClient.GetPointSize( id ); - - std::cout << std::endl << " font description for font id : " << id << std::endl; - std::cout << " font family : [" << description.family << "]" << std::endl; - std::cout << " font width : [" << TextAbstraction::FontWidth::Name[description.width] << "]" << std::endl; - std::cout << " font weight : [" << TextAbstraction::FontWeight::Name[description.weight] << "]" << std::endl; - std::cout << " font slant : [" << TextAbstraction::FontSlant::Name[description.slant] << "]" << std::endl; - std::cout << " font size : " << pointSize << std::endl; -} - bool MergeFontDescriptionsTest( const MergeFontDescriptionsData& data ) { TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp index aa37715..cb84952 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -75,14 +75,6 @@ Dali::PropertyRegistration propertyNone( typeRegistration, "noneProperty", namespace { -std::string ReplaceQuotes(const std::string &in_s) -{ - std::string s(in_s); - // wrong as no embedded quote but had regex link problems - std::replace(s.begin(), s.end(), '\'', '"'); - return s; -} - struct BuilderFunctor { BuilderFunctor( bool& called ) : mCalled( called ) diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp index 9452649..244f667 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp @@ -504,6 +504,47 @@ int UtcDaliButtonSetLabelStringWithPropertyMapP(void) END_TEST; } +int UtcDaliButtonSetLabelStringWithPropertyMapStringsP(void) +{ + ToolkitTestApplication application; + + Button button = PushButton::New(); + + tet_infoline(" UtcDaliButtonSetLabelStringWithPropertyMapStringsP Setting Button text using String then replacing with Enum then string"); + + Property::Map textVisualMapInitial; + textVisualMapInitial["visualType"] = "TEXT"; + textVisualMapInitial["pointSize"] = 15.0f; + textVisualMapInitial["text"] = "button label initial"; + + button.SetProperty( Button::Property::LABEL, textVisualMapInitial ); + + DALI_TEST_EQUALS( GetButtonText( button ), "button label initial", TEST_LOCATION ); + + tet_infoline(" UtcDaliButtonSetLabelStringWithPropertyMapStringsP Intermediate part of test"); + + Property::Map propertyMap; + propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ); + propertyMap.Insert( Toolkit::TextVisual::Property::TEXT, "error if this is the final text" ); + propertyMap.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + button.SetProperty( Button::Property::LABEL, propertyMap ); + + DALI_TEST_EQUALS( GetButtonText( button ), "error if this is the final text", TEST_LOCATION ); + + tet_infoline(" UtcDaliButtonSetLabelStringWithPropertyMapStringsP Final part of test"); + + Property::Map textVisualMap; + textVisualMap["visualType"] = "TEXT"; + textVisualMap["pointSize"] = 15.0f; + textVisualMap["text"] = "Button Label"; + + button.SetProperty( Toolkit::Button::Property::LABEL, textVisualMap ); + + DALI_TEST_EQUALS( GetButtonText( button ), "Button Label", TEST_LOCATION ); + END_TEST; +} + int UtcDaliButtonSetLabelWithStringP(void) { ToolkitTestApplication application; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp index 3e3e303..040fb1c 100755 --- a/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp @@ -1011,6 +1011,12 @@ int UtcDaliItemViewSetGetProperty(void) view.SetProperty( Scrollable::Property::OVERSHOOT_ENABLED, false ); DALI_TEST_EQUALS( view.GetProperty(Scrollable::Property::OVERSHOOT_ENABLED).Get(), false, TEST_LOCATION ); + // Test "overshootSize" property + DALI_TEST_CHECK( view.GetPropertyIndex("overshootSize") == Scrollable::Property::OVERSHOOT_SIZE ); + Vector2 overshootSize = Vector2(100.0f,100.0f); + view.SetProperty( Scrollable::Property::OVERSHOOT_SIZE, overshootSize ); + DALI_TEST_EQUALS( view.GetProperty(Scrollable::Property::OVERSHOOT_SIZE).Get(), overshootSize, TEST_LOCATION ); + // Animatable properties // Test "layoutPosition" property diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp index 883aacc..fdd32b5 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp @@ -1198,6 +1198,11 @@ int UtcDaliToolkitScrollViewOvershoot(void) // Set up a scrollView... ScrollView scrollView = ScrollView::New(); scrollView.SetOvershootEnabled(true); + + Vector2 overshootSize = Vector2(100.0f,100.0f); + scrollView.SetProperty( Scrollable::Property::OVERSHOOT_SIZE, overshootSize ); + DALI_TEST_EQUALS( scrollView.GetProperty(Scrollable::Property::OVERSHOOT_SIZE).Get(), overshootSize, TEST_LOCATION ); + Stage::GetCurrent().Add( scrollView ); Vector2 stageSize = Stage::GetCurrent().GetSize(); scrollView.SetSize(stageSize); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ScrollViewEffect.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ScrollViewEffect.cpp index 717b5cf..a527eac 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ScrollViewEffect.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ScrollViewEffect.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -213,31 +213,6 @@ void CleanupTest() ResetScrollCallbackResults(); } -Actor AddActorToPage(Actor page, float x, float y, float cols, float rows) -{ - Stage stage = Stage::GetCurrent(); - Vector2 stageSize = stage.GetSize(); - - const float margin = 10.0f; - const Vector2 actorSize((stageSize.x / cols) - margin, (stageSize.y / rows) - margin); - - Actor actor = Actor::New(); - actor.SetParentOrigin( ParentOrigin::CENTER ); - actor.SetAnchorPoint( AnchorPoint::CENTER ); - - Vector3 position( margin * 0.5f + (actorSize.x + margin) * x - stageSize.width * 0.5f, - margin * 0.5f + (actorSize.y + margin) * y - stageSize.height * 0.5f, - 0.0f); - Vector3 positionEnd( margin * 0.5f + (actorSize.x + margin) * (x + cols) - stageSize.width * 0.5f - margin, - margin * 0.5f + (actorSize.y + margin) * (y + rows) - stageSize.height * 0.5f - margin, - 0.0f); - Vector3 size(positionEnd - position); - actor.SetPosition( position + size * 0.5f); - actor.SetSize( positionEnd - position ); - page.Add(actor); - return actor; -} - } // unnamed namespace int UtcDaliScrollViewPagePathEffectSetup(void) diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp index 909c656..2bf846b 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp @@ -86,6 +86,20 @@ bool DaliTestCheckMaps( const Property::Map& fontStyleMapGet, const Property::Ma return true; } +void PrepareResourceImage( ToolkitTestApplication& application, unsigned int imageWidth, unsigned int imageHeight, Pixel::Format pixelFormat ) +{ + TestPlatformAbstraction& platform = application.GetPlatform(); + platform.SetClosestImageSize(Vector2( imageWidth, imageHeight)); + + Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_RETAIN ); + Integration::PixelBuffer* pixbuffer = bitmap->GetPackedPixelsProfile()->ReserveBuffer( pixelFormat, imageWidth, imageHeight, imageWidth, imageHeight ); + unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat ); + unsigned int initialColor = 0xFF; + memset( pixbuffer, initialColor, imageHeight*imageWidth*bytesPerPixel); + + Integration::ResourcePointer resourcePtr(bitmap); + platform.SetSynchronouslyLoadedResource( resourcePtr ); +} } //namespace void dali_visual_startup(void) @@ -217,6 +231,7 @@ int UtcDaliVisualSize(void) DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION ); // image visual + PrepareResourceImage( application, 100u, 200u, Pixel::RGBA8888 ); Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); Visual::Base imageVisual = factory.CreateVisual( image ); imageVisual.SetTransformAndSize(DefaultTransform(), controlSize ); @@ -680,6 +695,7 @@ int UtcDaliVisualGetPropertyMap5(void) DALI_TEST_CHECK( value->Get() == true ); // Get an image visual with an image handle, and test the default property values + PrepareResourceImage( application, 100u, 200u, Pixel::RGBA8888 ); Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); imageVisual = factory.CreateVisual(image); imageVisual.CreatePropertyMap( resultMap ); diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index ed9b2c8..a8ab543 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include @@ -1228,7 +1229,7 @@ void Button::SetProperty( BaseObject* object, Property::Index index, const Prope DALI_LOG_INFO( gLogButtonFilter, Debug::Verbose, "Button::SetProperty Setting TextVisual with string[%s]\n", textString.c_str() ); Property::Map setPropertyMap; - setPropertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT) + setPropertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) .Add( Toolkit::TextVisual::Property::TEXT, textString ); GetImplementation( button ).MergeWithExistingLabelProperties( setPropertyMap, outTextVisualProperties ); @@ -1239,6 +1240,7 @@ void Button::SetProperty( BaseObject* object, Property::Index index, const Prope Property::Map* setPropertyMap = value.GetMap(); if( setPropertyMap ) { + TextVisual::ConvertStringKeysToIndexKeys( *setPropertyMap ); GetImplementation( button ).MergeWithExistingLabelProperties( *setPropertyMap, outTextVisualProperties ); } } diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp index 79ff320..e54ad82 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp @@ -105,7 +105,7 @@ void RadioButton::OnStateChange( State newState ) Dali::Toolkit::RadioButton radioButtonChild = Dali::Toolkit::RadioButton::DownCast( parent.GetChildAt( i ) ); if( radioButtonChild && radioButtonChild != Self() ) { - radioButtonChild.SetSelected( false ); + radioButtonChild.SetProperty( Toolkit::Button::Property::SELECTED, false ); } } } diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp index 1724f83..8b84088 100755 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp @@ -69,6 +69,8 @@ const float OVERSHOOT_BOUNCE_ACTOR_RESIZE_THRESHOLD = 180.0f; const Vector4 OVERSHOOT_OVERLAY_NINE_PATCH_BORDER(0.0f, 0.0f, 1.0f, 12.0f); const float DEFAULT_KEYBOARD_FOCUS_SCROLL_DURATION = 0.2f; +const unsigned int OVERSHOOT_SIZE_CONSTRAINT_TAG(42); + /** * Local helper to convert pan distance (in actor coordinates) to the layout-specific scrolling direction */ @@ -291,6 +293,21 @@ bool FindById( const ItemContainer& items, ItemId id ) return false; } +/** + * Helper to apply size constraint to mOvershootOverlay + * @param[in] overshootOverlay The overshootOverlay actor + * @param[in] The required height + */ +void ApplyOvershootSizeConstraint( Actor overshootOverlay, float height ) +{ + Constraint constraint = Constraint::New( overshootOverlay, Actor::Property::SIZE, OvershootOverlaySizeConstraint( height ) ); + constraint.AddSource( ParentSource( Dali::Toolkit::ItemView::Property::SCROLL_DIRECTION ) ); + constraint.AddSource( ParentSource( Dali::Toolkit::ItemView::Property::LAYOUT_ORIENTATION ) ); + constraint.AddSource( ParentSource( Dali::Actor::Property::SIZE ) ); + constraint.SetTag( OVERSHOOT_SIZE_CONSTRAINT_TAG ); + constraint.Apply(); +} + } // unnamed namespace Dali::Toolkit::ItemView ItemView::New(ItemFactory& factory) @@ -1519,6 +1536,18 @@ void ItemView::ScrollTo(const Vector2& position, float duration) mRefreshEnabled = true; } +void ItemView::SetOvershootSize( const Vector2& size ) +{ + mOvershootSize = size; + + if( mOvershootOverlay ) + { + // Remove old & add new size constraint + mOvershootOverlay.RemoveConstraints( OVERSHOOT_SIZE_CONSTRAINT_TAG ); + ApplyOvershootSizeConstraint( mOvershootOverlay, mOvershootSize.height ); + } +} + void ItemView::SetOvershootEffectColor( const Vector4& color ) { mOvershootEffectColor = color; @@ -1543,15 +1572,9 @@ void ItemView::EnableScrollOvershoot( bool enable ) mOvershootOverlay.SetDrawMode( DrawMode::OVERLAY_2D ); self.Add(mOvershootOverlay); - Constraint constraint = Constraint::New( mOvershootOverlay, Actor::Property::SIZE, OvershootOverlaySizeConstraint(mOvershootSize.height) ); - constraint.AddSource( ParentSource( Toolkit::ItemView::Property::SCROLL_DIRECTION ) ); - constraint.AddSource( ParentSource( Toolkit::ItemView::Property::LAYOUT_ORIENTATION ) ); - constraint.AddSource( ParentSource( Actor::Property::SIZE ) ); - constraint.Apply(); - - mOvershootOverlay.SetSize(mOvershootSize.width, mOvershootSize.height); + ApplyOvershootSizeConstraint( mOvershootOverlay, mOvershootSize.height ); - constraint = Constraint::New( mOvershootOverlay, Actor::Property::ORIENTATION, OvershootOverlayRotationConstraint ); + Constraint constraint = Constraint::New( mOvershootOverlay, Actor::Property::ORIENTATION, OvershootOverlayRotationConstraint ); constraint.AddSource( ParentSource( Toolkit::ItemView::Property::SCROLL_DIRECTION ) ); constraint.AddSource( ParentSource( Toolkit::ItemView::Property::LAYOUT_ORIENTATION ) ); constraint.AddSource( ParentSource( Toolkit::ItemView::Property::OVERSHOOT ) ); diff --git a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h index f49ee81..d0a2bf1 100755 --- a/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h +++ b/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h @@ -239,6 +239,11 @@ public: void ScrollTo(const Vector2& position, float duration); /** + * @copydoc Toolkit::Internal::Scrollable::SetOvershootSize + */ + void SetOvershootSize( const Vector2& size ); + + /** * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor */ void SetOvershootEffectColor( const Vector4& color ); diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp index 0da1660..3330f13 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp @@ -1781,6 +1781,15 @@ void ScrollView::RemoveOverlay(Actor actor) mInternalActor.Remove( actor ); } +void ScrollView::SetOvershootSize( const Vector2& size ) +{ + mOvershootSize = size; + if( IsOvershootEnabled() && mOvershootIndicator ) + { + mOvershootIndicator->AttachToScrollable(*this); + } +} + void ScrollView::SetOvershootEffectColor( const Vector4& color ) { mOvershootEffectColor = color; diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h index b288720..9a16624 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h @@ -494,6 +494,11 @@ public: void RemoveOverlay(Actor actor); /** + * @copydoc Toolkit::Internal::Scrollable::SetOvershootSize + */ + void SetOvershootSize( const Vector2& size ); + + /** * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor */ void SetOvershootEffectColor( const Vector4& color ); diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp index 20da41c..31201ee 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp @@ -204,12 +204,7 @@ void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P } case Toolkit::Scrollable::Property::OVERSHOOT_SIZE: { - Vector2 input; - if( value.Get( input ) ) - { - scrollableImpl.mOvershootSize = input; - } - scrollableImpl.EnableScrollOvershoot( scrollableImpl.IsOvershootEnabled() ); + scrollableImpl.SetOvershootSize( value.Get() ); break; } case Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION: diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.h b/dali-toolkit/internal/controls/scrollable/scrollable-impl.h index 660606c..bf6fa98 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.h +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.h @@ -112,6 +112,12 @@ public: */ const Vector2& GetOvershootSize() const; + /** + * Set the size of the overshoot effect. + * @parm[in] size The size of the overshoot effect + */ + virtual void SetOvershootSize( const Vector2& size ) = 0; + private: /** diff --git a/dali-toolkit/internal/image-loader/atlas-packer.cpp b/dali-toolkit/internal/image-loader/atlas-packer.cpp index e02eba6..26ad3e0 100644 --- a/dali-toolkit/internal/image-loader/atlas-packer.cpp +++ b/dali-toolkit/internal/image-loader/atlas-packer.cpp @@ -258,12 +258,11 @@ void AtlasPacker::GrowPack( SizeType blockWidth, SizeType blockHeight, firstFit = InsertNode( mRoot->child[1], blockWidth, blockHeight ); } - if( firstFit != NULL ) - { - firstFit->occupied = true; - packPositionX = firstFit->rectArea.x; - packPositionY = firstFit->rectArea.y; - } + DALI_ASSERT_ALWAYS( firstFit != NULL && "It should never happen!") + + firstFit->occupied = true; + packPositionX = firstFit->rectArea.x; + packPositionY = firstFit->rectArea.y; } void AtlasPacker::GrowNode( SizeType blockWidth, SizeType blockHeight ) diff --git a/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp b/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp index 8532b93..12d39a5 100644 --- a/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp +++ b/dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp @@ -1,4 +1,4 @@ - /* +/* * Copyright (c) 2015 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -61,12 +61,13 @@ void main() ); const char* FRAGMENT_SHADER_RGBA = MAKE_SHADER( +uniform lowp vec4 uColor; uniform sampler2D sTexture; varying mediump vec2 vTexCoord; void main() { - gl_FragColor = texture2D( sTexture, vTexCoord ); + gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor; } ); diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 6977eb5..f3b895b 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -137,6 +137,60 @@ const char* FRAGMENT_SHADER_ATLAS_CLAMP = DALI_COMPOSE_SHADER( }\n ); +/** + * Return Property index for the given string key + * param[in] stringKey the string index key + * return the key as an index + */ + +Dali::Property::Index StringKeyToIndexKey( const std::string& stringKey ) +{ + Dali::Property::Index result = Property::INVALID_KEY; + + if( stringKey == VISUAL_TYPE ) + { + result = Toolkit::Visual::Property::TYPE; + } + else if( stringKey == TEXT_PROPERTY ) + { + result = Toolkit::TextVisual::Property::TEXT; + } + else if( stringKey == FONT_FAMILY_PROPERTY ) + { + result = Toolkit::TextVisual::Property::FONT_FAMILY; + } + else if( stringKey == FONT_STYLE_PROPERTY ) + { + result = Toolkit::TextVisual::Property::FONT_STYLE; + } + else if( stringKey == POINT_SIZE_PROPERTY ) + { + result = Toolkit::TextVisual::Property::POINT_SIZE; + } + else if( stringKey == MULTI_LINE_PROPERTY ) + { + result = Toolkit::TextVisual::Property::MULTI_LINE; + } + else if( stringKey == HORIZONTAL_ALIGNMENT_PROPERTY ) + { + result = Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT; + } + else if( stringKey == VERTICAL_ALIGNMENT_PROPERTY ) + { + result = Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT; + } + else if( stringKey == TEXT_COLOR_PROPERTY ) + { + result = Toolkit::TextVisual::Property::TEXT_COLOR; + } + else if( stringKey == ENABLE_MARKUP_PROPERTY ) + { + result = Toolkit::TextVisual::Property::ENABLE_MARKUP; + } + + return result; +} + } // unnamed namespace TextVisualPtr TextVisual::New( VisualFactoryCache& factoryCache, const Property::Map& properties ) @@ -146,6 +200,27 @@ TextVisualPtr TextVisual::New( VisualFactoryCache& factoryCache, const Property: return TextVisualPtr; } +void TextVisual::ConvertStringKeysToIndexKeys( Property::Map& propertyMap ) +{ + Property::Map outMap; + + for( Property::Map::SizeType index = 0u, count = propertyMap.Count(); index < count; ++index ) + { + const KeyValuePair& keyValue = propertyMap.GetKeyValue( index ); + + Property::Index indexKey = keyValue.first.indexKey; + + if ( keyValue.first.type == Property::Key::STRING ) + { + indexKey = StringKeyToIndexKey( keyValue.first.stringKey ); + } + + outMap.Insert( indexKey, keyValue.second ); + } + + propertyMap = outMap; +} + float TextVisual::GetHeightForWidth( float width ) { return mController->GetHeightForWidth( width ); @@ -202,54 +277,14 @@ void TextVisual::DoSetProperties( const Property::Map& propertyMap ) { const KeyValuePair& keyValue = propertyMap.GetKeyValue( index ); - switch( keyValue.first.type ) + Property::Index indexKey = keyValue.first.indexKey; + + if( keyValue.first.type == Property::Key::STRING ) { - case Property::Key::INDEX: - { - DoSetProperty( keyValue.first.indexKey, keyValue.second ); - break; - } - case Property::Key::STRING: - { - if( keyValue.first.stringKey == TEXT_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::TEXT, keyValue.second ); - } - else if( keyValue.first.stringKey == FONT_FAMILY_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::FONT_FAMILY, keyValue.second ); - } - else if( keyValue.first.stringKey == FONT_STYLE_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::FONT_STYLE, keyValue.second ); - } - else if( keyValue.first.stringKey == POINT_SIZE_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::POINT_SIZE, keyValue.second ); - } - else if( keyValue.first.stringKey == MULTI_LINE_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::MULTI_LINE, keyValue.second ); - } - else if( keyValue.first.stringKey == HORIZONTAL_ALIGNMENT_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT, keyValue.second ); - } - else if( keyValue.first.stringKey == VERTICAL_ALIGNMENT_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT, keyValue.second ); - } - else if( keyValue.first.stringKey == TEXT_COLOR_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::TEXT_COLOR, keyValue.second ); - } - else if( keyValue.first.stringKey == ENABLE_MARKUP_PROPERTY ) - { - DoSetProperty( Toolkit::TextVisual::Property::ENABLE_MARKUP, keyValue.second ); - } - break; - } + indexKey = StringKeyToIndexKey( keyValue.first.stringKey ); } + + DoSetProperty( indexKey, keyValue.second ); } // Elide the text if it exceeds the boundaries. diff --git a/dali-toolkit/internal/visuals/text/text-visual.h b/dali-toolkit/internal/visuals/text/text-visual.h index ebeb867..9edf08c 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.h +++ b/dali-toolkit/internal/visuals/text/text-visual.h @@ -76,6 +76,12 @@ public: */ static TextVisualPtr New( VisualFactoryCache& factoryCache, const Property::Map& properties ); + /** + * @brief Converts all strings keys in property map to index keys. Property Map can then be merged correctly. + * @param[in,out] propertyMap containing string keys or a mix of strings and indexes. Will be changed to index keys. + */ + static void ConvertStringKeysToIndexKeys( Property::Map& propertyMap ); + public: // from Visual::Base /** diff --git a/dali-toolkit/public-api/controls/buttons/check-box-button.h b/dali-toolkit/public-api/controls/buttons/check-box-button.h index 105f784..4473734 100644 --- a/dali-toolkit/public-api/controls/buttons/check-box-button.h +++ b/dali-toolkit/public-api/controls/buttons/check-box-button.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_CHECK_BOX_BUTTON_H__ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -60,7 +60,7 @@ class CheckBoxButton; * { * CheckBoxButton button = CheckBoxButton::New(); * button.SetParentOrigin( ParentOrigin::CENTER ); - * button.SetLabelText( "Check" ); + * button.SetProperty( Button::Property::LABEL, "Check" ); * button.SetSize( 200, 40 ); * button.SetBackgroundColor( Color::WHITE ); * Stage::GetCurrent().Add( button ); diff --git a/dali-toolkit/public-api/controls/buttons/push-button.h b/dali-toolkit/public-api/controls/buttons/push-button.h index f0d2e29..c0535fe 100644 --- a/dali-toolkit/public-api/controls/buttons/push-button.h +++ b/dali-toolkit/public-api/controls/buttons/push-button.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_PUSH_BUTTON_H__ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -54,7 +54,7 @@ class PushButton; * { * PushButton button = PushButton::New(); * button.SetParentOrigin( ParentOrigin::CENTER ); - * button.SetLabelText( "Press" ); + * button.SetProperty( Button::Property::LABEL, "Press" ); * Stage::GetCurrent().Add( button ); * * // Connect to button signals emitted by the button diff --git a/dali-toolkit/public-api/controls/buttons/radio-button.cpp b/dali-toolkit/public-api/controls/buttons/radio-button.cpp index 0802b74..7538723 100644 --- a/dali-toolkit/public-api/controls/buttons/radio-button.cpp +++ b/dali-toolkit/public-api/controls/buttons/radio-button.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -71,7 +71,7 @@ RadioButton RadioButton::New() RadioButton RadioButton::New( const std::string& label ) { RadioButton radioButton = Internal::RadioButton::New(); - radioButton.SetLabelText( label ); + radioButton.SetProperty( Toolkit::Button::Property::LABEL, label ); return radioButton; } diff --git a/dali-toolkit/public-api/controls/buttons/radio-button.h b/dali-toolkit/public-api/controls/buttons/radio-button.h index 0bc276e..99a4815 100644 --- a/dali-toolkit/public-api/controls/buttons/radio-button.h +++ b/dali-toolkit/public-api/controls/buttons/radio-button.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_RADIO_BUTTON_H__ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -45,7 +45,7 @@ class RadioButton; * * Radio buttons are designed to select one of many option at the same time. * - * Every button have its own \e label and \e state, which can be modified by Button::SetLabelText and Button::SetSelected. + * Every button have its own \e label and \e state, which can be modified by Button::Property::LABEL and Button::Property::SELECTED. * * RadioButton can change its current state using Button::SetSelected. * @@ -69,14 +69,14 @@ class RadioButton; * * // Make the first RadioButton and add it to its parent * RadioButton button1 = RadioButton::New(); - * button1.SetLabelText( "button1" ); + * button1.SetProperty( Button::Property::LABEL, "button1" ); * button1.SetBackgroundColor( Color::WHITE ); * button1.SetPosition( 0, -40 ); * radioGroup.Add( button1 ); * * // Make more RadioButtons and add them to their parent * RadioButton button2 = RadioButton::New(); - * button2.SetLabelText( "button2" ); + * button2.SetProperty( Toolkit::Button::Property::LABEL, "button2" ); * button2.SetBackgroundColor( Color::WHITE ); * button2.SetPosition( 0, 40 ); * radioGroup.Add( button2 ); diff --git a/dali-toolkit/public-api/dali-toolkit-version.cpp b/dali-toolkit/public-api/dali-toolkit-version.cpp index 0d03d34..01487cb 100644 --- a/dali-toolkit/public-api/dali-toolkit-version.cpp +++ b/dali-toolkit/public-api/dali-toolkit-version.cpp @@ -31,7 +31,7 @@ namespace Toolkit const unsigned int TOOLKIT_MAJOR_VERSION = 1; const unsigned int TOOLKIT_MINOR_VERSION = 2; -const unsigned int TOOLKIT_MICRO_VERSION = 22; +const unsigned int TOOLKIT_MICRO_VERSION = 23; const char * const TOOLKIT_BUILD_DATE = __DATE__ " " __TIME__; #ifdef DEBUG_ENABLED diff --git a/packaging/dali-addon.spec b/packaging/dali-addon.spec index 81f942c..5b64744 100644 --- a/packaging/dali-addon.spec +++ b/packaging/dali-addon.spec @@ -1,6 +1,6 @@ Name: dali-addon Summary: DALi module for Node.JS -Version: 1.2.22 +Version: 1.2.23 Release: 1 Group: Development/Libraries License: Apache License, Version 2.0 diff --git a/packaging/dali-toolkit.spec b/packaging/dali-toolkit.spec index 0853246..a6864fd 100644 --- a/packaging/dali-toolkit.spec +++ b/packaging/dali-toolkit.spec @@ -1,6 +1,6 @@ Name: dali-toolkit Summary: The OpenGLES Canvas Core Library Toolkit -Version: 1.2.22 +Version: 1.2.23 Release: 1 Group: System/Libraries License: Apache-2.0 and BSD-2-Clause and MIT diff --git a/plugins/dali-swig/SWIG/dali-toolkit.i b/plugins/dali-swig/SWIG/dali-toolkit.i index 1175a47..68b9ad9 100755 --- a/plugins/dali-swig/SWIG/dali-toolkit.i +++ b/plugins/dali-swig/SWIG/dali-toolkit.i @@ -94,6 +94,8 @@ %ignore *::Button::SetSelectedImage(Dali::Image); %ignore *::Button::SetTogglableButton(bool); %ignore *::Button::SetUnselectedImage(const std::string &); +%ignore Dali::Toolkit::DevelVisual::Type; +%ignore Dali::Toolkit::DevelVisual::Property::Type; %rename(View) Dali::Toolkit::Control; %rename(ViewImpl) Dali::Toolkit::Internal::Control; @@ -112,14 +114,48 @@ %rename(IndicatorHeightPolicyType) Dali::Toolkit::ScrollBar::IndicatorHeightPolicy; %rename(ExceedPolicyType) Dali::Toolkit::TextField::ExceedPolicy; %rename(ToolkitPropertyRange) Dali::Toolkit::PropertyRanges; +%rename(TooltipPositionType) Dali::Toolkit::Tooltip::Position::Type; %rename(VisualType) Dali::Toolkit::Visual::Type; -%rename(VisualShaderType) Dali::Toolkit::Visual::Shader::Property; +%rename(VisualTransformPropertyType) Dali::Toolkit::DevelVisual::Transform::Property::Type; +%rename(VISUAL_SHADER_VERTEX) Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER; +%rename(VISUAL_SHADER_FRAGMENT) Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER; +%rename(VISUAL_SHADER_SUBDIVIDE_GRID_X) Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X; +%rename(VISUAL_SHADER_SUBDIVIDE_GRID_Y) Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y; +%rename(VISUAL_SHADER_HINTS) Dali::Toolkit::Visual::Shader::Property::HINTS; +%rename(BORDER_VISUAL_COLOR) Dali::Toolkit::BorderVisual::Property::COLOR; +%rename(BORDER_VISUAL_SIZE) Dali::Toolkit::BorderVisual::Property::SIZE; +%rename(BORDER_VISUAL_ANTI_ALIASING) Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING; +%rename(COLOR_VISUAL_MIX_COLOR) Dali::Toolkit::ColorVisual::Property::MIX_COLOR; %rename(GradientVisualUnitsType) Dali::Toolkit::GradientVisual::Units::Type; %rename(GradientVisualSpreadMethodType) Dali::Toolkit::GradientVisual::SpreadMethod::Type; +%rename(GRADIENT_VISUAL_START_POSITION) Dali::Toolkit::GradientVisual::Property::START_POSITION; +%rename(GRADIENT_VISUAL_END_POSITION) Dali::Toolkit::GradientVisual::Property::END_POSITION; +%rename(GRADIENT_VISUAL_CENTER) Dali::Toolkit::GradientVisual::Property::CENTER; +%rename(GRADIENT_VISUAL_RADIUS) Dali::Toolkit::GradientVisual::Property::RADIUS; +%rename(GRADIENT_VISUAL_STOP_OFFSET) Dali::Toolkit::GradientVisual::Property::STOP_OFFSET; +%rename(GRADIENT_VISUAL_STOP_COLOR) Dali::Toolkit::GradientVisual::Property::STOP_COLOR; +%rename(GRADIENT_VISUAL_UNITS) Dali::Toolkit::GradientVisual::Property::UNITS; +%rename(GRADIENT_VISUAL_SPREAD_METHOD) Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD; %rename(MeshVisualShadingModeValue) Dali::Toolkit::MeshVisual::ShadingMode::Value; +%rename(MESH_VISUAL_OBJECT_URL) Dali::Toolkit::MeshVisual::Property::OBJECT_URL; +%rename(MESH_VISUAL_MATERIAL_URL) Dali::Toolkit::MeshVisual::Property::MATERIAL_URL; +%rename(MESH_VISUAL_TEXTURES_PATH) Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH; +%rename(MESH_VISUAL_SHADING_MODE) Dali::Toolkit::MeshVisual::Property::SHADING_MODE; +%rename(MESH_VISUAL_USE_MIPMAPPING) Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING; +%rename(MESH_VISUAL_USE_SOFT_NORMALS) Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS; +%rename(MESH_VISUAL_LIGHT_POSITION) Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION; %rename(PrimitiveVisualShapeType) Dali::Toolkit::PrimitiveVisual::Shape::Type; -%rename(PRIMITIVE_VISUAL_COLOR) Dali::Toolkit::PrimitiveVisual::Property::COLOR; +%rename(PRIMITIVE_VISUAL_SHAPE) Dali::Toolkit::PrimitiveVisual::Property::SHAPE; %rename(PRIMITIVE_VISUAL_MIX_COLOR) Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR; +%rename(PRIMITIVE_VISUAL_SLICES) Dali::Toolkit::PrimitiveVisual::Property::SLICES; +%rename(PRIMITIVE_VISUAL_STACKS) Dali::Toolkit::PrimitiveVisual::Property::STACKS; +%rename(PRIMITIVE_VISUAL_SCALE_TOP_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_TOP_RADIUS; +%rename(PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS; +%rename(PRIMITIVE_VISUAL_SCALE_HEIGHT) Dali::Toolkit::PrimitiveVisual::Property::SCALE_HEIGHT; +%rename(PRIMITIVE_VISUAL_SCALE_RADIUS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_RADIUS; +%rename(PRIMITIVE_VISUAL_SCALE_DIMENSIONS) Dali::Toolkit::PrimitiveVisual::Property::SCALE_DIMENSIONS; +%rename(PRIMITIVE_VISUAL_BEVEL_PERCENTAGE) Dali::Toolkit::PrimitiveVisual::Property::BEVEL_PERCENTAGE; +%rename(PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS) Dali::Toolkit::PrimitiveVisual::Property::BEVEL_SMOOTHNESS; %rename(PRIMITIVE_VISUAL_LIGHT_POSITION) Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION; %rename(VISUAL_PROPERTY_TYPE) Dali::Toolkit::Visual::Property::TYPE; %rename(VISUAL_PROPERTY_SHADER) Dali::Toolkit::Visual::Property::SHADER; @@ -135,26 +171,30 @@ %rename(IMAGE_VISUAL_WRAP_MODE_U) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U; %rename(IMAGE_VISUAL_WRAP_MODE_V) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V; %rename(COLOR_VISUAL_MIX_COLOR) Dali::Toolkit::Color::Visual::Property::MIX_COLOR; -%rename(TEXT_VISUAL_RENDERING_BACKEND) Dali::Toolkit::Text::Visual::Property::RENDERING_BACKEND; -%rename(TEXT_VISUAL_TEXT) Dali::Toolkit::Text::Visual::Property::TEXT; -%rename(TEXT_VISUAL_FONT_FAMILY) Dali::Toolkit::Text::Visual::Property::FONT_FAMILY; -%rename(TEXT_VISUAL_FONT_STYLE) Dali::Toolkit::Text::Visual::Property::FONT_STYLE; -%rename(TEXT_VISUAL_POINT_SIZE) Dali::Toolkit::Text::Visual::Property::POINT_SIZE; -%rename(TEXT_VISUAL_MULTI_LINE) Dali::Toolkit::Text::Visual::Property::MULTI_LINE; -%rename(TEXT_VISUAL_HORIZONTAL_ALIGNMENT) Dali::Toolkit::Text::Visual::Property::HORIZONTAL_ALIGNMENT; -%rename(TEXT_VISUAL_VERTICAL_ALIGNMENT) Dali::Toolkit::Text::Visual::Property::VERTICAL_ALIGNMENT; -%rename(TEXT_VISUAL_TEXT_COLOR) Dali::Toolkit::Text::Visual::Property::TEXT_COLOR; -%rename(TEXT_VISUAL_ENABLE_MARKUP) Dali::Toolkit::Text::Visual::Property::ENABLE_MARKUP; -%rename(TEXT_VISUAL_ENABLE_AUTO_SCROLL) Dali::Toolkit::Text::Visual::Property::ENABLE_AUTO_SCROLL; -%rename(TEXT_VISUAL_AUTO_SCROLL_SPEED) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_SPEED; -%rename(TEXT_VISUAL_AUTO_SCROLL_LOOP_COUNT) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_LOOP_COUNT; -%rename(TEXT_VISUAL_AUTO_SCROLL_GAP) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_GAP; -%rename(TEXT_VISUAL_LINE_SPACING) Dali::Toolkit::Text::Visual::Property::LINE_SPACING; -%rename(TEXT_VISUAL_UNDERLINE) Dali::Toolkit::Text::Visual::Property::UNDERLINE; -%rename(TEXT_VISUAL_SHADOW) Dali::Toolkit::Text::Visual::Property::SHADOW; -%rename(TEXT_VISUAL_EMBOSS) Dali::Toolkit::Text::Visual::Property::EMBOSS; -%rename(TEXT_VISUAL_OUTLINE) Dali::Toolkit::Text::Visual::Property::OUTLINE; -%rename(TEXT_VISUAL_BATCHING_ENABLED) Dali::Toolkit::Text::Visual::Property::BATCHING_ENABLED; +%rename(TEXT_VISUAL_TEXT) Dali::Toolkit::TextVisual::Property::TEXT; +%rename(TEXT_VISUAL_FONT_FAMILY) Dali::Toolkit::TextVisual::Property::FONT_FAMILY; +%rename(TEXT_VISUAL_FONT_STYLE) Dali::Toolkit::TextVisual::Property::FONT_STYLE; +%rename(TEXT_VISUAL_POINT_SIZE) Dali::Toolkit::TextVisual::Property::POINT_SIZE; +%rename(TEXT_VISUAL_MULTI_LINE) Dali::Toolkit::TextVisual::Property::MULTI_LINE; +%rename(TEXT_VISUAL_HORIZONTAL_ALIGNMENT) Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT; +%rename(TEXT_VISUAL_VERTICAL_ALIGNMENT) Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT; +%rename(TEXT_VISUAL_TEXT_COLOR) Dali::Toolkit::TextVisual::Property::TEXT_COLOR; +%rename(TEXT_VISUAL_ENABLE_MARKUP) Dali::Toolkit::TextVisual::Property::ENABLE_MARKUP; +%rename(TOOLTIP_CONTENT) Dali::Toolkit::Tooltip::Property::CONTENT; +%rename(TOOLTIP_LAYOUT) Dali::Toolkit::Tooltip::Property::LAYOUT; +%rename(TOOLTIP_WAIT_TIME) Dali::Toolkit::Tooltip::Property::WAIT_TIME; +%rename(TOOLTIP_BACKGROUND) Dali::Toolkit::Tooltip::Property::BACKGROUND; +%rename(TOOLTIP_TAIL) Dali::Toolkit::Tooltip::Property::TAIL; +%rename(TOOLTIP_POSITION) Dali::Toolkit::Tooltip::Property::POSITION; +%rename(TOOLTIP_HOVER_POINT_OFFSET) Dali::Toolkit::Tooltip::Property::HOVER_POINT_OFFSET; +%rename(TOOLTIP_MOVEMENT_THRESHOLD) Dali::Toolkit::Tooltip::Property::MOVEMENT_THRESHOLD; +%rename(TOOLTIP_DISAPPEAR_ON_MOVEMENT) Dali::Toolkit::Tooltip::Property::DISAPPEAR_ON_MOVEMENT; +%rename(TOOLTIP_CONTENT) Dali::Toolkit::Tooltip::Property::CONTENT; +%rename(TOOLTIP_BACKGROUND_VISUAL) Dali::Toolkit::Tooltip::Background::Property::VISUAL; +%rename(TOOLTIP_BACKGROUND_BORDER) Dali::Toolkit::Tooltip::Background::Property::BORDER; +%rename(TOOLTIP_TAIL_VISIBILITY) Dali::Toolkit::Tooltip::Tail::Property::VISIBILITY; +%rename(TOOLTIP_TAIL_ABOVE_VISUAL) Dali::Toolkit::Tooltip::Tail::Property::ABOVE_VISUAL; +%rename(TOOLTIP_TAIL_BELOW_VISUAL) Dali::Toolkit::Tooltip::Tail::Property::BELOW_VISUAL; %csconstvalue("PropertyRanges.PROPERTY_REGISTRATION_START_INDEX") PROPERTY_START_INDEX; %csconstvalue("View.PropertyRange.PROPERTY_START_INDEX+1000") PROPERTY_END_INDEX; @@ -182,6 +222,7 @@ typedef Dali::IntrusivePtr RulerPtr; %include %include +%include %include %include %include @@ -194,6 +235,8 @@ typedef Dali::IntrusivePtr RulerPtr; %include +%include + %include %include diff --git a/plugins/dali-swig/SWIG/dali.i b/plugins/dali-swig/SWIG/dali.i index 09963f4..a4f7fb7 100755 --- a/plugins/dali-swig/SWIG/dali.i +++ b/plugins/dali-swig/SWIG/dali.i @@ -82,6 +82,8 @@ #include +#include + #include // add here SWIG version check @@ -226,8 +228,6 @@ }; - - %ignore operator<<; %ignore *::GetImplementation(); %ignore *::GetImplementation(Dali::BaseHandle&); diff --git a/plugins/dali-swig/SWIG/devel-properties.i b/plugins/dali-swig/SWIG/devel-properties.i index 9cd8714..38d4c47 100644 --- a/plugins/dali-swig/SWIG/devel-properties.i +++ b/plugins/dali-swig/SWIG/devel-properties.i @@ -15,6 +15,17 @@ * */ +%pragma(csharp) modulecode=%{ + public static readonly int VISUAL_PROPERTY_TRANSFORM = NDalicManualPINVOKE.Visual_Property_TRANSFORM_get(); + public static readonly int VISUAL_PROPERTY_PREMULTIPLIED_ALPHA = NDalicManualPINVOKE.Visual_Property_PREMULTIPLIED_ALPHA_get(); + public static readonly int VISUAL_PROPERTY_MIX_COLOR = NDalicManualPINVOKE.Visual_Property_MIX_COLOR_get(); +%} + +%typemap(cscode) Dali::Toolkit::Visual::Type %{ + , + TEXT +%} + %typemap(cscode) Dali::Actor::Property %{ public static readonly int BATCH_PARENT = NDalicManualPINVOKE.Actor_Property_BATCH_PARENT_get(); public static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get(); diff --git a/plugins/dali-swig/SWIG/events/control-event.i b/plugins/dali-swig/SWIG/events/control-event.i index 55c2435..150be84 100755 --- a/plugins/dali-swig/SWIG/events/control-event.i +++ b/plugins/dali-swig/SWIG/events/control-event.i @@ -857,6 +857,14 @@ SetProperty( View.Property.TOOLTIP, new Dali.Property.Value( value ) ); } } + + public string TooltipText + { + set + { + SetProperty( View.Property.TOOLTIP, new Dali.Property.Value( value ) ); + } + } %} %enddef diff --git a/plugins/dali-swig/manual/cpp/devel-property-wrap.cpp b/plugins/dali-swig/manual/cpp/devel-property-wrap.cpp index 562b822..8f8940d 100644 --- a/plugins/dali-swig/manual/cpp/devel-property-wrap.cpp +++ b/plugins/dali-swig/manual/cpp/devel-property-wrap.cpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include #ifdef __cplusplus extern "C" { @@ -175,6 +177,33 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_VISUAL_PADDING_get() { return jresult; } +SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_TRANSFORM_get() { + int jresult ; + int result; + + result = (int)Dali::Toolkit::DevelVisual::Property::TRANSFORM; + jresult = (int)result; + return jresult; +} + +SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_PREMULTIPLIED_ALPHA_get() { + int jresult ; + int result; + + result = (int)Dali::Toolkit::DevelVisual::Property::PREMULTIPLIED_ALPHA; + jresult = (int)result; + return jresult; +} + +SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_MIX_COLOR_get() { + int jresult ; + int result; + + result = (int)Dali::Toolkit::DevelVisual::Property::MIX_COLOR; + jresult = (int)result; + return jresult; +} + #ifdef __cplusplus } #endif diff --git a/plugins/dali-swig/manual/csharp/DaliEnumConstants.cs b/plugins/dali-swig/manual/csharp/DaliEnumConstants.cs index 375445d..69f6377 100755 --- a/plugins/dali-swig/manual/csharp/DaliEnumConstants.cs +++ b/plugins/dali-swig/manual/csharp/DaliEnumConstants.cs @@ -97,42 +97,6 @@ namespace Dali public struct Visual { - public static readonly int PropertyType = NDalic.VISUAL_PROPERTY_TYPE; - public static readonly int PropertyShader = NDalic.VISUAL_PROPERTY_SHADER; - - public static readonly int VertexShader = NDalic.VERTEX_SHADER; - public static readonly int FragmentShader = NDalic.FRAGMENT_SHADER; - public static readonly int SubdivideGridX = NDalic.SUBDIVIDE_GRID_X; - public static readonly int SubdivideGridY = NDalic.SUBDIVIDE_GRID_Y; - public static readonly int Hints = NDalic.HINTS; - - public static readonly int Color = NDalic.COLOR; - public static readonly int Size = NDalic.SIZE; - public static readonly int AntiAliasing = NDalic.ANTI_ALIASING; - - public static readonly int MixColor = NDalic.MIX_COLOR; - - public static readonly int StartPosition = NDalic.START_POSITION; - public static readonly int EndPosition = NDalic.END_POSITION; - public static readonly int Center = NDalic.CENTER; - public static readonly int Radius = NDalic.RADIUS; - public static readonly int StopOffset = NDalic.STOP_OFFSET; - public static readonly int StopColor = NDalic.STOP_COLOR; - public static readonly int Units = NDalic.UNITS; - public static readonly int SpreadMethod = NDalic.SPREAD_METHOD; - - public static readonly int ImageVisualURL = NDalic.IMAGE_VISUAL_URL; - public static readonly int ImageVisualFittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE; - public static readonly int ImageVisualSamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE; - public static readonly int ImageVisualDesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH; - public static readonly int ImageVisualDesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT; - public static readonly int ImageVisualSynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING; - public static readonly int ImageVisualBorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY; - public static readonly int ImageVisualBatchingEnabled = NDalic.IMAGE_VISUAL_BATCHING_ENABLED; - public static readonly int ImageVisualPixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA; - public static readonly int ImageVisualWrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U; - public static readonly int ImageVisualWrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V; - public enum Type { Border = Dali.VisualType.BORDER, @@ -141,7 +105,134 @@ namespace Dali Image = Dali.VisualType.IMAGE, Mesh = Dali.VisualType.MESH, Primitive = Dali.VisualType.PRIMITIVE, - WireFrame = Dali.VisualType.WIREFRAME + WireFrame = Dali.VisualType.WIREFRAME, + Text = Dali.VisualType.TEXT + } + + public struct Property + { + public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE; + public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER; + public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM; + public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA; + public static readonly int MixCOlor = NDalic.VISUAL_PROPERTY_MIX_COLOR; + } + + public struct ShaderProperty + { + public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX; + public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT; + public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X; + public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y; + public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS; + } + } + + public struct BorderVisualProperty + { + public static readonly int Color = NDalic.BORDER_VISUAL_COLOR; + public static readonly int Size = NDalic.BORDER_VISUAL_SIZE; + public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING; + } + + public struct ColorVisualProperty + { + public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR; + } + + public struct GradientVisualProperty + { + public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION; + public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION; + public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER; + public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS; + public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET; + public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR; + public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS; + public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD; + } + + public struct ImageVisualProperty + { + public static readonly int URL = NDalic.IMAGE_VISUAL_URL; + public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE; + public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE; + public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH; + public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT; + public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING; + public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY; + public static readonly int BatchingEnabled = NDalic.IMAGE_VISUAL_BATCHING_ENABLED; + public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA; + public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U; + public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V; + } + + public struct MeshVisualProperty + { + public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL; + public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL; + public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH; + public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE; + public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING; + public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS; + public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION; + } + + public struct PrimitiveVisualProperty + { + public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE; + public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR; + public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES; + public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS; + public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS; + public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS; + public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT; + public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS; + public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS; + public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE; + public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS; + public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION; + } + + public struct TextVisualProperty + { + public static readonly int Text = NDalic.TEXT_VISUAL_TEXT; + public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY; + public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE; + public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE; + public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE; + public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT; + public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT; + public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR; + public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP; + } + + public struct Tooltip + { + public struct Property + { + public static readonly int Content = NDalic.TOOLTIP_CONTENT; + public static readonly int Layout = NDalic.TOOLTIP_LAYOUT; + public static readonly int WaitTime = NDalic.TOOLTIP_WAIT_TIME; + public static readonly int Background = NDalic.TOOLTIP_BACKGROUND; + public static readonly int Tail = NDalic.TOOLTIP_TAIL; + public static readonly int Position = NDalic.TOOLTIP_POSITION; + public static readonly int HoverPointOffset = NDalic.TOOLTIP_HOVER_POINT_OFFSET; + public static readonly int MovementThreshold = NDalic.TOOLTIP_MOVEMENT_THRESHOLD; + public static readonly int DisappearOnMovement = NDalic.TOOLTIP_DISAPPEAR_ON_MOVEMENT; + } + + public struct BackgroundProperty + { + public static readonly int Visual = NDalic.TOOLTIP_BACKGROUND_VISUAL; + public static readonly int Border = NDalic.TOOLTIP_BACKGROUND_BORDER; + } + + public struct TailProperty + { + public static readonly int Visibility = NDalic.TOOLTIP_TAIL_VISIBILITY; + public static readonly int AboveVisual = NDalic.TOOLTIP_TAIL_ABOVE_VISUAL; + public static readonly int BelowVisual = NDalic.TOOLTIP_TAIL_BELOW_VISUAL; } } diff --git a/plugins/dali-swig/manual/csharp/ManualPINVOKE.cs b/plugins/dali-swig/manual/csharp/ManualPINVOKE.cs index c982572..3433213 100755 --- a/plugins/dali-swig/manual/csharp/ManualPINVOKE.cs +++ b/plugins/dali-swig/manual/csharp/ManualPINVOKE.cs @@ -234,5 +234,14 @@ namespace Dali [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_VISUAL_PADDING_get")] public static extern int Button_Property_VISUAL_PADDING_get(); + + [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_TRANSFORM_get")] + public static extern int Visual_Property_TRANSFORM_get(); + + [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_PREMULTIPLIED_ALPHA_get")] + public static extern int Visual_Property_PREMULTIPLIED_ALPHA_get(); + + [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_MIX_COLOR_get")] + public static extern int Visual_Property_MIX_COLOR_get(); } }