Implementation for supporting Custom Theme feature for DateTimePicker.
authorsr.shashank <sr.shashank@samsung.com>
Tue, 16 Apr 2013 09:51:35 +0000 (15:21 +0530)
committersr.shashank <sr.shashank@samsung.com>
Thu, 18 Apr 2013 09:02:05 +0000 (14:32 +0530)
Change-Id: Ibf1a85857030348ce2f1ea29c64f31db78a914a4
Signed-off-by: sr.shashank <sr.shashank@samsung.com>
14 files changed:
inc/FUiUiConfigurationTypes.h
src/ui/FUiUiConfiguration.cpp
src/ui/controls/FUiCtrl_DateTimeDisplayBox.cpp
src/ui/controls/FUiCtrl_DateTimePresenter.cpp
src/ui/controls/FUiCtrl_InputPadPresenter.cpp
src/ui/inc/FUiCtrl_DateTimeDefine.h
src/ui/inc/FUiCtrl_DateTimeDisplayBox.h
src/ui/inc/FUiCtrl_DateTimePresenter.h
src/ui/inc/FUiCtrl_InputPadPresenter.h
src/ui/inc/FUi_ResourceDateTimePickerConfig.h
src/ui/inc/FUi_ResourceInputPadConfig.h
src/ui/resource/FUi_ResourceConfigParser.cpp
src/ui/resource/FUi_ResourceDateTimePickerConfig.cpp
src/ui/resource/FUi_ResourceInputPadConfig.cpp

index d3dda84..ee05ffe 100644 (file)
@@ -577,6 +577,27 @@ struct _OSP_EXPORT_ ColorKey
                * @since                2.1
                */
                _OSP_EXPORT_ static const int CONTENT_BG_HIGHLIGHTED;
+
+               /**
+               * The property key to get the display area background color of date time picker
+               *
+               * @since                2.1
+               */
+               _OSP_EXPORT_ static const int DISPLAY_BG_NORMAL;
+
+               /**
+               * The property key to get the normal title color of date time picker
+               *
+               * @since                2.1
+               */
+               _OSP_EXPORT_ static const int TITLE_NORMAL;
+
+               /**
+               * The property key to get the disabled title color of date time picker
+               *
+               * @since                2.1
+               */
+               _OSP_EXPORT_ static const int TITLE_DISABLED;
        };
        struct _OSP_EXPORT_ Edit
        {
index 91f139d..e99a328 100644 (file)
@@ -108,6 +108,9 @@ const int ColorKey::DateTimePicker::CONTENT_BG_NORMAL = _DATETIMEPICKER::CONTENT
 const int ColorKey::DateTimePicker::CONTENT_BG_PRESSED = _DATETIMEPICKER::CONTENT_BG_PRESSED_COLOR;
 const int ColorKey::DateTimePicker::CONTENT_BG_DISABLED = _DATETIMEPICKER::CONTENT_BG_DISABLED_COLOR;
 const int ColorKey::DateTimePicker::CONTENT_BG_HIGHLIGHTED = _DATETIMEPICKER::CONTENT_BG_HIGHLIGHTED_COLOR;
+const int ColorKey::DateTimePicker::DISPLAY_BG_NORMAL = _DATETIMEPICKER::DISPLAY_BG_NORMAL_COLOR;
+const int ColorKey::DateTimePicker::TITLE_NORMAL = _DATETIMEPICKER::TITLE_NORMAL_COLOR;
+const int ColorKey::DateTimePicker::TITLE_DISABLED = _DATETIMEPICKER::TITLE_DISABLED_COLOR;
 const int ColorKey::Edit::BG_NORMAL = _EDIT::BG_NORMAL_COLOR;
 const int ColorKey::Edit::BG_PRESSED = _EDIT::BG_PRESSED_COLOR;
 const int ColorKey::Edit::BG_HIGHLIGHTED = _EDIT::BG_HIGHLIGHTED_COLOR;
@@ -137,7 +140,6 @@ const int ColorKey::EditDate::CONTENT_BG_NORMAL = _EDITDATE::CONTENT_BG_NORMAL_C
 const int ColorKey::EditDate::CONTENT_BG_PRESSED = _EDITDATE::CONTENT_BG_PRESSED_COLOR;
 const int ColorKey::EditDate::CONTENT_BG_DISABLED = _EDITDATE::CONTENT_BG_DISABLED_COLOR;
 const int ColorKey::EditDate::CONTENT_BG_HIGHLIGHTED = _EDITDATE::CONTENT_BG_HIGHLIGHTED_COLOR;
-
 const int ColorKey::EditTime::BUTTON_BG_NORMAL = _EDITTIME::BUTTON_BG_NORMAL_COLOR;
 const int ColorKey::EditTime::BUTTON_BG_PRESSED = _EDITTIME::BUTTON_BG_PRESSED_COLOR;
 const int ColorKey::EditTime::BUTTON_BG_DISABLED = _EDITTIME::BUTTON_BG_DISABLED_COLOR;
index d15dc3c..22bec1f 100644 (file)
@@ -47,23 +47,16 @@ _DateTimeDisplayBox::_DateTimeDisplayBox(const FloatRectangle& bounds, int boxId
        , __text()
        , __focusable(true)
        , __pFont(null)
-       , __pBackgroundEffectBitmap(null)
-       , __pBackgroundPressedEffectBitmap(null)
-       , __pBackgroundDisabledEffectBitmap(null)
 {
        for (int i = 0; i < DATETIME_STATUS_MAX; i++)
        {
                __pBackgroundNormalBitmap[i] = null;
-       }
-
-       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
-       {
-               __backgroundColor[i] = Color();
+               __pBackgroundEffectBitmap[i] = null;
        }
 
        GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_NORMAL, __textColor[DATETIME_STATUS_NORMAL]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_HIGHLIGHTED, __textColor[DATETIME_STATUS_FOCUSED]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_PRESSED, __textColor[DATETIME_STATUS_SELECTED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_HIGHLIGHTED, __textColor[DATETIME_STATUS_HIGHLIGHTED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_PRESSED, __textColor[DATETIME_STATUS_PRESSED]);
        GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_DISABLED, __textColor[DATETIME_STATUS_DISABLED]);
 }
 
@@ -75,12 +68,6 @@ _DateTimeDisplayBox::~_DateTimeDisplayBox(void)
                delete __pTextObject;
                __pTextObject = null;
        }
-
-       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
-       {
-               delete __pBackgroundNormalBitmap[i];
-               __pBackgroundNormalBitmap[i] = null;
-       }
 }
 
 FloatRectangle
