apply setimagesource
authorMyung Jin Kim <critical.kim@samsung.com>
Mon, 3 Jun 2013 15:46:56 +0000 (00:46 +0900)
committerMyung Jin Kim <critical.kim@samsung.com>
Mon, 3 Jun 2013 15:46:56 +0000 (00:46 +0900)
Change-Id: I0205ec95944c38d30ba6eab1fca8d856651c9769

src/ui/controls/FUiCtrl_LabelPresenter.cpp

index b215241..02bae96 100644 (file)
@@ -271,41 +271,60 @@ _LabelPresenter::DrawBackground(void)
 
        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)
                {