*/
#include <new>
-#include <errno.h>\r
-#include <string.h>
#include <sys/shm.h>
#include <X11/Xlib.h>
#include <X11/extensions/XShm.h>
#include "FShell_AppWidgetLayer.h"
#include "FShell_AppWidgetProviderManagerImpl.h"
-//#define _BUFFER_TEST
-
using namespace std;
using namespace Tizen::Base;
using namespace Tizen::Graphics;
memcpy(pXImage->data, __pRenderBuffer, __bufferSize);
-#if defined(_BUFFER_TEST)
- {
- FILE* pFile = null;\r
- static int idx = 0;\r
- char filename[1024];\r
- snprintf(filename, sizeof(filename), "/opt/out%d.raw", idx++);\r
- pFile = fopen(filename, "w+b");\r
- if (pFile)\r
- {\r
- fwrite(__pRenderBuffer, __bufferSize, 1, pFile);\r
- fclose(pFile);\r
- SysLog(NID_UI_CTRL, "_BUFFER_TEST: buffer (0x%x) size (%d) pixmapId (%d) width(%f) height(%f)", __pRenderBuffer, __bufferSize, __pixmapId, size.width, size.height);\r
- }\r
- else\r
- {\r
- SysLog(NID_UI_CTRL, "File open failed: (%s) buffer (0x%x) size (%d) pixmapId (%d)", strerror(errno), __pRenderBuffer, __bufferSize, __pixmapId);\r
- }\r
- }
-#endif // _BUFFER_TEST
-
// Do not send the event. Instead of X event, master will send the updated event to the viewer
XShmPutImage(pDisplay, static_cast<Pixmap>(__pixmapId), gc, pXImage, 0, 0, 0, 0, size.width, size.height, False);
XSync(pDisplay, False);
#include <FGrp_BitmapImpl.h>
#include <FMedia_ImageDecoder.h>
#include <FUi_ControlManager.h>
-#include <FUi_CoordinateSystemUtils.h>
-#include <FUi_Types.h>
#include <FUiAnim_EflNode.h>
#include <FUiAnim_VisualElement.h>
#include <FUiAnim_VisualElementImpl.h>
#include <FUiAnim_VisualElementSurfaceImpl.h>
+#include <FUi_CoordinateSystemUtils.h>
#include <FUiCtrl_Frame.h>
+#include <FUi_Types.h>
#include "FShell_AppWidgetPopupView.h"
#include "FShell_AppWidgetPopupViewPresenter.h"
#include "FShell_AppWidgetPopupViewEvent.h"
#include <FBase_StringConverter.h>
#include <FGrp_BitmapImpl.h>
#include <FMedia_ImageDecoder.h>
-#include <FUi_TouchFlickGestureDetector.h>
-#include <FUi_ResourceManager.h>
-#include <FUi_CoordinateSystemUtils.h>
-#include <FUiAnim_EflNode.h>
-#include <FUiAnim_VisualElementImpl.h>
-#include <FUiAnim_VisualElementSurfaceImpl.h>
-#include <FUiCtrl_Frame.h>
+#include "FUi_TouchFlickGestureDetector.h"
#include "FShell_IAppWidgetViewEventListener.h"
#include "FShell_AppWidgetManagerImpl.h"
#include "FShell_AppWidgetView.h"
#include "FShell_AppWidgetViewPresenter.h"
#include "FShell_AppWidgetPopupView.h"
#include "FShell_AppWidgetViewManager.h"
+#include "FUi_ResourceManager.h"
+#include "FUiAnim_EflNode.h"
+#include "FUiAnim_VisualElementImpl.h"
+#include "FUiAnim_VisualElementSurfaceImpl.h"
+#include "FUi_CoordinateSystemUtils.h"
using namespace std;
using namespace Tizen::App;
{
result r = E_SUCCESS;
- _Window* pWindow = _ControlManager::GetInstance()->GetCurrentFrame();
- if (pWindow)
- {
- _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
- if (pFrame)
- {
- pFrame->AddFrameEventListener(*this);
- }
-
- __pAppWidgetViewManager->AddFrameEventListener();
- }
-
return r;
}
{
result r = E_SUCCESS;
- _Window* pWindow = _ControlManager::GetInstance()->GetCurrentFrame();
- if (pWindow)
- {
- _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
- if (pFrame)
- {
- pFrame->RemoveFrameEventListener(*this);
- }
- }
-
return r;
}
}
void
-_AppWidgetView::OnFrameActivated(const Tizen::Ui::Controls::_Frame& source)
-{
- if (__pAppWidget)
- {
- livebox_set_visibility(__pAppWidget, LB_SHOW);
- }
-}
-
-void
-_AppWidgetView::OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source)
-{
- if (__pAppWidget)
- {
- livebox_set_visibility(__pAppWidget, LB_HIDE_WITH_PAUSE);
- }
-}
-
-void
-_AppWidgetView::OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source)
-{
-}
-
-void
-_AppWidgetView::OnFrameRestored(const Tizen::Ui::Controls::_Frame& source)
-{
-}
-
-void
_AppWidgetView::OnAppWidgetUpdated(const Bitmap& bitmap, const FloatDimension& size)
{
__resizeFromRemote = true;
#include <FAppTypes.h>
#include <FBaseColIListT.h>
#include <FUiAnimIVisualElementAnimationStatusEventListener.h>
-#include <FUiCtrl_IFrameEventListener.h>
#include "FUi_Control.h"
#include "FUi_ITouchFlickGestureEventListener.h"
#include "FUiAnim_VisualElement.h"
, public Tizen::Ui::Animations::IVisualElementAnimationStatusEventListener
, public Tizen::Ui::_ITouchFlickGestureEventListener
, public _IAppWidgetPopupViewEventListener
- , public Tizen::Ui::Controls::_IFrameEventListener
{
public:
static _AppWidgetView* CreateAppWidgetViewN(void);
virtual void OnAppWidgetPopupViewOpened(void);
virtual void OnAppWidgetPopupViewClosed(void);
virtual void OnDraw(void);
- virtual void OnFrameActivated(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameRestored(const Tizen::Ui::Controls::_Frame& source);
void OnAppWidgetUpdated(const Tizen::Graphics::Bitmap& bitmap, const Tizen::Graphics::FloatDimension& size);
void OnAppWidgetUpdated(int pixmap);
#include <FGrp_BitmapImpl.h>
#include <FGrp_CoordinateSystem.h>
#include <FMedia_ImageDecoder.h>
-#include <FUi_ControlManager.h>
-#include <FUiCtrl_Frame.h>
-#include <FUiCtrl_IFrameEventListener.h>
#include "FShell_AppWidgetViewManager.h"
#include "FShell_AppWidgetView.h"
#include "FShell_AppWidgetPopupView.h"
using namespace Tizen::Base::Collection;
using namespace Tizen::Graphics;
using namespace Tizen::Media;
-using namespace Tizen::Ui;
-using namespace Tizen::Ui::Controls;
namespace
{
livebox_resize(pAppWidget, sizeType, OnAppWidgetResized, this);
}
-void
-_AppWidgetViewManager::AddFrameEventListener(void)
-{
- if (!__pFrameEventListener)
- {
- unique_ptr<_FrameEventListener> pFrameEventListener(new (std::nothrow) _FrameEventListener());
- SysTryReturnVoidResult(NID_UI_CTRL, pFrameEventListener, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory is insufficient.");
-
- _Window* pWindow = _ControlManager::GetInstance()->GetCurrentFrame();
- SysTryReturnVoidResult(NID_UI_CTRL, pWindow, E_INVALID_ARG, "[E_INVALID_ARG] The argument is invalid.");
-
- __pFrameEventListener = move(pFrameEventListener);
-
- _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
- if (pFrame)
- {
- pFrame->AddFrameEventListener(*__pFrameEventListener);
- }
- }
-}
-
_AppWidgetViewManager::_AppWidgetViewManager(void)
: __glMode(false)
{
_AppWidgetViewManager::~_AppWidgetViewManager(void)
{
- _ControlManager* pControlManager = _ControlManager::GetInstance();
- if (pControlManager && __pFrameEventListener)
- {
- _Window* pWindow = pControlManager->GetCurrentFrame();
- if (pWindow)
- {
- _Frame* pFrame = dynamic_cast<_Frame*>(pWindow);
- if (pFrame)
- {
- pFrame->RemoveFrameEventListener(*__pFrameEventListener);
- }
- }
- }
}
int
pAppWidgetViewManager->OnAppWidgetUpdated(pAppWidget);
}
-void
-_AppWidgetViewManager::_FrameEventListener::OnFrameActivated(const Tizen::Ui::Controls::_Frame& source)
-{
- int ret = livebox_client_resumed();
- SysLog(NID_UI_CTRL, "ret (%d)", ret);
-}
-
-void
-_AppWidgetViewManager::_FrameEventListener::OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source)
-{
- int ret = livebox_client_paused();
- SysLog(NID_UI_CTRL, "ret (%d)", ret);
-}
-
-void
-_AppWidgetViewManager::_FrameEventListener::OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source)
-{
-}
-
-void
-_AppWidgetViewManager::_FrameEventListener::OnFrameRestored(const Tizen::Ui::Controls::_Frame& source)
-{
-}
-
}} // Tizen::Shell
Tizen::Graphics::FloatDimension GetAppWidgetSize(livebox* pAppWidget) const;
Tizen::Graphics::FloatDimension GetAppWidgetPopupSize(livebox* pAppWidget) const;
void SetAppWidgetSize(const _AppWidgetView& appwidgetView, const Tizen::Graphics::FloatDimension& size);
- void AddFrameEventListener(void);
private:
_AppWidgetViewManager(void);
static void OnAppWidgetDeleted(livebox *pAppWidget, int ret, void* pData);
static void OnAppWidgetResized(livebox* pAppWidget, int ret, void* pData);
- class _FrameEventListener
- : public Tizen::Ui::Controls::_IFrameEventListener
- {
- private:
- virtual void OnFrameActivated(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source);
- virtual void OnFrameRestored(const Tizen::Ui::Controls::_Frame& source);
- };
-
private:
struct _EventHandlerDeleter
{
std::unique_ptr<Tizen::Graphics::_ICoordinateSystemTransformer> __pCoordinateTransformer;
std::unique_ptr<int, _EventHandlerDeleter> __eventHandler;
std::unique_ptr<int, _FaultEventHandlerDeleter> __faultEventHandler;
- std::unique_ptr<_FrameEventListener> __pFrameEventListener;
bool __glMode;
};