@@ -159,7 +146,7 @@ _DateTimeDisplayBox::GetText(void) const
 void
 _DateTimeDisplayBox::DrawDisplayBox(Canvas& canvas, DateTimePickerStatus status)
 {
-       if ((__focusable == false) && (status == DATETIME_STATUS_FOCUSED))
+       if ((__focusable == false) && (status == DATETIME_STATUS_HIGHLIGHTED))
        {
                status = DATETIME_STATUS_NORMAL;
        }
@@ -174,59 +161,47 @@ void
 _DateTimeDisplayBox::DrawBackground(Canvas& canvas, DateTimePickerStatus status)
 {
        result r = E_SUCCESS;
+       bool isCustomBitmap[DATETIME_STATUS_MAX];
 
        if (__pBackgroundNormalBitmap[status] == null)
        {
                return;
        }
 
-       if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundNormalBitmap[status]))
-       {
-               r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundNormalBitmap[status]);
-               SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
-       }
-       else
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
        {
-               r = canvas.DrawBitmap(__windowBounds, *__pBackgroundNormalBitmap[status]);
-               SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
+               isCustomBitmap[i] = false;
        }
 
-       if (status == DATETIME_STATUS_FOCUSED && __pBackgroundPressedEffectBitmap != null )
+       if (__pBackgroundNormalBitmap[status] != null)
        {
-               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundEffectBitmap))
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundNormalBitmap[status]))
                {
-                       r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundPressedEffectBitmap);
+                       r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundNormalBitmap[status]);
                        SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
                }
                else
                {
-                       r = canvas.DrawBitmap(__windowBounds, *__pBackgroundPressedEffectBitmap);
+                       r = canvas.DrawBitmap(__windowBounds, *__pBackgroundNormalBitmap[status]);
                        SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
                }
        }
-       else if (status == DATETIME_STATUS_DISABLED && __pBackgroundDisabledEffectBitmap != null)
-       {
-               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundDisabledEffectBitmap))
-               {
-                       r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundDisabledEffectBitmap);
-                       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
-               }
-               else
-               {
-                       r = canvas.DrawBitmap(__windowBounds, *__pBackgroundDisabledEffectBitmap);
-                       SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
-               }
-       }
-       else if (__pBackgroundEffectBitmap != null)
+
+       isCustomBitmap[DATETIME_STATUS_NORMAL] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_NORMAL);
+       isCustomBitmap[DATETIME_STATUS_PRESSED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_PRESSED);
+       isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_HIGHLIGHTED);
+       isCustomBitmap[DATETIME_STATUS_DISABLED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_DISABLED);
+
+       if (isCustomBitmap[status] == false && __pBackgroundEffectBitmap[status] != null)
        {
-               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundEffectBitmap))
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pBackgroundEffectBitmap[status]))
                {
-                       r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundEffectBitmap);
+                       r = canvas.DrawNinePatchedBitmap(__windowBounds, *__pBackgroundEffectBitmap[status]);
                        SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
                }
                else
                {
-                       r = canvas.DrawBitmap(__windowBounds, *__pBackgroundEffectBitmap);
+                       r = canvas.DrawBitmap(__windowBounds, *__pBackgroundEffectBitmap[status]);
                        SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
                }
        }
@@ -263,38 +238,17 @@ _DateTimeDisplayBox::SetFocusable(bool focusable)
 }
 
 void
-_DateTimeDisplayBox::SetBackgroundBitmap(Bitmap* pNormalBitmap, Bitmap* pEffectBitmap, Bitmap* pPressedEffectBitmap, Bitmap* pDisabledEffectBitmap)
+_DateTimeDisplayBox::SetBackgroundBitmap(Bitmap **pBackgroundNormalBitmap, Bitmap **pBackgroundEffectBitmap)
 {
-       result r = E_SUCCESS;
-
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_NORMAL, __backgroundColor[DATETIME_STATUS_NORMAL]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_PRESSED, __backgroundColor[DATETIME_STATUS_SELECTED]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_HIGHLIGHTED, __backgroundColor[DATETIME_STATUS_FOCUSED]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_DISABLED, __backgroundColor[DATETIME_STATUS_DISABLED]);
-
        GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_NORMAL, __textColor[DATETIME_STATUS_NORMAL]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_PRESSED, __textColor[DATETIME_STATUS_SELECTED]);
-       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_HIGHLIGHTED, __textColor[DATETIME_STATUS_FOCUSED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_PRESSED, __textColor[DATETIME_STATUS_PRESSED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_HIGHLIGHTED, __textColor[DATETIME_STATUS_HIGHLIGHTED]);
        GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_TEXT_DISABLED, __textColor[DATETIME_STATUS_DISABLED]);
 
        for (int i = 0; i < DATETIME_STATUS_MAX; i++)
        {
-               __pBackgroundNormalBitmap[i] = _BitmapImpl::GetColorReplacedBitmapN(*pNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), __backgroundColor[i]);
-               r = GetLastResult();
-               SysTryCatch(NID_UI_CTRL, (__pBackgroundNormalBitmap[i] != null), , r, "[%s] Propagating.", GetErrorMessage(r));
-       }
-
-       __pBackgroundEffectBitmap = pEffectBitmap;
-       __pBackgroundPressedEffectBitmap = pPressedEffectBitmap;
-       __pBackgroundDisabledEffectBitmap = pDisabledEffectBitmap;
-
-       return;
-
-CATCH:
-       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
-       {
-               delete __pBackgroundNormalBitmap[i];
-               __pBackgroundNormalBitmap[i] = null;
+               __pBackgroundNormalBitmap[i] = pBackgroundNormalBitmap[i];
+               __pBackgroundEffectBitmap[i] = pBackgroundEffectBitmap[i];
        }
 
        return;
index 636712e..9875f5d 100644 (file)
@@ -70,10 +70,6 @@ _DateTimePresenter::_DateTimePresenter(int pickerStyle, const String& title)
        , __inputComposing(DATETIME_INPUT_END)
        , __changeFocusCounter(DATE_TIME_CHANGE_FOCUS_COUNTER_MIN)
        , __title(title)
-       , __pPmBoxNormalBitmap(null)
-       , __pPmBoxEffectBitmap(null)
-       , __pPmBoxPressedEffectBitmap(null)
-       , __pPmBoxDisabledEffectBitmap(null)
        , __pColonBitmap(null)
        , __pColonDisabledBitmap(null)
        , __pBgNormalBitmap(null)
@@ -85,6 +81,12 @@ _DateTimePresenter::_DateTimePresenter(int pickerStyle, const String& title)
        {
                __pDisplayBox[i] = null;
        }
+
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               __pBackgroundNormalBitmap[i] = null;
+               __pBackgroundEffectBitmap[i] = null;
+       }
 }
 
 _DateTimePresenter::~_DateTimePresenter(void)
