, __bufferSize(0)
, __pixmapId(-1)
, __flush(false)
+ , __constructing(false)
, __pWindow(null)
{
FloatDimension physicalSize = _CoordinateSystemUtils::Transform(__size);
}
__providerId = _AppWidgetProviderManagerImpl::GetInstance()->GetCurrentInstanceId();
+ SysSecureLog(NID_SHELL, "__providerId (%ls)", __providerId.GetPointer());
}
_AppWidgetLayer::~_AppWidgetLayer(void)
{
result r = E_SUCCESS;
+ __constructing = true;
__pAppWidgetBuffer->Initialize();
unique_ptr<Ecore_Evas, _EcoreEvasDeleter> pEcoreEvas(ecore_evas_buffer_allocfunc_new(__physicalSize.width, __physicalSize.height, AllocRenderBuffer, FreeRenderBuffer, this));
SysTryReturn(NID_SHELL, pEcoreEvas, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
- ecore_evas_alpha_set(pEcoreEvas.get(), EINA_TRUE);
ecore_evas_manual_render_set(pEcoreEvas.get(), EINA_FALSE);
ecore_evas_resize(pEcoreEvas.get(), __physicalSize.width, __physicalSize.height);
ecore_evas_activate(pEcoreEvas.get());
SysTryReturn(NID_SHELL, pEvasObject, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
evas_object_resize(pEvasObject.get(), __physicalSize.width, __physicalSize.height);
- evas_object_color_set(pEvasObject.get(), 0, 0, 0, 255);
+// evas_object_color_set(pEvasObject.get(), 0, 0, 0, 255);
r = Initialize(pEvasObject.get());
SysTryReturn(NID_SHELL, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
{
__providerId = providerId;
- __pixmapId = AcquirePixmap();
- SysTryReturn(NID_SHELL, __pixmapId != -1, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
+ if (__pixmapId == -1)
+ {
+ __pixmapId = AcquirePixmap();
+ SysTryReturn(NID_SHELL, __pixmapId != -1, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
+ }
- SysSecureLog(NID_SHELL, "pixmapId(%d) size(%f %f) physicalSize(%d %d)", __pixmapId, __size.width, __size.height, __physicalSize.width, __physicalSize.height);
+ SysSecureLog(NID_SHELL, "providerId (%ls) pixmapId(%d) size(%f %f) physicalSize(%d %d)", __providerId.GetPointer(), __pixmapId, __size.width, __size.height, __physicalSize.width, __physicalSize.height);
result r = RegisterTouchEventListener();
SysTryReturn(NID_SHELL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
__pRenderBuffer = __pAppWidgetBuffer->AllocBuffer(__pixmapId, __physicalSize);
pBuffer = __pRenderBuffer;
- __pAppWidgetBuffer->UnlockBuffer();
+// __pAppWidgetBuffer->UnlockBuffer();
}
SysSecureLog(NID_SHELL, "buffer (0x%x 0x%x) size (%d) pixmap (%d)", __pTempBuffer, __pRenderBuffer, __bufferSize, __pixmapId);
void
_AppWidgetLayer::OnNativeCanvasPreRendered(void)
{
- if (!__flush)
+ if (!__flush && !__constructing)
{
// SysLog(NID_SHELL, "ENTER (%d)", __type);
void
_AppWidgetLayer::OnNativeCanvasPostRendered(void)
{
- if (!__flush)
+ if (!__flush && !__constructing)
{
// SysLog(NID_SHELL, "ENTER (%d)", __type);
__pAppWidgetBuffer->UnlockBuffer();
{
bool needed = IsFlushNeeded();
__flush = true;
- __pAppWidgetBuffer->LockBuffer();
+
+ if (!__constructing)
+ {
+ __pAppWidgetBuffer->LockBuffer();
+ }
+
+ __constructing = false;
if (needed)
{
int
_AppWidgetPopupLayer::AcquirePixmap(void)
{
- long long ticks = 0;
+ /*long long ticks = 0;
SystemTime::GetTicks(ticks);
SysLog(NID_SHELL, "%lld", ticks);
-
+*/
int pixmapId = -1;
result r = _AppWidgetProviderManagerImpl::GetInstance()->AcquireRemoteBufferForPD(GetProviderId(), __physicalSize.width, __physicalSize.height, pixmapId);
SysTryReturn(NID_SHELL, r == E_SUCCESS, -1, r, "[%s] Propagating.", GetErrorMessage(r));
- SystemTime::GetTicks(ticks);
- SysLog(NID_SHELL, "%lld", ticks);
+ /*SystemTime::GetTicks(ticks);
+ SysLog(NID_SHELL, "%lld", ticks);*/
SysSecureLog(NID_SHELL, "pixmapId(%d) size(%f %f) physicalSize(%d %d)", pixmapId, __size.width, __size.height, __physicalSize.width, __physicalSize.height);
r = SetBounds(bounds);
SysTryReturn(NID_SHELL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
- __pAppWidgetPopupLayer->SetLayerBounds(FloatRectangle(0.0f, 0.0f, 1.0f, 1.0f));
+ __pAppWidgetPopupLayer->SetLayerBounds(bounds);
__pAppWidgetPopupLayer->SetShowState(false);
__pAppWidgetPopupRootVisualElement->SetImplicitAnimationEnabled(false);
result
_AppWidgetPopup::CreateLayer(void)
{
- unique_ptr<_AppWidgetPopupLayer> pLayer(new (std::nothrow) _AppWidgetPopupLayer(GetProviderId(), FloatDimension(1.0f, 1.0f)));
+ unique_ptr<_AppWidgetPopupLayer> pLayer(new (std::nothrow) _AppWidgetPopupLayer(GetProviderId(), __appwidgetSize));
SysTryReturn(NID_SHELL, pLayer, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
result r = pLayer->Construct();