Canvas* pCanvas = null;
+ String imagePath = L"";
+
if (pBitmap != null)
{
- pCanvas = __pLabel->GetCanvasN();
- if (pCanvas == null)
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pBitmap) == false)
{
- SysLog(NID_UI_CTRL, "Cannot get a canvas.");
-
- return;
+ imagePath = _BitmapImpl::GetInstance(*pBitmap)->GetFileName();
}
- pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
- pCanvas->Clear();
-
- if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pBitmap))
+ if (imagePath.IsEmpty() == false && __pLabel->GetText() == L"")
{
- pCanvas->DrawNinePatchedBitmap(bounds, *pBitmap);
+ __pBase->SetBackgroundColor(_Colorf(
+ (float)bgColor.GetRed() / 255, (float)bgColor.GetGreen() / 255, (float)bgColor.GetBlue() / 255, (float)bgColor.GetAlpha() / 255));
+
+ __pBase->SetImageSource(imagePath);
}
else
{
- pCanvas->DrawBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pBitmap);
- }
+ __pBase->SetImageSource(L"");
- if (pEffectBitmap != null)
- {
- if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pEffectBitmap))
+ pCanvas = __pLabel->GetCanvasN();
+ if (pCanvas == null)
{
- pCanvas->DrawNinePatchedBitmap(bounds, *pEffectBitmap);
+ SysLog(NID_UI_CTRL, "Cannot get a canvas.");
+
+ return;
+ }
+
+ pCanvas->SetBackgroundColor(Color(0, 0, 0, 0));
+ pCanvas->Clear();
+
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pBitmap))
+ {
+ pCanvas->DrawNinePatchedBitmap(bounds, *pBitmap);
}
else
{
- pCanvas->DrawBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pEffectBitmap);
+ pCanvas->DrawBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pBitmap);
+ }
+
+ if (pEffectBitmap != null)
+ {
+ if (_BitmapImpl::CheckNinePatchedBitmapStrictly(*pEffectBitmap))
+ {
+ pCanvas->DrawNinePatchedBitmap(bounds, *pEffectBitmap);
+ }
+ else
+ {
+ pCanvas->DrawBitmap(FloatRectangle(0.0f, 0.0f, bounds.width, bounds.height), *pEffectBitmap);
+ }
}
}
}
- else
+ else // pBitmap is null
{
if (__pLabel->GetText().IsEmpty() && __pLabel->IsCalledGetCanvasN() == false)
{