@@ -95,17 +97,14 @@ _DateTimePresenter::~_DateTimePresenter(void)
 void
 _DateTimePresenter::Dispose(void)
 {
-       delete __pPmBoxNormalBitmap;
-       __pPmBoxNormalBitmap = null;
-
-       delete __pPmBoxEffectBitmap;
-       __pPmBoxEffectBitmap = null;
-
-       delete __pPmBoxPressedEffectBitmap;
-       __pPmBoxPressedEffectBitmap = null;
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete __pBackgroundNormalBitmap[i];
+               __pBackgroundNormalBitmap[i] = null;
 
-       delete __pPmBoxDisabledEffectBitmap;
-       __pPmBoxDisabledEffectBitmap = null;
+               delete __pBackgroundEffectBitmap[i];
+               __pBackgroundEffectBitmap[i] = null;
+       }
 
        delete __pColonBitmap;
        __pColonBitmap = null;
@@ -1106,7 +1105,7 @@ _DateTimePresenter::UpdateDateTimeOutputConfig(void)
                        pPmBox = new (std::nothrow) _DateTimeDisplayBox(amPmBounds, DATETIME_ID_AMPM);
                        SysTryCatch(NID_UI_CTRL, (pPmBox != null), , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
 
-                       pPmBox->SetBackgroundBitmap(__pPmBoxNormalBitmap, __pPmBoxEffectBitmap, __pPmBoxPressedEffectBitmap, __pPmBoxDisabledEffectBitmap);
+                       pPmBox->SetBackgroundBitmap(__pBackgroundNormalBitmap, __pBackgroundEffectBitmap);
 
                        delete __pPmBox;
                        __pPmBox = pPmBox;
@@ -1138,69 +1137,118 @@ CATCH:
 void
 _DateTimePresenter::LoadResource(void)
 {
-       Color color;
-       Color colonDisabledColor;
        result r = E_SUCCESS;
-       Bitmap* pColonBitmap = null;
+       Color color;
+       Color replacementColor = Color::GetColor(COLOR_ID_MAGENTA);
+       Color amPmBackgroundColor[DATETIME_STATUS_MAX];
+       bool isCustomBitmap[DATETIME_STATUS_MAX];
+
+       Bitmap* pAmPmNormalBitmap[DATETIME_STATUS_MAX];
        Bitmap* pBgBitmap = null;
+       Bitmap* pColonBitmap = null;
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pPmBoxNormalBitmap);
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               pAmPmNormalBitmap[i] = null;
+               amPmBackgroundColor[i] = Color();
+               isCustomBitmap[i] = false;
+       }
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_NORMAL_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pPmBoxEffectBitmap);
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_NORMAL, amPmBackgroundColor[DATETIME_STATUS_NORMAL]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_PRESSED, amPmBackgroundColor[DATETIME_STATUS_PRESSED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_HIGHLIGHTED, amPmBackgroundColor[DATETIME_STATUS_HIGHLIGHTED]);
+       GET_COLOR_CONFIG(DATETIMEPICKER::AMPM_BG_DISABLED, amPmBackgroundColor[DATETIME_STATUS_DISABLED]);
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_PRESSED_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pPmBoxPressedEffectBitmap);
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBgBitmap);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_DISABLED_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pPmBoxDisabledEffectBitmap);
-       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       GET_COLOR_CONFIG(DATETIMEPICKER::DISPLAY_BG_NORMAL, color);
+       __pBgNormalBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgBitmap, Color::GetColor(COLOR_ID_MAGENTA), color);
+       r = GetLastResult();
+       SysTryCatch(NID_UI_CTRL, (__pBgNormalBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
 
        r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::COLON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pColonBitmap);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
        GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_NORMAL, color);
-       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_DISABLED, colonDisabledColor);
-
-       __pColonBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pColonBitmap, Color::GetColor(COLOR_ID_MAGENTA), color);
+       __pColonBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pColonBitmap, replacementColor, color);
        r = GetLastResult();
        SysTryCatch(NID_UI_CTRL, (__pColonBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       __pColonDisabledBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pColonBitmap, Color::GetColor(COLOR_ID_MAGENTA), colonDisabledColor);
+       GET_COLOR_CONFIG(DATETIMEPICKER::TEXT_DISABLED, color);
+       __pColonDisabledBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pColonBitmap, replacementColor, color);
        r = GetLastResult();
        SysTryCatch(NID_UI_CTRL, (__pColonDisabledBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBgBitmap);
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pBgEffectBitmap);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       GET_COLOR_CONFIG(DATETIMEPICKER::DISPLAY_BG_NORMAL, color);
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pAmPmNormalBitmap[DATETIME_STATUS_NORMAL]);
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       __pBgNormalBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgBitmap, Color::GetColor(COLOR_ID_MAGENTA), color);
-       r = GetLastResult();
-       SysTryCatch(NID_UI_CTRL, (__pBgNormalBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pAmPmNormalBitmap[DATETIME_STATUS_PRESSED]);
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pBgEffectBitmap);
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, pAmPmNormalBitmap[DATETIME_STATUS_HIGHLIGHTED]);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       delete pColonBitmap;
-       delete pBgBitmap;
+       r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pAmPmNormalBitmap[DATETIME_STATUS_DISABLED]);
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       return;
+       isCustomBitmap[DATETIME_STATUS_NORMAL] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_NORMAL);
+       isCustomBitmap[DATETIME_STATUS_PRESSED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_PRESSED);
+       isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_HIGHLIGHTED);
+       isCustomBitmap[DATETIME_STATUS_DISABLED] = IS_CUSTOM_BITMAP(DATETIMEPICKER::AMPM_BG_DISABLED);
 
