Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUi_LayoutILayoutItemHandler.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 /**
18  * @file        FUi_LayoutILayoutItemHandler.h
19  * @brief       This is the header file for ILayoutItemHandler interface.
20  *
21  * This header file contains the declaration of ILayoutItemHandler interface.
22  */
23
24 #ifndef _FUI_INTERNAL_LAYOUT_ILAYOUT_ITEM_HANDLER_H
25 #define _FUI_INTERNAL_LAYOUT_ILAYOUT_ITEM_HANDLER_H
26
27 #include <FBaseTypes.h>
28 #include <FOspConfig.h>
29
30 namespace Tizen
31 {
32 namespace Ui
33 {
34 namespace _Layout
35 {
36
37 class _OSP_EXPORT_ ILayoutItemHandler
38 {
39 public:
40         virtual ~ILayoutItemHandler(void) {}
41
42         virtual void SetItemVisibleState(bool visible) = 0;
43         virtual result SetItemBounds(const Tizen::Graphics::Rectangle& rect) = 0;
44         virtual Tizen::Graphics::Rectangle GetItemBounds(void) const = 0;
45         virtual Tizen::Graphics::Rectangle GetItemClientBoundsFromSize(const Tizen::Graphics::Dimension& size) const = 0;
46         virtual Tizen::Graphics::Dimension GetItemContentSize(void) const = 0;
47         virtual Tizen::Graphics::Dimension GetItemMinimumSize(void) const = 0;
48         virtual Tizen::Graphics::Dimension GetItemMaximumSize(void) const = 0;
49         virtual result OnItemMeasure(int& width, int& height) = 0;
50 }; // ILayoutItemHandler
51
52 }}}
53
54 #endif //_FUI_INTERNAL_LAYOUT_ILAYOUT_ITEM_HANDLER_H