}
result
-_EditTimePresenter::DrawResourceBitmap(Canvas& canvas, const FloatRectangle& bounds, Bitmap* pBitmap)
+_EditTimePresenter::DrawResourceBitmap(Canvas& canvas, const FloatRectangle& bounds, Bitmap* pBitmap, bool isCustomBitmap)
{
result r = E_SUCCESS;
}
else
{
- r = canvas.DrawBitmap(bounds, *pBitmap);
+ if (isCustomBitmap)
+ {
+ Canvas *pContentCanvas = __pEditTime->GetCanvasN(bounds);
+ SysTryReturnResult(NID_UI_CTRL, (pContentCanvas != null), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ FloatPoint position;
+
+ position.x = (bounds.width - pBitmap->GetWidthF()) / 2;
+ position.y = (bounds.height - pBitmap->GetHeightF()) / 2;
+ r = pContentCanvas->DrawBitmap(position, *pBitmap);
+ delete pContentCanvas;
+ }
+ else
+ {
+ r = canvas.DrawBitmap(FloatPoint(bounds.x, bounds.y), *pBitmap);
+ }
+
SysTryReturn(NID_UI_CTRL, (r == E_SUCCESS), r, r, "[%s] Propagating.", GetErrorMessage(r));
}
if (!__24hours)
{
- r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap);
+ r = DrawResourceBitmap(*pCanvas, ampmBounds, pReplacementBitmap, isCustomBitmap);
SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
if (!isCustomBitmap)
{
FloatRectangle bounds(0.0f, 0.0f, 0.0f, 0.0f);
+ Canvas* pContentCanvas = null;
Canvas* pCanvas = __pEditTime->GetCanvasN();
- SysTryReturnResult(NID_UI_CTRL, (pCanvas != null), E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Unable to create canvas.");
+ SysTryReturnResult(NID_UI_CTRL, (pCanvas != null), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
if (__focusId == DATETIME_ID_HOUR)
{
}
else
{
- r = pCanvas->DrawBitmap(bounds, *__pContentBgHighlightedColorReplacementBitmap);
+ pContentCanvas = __pEditTime->GetCanvasN(bounds);
+ SysTryCatch(NID_UI_CTRL, (pContentCanvas != null), , GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ bounds.x = (bounds.width - __pContentBgHighlightedColorReplacementBitmap->GetWidthF()) / 2;
+ bounds.y = (bounds.height - __pContentBgHighlightedColorReplacementBitmap->GetHeightF()) / 2;
+
+ r = pContentCanvas->DrawBitmap(FloatPoint(bounds.x, bounds.y), *__pContentBgHighlightedColorReplacementBitmap);
SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
+ delete pContentCanvas;
}
delete pCanvas;
CATCH:
delete pCanvas;
+ delete pContentCanvas;
return r;
}
pEffectBitmap = __pContentBgEffectPressedBitmap;
}
- r = DrawResourceBitmap(canvas, bounds, pReplacementBitmap);
+ r = DrawResourceBitmap(canvas, bounds, pReplacementBitmap, isCustomBitmap);
SysTryReturn(NID_UI_CTRL, (r == E_SUCCESS), r, r, "[%s] Propagating.", GetErrorMessage(r));
if (!isCustomBitmap)
if (__isEnterKeyPressed)
{
__isEnterKeyPressed = false;
- __isFocused = true;
+
+ if (__pEditTime->IsFocusModeStateEnabled())
+ {
+ __isFocused = true;
+ }
}
if (__focusId == DATETIME_ID_NONE || __focusId == DATETIME_ID_AMPM)
{
if (!__isEnterKeyPressed || __focusId == DATETIME_ID_AMPM)
{
__focusId = DATETIME_ID_NONE;
+ __selectedId = DATETIME_ID_NONE;
}
__isFocused = false;
__pEditTime->Invalidate();
__isFocused = false;
__focusId = DATETIME_ID_NONE;
__isEnterKeyPressed = false;
+ __selectedId = DATETIME_ID_NONE;
__pEditTime->Invalidate();
return;
}
if (__isAnimating)
{
- VisualElement *pEditTimeElement = __pEditTime->GetVisualElement();
+ VisualElement* pEditTimeElement = __pEditTime->GetVisualElement();
result r = GetLastResult();
SysTryReturn(NID_UI_CTRL, (pEditTimeElement != null), false, r, "[%s] Propagating.", GetErrorMessage(r));
pEditTimeElement->RemoveAllAnimations();
VisualElement* pEditTimeElement = null;
VisualElementPropertyAnimation* pNewBoundsAnimation = null;
VisualElementPropertyAnimation* pOldBoundsAnimation = null;
- Canvas *pCanvas = null;
- Canvas *pContentCanvas = null;
+ Canvas* pCanvas = null;
+ Canvas* pContentCanvas = null;
Color contentBgColor;
Color textNormalColor;
Color textPressedColor;
pCanvas->Clear();
rect.x = 0.0f;
rect.y = 0.0f;
- r = DrawResourceBitmap(*pCanvas, rect, __pContentBgPressedColorReplacementBitmap);
isCustomBitmap = IS_CUSTOM_BITMAP(EDITTIME::CONTENT_BG_PRESSED);
+ r = DrawResourceBitmap(*pCanvas, rect, __pContentBgPressedColorReplacementBitmap, isCustomBitmap);
if (!isCustomBitmap)
{