-CATCH:
-       delete __pPmBoxNormalBitmap;
-       __pPmBoxNormalBitmap = null;
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               if (isCustomBitmap[i])
+               {
+                       __pBackgroundNormalBitmap[i] = pAmPmNormalBitmap[i];
+               }
+               else
+               {
+                       __pBackgroundNormalBitmap[i] = _BitmapImpl::GetColorReplacedBitmapN(*pAmPmNormalBitmap[i], Color::GetColor(COLOR_ID_MAGENTA), amPmBackgroundColor[i]);
+                       SysTryCatch(NID_UI_CTRL, (__pBackgroundNormalBitmap[i] != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+               }
+       }
 
-       delete __pPmBoxEffectBitmap;
-       __pPmBoxEffectBitmap = null;
+       if (!isCustomBitmap[DATETIME_STATUS_NORMAL])
+       {
+               r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundEffectBitmap[DATETIME_STATUS_NORMAL]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
-       delete __pPmBoxPressedEffectBitmap;
-       __pPmBoxPressedEffectBitmap = null;
+       if (!isCustomBitmap[DATETIME_STATUS_PRESSED])
+       {
+               r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundEffectBitmap[DATETIME_STATUS_PRESSED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
-       delete __pPmBoxDisabledEffectBitmap;
-       __pPmBoxDisabledEffectBitmap = null;
+       if (!isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED])
+       {
+               r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_EFFECT_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundEffectBitmap[DATETIME_STATUS_HIGHLIGHTED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
+
+       if (!isCustomBitmap[DATETIME_STATUS_DISABLED])
+       {
+               r = GET_BITMAP_CONFIG_N(DATETIMEPICKER::AMPM_BG_EFFECT_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pBackgroundEffectBitmap[DATETIME_STATUS_DISABLED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
        delete pColonBitmap;
+       delete pBgBitmap;
+
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete pAmPmNormalBitmap[i];
+       }
+
+       return;
+
+CATCH:
+       delete pColonBitmap;
 
        delete __pColonBitmap;
        __pColonBitmap = null;
@@ -1216,6 +1264,17 @@ CATCH:
        delete __pBgEffectBitmap;
        __pBgEffectBitmap = null;
 
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete pAmPmNormalBitmap[i];
+
+               delete __pBackgroundNormalBitmap[i];
+               __pBackgroundNormalBitmap[i] = null;
+
+               delete __pBackgroundEffectBitmap[i];
+               __pBackgroundEffectBitmap[i] = null;
+       }
+
        return;
 }
 
@@ -1286,16 +1345,16 @@ _DateTimePresenter::DrawDateTimeDisplayBox(Canvas& canvas, int index)
        }
        else if (index == __selectedBoxIndex)
        {
-               status = DATETIME_STATUS_SELECTED;
+               status = DATETIME_STATUS_PRESSED;
        }
        else if (index == __focusedBoxIndex)
        {
-               status = DATETIME_STATUS_FOCUSED;
+               status = DATETIME_STATUS_HIGHLIGHTED;
        }
 
        if (boxId == DATETIME_ID_YEAR)
        {
-               if ((__inputComposing == DATETIME_INPUT_BEGIN) && (status == DATETIME_STATUS_FOCUSED))
+               if ((__inputComposing == DATETIME_INPUT_BEGIN) && (status == DATETIME_STATUS_HIGHLIGHTED))
                {
                        String length = L"%0d";
 
@@ -1327,7 +1386,7 @@ _DateTimePresenter::DrawDateTimeDisplayBox(Canvas& canvas, int index)
        }
        else
        {
-               if ((__inputComposing == DATETIME_INPUT_BEGIN) && (status == DATETIME_STATUS_FOCUSED))
+               if ((__inputComposing == DATETIME_INPUT_BEGIN) && (status == DATETIME_STATUS_HIGHLIGHTED))
                {
                        r = text.Format(DATETIME_DISPLAY_STRING_MAX_LENGTH, L"%d", number);
                        SysTryReturnVoidResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
@@ -1376,7 +1435,7 @@ _DateTimePresenter::DrawPm(Canvas& canvas)
        }
        else if (__isPmButtonPressed == true)
        {
-               __pPmBox->DrawDisplayBox(canvas, DATETIME_STATUS_SELECTED);
+               __pPmBox->DrawDisplayBox(canvas, DATETIME_STATUS_PRESSED);
        }
        else
        {
index fa62059..70e12c6 100644 (file)
@@ -44,10 +44,6 @@ _InputPadPresenter::_InputPadPresenter(_InputPad* pInputPad)
        , __pInputPadEventListener(null)
        , __pFont(null)
        , __pKeypadBackgroundBitmap(null)
-       , __pKeypadButtonNormalPlainBitmap(null)
-       , __pKeypadButtonPressedPlainBitmap(null)
-       , __pKeypadButtonNormalEffectBitmap(null)
-       , __pKeypadButtonPressedEffectBitmap(null)
        , __inputPadStyle(INPUTPAD_STYLE_NORMAL)
        , __buttonWidth(0.0f)
        , __buttonHeight(0.0f)
@@ -58,6 +54,11 @@ _InputPadPresenter::_InputPadPresenter(_InputPad* pInputPad)
        , __pressedIndex(-1)
        , __isLayoutChanged(false)
 {
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               __pKeypadButtonNormalBitmap[i] = null;
+               __pKeypadButtonEffectBitmap[i] = null;
+       }
 }
 
 _InputPadPresenter::~_InputPadPresenter(void)
@@ -68,17 +69,14 @@ _InputPadPresenter::~_InputPadPresenter(void)
        delete __pKeypadBackgroundBitmap;
        __pKeypadBackgroundBitmap = null;
 
-       delete __pKeypadButtonNormalPlainBitmap;
-       __pKeypadButtonNormalPlainBitmap = null;
-
-       delete __pKeypadButtonPressedPlainBitmap;
-       __pKeypadButtonPressedPlainBitmap = null;
-
-       delete __pKeypadButtonNormalEffectBitmap;
-       __pKeypadButtonNormalEffectBitmap = null;
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete __pKeypadButtonNormalBitmap[i];
+               __pKeypadButtonNormalBitmap[i] = null;
 
-       delete __pKeypadButtonPressedEffectBitmap;
-       __pKeypadButtonPressedEffectBitmap = null;
+               delete __pKeypadButtonEffectBitmap[i];
+               __pKeypadButtonEffectBitmap[i] = null;
+       }
 }
 
 result
@@ -123,62 +121,102 @@ _InputPadPresenter::LoadResource(void)
 {
        result r = E_SUCCESS;
 
-       Color buttonNormalColor;
-       Color buttonPressedColor;
+       Color buttonColor[DATETIME_STATUS_MAX];
+       Color replacementColor = Color::GetColor(COLOR_ID_MAGENTA);
+
+       Bitmap* pButtonBgNormalBitmap[DATETIME_STATUS_MAX];
+       bool isCustomBitmap[DATETIME_STATUS_MAX];
 
-       Bitmap* pBgNormalBitmap = null;
-       Bitmap* pBgEffectBitmap = null;
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               buttonColor[i] = Color();
+               pButtonBgNormalBitmap[i] = null;
+               isCustomBitmap[i] = false;
+       }
 
-       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_NORMAL, buttonNormalColor);
-       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_PRESSED, buttonPressedColor);
+       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_NORMAL, buttonColor[DATETIME_STATUS_NORMAL]);
+       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_PRESSED, buttonColor[DATETIME_STATUS_PRESSED]);
+       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_HIGHLIGHTED, buttonColor[DATETIME_STATUS_HIGHLIGHTED]);
+       GET_COLOR_CONFIG(INPUTPAD::BUTTON_BG_DISABLED, buttonColor[DATETIME_STATUS_DISABLED]);
 
