, __onOffHandlerPosition(0.0f)
, __onOffHandlerPressed(false)
, __onOffHandlerMoved(false)
+ , __highlightedIndex(0)
+ , __detailedPressed(false)
{
}
{
pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
pCanvas->Clear();
+
+ pHighlightedBgBitmap = __pCheckButton->GetBackgroundBitmap(__pCheckButton->GetGroupStyle(), _CHECK_BUTTON_STATUS_HIGHLIGHTED);
+
+ pHighlightedReColorBgBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pHighlightedBgBitmap,
+ Color::GetColor(COLOR_ID_MAGENTA), __pCheckButton->GetColor(_CHECK_BUTTON_STATUS_HIGHLIGHTED));
+
+ if (pHighlightedReColorBgBitmap && __highlightedIndex == 0)
+ {
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pHighlightedReColorBgBitmap))
+ {
+ pCanvas->DrawNinePatchedBitmap(bounds, *pHighlightedReColorBgBitmap);
+ }
+ else
+ {
+ pCanvas->DrawBitmap(bounds, *pHighlightedReColorBgBitmap,
+ FloatRectangle(0.0f, 0.0f, pHighlightedReColorBgBitmap->GetWidthF(), pHighlightedReColorBgBitmap->GetHeightF()));
+ }
+ }
}
else
{
pHighlightedReColorBgBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pHighlightedBgBitmap,
Color::GetColor(COLOR_ID_MAGENTA), __pCheckButton->GetColor(_CHECK_BUTTON_STATUS_HIGHLIGHTED));
- if (pHighlightedReColorBgBitmap)
+ if (pHighlightedReColorBgBitmap && __highlightedIndex == 0)
{
if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pHighlightedReColorBgBitmap))
{
Bitmap* pCircleNormalBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_NORMAL);
Bitmap* pDetailedRightNormalBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_NORMAL);
- if (pCircleNormalBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
- }
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightNormalBitmap)
+ if (pDetailedRightNormalBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightNormalBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ }
}
if (pReColorCircleBitmap)
Bitmap* pCirclePressedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_PRESSED);
Bitmap* pDetailedRightPressedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_PRESSED);
- if (pCirclePressedBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
- }
+ if (pCirclePressedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightPressedBitmap)
+ if (pDetailedRightPressedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ if (pCirclePressedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightPressedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ }
}
if (pReColorCircleBitmap)
Color::GetColor(COLOR_ID_MAGENTA), detailedHighlightedBgColor);
}
- if (pReColorMarkBgHighlightedBitmap)
+ if (pReColorMarkBgHighlightedBitmap && __highlightedIndex == 1)
{
pCanvas->DrawBitmap(FloatPoint(__defaultButtonBounds.x, __defaultButtonBounds.y), *pReColorMarkBgHighlightedBitmap);
}
Bitmap* pCircleHighlightedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
Bitmap* pDetailedRightHighlightedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
- if (pCircleNormalBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
- }
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightHighlightedBitmap)
+ if (pDetailedRightHighlightedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightHighlightedColor);
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightHighlightedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightHighlightedColor);
+ }
}
if (pReColorCircleBitmap)
pReColorCircleHighlightedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedHighlightedBgColor);
}
- if (pReColorCircleHighlightedBitmap)
+ if (pReColorCircleHighlightedBitmap && __highlightedIndex == 2)
{
pCanvas->DrawBitmap(FloatPoint(__detailedButtonBounds.x, __detailedButtonBounds.y), *pReColorCircleHighlightedBitmap);
}
Bitmap* pCircleSelectedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_SELECTED);
Bitmap* pDetailedRightSelectedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_SELECTED);
- if (pCircleSelectedBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedSelectedBgColor);
- }
+ if (pCircleSelectedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightSelectedBitmap)
+ if (pDetailedRightSelectedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightSelectedColor);
+ if (pCircleSelectedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedSelectedBgColor);
+ }
+
+ if (pDetailedRightSelectedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightSelectedColor);
+ }
}
if (pReColorCircleBitmap)
Bitmap* pCircleNormalBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_NORMAL);
Bitmap* pDetailedRightNormalBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_NORMAL);
- if (pCircleNormalBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
- }
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightNormalBitmap)
+ if (pDetailedRightNormalBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightNormalBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ }
}
if (pReColorCircleBitmap)
Bitmap* pCirclePressedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_PRESSED);
Bitmap* pDetailedRightPressedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_PRESSED);
- if (pCirclePressedBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
- }
+ if (pCirclePressedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightPressedBitmap)
+ if (pDetailedRightPressedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ if (pCirclePressedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCirclePressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightPressedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightPressedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightNormalColor);
+ }
}
if (pReColorCircleBitmap)
Bitmap* pCircleHighlightedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
Bitmap* pDetailedRightHighlightedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
- if (pCircleNormalBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
- }
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightHighlightedBitmap)
+ if (pDetailedRightHighlightedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightHighlightedColor);
+ if (pCircleNormalBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleNormalBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedNormalBgColor);
+ }
+
+ if (pDetailedRightHighlightedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightHighlightedColor);
+ }
}
if (pReColorCircleBitmap)
pReColorCircleHighlightedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedHighlightedBgColor);
}
- if (pReColorCircleHighlightedBitmap)
+ if (pReColorCircleHighlightedBitmap && __highlightedIndex == 1)
{
pCanvas->DrawBitmap(FloatPoint(__detailedButtonBounds.x, __detailedButtonBounds.y), *pReColorCircleHighlightedBitmap);
}
Bitmap* pCircleSelectedBitmap = __pCheckButton->GetCircleBitmap(_CHECK_BUTTON_STATUS_SELECTED);
Bitmap* pDetailedRightSelectedBitmap = __pCheckButton->GetDetailedRightBitmap(_CHECK_BUTTON_STATUS_SELECTED);
- if (pCircleSelectedBitmap)
+ if (__detailedPressed == true)
{
- pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedSelectedBgColor);
- }
+ if (pCircleSelectedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedPressedBgColor);
+ }
- if (pDetailedRightSelectedBitmap)
+ if (pDetailedRightSelectedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightPressedColor);
+ }
+ }
+ else
{
- pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightSelectedColor);
+ if (pCircleSelectedBitmap)
+ {
+ pReColorCircleBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pCircleSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedSelectedBgColor);
+ }
+
+ if (pDetailedRightSelectedBitmap)
+ {
+ pReColorRightBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pDetailedRightSelectedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedRightSelectedColor);
+ }
}
if (pReColorCircleBitmap)
pReColorOnOffBgHighlightedBitmap = _BitmapImpl::GetColorReplacedBitmapN(*pOnOffBgHighlightedBitmap, Color::GetColor(COLOR_ID_MAGENTA), detailedHighlightedBgColor);
}
- if (pReColorOnOffBgHighlightedBitmap)
+ if (pReColorOnOffBgHighlightedBitmap && __highlightedIndex == 1)
{
pCanvas->DrawBitmap(FloatPoint(__defaultButtonBounds.x, __defaultButtonBounds.y), *pReColorOnOffBgHighlightedBitmap);
}
float dividerRightMargin = 0.0f;
Color dividerLeftColor;
- Color dividerRightColor;
+ //Color dividerRightColor;
FloatDimension minDimension(0.0f, 0.0f);
GET_SHAPE_CONFIG(CHECKBUTTON::DIVIDER_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, dividerWidth);
GET_SHAPE_CONFIG(CHECKBUTTON::DIVIDER_TOP_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, dividerTopMargin);
GET_SHAPE_CONFIG(CHECKBUTTON::DIVIDER_RIGHT_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, dividerRightMargin);
GET_COLOR_CONFIG(HEADER::DIVIDER_LINE_LEFT_NORMAL, dividerLeftColor);
- GET_COLOR_CONFIG(HEADER::DIVIDER_LINE_RIGHT_NORMAL, dividerRightColor);
+ //GET_COLOR_CONFIG(HEADER::DIVIDER_LINE_RIGHT_NORMAL, dividerRightColor);
GET_DIMENSION_CONFIG(CHECKBUTTON::MIN_DIMENSION, __pCheckButton->GetOrientation(), minDimension);
if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
{
pCanvas->SetForegroundColor(dividerLeftColor);
- pCanvas->SetLineWidth(dividerWidth/2);
- pCanvas->DrawLine(FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth/2, dividerTopMargin),
- FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth/2, dividerTopMargin + bounds.height - dividerTopMargin * 2));
-
- pCanvas->SetForegroundColor(dividerRightColor);
- pCanvas->SetLineWidth(dividerWidth/2);
+ pCanvas->SetLineWidth(dividerWidth);
pCanvas->DrawLine(FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth, dividerTopMargin),
FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth, dividerTopMargin + bounds.height - dividerTopMargin * 2));
+
+ //pCanvas->SetForegroundColor(dividerRightColor);
+ //pCanvas->SetLineWidth(dividerWidth/2);
+ //pCanvas->DrawLine(FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth, dividerTopMargin),
+ // FloatPoint(__onOffSlidingButtonBounds.x - dividerRightMargin + dividerWidth, dividerTopMargin + bounds.height - dividerTopMargin * 2));
}
}
__pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
}
}
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
+ {
+ if (__detailedButtonBounds.Contains(touchPoint))
+ {
+ __detailedPressed = true;
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ }
else
{
__pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
_CheckButtonStatus status = __pCheckButton->GetCheckButtonStatus();
CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
- if (status == _CHECK_BUTTON_STATUS_NORMAL && __onOffHandlerPressed == false)
+ if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
{
- if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
+ if (status == _CHECK_BUTTON_STATUS_NORMAL && __onOffHandlerPressed == false)
{
- AdjustHandlerPosition();
-
- __onOffHandlerPressed = false;
__onOffHandlerMoved = false;
+
+ return true;
}
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
+ {
+ if (status == _CHECK_BUTTON_STATUS_NORMAL && __detailedPressed == true)
+ {
+ __detailedPressed = false;
- return true;
+ __pCheckButton->Invalidate();
+
+ return true;
+ }
+ }
+ else
+ {
+ if (status == _CHECK_BUTTON_STATUS_NORMAL)
+ {
+ return true;
+ }
}
if (checkStyle == CHECK_BUTTON_STYLE_MARK || checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DIVIDER || checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON
if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
{
- detailedBounds.width = detailedBounds.width - checkButtonLeftMargin - checkButtonDetailedBitmapWidth;
-
- if (detailedBounds.Contains(touchPoint))
+ if (!__detailedButtonBounds.Contains(touchPoint))
{
PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
FloatRectangle bounds = __pCheckButton->GetClientBoundsF();
bool isInCheckButtonArea = bounds.Contains(touchPoint);
bool isInOnOffHandlerArea = __onOffSlidingButtonBounds.Contains(touchPoint);
+ bool isDetailedArea = __detailedButtonBounds.Contains(touchPoint);
+
+ CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
- if (__onOffHandlerPressed == true)
+ if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
{
- __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
+ if (__onOffHandlerPressed == true)
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
+ }
+ else
+ {
+ if (isInCheckButtonArea == true && __touchMoveHandled == false && isInOnOffHandlerArea == false )
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
+ }
+ }
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
+ {
+ if (isDetailedArea == true && __touchMoveHandled == false)
+ {
+ __detailedPressed = true;
+
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
+ }
+ else
+ {
+ __detailedPressed = false;
+
+ if (isInCheckButtonArea == true && __touchMoveHandled == false && isDetailedArea == false )
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_NORMAL);
+ }
+ }
}
else
{
- if (isInCheckButtonArea == true && __touchMoveHandled == false && isInOnOffHandlerArea == false )
+ if (isInCheckButtonArea == true && __touchMoveHandled == false)
{
__pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
}
}
}
- CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
-
if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
{
if (isInOnOffHandlerArea == true && __onOffHandlerPressed == true)
detailedHighlightedBgColor);
}
- if (pReColorBgBitmap)
+ if (pReColorBgBitmap && __highlightedIndex == 1)
{
pCanvas->DrawBitmap(FloatPoint(handlerPosition, __onOffSlidingButtonBounds.y - handlerMargin), *pReColorBgBitmap);
}
detailedHighlightedBgColor);
}
- if (pReColorBgBitmap)
+ if (pReColorBgBitmap && __highlightedIndex == 1)
{
pCanvas->DrawBitmap(FloatPoint(handlerPosition, __onOffSlidingButtonBounds.y - handlerMargin), *pReColorBgBitmap);
}
{
_KeyCode keyCode = keyInfo.GetKeyCode();
+ CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
+
if (__pCheckButton->IsFocusModeStateEnabled() == true && keyCode == _KEY_ENTER)
{
if (__pCheckButton->GetCheckButtonStatus() != _CHECK_BUTTON_STATUS_DISABLED)
{
- __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER)
+ {
+ if (__highlightedIndex == 1)
+ {
+ __onOffHandlerPressed = true;
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex == 2)
+ {
+ __detailedPressed = true;
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex == 1)
+ {
+ __detailedPressed = true;
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
+ }
+ else
+ {
+ __pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_PRESSED);
+ }
}
}
- __pCheckButton->Draw();
+ __pCheckButton->Invalidate();
return false;
}
{
_KeyCode keyCode = keyInfo.GetKeyCode();
- if (__pCheckButton->IsFocusModeStateEnabled() == true && keyCode == _KEY_ENTER)
+ CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
+
+ if (__pCheckButton->IsFocusModeStateEnabled() == true && keyCode == _KEY_LEFT)
+ {
+ if (checkStyle == CHECK_BUTTON_STYLE_RADIO || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER)
+ {
+ __highlightedIndex = 0;
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex == 0)
+ {
+ __highlightedIndex = 1;
+ }
+ else if (__highlightedIndex == 1)
+ {
+ __highlightedIndex = 2;
+ }
+ else if (__highlightedIndex == 2)
+ {
+ __highlightedIndex = 0;
+ }
+ }
+ else
+ {
+ if (__highlightedIndex == 0)
+ {
+ __highlightedIndex = 1;
+ }
+ else if (__highlightedIndex == 1)
+ {
+ __highlightedIndex = 0;
+ }
+ }
+
+ __pCheckButton->Invalidate();
+ }
+ else if (__pCheckButton->IsFocusModeStateEnabled() == true && keyCode == _KEY_RIGHT)
{
- CheckButtonStyle checkStyle = __pCheckButton->GetCheckButtonStyle();
+ if (checkStyle == CHECK_BUTTON_STYLE_RADIO || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER)
+ {
+ __highlightedIndex = 0;
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex == 0)
+ {
+ __highlightedIndex = 2;
+ }
+ else if (__highlightedIndex == 1)
+ {
+ __highlightedIndex = 0;
+ }
+ else if (__highlightedIndex == 2)
+ {
+ __highlightedIndex = 1;
+ }
+ }
+ else
+ {
+ if (__highlightedIndex == 0)
+ {
+ __highlightedIndex = 1;
+ }
+ else if (__highlightedIndex == 1)
+ {
+ __highlightedIndex = 0;
+ }
+ }
+ __pCheckButton->Invalidate();
+ }
+ else if (__pCheckButton->IsFocusModeStateEnabled() == true && keyCode == _KEY_ENTER)
+ {
if (checkStyle == CHECK_BUTTON_STYLE_MARK || checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DIVIDER || checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON
|| checkStyle == CHECK_BUTTON_STYLE_RADIO || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DIVIDER || checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
{
__pCheckButton->SetCheckButtonStatus(_CHECK_BUTTON_STATUS_HIGHLIGHTED);
- PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
+ if (checkStyle == CHECK_BUTTON_STYLE_MARK_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex != 2)
+ {
+ PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
- __pCheckButton->FireActionEvent();
+ __pCheckButton->FireActionEvent();
- if (__pCheckButton->GetRadioGroup() != null)
- {
- __pCheckButton->SendTouchReleasedEvent(*__pCheckButton);
+ if (__pCheckButton->GetRadioGroup() != null)
+ {
+ __pCheckButton->SendTouchReleasedEvent(*__pCheckButton);
+ }
+ }
+ else
+ {
+ __detailedPressed = false;
+ }
}
+ else if (checkStyle == CHECK_BUTTON_STYLE_RADIO_WITH_DETAILED_BUTTON)
+ {
+ if (__highlightedIndex != 1)
+ {
+ PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
- if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING)
+ __pCheckButton->FireActionEvent();
+
+ if (__pCheckButton->GetRadioGroup() != null)
+ {
+ __pCheckButton->SendTouchReleasedEvent(*__pCheckButton);
+ }
+ }
+ else
+ {
+ __detailedPressed = false;
+ }
+ }
+ else if (checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING_WITH_DIVIDER || checkStyle == CHECK_BUTTON_STYLE_ONOFF_SLIDING)
{
+ PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
+
+ __pCheckButton->FireActionEvent();
+
+ if (__pCheckButton->GetRadioGroup() != null)
+ {
+ __pCheckButton->SendTouchReleasedEvent(*__pCheckButton);
+ }
+
AdjustHandlerPosition();
__onOffHandlerPressed = false;
__onOffHandlerMoved = false;
}
+ else
+ {
+ PLAY_FEEDBACK(_RESOURCE_FEEDBACK_PATTERN_TAP, __pCheckButton);
+
+ __pCheckButton->FireActionEvent();
+
+ if (__pCheckButton->GetRadioGroup() != null)
+ {
+ __pCheckButton->SendTouchReleasedEvent(*__pCheckButton);
+ }
+ }
}
return false;
bool
_CheckButtonPresenter::OnFocusGained(const _Control& source)
{
+ __highlightedIndex = 0;
+
if (__pCheckButton->IsFocusModeStateEnabled() == true)
{
if (__pCheckButton->GetCheckButtonStatus() != _CHECK_BUTTON_STATUS_DISABLED)