*/
Tizen::Base::String GetPreviewImagePath(void) const;
+ /**
+ * Checks whether an AppWidget Viewer(such as the Home screen) needs to decorate frame of the Dynamic Box for the current size.
+ *
+ * @since 2.1
+ *
+ * @return @c true if an AppWidget Viewer needs to decorate frame of the Dynamic Box for the size @n
+ * else @c false
+ * @remark Decoration depends on current AppWidget Viewer implementation
+ */
+ bool IsDecorationFrameUsed(void) const;
+
private:
+
//
// This is the constructor that initializes an instance of %AppWidgetSizeInfo with the specified values.
// This constructor is intentionally declared as private so that only the platform can create an instance.
//
// @param[in] size One of the size that the AppWidget provider supports.
// @param[in] previewImagePath The preview image path for the size.
+ // @param[in] isDecorationFrameUsed Specify whether the Dynamic Box needs to be decorated on the Home screen.
//
- AppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+ AppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool isDecorationFrameUsed);
//
// This default constructor is intentionally declared as private so that only the platform can create an instance.
namespace Tizen { namespace Shell
{
-AppWidgetSizeInfo::AppWidgetSizeInfo(FloatDimension size, const String& previewImagePath)
+AppWidgetSizeInfo::AppWidgetSizeInfo(FloatDimension size, const String& previewImagePath, bool isDecorationFrameUsed)
{
- __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(size, previewImagePath);
+ __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(size, previewImagePath, isDecorationFrameUsed);
}
AppWidgetSizeInfo::AppWidgetSizeInfo(const AppWidgetSizeInfo& rhs)
{
- __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(rhs.GetSize(), rhs.GetPreviewImagePath());
+ __pAppWidgetSizeInfoImpl = new (std::nothrow) _AppWidgetSizeInfoImpl(rhs.GetSize(), rhs.GetPreviewImagePath(), rhs.IsDecorationFrameUsed());
}
AppWidgetSizeInfo&
return *this;
}
-AppWidgetSizeInfo::~AppWidgetSizeInfo()
+AppWidgetSizeInfo::~AppWidgetSizeInfo(void)
{
delete __pAppWidgetSizeInfoImpl;
}
FloatDimension
-AppWidgetSizeInfo::GetSize() const
+AppWidgetSizeInfo::GetSize(void) const
{
return __pAppWidgetSizeInfoImpl->GetSize();
}
Tizen::Base::String
-AppWidgetSizeInfo::GetPreviewImagePath() const
+AppWidgetSizeInfo::GetPreviewImagePath(void) const
{
return __pAppWidgetSizeInfoImpl->GetPreviewImagePath();
}
+bool
+AppWidgetSizeInfo::IsDecorationFrameUsed(void) const
+{
+ return __pAppWidgetSizeInfoImpl->UseDecoration();
+}
+
}} // Tizen::Shell
Tizen::Base::String
_AppWidgetProviderInfoImpl::GetDisplayName() const
{
-/* std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(__providerId));
- __displayName = livebox_service_i18n_name(pPackageId.get(), null);*/
return __displayName;
}
continue;
}
- std::unique_ptr<AppWidgetSizeInfo> pAppWidgetSizeInfo(_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(size, previewImagePath) );
+ int sizeType = livebox_service_size_type(size.width, size.height);
+ SysAssertf(sizeType != LB_SIZE_TYPE_UNKNOWN, "Failed to invoke livebox_service_size_type(%d, %d)", size.width, size.height);
+ bool useDecoration = livebox_service_need_frame(pPackageId.get(), sizeType);
+
+ std::unique_ptr<AppWidgetSizeInfo> pAppWidgetSizeInfo(_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(size, previewImagePath, useDecoration) );
SysTryReturn(NID_SHELL, pAppWidgetSizeInfo, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Failed to allocate memory for AppWidgetSizeInfo." );
pSizes->Add( *pAppWidgetSizeInfo.release() );
}
namespace Tizen { namespace Shell
{
-_AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(FloatDimension size, const String& previewImagePath)
+_AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(FloatDimension size, const String& previewImagePath, bool useDecoration)
+ :__size(size), __previewImagePath(previewImagePath), __useDecoration(useDecoration)
{
- __size = size;
- __previewImagePath = previewImagePath;
}
_AppWidgetSizeInfoImpl::_AppWidgetSizeInfoImpl(const _AppWidgetSizeInfoImpl& rhs)
}
AppWidgetSizeInfo*
-_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath)
+_AppWidgetSizeInfoImpl::CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration)
{
- return new (std::nothrow) AppWidgetSizeInfo(size, previewImagePath);
+ AppWidgetSizeInfo* pSizeInfo = new (std::nothrow) AppWidgetSizeInfo(size, previewImagePath, useDecoration);
+ SysTryReturn(NID_SHELL, pSizeInfo, null, E_OUT_OF_MEMORY, "Allocation failure.");
+
+ return pSizeInfo;
}
FloatDimension
return __previewImagePath;
}
+bool
+_AppWidgetSizeInfoImpl::UseDecoration(void) const
+{
+ return __useDecoration;
+}
+
+
+
}} // Tizen::Shell
*
* @since 2.1
*/
- virtual ~_AppWidgetSizeInfoImpl();
+ virtual ~_AppWidgetSizeInfoImpl(void);
/**
* This is the copy constructor for the %AppWidgetSizeInfo class.
*
* @return A size
*/
- Tizen::Graphics::FloatDimension GetSize() const;
+ Tizen::Graphics::FloatDimension GetSize(void) const;
/**
* Gets the image path for preview
*
* @return The image path for preview
*/
- Tizen::Base::String GetPreviewImagePath() const;
+ Tizen::Base::String GetPreviewImagePath(void) const;
- static AppWidgetSizeInfo* CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+ bool UseDecoration(void) const;
+
+ static AppWidgetSizeInfo* CreateAppWidgetSizeInfo(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration);
private:
/**
*
* @since 2.1
*/
- _AppWidgetSizeInfoImpl();
+ _AppWidgetSizeInfoImpl(void);
/**
* This is the constructor that initializes an instance of %_AppWidgetSizeInfoImpl with the specified values.
*
* @since 2.1
*/
- _AppWidgetSizeInfoImpl(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath);
+ _AppWidgetSizeInfoImpl(Tizen::Graphics::FloatDimension size, const Tizen::Base::String& previewImagePath, bool useDecoration);
private:
Tizen::Graphics::FloatDimension __size;
Tizen::Base::String __previewImagePath;
+ bool __useDecoration;
friend class AppWidgetSizeInfo;
};