-       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBgNormalBitmap);
+       r = GET_BITMAP_CONFIG_N(INPUTPAD::BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadBackgroundBitmap);
        SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
 
-       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pBgEffectBitmap);
+       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pButtonBgNormalBitmap[DATETIME_STATUS_NORMAL]);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       r = GET_BITMAP_CONFIG_N(INPUTPAD::BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadBackgroundBitmap);
+       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, pButtonBgNormalBitmap[DATETIME_STATUS_PRESSED]);
        SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       __pKeypadButtonNormalPlainBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), buttonNormalColor);
-       SysTryCatch(NID_UI_CTRL, (__pKeypadButtonNormalPlainBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, pButtonBgNormalBitmap[DATETIME_STATUS_HIGHLIGHTED]);
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       __pKeypadButtonPressedPlainBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), buttonPressedColor);
-       SysTryCatch(NID_UI_CTRL, (__pKeypadButtonPressedPlainBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+       r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, pButtonBgNormalBitmap[DATETIME_STATUS_DISABLED]);
+       SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
 
-       __pKeypadButtonNormalEffectBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgEffectBitmap, Color::GetColor(COLOR_ID_MAGENTA), buttonNormalColor);
-       SysTryCatch(NID_UI_CTRL, (__pKeypadButtonNormalEffectBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+       isCustomBitmap[DATETIME_STATUS_NORMAL] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_NORMAL);
+       isCustomBitmap[DATETIME_STATUS_PRESSED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_PRESSED);
+       isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_HIGHLIGHTED);
+       isCustomBitmap[DATETIME_STATUS_DISABLED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_DISABLED);
 
-       __pKeypadButtonPressedEffectBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pBgEffectBitmap, Color::GetColor(COLOR_ID_MAGENTA), buttonPressedColor);
-       SysTryCatch(NID_UI_CTRL, (__pKeypadButtonPressedEffectBitmap != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               if (isCustomBitmap[i])
+               {
+                       __pKeypadButtonNormalBitmap[i] = pButtonBgNormalBitmap[i];
+               }
+               else
+               {
+                       __pKeypadButtonNormalBitmap[i] = _BitmapImpl::GetColorReplacedBitmapN(*pButtonBgNormalBitmap[i], replacementColor, buttonColor[i]);
+                       SysTryCatch(NID_UI_CTRL, (__pKeypadButtonNormalBitmap[i] != null), , r, "[%s] Propagating.", GetErrorMessage(r));
+               }
+       }
 
-       delete pBgNormalBitmap;
-       delete pBgEffectBitmap;
+       if (!isCustomBitmap[DATETIME_STATUS_NORMAL])
+       {
+               r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadButtonEffectBitmap[DATETIME_STATUS_NORMAL]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
-       return r;
+       if (!isCustomBitmap[DATETIME_STATUS_PRESSED])
+       {
+               r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_EFFECT_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadButtonEffectBitmap[DATETIME_STATUS_PRESSED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
-CATCH:
-       delete pBgNormalBitmap;
-       pBgNormalBitmap = null;
+       if (!isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED])
+       {
+               r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_EFFECT_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadButtonEffectBitmap[DATETIME_STATUS_HIGHLIGHTED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
-       delete pBgEffectBitmap;
-       pBgEffectBitmap = null;
+       if (!isCustomBitmap[DATETIME_STATUS_DISABLED])
+       {
+               r = GET_BITMAP_CONFIG_N(INPUTPAD::BUTTON_BG_EFFECT_DISABLED, BITMAP_PIXEL_FORMAT_ARGB8888, __pKeypadButtonEffectBitmap[DATETIME_STATUS_DISABLED]);
+               SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+       }
 
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete pButtonBgNormalBitmap[i];
+       }
+
+       return r;
+
+CATCH:
        delete __pKeypadBackgroundBitmap;
        __pKeypadBackgroundBitmap = null;
 
-       delete __pKeypadButtonNormalPlainBitmap;
-       __pKeypadButtonNormalPlainBitmap = null;
-
-       delete __pKeypadButtonPressedPlainBitmap;
-       __pKeypadButtonPressedPlainBitmap = null;
+       for (int i = 0; i < DATETIME_STATUS_MAX; i++)
+       {
+               delete pButtonBgNormalBitmap[i];
 
-       delete __pKeypadButtonNormalEffectBitmap;
-       __pKeypadButtonNormalEffectBitmap = null;
+               delete __pKeypadButtonNormalBitmap[i];
+               __pKeypadButtonNormalBitmap[i] = null;
 
-       delete __pKeypadButtonPressedEffectBitmap;
-       __pKeypadButtonPressedEffectBitmap = null;
+               delete __pKeypadButtonEffectBitmap[i];
+               __pKeypadButtonEffectBitmap[i] = null;
+       }
 
        return r;
 }
@@ -325,6 +363,8 @@ _InputPadPresenter::DrawButton(Canvas& canvas, int index)
 {
        result r = E_SUCCESS;
        Color textColor;
+       DateTimePickerStatus status;
+       bool isCustomBitmap[DATETIME_STATUS_MAX];
 
        FloatRectangle buttonBounds = GetButtonBounds(index);
        int returnValue = GetReturnValue(index);
@@ -335,44 +375,55 @@ _InputPadPresenter::DrawButton(Canvas& canvas, int index)
                return E_SUCCESS;
        }
 
-       if (__pressedIndex == index)
+       if (__pInputPad->IsEnabled() == false)
+       {
+               status = DATETIME_STATUS_DISABLED;
+               GET_COLOR_CONFIG(INPUTPAD::TEXT_DISABLED, textColor);
+       }
+       else if (__pressedIndex == index)
+       {
+               status = DATETIME_STATUS_PRESSED;
+               GET_COLOR_CONFIG(INPUTPAD::TEXT_PRESSED, textColor);
+       }
+       else
+       {
+               status = DATETIME_STATUS_NORMAL;
+               GET_COLOR_CONFIG(INPUTPAD::TEXT_NORMAL, textColor);
+       }
+
+       isCustomBitmap[DATETIME_STATUS_NORMAL] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_NORMAL);
+       isCustomBitmap[DATETIME_STATUS_PRESSED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_PRESSED);
+       isCustomBitmap[DATETIME_STATUS_HIGHLIGHTED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_HIGHLIGHTED);
+       isCustomBitmap[DATETIME_STATUS_DISABLED] = IS_CUSTOM_BITMAP(INPUTPAD::BUTTON_BG_DISABLED);
+
+       if (isCustomBitmap[status] == false && __pKeypadButtonEffectBitmap[status] != null)
        {
-               if (__pKeypadButtonPressedEffectBitmap != null)
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pKeypadButtonEffectBitmap[status]))
                {
-                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonPressedEffectBitmap);
+                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonEffectBitmap[status]);
                        SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
                }
