#include "FShell_LiveboxPopupPresenter.h"
#include "FShell_LiveboxPopup.h"
#include "FShell_LiveboxPopupModel.h"
+#include "FUi_ResourceManager.h"
+using namespace std;
using namespace Tizen::Base;
using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
namespace Tizen { namespace Shell
{
_LiveboxPopupPresenter::_LiveboxPopupPresenter(const _LiveboxPopup& liveBoxPopup)
- : __pLiveboxPopup(null)
+ : __pLiveboxPopup(const_cast<_LiveboxPopup*>(&liveBoxPopup))
, __pLiveboxPopupModel(new (std::nothrow) _LiveboxPopupModel)
{
- __pLiveboxPopup = const_cast <_LiveboxPopup*>(&liveBoxPopup);
}
_LiveboxPopupPresenter::~_LiveboxPopupPresenter(void)
result
_LiveboxPopupPresenter::Initialize(void)
{
- result r = E_SUCCESS;
+ Bitmap* pBitmap = null;
+
+ result r = GET_BITMAP_CONFIG_N(LIVEBOX::POPUP_BG, BITMAP_PIXEL_FORMAT_ARGB8888, pBitmap);
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ std::unique_ptr<Bitmap> pBackgroundBitmap(pBitmap);
+
+ r = GET_BITMAP_CONFIG_N(LIVEBOX::POPUP_BG_ARROW_UP, BITMAP_PIXEL_FORMAT_ARGB8888, pBitmap);
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ std::unique_ptr<Bitmap> pArrowUpBitmap(pBitmap);
+
+ r = GET_BITMAP_CONFIG_N(LIVEBOX::POPUP_BG_ARROW_DOWN, BITMAP_PIXEL_FORMAT_ARGB8888, pBitmap);
+ SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
+
+ __pBackgroundBitmap = move(pBackgroundBitmap);
+ __pArrowUpBitmap = move(pArrowUpBitmap);
+ __pArrowDownBitmap.reset(pBitmap);
return r;
}
void
_LiveboxPopupPresenter::Draw(void)
{
+ unique_ptr<Canvas> pCanvas(__pLiveboxPopup->GetCanvasN());
+ SysTryReturnVoidResult(NID_UI_CTRL, pCanvas, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
+
+ Rectangle bounds = __pLiveboxPopup->GetBounds();
+ bounds.x = 0;
+ bounds.y = 0;
+
+ if (__pBackgroundBitmap->IsNinePatchedBitmap())
+ {
+ pCanvas->DrawNinePatchedBitmap(bounds, *__pBackgroundBitmap);
+ }
+ else
+ {
+ pCanvas->DrawBitmap(bounds, *__pBackgroundBitmap, Rectangle(0, 0, __pBackgroundBitmap->GetWidth(), __pBackgroundBitmap->GetHeight()));
+ }
}
}} // Tizen::Shell