delete __pTitleTextObject;
__pTitleTextObject = null;
+ delete __pHandleTextObject;
+ __pHandleTextObject = null;
+
}
_SliderPresenter*
if (!__isResourceLoaded)
{
r = LoadBitmap();
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
__isResourceLoaded = true;
r = GET_SHAPE_CONFIG(SLIDER::HANDLE_ONE_DIGIT_TEXT_SIZE, orientation, __fontSize);
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
__pFont = __pSlider->GetFallbackFont();
r = GetLastResult();
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
r = GET_COLOR_CONFIG(SLIDER::HANDLE_NUMBER_TEXT_NORMAL, __handleTextColor);
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
r = GET_COLOR_CONFIG(SLIDER::HANDLE_NUMBER_TEXT_DISABLED, __handleTextDisabledColor);
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
r = GET_COLOR_CONFIG(SLIDER::HANDLE_NUMBER_TEXT_PRESSED, __handleTextPressedColor);
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
r = GET_COLOR_CONFIG(SLIDER::HANDLE_NUMBER_TEXT_HIGHLIGHTED, __handleTextHighlightedColor);
- SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
+ SysTryReturnResult(NID_UI_CTRL, r == E_SUCCESS, r, "Propagating.");
}
SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
}
+
+
+ __pHandleTextObject = new (std::nothrow) TextObject();
+ SysTryCatch(NID_UI_CTRL, __pHandleTextObject != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
+
+ __pHandleTextObject->Construct();
+ __pHandleTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_WORD);
+ __pHandleTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_ABBREV);
+
return r;
CATCH:
delete __pHandleHighlightedEffectBitmap;
__pHandleHighlightedEffectBitmap = null;
+ delete __pHandleTextObject;
+ __pHandleTextObject = null;
+
return r;
}
int handleNumberSize = 0;
Color textColor;
String text;
+ TextSimple* pSimpleText = null;
int valueLength = 0;
_ControlOrientation orientation = _ControlManager::GetInstance()->GetOrientation();
+ Canvas* pHandleCanvas = __pSlider->GetHandleCanvasN();
+ r = GetLastResult();
+ SysTryReturnResult(NID_UI_CTRL, pHandleCanvas != null, r, "Propagating.");
+
if (!__pSlider->IsEnabled()) // disabled
{
textColor = __handleTextDisabledColor;
textColor = __handleTextColor;
}
- FloatDimension textDim(0.0f, 0.0f);
text.Append(value);
valueLength = text.GetLength();
+ pSimpleText = new (std::nothrow) TextSimple(const_cast<wchar_t*>(text.GetPointer()), valueLength);
+
+ if(__pSlider->IsEnabled())
+ {
+ pSimpleText->SetTextShadowEnabled(true);
+ pSimpleText->SetTextShadowOffset(FloatPoint(0.0f, -1.0f));
+ }
+
if (valueLength == SLIDER_HANDLE_THREE_DIGIT)
{
r = GET_SHAPE_CONFIG(SLIDER::HANDLE_THREE_DIGIT_TEXT_SIZE, orientation, handleNumberSize);
(_FontImpl::GetInstance(*__pFont))->SetSize(handleNumberSize);
- Canvas* pHandleCanvas = __pSlider->GetHandleCanvasN();
- r = GetLastResult();
- SysTryReturnResult(NID_UI_CTRL, pHandleCanvas != null, r, "Propagating.");
-
- pHandleCanvas->SetFont(*__pFont);
- __pFont->GetTextExtent(text, valueLength, textDim);
-
- FloatPoint textPoint;
- textPoint.x = (__handleRect.width - textDim.width) / 2.0f;
- textPoint.y = (__handleRect.height - textDim.height) / 2.0f;
-
- pHandleCanvas->SetForegroundColor(textColor);
- pHandleCanvas->DrawText(textPoint, text);
+ __pHandleTextObject->RemoveAll();
+ __pHandleTextObject->AppendElement(*pSimpleText);
+ __pHandleTextObject->SetForegroundColor(textColor, 0, valueLength);
+ __pHandleTextObject->SetBounds(pHandleCanvas->GetBounds());
+ __pHandleTextObject->SetAlignment(TEXT_OBJECT_ALIGNMENT_CENTER | TEXT_OBJECT_ALIGNMENT_MIDDLE);
+ __pHandleTextObject->SetFont(__pFont, 0, valueLength);
+ __pHandleTextObject->Draw(*_CanvasImpl::GetInstance(*pHandleCanvas));
delete pHandleCanvas;
pHandleCanvas = null;