-
-               if (__pKeypadButtonPressedPlainBitmap != null)
+               else
                {
-                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonPressedPlainBitmap);
+                       r = canvas.DrawBitmap(buttonBounds, *__pKeypadButtonEffectBitmap[status]);
                        SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
                }
        }
-       else
+
+       if (__pKeypadButtonNormalBitmap[status] != null)
        {
-               if (__pKeypadButtonNormalEffectBitmap != null)
+               if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pKeypadButtonNormalBitmap[status]))
                {
-                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonNormalEffectBitmap);
+                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonNormalBitmap[status]);
                        SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
                }
-
-               if (__pKeypadButtonNormalPlainBitmap != null)
+               else
                {
-                       r = canvas.DrawNinePatchedBitmap(buttonBounds, *__pKeypadButtonNormalPlainBitmap);
+                       r = canvas.DrawBitmap(buttonBounds, *__pKeypadButtonNormalBitmap[status]);
                        SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
                }
        }
 
-       if (__pressedIndex == index)
-       {
-               GET_COLOR_CONFIG(INPUTPAD::TEXT_PRESSED, textColor);
-       }
-       else
-       {
-               GET_COLOR_CONFIG(INPUTPAD::TEXT_NORMAL, textColor);
-       }
-
        // Draw text
        if (__inputPadStyle == INPUTPAD_STYLE_ALPHA)
        {
index 76614f8..54e942c 100644 (file)
@@ -120,8 +120,8 @@ enum _DateTimeId
 enum DateTimePickerStatus
 {
        DATETIME_STATUS_NORMAL = 0,
-       DATETIME_STATUS_SELECTED,
-       DATETIME_STATUS_FOCUSED,
+       DATETIME_STATUS_PRESSED,
+       DATETIME_STATUS_HIGHLIGHTED,
        DATETIME_STATUS_DISABLED,
        DATETIME_STATUS_MAX
 };
index 2639d7b..1ca5722 100644 (file)
@@ -49,8 +49,7 @@ public:
 
        void SetFocusable(bool focusable);
 
-       void SetBackgroundBitmap(Tizen::Graphics::Bitmap* pNormalBitmap, Tizen::Graphics::Bitmap* pEffectBitmap,
-                       Tizen::Graphics::Bitmap* pPressedEffectBitmap, Tizen::Graphics::Bitmap* pDisabledEffectBitmap);
+       void SetBackgroundBitmap(Tizen::Graphics::Bitmap **pBackgroundNormalBitmap, Tizen::Graphics::Bitmap **pBackgroundEffectBitmap);
 
        void UpdateDisplayBoxBounds(Tizen::Graphics::FloatRectangle& bounds);
 
@@ -77,14 +76,11 @@ private:
 
        bool __focusable;
 
-       Tizen::Graphics::Color __backgroundColor[DATETIME_STATUS_MAX];
        Tizen::Graphics::Color __textColor[DATETIME_STATUS_MAX];
 
        Tizen::Graphics::Font* __pFont;
        Tizen::Graphics::Bitmap* __pBackgroundNormalBitmap[DATETIME_STATUS_MAX];
-       Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap;
-       Tizen::Graphics::Bitmap* __pBackgroundPressedEffectBitmap;
-       Tizen::Graphics::Bitmap* __pBackgroundDisabledEffectBitmap;
+       Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap[DATETIME_STATUS_MAX];
 }; // _DateTimeDisplayBox
 
 }}} // Tizen::Ui::Controls
index 8d64a6a..6e9ec12 100644 (file)
@@ -210,10 +210,8 @@ private:
 
        Tizen::Base::String __title;
 
-       Tizen::Graphics::Bitmap* __pPmBoxNormalBitmap;
-       Tizen::Graphics::Bitmap* __pPmBoxEffectBitmap;
-       Tizen::Graphics::Bitmap* __pPmBoxPressedEffectBitmap;
-       Tizen::Graphics::Bitmap* __pPmBoxDisabledEffectBitmap;
+       Tizen::Graphics::Bitmap* __pBackgroundNormalBitmap[DATETIME_STATUS_MAX];
+       Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap[DATETIME_STATUS_MAX];
        Tizen::Graphics::Bitmap* __pColonBitmap;
        Tizen::Graphics::Bitmap* __pColonDisabledBitmap;
        Tizen::Graphics::Bitmap* __pBgNormalBitmap;
index 5ffea5f..ca9f3de 100644 (file)
@@ -87,11 +87,8 @@ private:
 
        Tizen::Graphics::Bitmap* __pKeypadBackgroundBitmap;
 
-       Tizen::Graphics::Bitmap* __pKeypadButtonNormalPlainBitmap;
-       Tizen::Graphics::Bitmap* __pKeypadButtonPressedPlainBitmap;
-
-       Tizen::Graphics::Bitmap* __pKeypadButtonNormalEffectBitmap;
-       Tizen::Graphics::Bitmap* __pKeypadButtonPressedEffectBitmap;
+       Tizen::Graphics::Bitmap* __pKeypadButtonNormalBitmap[DATETIME_STATUS_MAX];
+       Tizen::Graphics::Bitmap* __pKeypadButtonEffectBitmap[DATETIME_STATUS_MAX];
 
        Tizen::Graphics::_Text::TextObject __textObject;
        Tizen::Graphics::_Text::TextObject __guideTextObject;
index d628410..02562f9 100644 (file)
@@ -53,20 +53,21 @@ DECLARE_UI_CONFIG(DATETIMEPICKER);
        DECLARE_IMAGE_CONFIG(AMPM_BG_PRESSED, 2)
        DECLARE_IMAGE_CONFIG(AMPM_BG_HIGHLIGHTED, 3)
        DECLARE_IMAGE_CONFIG(AMPM_BG_DISABLED, 4)
