From fd5d01e85ea1d522c147ce9bd9b6dc0c4f736329 Mon Sep 17 00:00:00 2001 From: Richard Huang Date: Tue, 13 Feb 2018 18:37:25 +0000 Subject: [PATCH] Add support of text background style to TextLabel example Change-Id: I9f55b7b325bfe26867adcc8ccaccaa18f772c23f --- examples/text-label/text-label-example.cpp | 39 +++++++++++++++++++++--- resources/images/FontStyleButton_Background.png | Bin 0 -> 7432 bytes 2 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 resources/images/FontStyleButton_Background.png diff --git a/examples/text-label/text-label-example.cpp b/examples/text-label/text-label-example.cpp index 893698b..63f1c36 100644 --- a/examples/text-label/text-label-example.cpp +++ b/examples/text-label/text-label-example.cpp @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include @@ -45,7 +47,8 @@ const char* BUTTON_IMAGES[] = { DEMO_IMAGE_DIR "FontStyleButton_Colour.png", DEMO_IMAGE_DIR "FontStyleButton_Outline.png", - DEMO_IMAGE_DIR "FontStyleButton_Shadow.png" + DEMO_IMAGE_DIR "FontStyleButton_Shadow.png", + DEMO_IMAGE_DIR "FontStyleButton_Background.png" }; const unsigned int KEY_ZERO = 10; @@ -84,6 +87,7 @@ enum StyleType TEXT_COLOR = 0, OUTLINE, SHADOW, + BACKGROUND, NUMBER_OF_STYLES }; @@ -166,7 +170,7 @@ public: mApplication.InitSignal().Connect( this, &TextLabelExample::Create ); // Set Style flags to inactive - for ( unsigned int i = OUTLINE; i < NUMBER_OF_STYLES; i++ ) + for ( unsigned int i = TEXT_COLOR; i < NUMBER_OF_STYLES; i++ ) { mStyleActiveState[ i ] = false; mCurrentStyleColor[i] = AVAILABLE_COLORS[ NUMBER_OF_COLORS - 1 ]; @@ -204,7 +208,7 @@ public: stage.KeyEventSignal().Connect(this, &TextLabelExample::OnKeyEvent); mStageSize = stage.GetSize(); - mButtonSize = Size( mStageSize.height * 0.12, mStageSize.height * 0.12 ); // Button size 1/12 of stage height + mButtonSize = Size( mStageSize.height * 0.1, mStageSize.height * 0.1 ); // Button size 1/10 of stage height mContainer = Control::New(); mContainer.SetName( "Container" ); @@ -297,6 +301,10 @@ public: { style = StyleType::SHADOW; } + else if( button == mStyleButtons[ StyleType::BACKGROUND ] ) + { + style = StyleType::BACKGROUND; + } return style; } @@ -370,8 +378,29 @@ public: mStyleActiveState[ SHADOW ] = ( shadowOffset == Vector2::ZERO ) ? false : true; mCurrentStyleColor[ SHADOW ] = mSelectedColor; - mLabel.SetProperty( TextLabel::Property::SHADOW_OFFSET, shadowOffset ); - mLabel.SetProperty( TextLabel::Property::SHADOW_COLOR, mSelectedColor ); + Property::Map shadowMap; + shadowMap.Insert( "offset", shadowOffset ); + shadowMap.Insert( "color", mSelectedColor ); + mLabel.SetProperty( TextLabel::Property::SHADOW, shadowMap ); + + break; + } + case BACKGROUND : + { + Property::Map backgroundMap; + auto backgroundEnabled(true); + + if( mStyleActiveState[ BACKGROUND ] ) + { + backgroundEnabled = ( Color::WHITE != mSelectedColor ); // toggles background on/off + } + mStyleActiveState[ BACKGROUND ] = backgroundEnabled; + + backgroundMap["color"] = mSelectedColor; + backgroundMap["enable"] = backgroundEnabled; + mCurrentStyleColor[ BACKGROUND ] = mSelectedColor; + mLabel.SetProperty( DevelTextLabel::Property::BACKGROUND, backgroundMap ); + break; } default : diff --git a/resources/images/FontStyleButton_Background.png b/resources/images/FontStyleButton_Background.png new file mode 100644 index 0000000000000000000000000000000000000000..2bcd03e26e99d4f41f381f67f5bf710e90f95889 GIT binary patch literal 7432 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 B(bE6` literal 0 HcmV?d00001 -- 2.7.4