, __pIconElement(null)
, __pReplacedSearchFieldNormalBitmap(null)
, __pReplacedSearchFieldDisabledBitmap(null)
+ , __pReplacedSearchBarBitmap(null)
+ , __pSearchBarBitmap(null)
, __pSearchFieldEffectBitmap(null)
+ , __pSearchBarEffectBitmap(null)
+ , __currentBgColor(Color())
, __lazyDecode(false)
{
}
__pReplacedSearchFieldDisabledBitmap = null;
}
+ if (__pReplacedSearchBarBitmap)
+ {
+ delete __pReplacedSearchBarBitmap;
+ __pReplacedSearchBarBitmap = null;
+ }
+
+ if (__pSearchBarBitmap)
+ {
+ delete __pSearchBarBitmap;
+ __pSearchBarBitmap = null;
+ }
+
if (__pSearchFieldEffectBitmap)
{
delete __pSearchFieldEffectBitmap;
__pSearchFieldEffectBitmap = null;
}
+
+ if (__pSearchBarEffectBitmap)
+ {
+ delete __pSearchBarEffectBitmap;
+ __pSearchBarEffectBitmap = null;
+ }
}
result
SysTryReturn(NID_UI_CTRL, __pContainer, E_SYSTEM, E_SYSTEM,
" [E_SYSTEM] A system error has occurred. Failed to get the content.");
- r = LoadSearchFieldIcon();
+ r = LoadSearchBarBitmaps();
SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
_VisualElement* pEditElement = __pEdit->GetVisualElement();
}
result
-_SearchBarPresenter::LoadSearchFieldIcon()
+_SearchBarPresenter::LoadSearchBarBitmaps()
{
result r = E_SUCCESS;
Color searchFieldIconColor;
Bitmap* pSearchFieldBitmap;
+ r = GET_BITMAP_CONFIG_N(SEARCHBAR::SEARCHBAR_BG, BITMAP_PIXEL_FORMAT_ARGB8888, __pSearchBarBitmap);
+ SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "[%s] Propagating.", GetErrorMessage(r));
+
+ r = GET_BITMAP_CONFIG_N(SEARCHBAR::SEARCHBAR_BG_EFFECT, BITMAP_PIXEL_FORMAT_ARGB8888, __pSearchBarEffectBitmap);
+ SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r,"[%s] Propagating.", GetErrorMessage(r));
+
+ __currentBgColor = __pSearchBar->GetColor();
+
+ __pReplacedSearchBarBitmap = _BitmapImpl::GetColorReplacedBitmapN(*__pSearchBarBitmap, Color::GetColor(COLOR_ID_MAGENTA), __currentBgColor);
+ SysTryCatch(NID_UI_CTRL, __pReplacedSearchBarBitmap != null, r = GetLastResult(), GetLastResult(),"[%s] Propagating.",
+ GetErrorMessage(GetLastResult()));
r = GET_BITMAP_CONFIG_N(SEARCHBAR::ICON_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, pSearchFieldBitmap);
- SysTryReturnResult(NID_UI_CTRL, (r == E_SUCCESS), r, "Propagating.");
+ SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
r = GET_BITMAP_CONFIG_N(SEARCHBAR::ICON_EFFECT_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pSearchFieldEffectBitmap);
SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r,"[%s] Propagating.", GetErrorMessage(r));
return r;
CATCH:
+ delete __pSearchBarBitmap;
+ __pSearchBarBitmap = null;
+
+ delete __pSearchBarEffectBitmap;
+ __pSearchBarEffectBitmap = null;
+
+ delete __pReplacedSearchBarBitmap;
+ __pReplacedSearchBarBitmap = null;
+
delete pSearchFieldBitmap;
pSearchFieldBitmap = null;
Bitmap* pBackgroundBitmap = __pSearchBar->GetBackgroundBitmap();
- if (pBackgroundBitmap)
+ if (!pBackgroundBitmap)
+ {
+ r = DrawSearchBarDefaultBitmap();
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ }
+ else
{
String imagePath = L"";
delete pCanvas;
}
}
+
+ r = DrawIcon();
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ return r;
+}
+
+result
+_SearchBarPresenter::DrawSearchBarDefaultBitmap(void)
+{
+ result r = E_SUCCESS;
+ Canvas* pCanvas = null;
+ bool isCustomBitmap = false;
+ FloatRectangle bounds = __pSearchBar->GetBoundsF();
+
+ Color bgColor = __pSearchBar->GetColor();
+
+ if (bgColor != __currentBgColor)
+ {
+ delete __pReplacedSearchBarBitmap;
+ __pReplacedSearchBarBitmap = null;
+
+ __pReplacedSearchBarBitmap = _BitmapImpl::GetColorReplacedBitmapN(*__pSearchBarBitmap, Color::GetColor(COLOR_ID_MAGENTA), bgColor);
+ r = GetLastResult();
+ SysTryReturn(NID_UI_CTRL, (__pReplacedSearchBarBitmap != null), r, r, "[%s] Propagating.", GetErrorMessage(r));
+ __currentBgColor = bgColor;
+ }
+
+ isCustomBitmap = IS_CUSTOM_BITMAP(SEARCHBAR::SEARCHBAR_BG);
+
+ pCanvas = __pSearchBar->GetCanvasN();
+ r = GetLastResult();
+ SysTryReturn(NID_UI_CTRL, (pCanvas != null), r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ pCanvas->SetBackgroundColor(Color(0));
+ pCanvas->Clear();
+
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pReplacedSearchBarBitmap))
+ {
+ pCanvas->DrawNinePatchedBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *__pReplacedSearchBarBitmap);
+ }
else
{
- __pSearchBar->SetBackgroundColor(bgColor);
+ pCanvas->DrawBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *__pReplacedSearchBarBitmap);
}
- r = DrawIcon();
- SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+ if (!isCustomBitmap && __pSearchBarEffectBitmap != null)
+ {
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*__pSearchBarEffectBitmap))
+ {
+ pCanvas->DrawNinePatchedBitmap(FloatRectangle(0, 0, bounds.width, bounds.height), *__pSearchBarEffectBitmap);
+ }
+ else
+ {
+ pCanvas->DrawBitmap(FloatRectangle(0, 0, bounds.width, bounds.height), *__pSearchBarEffectBitmap);
+ }
+ }
+ delete pCanvas;
return r;
}
ADD_COLOR_CONFIG(BUTTON_TEXT_DISABLED, $B052L4D);
ADD_COLOR_CONFIG(BUTTON_TEXT_HIGHLIGHTED, $B052L4);
- ADD_COLOR_CONFIG(EDIT_BG_NORMAL, $W031);
+ ADD_COLOR_CONFIG(EDIT_BG_NORMAL, $W031L1);
ADD_COLOR_CONFIG(EDIT_BG_PRESSED, $B0217);
- ADD_COLOR_CONFIG(EDIT_BG_HIGHLIGHTED, $W031);
- ADD_COLOR_CONFIG(EDIT_BG_DISABLED, $W031D);
- ADD_COLOR_CONFIG(EDIT_BG_FOCUS, $W161);
+ ADD_COLOR_CONFIG(EDIT_BG_HIGHLIGHTED, $W031L1);
+ ADD_COLOR_CONFIG(EDIT_BG_DISABLED, $W031L1D);
+ ADD_COLOR_CONFIG(EDIT_BG_FOCUS, $F055);
ADD_COLOR_CONFIG(GUIDE_TEXT_NORMAL, $W032);
ADD_COLOR_CONFIG(GUIDE_TEXT_DISABLED, $W032D);
ADD_COLOR_CONFIG(GUIDE_TEXT_HIGHLIGHTED, $W032);
ADD_COLOR_CONFIG(ICON_BG_NORMAL, $F041i);
ADD_COLOR_CONFIG(ICON_BG_DISABLED, $F041iD);
ADD_COLOR_CONFIG(CONTENT_AREA_BG_NORMAL, $B013);
+ ADD_COLOR_CONFIG(SEARCHBAR_BG, $B0215);
ADD_IMAGE_CONFIG(EDIT_BG_NORMAL, #00_search_edit_field_bg.#.png);
ADD_IMAGE_CONFIG(EDIT_BG_DISABLED, #00_search_edit_field_bg.#.png);
ADD_IMAGE_CONFIG(ICON_DISABLED, #00_search_icon.png);
ADD_IMAGE_CONFIG(ICON_EFFECT_NORMAL, #00_search_icon_ef.png);
+ ADD_IMAGE_CONFIG(SEARCHBAR_BG, #00_search_bg.#.png);
+ ADD_IMAGE_CONFIG(SEARCHBAR_BG_EFFECT, #00_search_bg_ef.#.png);
START_UI_CONFIG_MODE(720x1280);
{