-       DECLARE_IMAGE_CONFIG(AMPM_BG_NORMAL_EFFECT, 5)
-       DECLARE_IMAGE_CONFIG(AMPM_BG_PRESSED_EFFECT, 6)
-       DECLARE_IMAGE_CONFIG(AMPM_BG_DISABLED_EFFECT, 7)
-       DECLARE_IMAGE_CONFIG(AMPM_BG_HIGHLIGHTED_EFFECT, 8)
+       DECLARE_IMAGE_CONFIG(AMPM_BG_EFFECT_NORMAL, 5)
+       DECLARE_IMAGE_CONFIG(AMPM_BG_EFFECT_PRESSED, 6)
+       DECLARE_IMAGE_CONFIG(AMPM_BG_EFFECT_HIGHLIGHTED, 7)
+       DECLARE_IMAGE_CONFIG(AMPM_BG_EFFECT_DISABLED, 8)
        DECLARE_IMAGE_CONFIG(COLON_BG_NORMAL, 9)
        DECLARE_IMAGE_CONFIG(BG_NORMAL, 10);
        DECLARE_IMAGE_CONFIG(BG_EFFECT, 11);
        DECLARE_IMAGE_CONFIG(CONTENT_BG_NORMAL,12);
        DECLARE_IMAGE_CONFIG(CONTENT_BG_PRESSED,13);
-       DECLARE_IMAGE_CONFIG(CONTENT_BG_DISABLED,14);
-       DECLARE_IMAGE_CONFIG(CONTENT_BG_HIGHLIGHTED,15);
+       DECLARE_IMAGE_CONFIG(CONTENT_BG_HIGHLIGHTED,14);
+       DECLARE_IMAGE_CONFIG(CONTENT_BG_DISABLED,15);
        DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_NORMAL,16);
-       DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_DISABLED,17);
-       DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_PRESSED,18);
+       DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_PRESSED,17);
+       DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_HIGHLIGHTED,18);
+       DECLARE_IMAGE_CONFIG(CONTENT_BG_EFFECT_DISABLED,19);
 
        DECLARE_SHAPE_CONFIG(FOOTER_HEIGHT, 1)
        DECLARE_SHAPE_CONFIG(INPUTPAD_HEIGHT, 2)
index fe42fcc..4b7773a 100644 (file)
 DECLARE_UI_CONFIG(INPUTPAD);
        DECLARE_COLOR_CONFIG(TEXT_NORMAL, 1);
        DECLARE_COLOR_CONFIG(TEXT_PRESSED, 2);
-       DECLARE_COLOR_CONFIG(GUIDE_TEXT_NORMAL, 3);
-       DECLARE_COLOR_CONFIG(BUTTON_BG_NORMAL, 4);
-       DECLARE_COLOR_CONFIG(BUTTON_BG_PRESSED, 5);
+       DECLARE_COLOR_CONFIG(TEXT_HIGHLIGHTED, 3);
+       DECLARE_COLOR_CONFIG(TEXT_DISABLED, 4);
+       DECLARE_COLOR_CONFIG(GUIDE_TEXT_NORMAL, 5);
+       DECLARE_COLOR_CONFIG(BUTTON_BG_NORMAL, 6);
+       DECLARE_COLOR_CONFIG(BUTTON_BG_PRESSED, 7);
+       DECLARE_COLOR_CONFIG(BUTTON_BG_HIGHLIGHTED, 8);
+       DECLARE_COLOR_CONFIG(BUTTON_BG_DISABLED, 9);
        DECLARE_IMAGE_CONFIG(BG_NORMAL, 1);
        DECLARE_IMAGE_CONFIG(BUTTON_BG_NORMAL, 2);
        DECLARE_IMAGE_CONFIG(BUTTON_BG_PRESSED, 3);
-       DECLARE_IMAGE_CONFIG(BUTTON_BG_EFFECT_NORMAL, 4);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_HIGHLIGHTED, 4);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_DISABLED, 5);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_EFFECT_NORMAL, 6);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_EFFECT_PRESSED, 7);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_EFFECT_HIGHLIGHTED, 8);
+       DECLARE_IMAGE_CONFIG(BUTTON_BG_EFFECT_DISABLED, 9);
        DECLARE_SHAPE_CONFIG(TOP_MARGIN, 1);
        DECLARE_SHAPE_CONFIG(BUTTON_HORIZONTAL_MARGIN, 2);
        DECLARE_SHAPE_CONFIG(BUTTON_VERTICAL_MARGIN, 3);
@@ -47,4 +56,4 @@ DECLARE_UI_CONFIG(INPUTPAD);
        DECLARE_FIXED_VALUE_CONFIG(BUTTON_TOUCH_CORRECTION_Y, 1);
 DECLARE_END_UI_CONFIG(INPUTPAD);
 
-#endif //_FUI_RESOURCE_INPUT_PAD_CONFIG_H_
\ No newline at end of file
+#endif //_FUI_RESOURCE_INPUT_PAD_CONFIG_H_
index 0906fda..2cacec5 100644 (file)
@@ -1106,6 +1106,10 @@ ConfigParser::GetImageKeyTable(void)
                        __pImageKeyTable->Add(ResourceKey(key), _DATETIMEPICKER::CONTENT_BG_HIGHLIGHTED_IMAGE);
                }
                {
+                       const char* key ="DATETIMEPICKER::COLON_BG_NORMAL";
+                       __pImageKeyTable->Add(ResourceKey(key), _DATETIMEPICKER::COLON_BG_NORMAL_IMAGE);
+               }
+               {
                        const char* key ="EDIT::BG_NORMAL";
                        __pImageKeyTable->Add(ResourceKey(key), _EDIT::BG_NORMAL_IMAGE);
                }
@@ -1582,6 +1586,14 @@ ConfigParser::GetImageKeyTable(void)
                        __pImageKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_PRESSED_IMAGE);
                }
                {
+                       const char* key ="INPUTPAD::BUTTON_BG_HIGHLIGHTED";
+                       __pImageKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_HIGHLIGHTED_IMAGE);
+               }
+               {
+                       const char* key ="INPUTPAD::BUTTON_BG_DISABLED";
+                       __pImageKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_DISABLED_IMAGE);
+               }
+               {
                        const char* key ="LIVEBOX::POPUP_BG";
                        __pImageKeyTable->Add(ResourceKey(key), _LIVEBOX::POPUP_BG_IMAGE);
                }
@@ -2452,7 +2464,7 @@ ConfigParser::GetColorKeyTable(void)
                        const char* key ="EDIT::GUIDE_TEXT_NORMAL";
                        __pColorKeyTable->Add(ResourceKey(key), _EDIT::GUIDE_TEXT_NORMAL_COLOR);
                }
