Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_GalleryItemImpl.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 #ifndef _FUI_CTRL_INTERNAL_GALLERY_ITEM_IMPL_H_
18 #define _FUI_CTRL_INTERNAL_GALLERY_ITEM_IMPL_H_
19
20 #include <FBaseObject.h>
21 #include <FUiCtrlGalleryTypes.h>
22
23 namespace Tizen { namespace Graphics {
24
25 class Bitmap;
26
27 }} // Tizen::Graphics
28
29 namespace Tizen { namespace Base {
30
31 class String;
32
33 }} // Tizen::Base
34
35 namespace Tizen { namespace Ui { namespace Controls {
36
37 class Gallery;
38 class GalleryItem;
39 class _GalleryItem;
40
41 class _GalleryItemImpl
42         : public Tizen::Base::Object
43 {
44 public:
45         _GalleryItemImpl(GalleryItem* pPublicGalleryItem, _GalleryItem* pCoreGalleryItem);
46         virtual ~_GalleryItemImpl(void);
47
48         static _GalleryItemImpl* CreateGalleryItemImplN(GalleryItem* pGallery, const Tizen::Graphics::Bitmap& image,
49                                                                                                 GalleryImageRotation rotation, Tizen::Base::String filePath);
50
51         virtual const char* GetPublicClassName(void) const;
52         virtual const GalleryItem& GetPublic(void) const;
53         virtual GalleryItem& GetPublic(void);
54         virtual const _GalleryItem& GetCore(void) const;
55         virtual _GalleryItem& GetCore(void);
56
57         static _GalleryItemImpl* GetInstance(GalleryItem& galleryItem);
58         static const _GalleryItemImpl* GetInstance(const GalleryItem& galleryItem);
59
60 private:
61         _GalleryItemImpl(const _GalleryItemImpl& rhs);
62         _GalleryItemImpl& operator=(const _GalleryItemImpl& rhs);
63
64 private:
65         GalleryItem* __pPublicGalleryItem;
66         _GalleryItem* __pCoreGalleryItem;
67 }; // _GalleryItemImpl
68
69 }}} //Tizen::Ui::Controls
70
71 #endif //_FUI_CTRL_INTERNAL_GALLERY_ITEM_IMPL_H_