, __pTextFont(null)
, __pDescriptionTextObject(null)
, __pTitleTextObject(null)
+ , __pBouncingEffectVe(null)
, __flickAnimation()
, __moveDistance(0.0f)
, __flickMove(0.0f)
delete __pTitleTextObject;
__pTitleTextObject = null;
}
+
+ if (__pBouncingEffectVe)
+ {
+ __pBouncingEffectVe->RemoveAllAnimations();
+ __pBouncingEffectVe->Destroy();
+ __pBouncingEffectVe = null;
+ }
}
result
return E_SYSTEM;
}
- float buttonItemGap = 0.0f;
- float dividerBaseHeight = 0.0f;
- float dividerHeight = 0.0f;
-
- float footerButtonItemWidth = 0.0f;
- float footerButtonItemHeight = 0.0f;
float fontSize = 0.0f;
- float dividerTopMargin = 0.0f;
- float segmentedItemHeight = 0.0f;
-
- FloatRectangle bounds(0.0f, 0.0f, __pToolbar->GetBoundsF().width, __pToolbar->GetBoundsF().height);
-
- int itemCount = __pToolbar->GetItemCount();
-
- __portraitSize = _ControlManager::GetInstance()->_ControlManager::GetScreenSizeF();
- __landscapeSize = FloatDimension(__portraitSize.height, __portraitSize.width);
-
- if (__pToolbar->GetOrientation() == _CONTROL_ORIENTATION_PORTRAIT)
- {
- if (bounds.width > __portraitSize.width)
- {
- bounds.width = __portraitSize.width;
- }
- }
- else
- {
- if (bounds.width > __landscapeSize.width)
- {
- bounds.width = __landscapeSize.width;
- }
- }
-
- GET_SHAPE_CONFIG(HEADER::DIVIDER_WIDTH, __pToolbar->GetOrientation(), buttonItemGap);
-
- if (style == TOOLBAR_TAB_LARGE)
- {
- GET_SHAPE_CONFIG(HEADER::TAB_LARGE_DIVIDER_HEIGHT, __pToolbar->GetOrientation(), dividerHeight);
- }
- else
- {
- GET_SHAPE_CONFIG(HEADER::DIVIDER_HEIGHT, __pToolbar->GetOrientation(), dividerHeight);
- }
-
- GET_SHAPE_CONFIG(HEADER::SEGMENTED_ITEM_HEIGHT, __pToolbar->GetOrientation(), segmentedItemHeight);
-
- GET_SHAPE_CONFIG(FOOTER::BUTTON_ITEM_WIDTH, __pToolbar->GetOrientation(), footerButtonItemWidth);
- GET_SHAPE_CONFIG(FOOTER::BUTTON_ITEM_HEIGHT, __pToolbar->GetOrientation(), footerButtonItemHeight);
-
if (style == TOOLBAR_TITLE || style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || style == TOOLBAR_TAB_WITH_TITLE)
{
if (__pTitleBackgroundBitmap)
DrawTitleText(pCanvas);
}
+ DrawDivider();
+
+ if (__initialDraw)
+ {
+ if ((style == TOOLBAR_TAB || style == TOOLBAR_TAB_WITH_TITLE || style == TOOLBAR_TAB_LARGE
+ || style == TOOLBAR_SEGMENTED || style == TOOLBAR_HEADER_SEGMENTED || style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE)
+ && __pToolbar->GetItemCount() > 0 && __pToolbarModel->GetSelectedItemIndex() == -1)
+ {
+ int firstEnabledItemIndex = __pToolbar->GetFirstEnabledItemIndex();
+
+ if(firstEnabledItemIndex != -1)
+ {
+ __pToolbar->SetItemSelected(firstEnabledItemIndex, true, false);
+ }
+ }
+
+ __initialDraw = false;
+ }
+
+ delete pCanvas;
+
+ return E_SUCCESS;
+}
+
+void
+_ToolbarPresenter::DrawDivider(void)
+{
+ ToolbarStyle style = __pToolbar->GetStyle();
+
+ if (style == TOOLBAR_SOFTKEY)
+ {
+ return ;
+ }
+
+ float buttonItemGap = 0.0f;
+ float dividerBaseHeight = 0.0f;
+ float dividerHeight = 0.0f;
+ float dividerTopMargin = 0.0f;
+
+ int itemCount = __pToolbar->GetItemCount();
+
+ GET_SHAPE_CONFIG(HEADER::DIVIDER_WIDTH, __pToolbar->GetOrientation(), buttonItemGap);
+
if (style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE || style == TOOLBAR_TAB_WITH_TITLE)
{
GET_SHAPE_CONFIG(HEADER::SEGMENTED_ITEM_HEIGHT, __pToolbar->GetOrientation(), dividerBaseHeight);
GET_SHAPE_CONFIG(HEADER::HEIGHT, __pToolbar->GetOrientation(), dividerBaseHeight);
}
+ if (style == TOOLBAR_TAB_LARGE)
+ {
+ GET_SHAPE_CONFIG(HEADER::TAB_LARGE_DIVIDER_HEIGHT, __pToolbar->GetOrientation(), dividerHeight);
+ }
+ else
+ {
+ GET_SHAPE_CONFIG(HEADER::DIVIDER_HEIGHT, __pToolbar->GetOrientation(), dividerHeight);
+ }
+
+ FloatRectangle bounds(0.0f, 0.0f, __pToolbar->GetBoundsF().width, __pToolbar->GetBoundsF().height);
+
+ if (__pToolbar->GetOrientation() == _CONTROL_ORIENTATION_PORTRAIT)
+ {
+ if (bounds.width > __portraitSize.width)
+ {
+ bounds.width = __portraitSize.width;
+ }
+ }
+ else
+ {
+ if (bounds.width > __landscapeSize.width)
+ {
+ bounds.width = __landscapeSize.width;
+ }
+ }
+
+ Canvas * pCanvas = null;
+ int Z_ORDER_GROUP_CONTROL = 2001;
+
+ if (__pBouncingEffectVe == null)
+ {
+ __pBouncingEffectVe = new (std::nothrow) VisualElement();
+ SysTryReturnVoidResult(NID_UI_CTRL, __pBouncingEffectVe, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
+
+ __pBouncingEffectVe->Construct();
+ __pBouncingEffectVe->SetName(L"BouncingEffect");
+ }
+
+ __pBouncingEffectVe->SetBounds(FloatRectangle(0.0f, 0.0f, __pToolbar->GetBoundsF().width, __pToolbar->GetBoundsF().height));
+ __pBouncingEffectVe->SetShowState(true);
+ __pBouncingEffectVe->SetImplicitAnimationEnabled(false);
+
+ _VisualElementImpl::GetInstance(*__pBouncingEffectVe)->SetZOrderGroup(Z_ORDER_GROUP_CONTROL + 1);
+ __pToolbar->GetVisualElement()->AttachChild(*__pBouncingEffectVe);
+
+ pCanvas = __pBouncingEffectVe->GetCanvasN();
+
+ if (!pCanvas)
+ {
+ __pBouncingEffectVe->Destroy();
+ __pBouncingEffectVe = null;
+
+ SysLog(NID_UI_CTRL, "[%s] Propagating.", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ Color backgroundColor(0, 0, 0, 0);
+ pCanvas->SetBackgroundColor(backgroundColor);
+ pCanvas->Clear();
+
if (style == TOOLBAR_TITLE || style == TOOLBAR_HEADER_SEGMENTED || style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE)
{
if (__pToolbar->GetButton(RIGHT_BUTTON))
{
if (__pToolbar->GetButton(LEFT_BUTTON))
{
- DrawDivider(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
+ DrawDividerLine(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
- DrawDivider(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap
+ DrawDividerLine(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap
- __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF().width - buttonItemGap,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
else
{
- DrawDivider(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
+ DrawDividerLine(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
}
{
if (__pToolbar->GetButton(LEFT_BUTTON))
{
- DrawDivider(FloatPoint(bounds.width - __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF().width - buttonItemGap,
+ DrawDividerLine(FloatPoint(bounds.width - __pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF().width - buttonItemGap,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
}
{
if (__pToolbar->GetButton(RIGHT_BUTTON))
{
- DrawDivider(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
+ DrawDividerLine(FloatPoint(bounds.width - __pToolbar->GetButton(RIGHT_BUTTON)->GetBoundsF().width - buttonItemGap,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
if (__pToolbar->GetButton(LEFT_BUTTON))
{
- DrawDivider(FloatPoint(__pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF().width,
+ DrawDividerLine(FloatPoint(__pToolbar->GetButton(LEFT_BUTTON)->GetBoundsF().width,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
}
-
if (itemCount == 1)
{
; // empty
{
for (int i = 0; i < itemCount - 1 ; i++)
{
- DrawDivider(FloatPoint(__pToolbar->GetItem(i)->GetBoundsF().x + __pToolbar->GetItem(i)->GetBoundsF().width,
+ DrawDividerLine(FloatPoint(__pToolbar->GetItem(i)->GetBoundsF().x + __pToolbar->GetItem(i)->GetBoundsF().width,
dividerTopMargin + (dividerBaseHeight - dividerHeight) / 2), pCanvas);
}
}
{
for (int i = 0; i < itemCount - 1 ; i++)
{
- DrawDivider(FloatPoint(__pToolbar->GetItem(i)->GetBoundsF().x + __pToolbar->GetItem(i)->GetBoundsF().width,
+ DrawDividerLine(FloatPoint(__pToolbar->GetItem(i)->GetBoundsF().x + __pToolbar->GetItem(i)->GetBoundsF().width,
(__pToolbar->GetBoundsF().height - dividerHeight) / 2), pCanvas);
}
}
}
- if (__initialDraw)
- {
- if ((style == TOOLBAR_TAB || style == TOOLBAR_TAB_WITH_TITLE || style == TOOLBAR_TAB_LARGE
- || style == TOOLBAR_SEGMENTED || style == TOOLBAR_HEADER_SEGMENTED || style == TOOLBAR_HEADER_SEGMENTED_WITH_TITLE)
- && __pToolbar->GetItemCount() > 0 && __pToolbarModel->GetSelectedItemIndex() == -1)
- {
- int firstEnabledItemIndex = __pToolbar->GetFirstEnabledItemIndex();
-
- if(firstEnabledItemIndex != -1)
- {
- __pToolbar->SetItemSelected(firstEnabledItemIndex, true, false);
- }
- }
-
- __initialDraw = false;
- }
-
delete pCanvas;
- return E_SUCCESS;
+ return;
}
void
}
void
-_ToolbarPresenter::DrawDivider(const FloatPoint& point, Canvas* pCanvas)
+_ToolbarPresenter::DrawDividerLine(const FloatPoint& point, Canvas* pCanvas)
{
- ToolbarStyle style = __pToolbar->GetStyle();
-
- if (style == TOOLBAR_SOFTKEY)
- {
- return ;
- }
-
float dividerWidth = 0.0f;
float dividerHeight = 0.0f;
Color dividerLeftColor;
//Color dividerRightColor;
+ ToolbarStyle style = __pToolbar->GetStyle();
+
GET_SHAPE_CONFIG(HEADER::DIVIDER_WIDTH, __pToolbar->GetOrientation(), dividerWidth);
if (style == TOOLBAR_TAB_LARGE)
pCanvas->DrawLine(FloatPoint(point.x, point.y), FloatPoint(point.x, point.y + dividerHeight));
- //pCanvas->SetForegroundColor(dividerRightColor);
- //pCanvas->SetLineWidth(dividerWidth/2);
-
- //pCanvas->DrawLine(FloatPoint(point.x + dividerWidth, point.y), FloatPoint(point.x + dividerWidth, point.y + dividerHeight));
-
return;
}