-                                       {
+               {
                        const char* key ="EDIT::CLEAR_ICON_NORMAL";
                        __pColorKeyTable->Add(ResourceKey(key), _EDIT::CLEAR_ICON_NORMAL_COLOR);
                }
@@ -3406,6 +3418,22 @@ ConfigParser::GetColorKeyTable(void)
                        __pColorKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_PRESSED_COLOR);
                }
                {
+                       const char* key ="INPUTPAD::TEXT_HIGHLIGHTED";
+                       __pColorKeyTable->Add(ResourceKey(key), _INPUTPAD::TEXT_HIGHLIGHTED_COLOR);
+               }
+               {
+                       const char* key ="INPUTPAD::TEXT_DISABLED";
+                       __pColorKeyTable->Add(ResourceKey(key), _INPUTPAD::TEXT_DISABLED_COLOR);
+               }
+               {
+                       const char* key ="INPUTPAD::BUTTON_BG_HIGHLIGHTED";
+                       __pColorKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_HIGHLIGHTED_COLOR);
+               }
+               {
+                       const char* key ="INPUTPAD::BUTTON_BG_DISABLED";
+                       __pColorKeyTable->Add(ResourceKey(key), _INPUTPAD::BUTTON_BG_DISABLED_COLOR);
+               }
+               {
                        const char* key ="LABEL::TEXT_NORMAL";
                        __pColorKeyTable->Add(ResourceKey(key), _LABEL::TEXT_NORMAL_COLOR);
                }
index af6cefb..ec42435 100644 (file)
@@ -58,10 +58,10 @@ START_UI_CONFIG(DATETIMEPICKER);
        ADD_IMAGE_CONFIG(AMPM_BG_HIGHLIGHTED, #00_button_01_focus.#.png);
        ADD_IMAGE_CONFIG(AMPM_BG_DISABLED, #00_button_01.#.png);
 
-       ADD_IMAGE_CONFIG(AMPM_BG_NORMAL_EFFECT, #00_button_01_ef.#.png);
-       ADD_IMAGE_CONFIG(AMPM_BG_PRESSED_EFFECT, #00_button_01_ef_press.#.png);
-       ADD_IMAGE_CONFIG(AMPM_BG_DISABLED_EFFECT, #00_button_01_ef_dim.#.png);
-       ADD_IMAGE_CONFIG(AMPM_BG_HIGHLIGHTED_EFFECT, #00_button_01_ef.#.png);
+       ADD_IMAGE_CONFIG(AMPM_BG_EFFECT_NORMAL, #00_button_01_ef.#.png);
+       ADD_IMAGE_CONFIG(AMPM_BG_EFFECT_PRESSED, #00_button_01_ef_press.#.png);
+       ADD_IMAGE_CONFIG(AMPM_BG_EFFECT_HIGHLIGHTED, #00_button_01_ef.#.png);
+       ADD_IMAGE_CONFIG(AMPM_BG_EFFECT_DISABLED, #00_button_01_ef_dim.#.png);
 
        ADD_IMAGE_CONFIG(COLON_BG_NORMAL, #00_date_picker_dot.png);
        ADD_IMAGE_CONFIG(BG_NORMAL, #00_list_group_bg.#.png);
@@ -69,11 +69,13 @@ START_UI_CONFIG(DATETIMEPICKER);
 
        ADD_IMAGE_CONFIG(CONTENT_BG_NORMAL, #00_picker_button.#.png);
        ADD_IMAGE_CONFIG(CONTENT_BG_PRESSED, #00_picker_button.#.png);
+       ADD_IMAGE_CONFIG(CONTENT_BG_HIGHLIGHTED, #00_picker_button.#.png);
        ADD_IMAGE_CONFIG(CONTENT_BG_DISABLED, #00_picker_button.#.png);
-       ADD_IMAGE_CONFIG(CONTENT_BG_HIGHLIGHTED, #00_picker_button_focus.#.png);
+
        ADD_IMAGE_CONFIG(CONTENT_BG_EFFECT_NORMAL, #00_picker_button_ef.#.png);
-       ADD_IMAGE_CONFIG(CONTENT_BG_EFFECT_DISABLED, #00_picker_button_dim_ef.#.png);
        ADD_IMAGE_CONFIG(CONTENT_BG_EFFECT_PRESSED, #00_picker_button_press_ef.#.png);
+       ADD_IMAGE_CONFIG(CONTENT_BG_EFFECT_HIGHLIGHTED, #00_picker_button_focus.#.png);
+       ADD_IMAGE_CONFIG(CONTENT_BG_EFFECT_DISABLED, #00_picker_button_dim_ef.#.png);
 
        START_UI_CONFIG_MODE(720x1280);
        {
index b796428..56b3019 100644 (file)
@@ -26,14 +26,26 @@ START_UI_CONFIG(INPUTPAD);
 {
        ADD_COLOR_CONFIG(TEXT_NORMAL, $F031L1);
        ADD_COLOR_CONFIG(TEXT_PRESSED, $F031L1P);
+       ADD_COLOR_CONFIG(TEXT_HIGHLIGHTED, $F031L1);
+       ADD_COLOR_CONFIG(TEXT_DISABLED, $F031L1);
+
        ADD_COLOR_CONFIG(GUIDE_TEXT_NORMAL, $F031L1);
+
        ADD_COLOR_CONFIG(BUTTON_BG_NORMAL, $W011);
        ADD_COLOR_CONFIG(BUTTON_BG_PRESSED, $B042);
+       ADD_COLOR_CONFIG(BUTTON_BG_HIGHLIGHTED, $W011);
+       ADD_COLOR_CONFIG(BUTTON_BG_DISABLED, $W011);
 
        ADD_IMAGE_CONFIG(BG_NORMAL, #00_time_picker_keypad_bg.#.png);
        ADD_IMAGE_CONFIG(BUTTON_BG_NORMAL, #00_time_picker_keypad_button_bg.#.png);
        ADD_IMAGE_CONFIG(BUTTON_BG_PRESSED, #00_time_picker_keypad_button_bg.#.png);
+       ADD_IMAGE_CONFIG(BUTTON_BG_HIGHLIGHTED, #00_time_picker_keypad_button_bg.#.png);
+       ADD_IMAGE_CONFIG(BUTTON_BG_DISABLED, #00_time_picker_keypad_button_bg.#.png);
+
        ADD_IMAGE_CONFIG(BUTTON_BG_EFFECT_NORMAL, #00_time_picker_keypad_button_bg_ef.#.png);
+       ADD_IMAGE_CONFIG(BUTTON_BG_EFFECT_PRESSED, #00_time_picker_keypad_button_bg_ef.#.png);
+       ADD_IMAGE_CONFIG(BUTTON_BG_EFFECT_HIGHLIGHTED, #00_time_picker_keypad_button_bg_ef.#.png);
+       ADD_IMAGE_CONFIG(BUTTON_BG_EFFECT_DISABLED, #00_time_picker_keypad_button_bg_ef.#.png);
 
        START_UI_CONFIG_MODE(720x1280);
        {