Add C# binding for ItemView.
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / SWIG / dali-toolkit.i
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 %apply unsigned int& OUTPUT { unsigned int& volume };
18 %feature("director") Dali::Toolkit::ItemFactory;
19
20 %ignore *::AccessibilityManager(Internal::AccessibilityManager*);
21 %ignore *::Alignment(Internal::Alignment&);
22 %ignore *::Alignment(Dali::Internal::CustomActor*);
23 %ignore *::Button(Internal::Button&);
24 %ignore *::Button(Dali::Internal::CustomActor*);
25 %ignore *::CheckBoxButton(Internal::CheckBoxButton&);
26 %ignore *::CheckBoxButton(Dali::Internal::CustomActor*);
27 %ignore *::Control(Dali::Internal::CustomActor*);
28 %ignore *::ControlWrapper( Internal::ControlWrapper& );
29 %ignore *::ControlWrapper( Dali::Internal::CustomActor* );
30 %ignore *::FlexContainer(Internal::FlexContainer&);
31 %ignore *::FlexContainer(Dali::Internal::CustomActor*);
32 %ignore *::GaussianBlurView(Internal::GaussianBlurView&);
33 %ignore *::GaussianBlurView(Dali::Internal::CustomActor*);
34 %ignore *::ImageView(Internal::ImageView&);
35 %ignore *::ImageView(Dali::Internal::CustomActor*);
36 %ignore *::ItemView(Internal::ItemView&);
37 %ignore *::ItemView(Dali::Internal::CustomActor*);
38 %ignore *::Model3dView(Internal::Model3dView&);
39 %ignore *::Model3dView(Dali::Internal::CustomActor*);
40 %ignore *::PageTurnLandscapeView(Internal::PageTurnLandscapeView&);
41 %ignore *::PageTurnLandscapeView(Dali::Internal::CustomActor*);
42 %ignore *::PageTurnPortraitView(Internal::PageTurnPortraitView&);
43 %ignore *::PageTurnPortraitView(Dali::Internal::CustomActor*);
44 %ignore *::PageTurnView(Internal::PageTurnView&);
45 %ignore *::PageTurnView(Dali::Internal::CustomActor*);
46 %ignore *::Popup(Internal::Popup&);
47 %ignore *::Popup(Dali::Internal::CustomActor*);
48 %ignore *::ProgressBar(Internal::ProgressBar&);
49 %ignore *::ProgressBar(Dali::Internal::CustomActor*);
50 %ignore *::PushButton(Internal::PushButton&);
51 %ignore *::PushButton(Dali::Internal::CustomActor*);
52 %ignore *::RadioButton(Internal::RadioButton&);
53 %ignore *::RadioButton(Dali::Internal::CustomActor*);
54 %ignore *::Scrollable(Internal::Scrollable&);
55 %ignore *::Scrollable(Dali::Internal::CustomActor*);
56 %ignore *::ScrollBar(Internal::ScrollBar&);
57 %ignore *::ScrollBar(Dali::Internal::CustomActor*);
58 %ignore *::ScrollView(Internal::ScrollView&);
59 %ignore *::ScrollView(Dali::Internal::CustomActor*);
60 %ignore *::ScrollViewEffect(Internal::ScrollViewEffect*);
61 %ignore *::Slider(Internal::Slider&);
62 %ignore *::Slider(Dali::Internal::CustomActor*);
63 %ignore *::StyleManager(Internal::StyleManager*);
64 %ignore *::TableView(Internal::TableView&);
65 %ignore *::TableView(Dali::Internal::CustomActor*);
66 %ignore *::TextEditor(Internal::TextEditor&);
67 %ignore *::TextEditor(Dali::Internal::CustomActor*);
68 %ignore *::TextField(Internal::TextField&);
69 %ignore *::TextField(Dali::Internal::CustomActor*);
70 %ignore *::TextLabel(Internal::TextLabel&);
71 %ignore *::TextLabel(Dali::Internal::CustomActor*);
72 %ignore *::VideoView(Internal::VideoView&);
73 %ignore *::VideoView(Dali::Internal::CustomActor*);
74 %ignore *::VisualFactory(Dali::Internal::VisualFactory*);
75 %ignore *::Base(Dali::Internal::Visual::Base*);
76 %ignore *::GetExtension();
77 %ignore *::GetControlExtension();
78
79 %ignore *::Button::SetAnimationTime(float animationTime);
80 %ignore *::Button::SetAutoRepeating(bool);
81 %ignore *::Button::SetBackgroundImage(const std::string &);
82 %ignore *::Button::SetButtonImage(Dali::Image);
83 %ignore *::Button::SetDisabled(bool);
84 %ignore *::Button::SetDisabledBackgroundImage(const std::string &);
85 %ignore *::Button::SetDisabledImage(const std::string &);
86 %ignore *::Button::SetDisabledSelectedImage(const std::string &);
87 %ignore *::Button::SetInitialAutoRepeatingDelay(float);
88 %ignore *::Button::SetLabel(Dali::Actor);
89 %ignore *::Button::SetLabelText(const std::string &);
90 %ignore *::Button::SetNextAutoRepeatingDelay(float);
91 %ignore *::Button::SetSelected(bool);
92 %ignore *::Button::SetSelectedBackgroundImage(const std::string &);
93 %ignore *::Button::SetSelectedImage(const std::string &);
94 %ignore *::Button::SetSelectedImage(Dali::Image);
95 %ignore *::Button::SetTogglableButton(bool);
96 %ignore *::Button::SetUnselectedImage(const std::string &);
97
98 %rename(View) Dali::Toolkit::Control;
99 %rename(ViewImpl) Dali::Toolkit::Internal::Control;
100 %rename(VisualBase) Dali::Toolkit::Visual::Base;
101 %rename(LoadImageSynchronously) Dali::Toolkit::SyncImageLoader::Load;
102 %rename(ControlOrientationType) Dali::Toolkit::ControlOrientation::Type;
103 %rename(DefaultItemLayoutType) Dali::Toolkit::DefaultItemLayout::Type;
104 %rename(DefaultItemLayoutProperty) Dali::Toolkit::DefaultItemLayoutProperty::Property;
105 %rename(NewItemLayout) Dali::Toolkit::DefaultItemLayout::New;
106 %rename(ContentDirectionType) Dali::Toolkit::FlexContainer::ContentDirection;
107 %rename(FlexDirectionType) Dali::Toolkit::FlexContainer::FlexDirection;
108 %rename(IluminationTypeEnum) Dali::Toolkit::Model3dView::IlluminationType;
109 %rename(DisplayStateType) Dali::Toolkit::Popup::DisplayState;
110 %rename(ContextualModeType) Dali::Toolkit::Popup::ContextualMode;
111 %rename(AnimationModeType) Dali::Toolkit::Popup::AnimationMode;
112 %rename(IndicatorHeightPolicyType) Dali::Toolkit::ScrollBar::IndicatorHeightPolicy;
113 %rename(ExceedPolicyType) Dali::Toolkit::TextField::ExceedPolicy;
114 %rename(ToolkitPropertyRange) Dali::Toolkit::PropertyRanges;
115 %rename(VisualType) Dali::Toolkit::Visual::Type;
116 %rename(VisualShaderType) Dali::Toolkit::Visual::Shader::Property;
117 %rename(GradientVisualUnitsType) Dali::Toolkit::GradientVisual::Units::Type;
118 %rename(GradientVisualSpreadMethodType) Dali::Toolkit::GradientVisual::SpreadMethod::Type;
119 %rename(MeshVisualShadingModeValue) Dali::Toolkit::MeshVisual::ShadingMode::Value;
120 %rename(PrimitiveVisualShapeType) Dali::Toolkit::PrimitiveVisual::Shape::Type;
121 %rename(PRIMITIVE_VISUAL_COLOR) Dali::Toolkit::PrimitiveVisual::Property::COLOR;
122 %rename(PRIMITIVE_VISUAL_MIX_COLOR) Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
123 %rename(PRIMITIVE_VISUAL_LIGHT_POSITION) Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION;
124 %rename(VISUAL_PROPERTY_TYPE) Dali::Toolkit::Visual::Property::TYPE;
125 %rename(VISUAL_PROPERTY_SHADER) Dali::Toolkit::Visual::Property::SHADER;
126 %rename(IMAGE_VISUAL_URL) Dali::Toolkit::ImageVisual::Property::URL;
127 %rename(IMAGE_VISUAL_FITTING_MODE) Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
128 %rename(IMAGE_VISUAL_SAMPLING_MODE) Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
129 %rename(IMAGE_VISUAL_DESIRED_WIDTH) Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
130 %rename(IMAGE_VISUAL_DESIRED_HEIGHT) Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
131 %rename(IMAGE_VISUAL_SYNCHRONOUS_LOADING) Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
132 %rename(IMAGE_VISUAL_BORDER_ONLY) Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
133 %rename(IMAGE_VISUAL_BATCHING_ENABLED) Dali::Toolkit::ImageVisual::Property::BATCHING_ENABLED;
134 %rename(IMAGE_VISUAL_PIXEL_AREA) Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
135 %rename(IMAGE_VISUAL_WRAP_MODE_U) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
136 %rename(IMAGE_VISUAL_WRAP_MODE_V) Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
137 %rename(COLOR_VISUAL_MIX_COLOR) Dali::Toolkit::Color::Visual::Property::MIX_COLOR;
138 %rename(TEXT_VISUAL_RENDERING_BACKEND) Dali::Toolkit::Text::Visual::Property::RENDERING_BACKEND;
139 %rename(TEXT_VISUAL_TEXT) Dali::Toolkit::Text::Visual::Property::TEXT;
140 %rename(TEXT_VISUAL_FONT_FAMILY) Dali::Toolkit::Text::Visual::Property::FONT_FAMILY;
141 %rename(TEXT_VISUAL_FONT_STYLE) Dali::Toolkit::Text::Visual::Property::FONT_STYLE;
142 %rename(TEXT_VISUAL_POINT_SIZE) Dali::Toolkit::Text::Visual::Property::POINT_SIZE;
143 %rename(TEXT_VISUAL_MULTI_LINE) Dali::Toolkit::Text::Visual::Property::MULTI_LINE;
144 %rename(TEXT_VISUAL_HORIZONTAL_ALIGNMENT) Dali::Toolkit::Text::Visual::Property::HORIZONTAL_ALIGNMENT;
145 %rename(TEXT_VISUAL_VERTICAL_ALIGNMENT) Dali::Toolkit::Text::Visual::Property::VERTICAL_ALIGNMENT;
146 %rename(TEXT_VISUAL_TEXT_COLOR) Dali::Toolkit::Text::Visual::Property::TEXT_COLOR;
147 %rename(TEXT_VISUAL_ENABLE_MARKUP) Dali::Toolkit::Text::Visual::Property::ENABLE_MARKUP;
148 %rename(TEXT_VISUAL_ENABLE_AUTO_SCROLL) Dali::Toolkit::Text::Visual::Property::ENABLE_AUTO_SCROLL;
149 %rename(TEXT_VISUAL_AUTO_SCROLL_SPEED) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_SPEED;
150 %rename(TEXT_VISUAL_AUTO_SCROLL_LOOP_COUNT) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_LOOP_COUNT;
151 %rename(TEXT_VISUAL_AUTO_SCROLL_GAP) Dali::Toolkit::Text::Visual::Property::AUTO_SCROLL_GAP;
152 %rename(TEXT_VISUAL_LINE_SPACING) Dali::Toolkit::Text::Visual::Property::LINE_SPACING;
153 %rename(TEXT_VISUAL_UNDERLINE) Dali::Toolkit::Text::Visual::Property::UNDERLINE;
154 %rename(TEXT_VISUAL_SHADOW) Dali::Toolkit::Text::Visual::Property::SHADOW;
155 %rename(TEXT_VISUAL_EMBOSS) Dali::Toolkit::Text::Visual::Property::EMBOSS;
156 %rename(TEXT_VISUAL_OUTLINE) Dali::Toolkit::Text::Visual::Property::OUTLINE;
157 %rename(TEXT_VISUAL_BATCHING_ENABLED) Dali::Toolkit::Text::Visual::Property::BATCHING_ENABLED;
158
159 %csconstvalue("PropertyRanges.PROPERTY_REGISTRATION_START_INDEX") PROPERTY_START_INDEX;
160 %csconstvalue("View.PropertyRange.PROPERTY_START_INDEX+1000") PROPERTY_END_INDEX;
161 %csconstvalue("PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX") CHILD_PROPERTY_START_INDEX;
162 %csconstvalue("PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000") CHILD_PROPERTY_END_INDEX;
163 %csconstvalue("PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX") ANIMATABLE_PROPERTY_START_INDEX;
164 %csconstvalue("PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000") ANIMATABLE_PROPERTY_END_INDEX;
165 %csconstvalue("PropertyRanges.CORE_PROPERTY_MAX_INDEX+1") VISUAL_PROPERTY_BASE_START_INDEX;
166 %csconstvalue("0") CONTROL_BEHAVIOUR_NONE;
167 %csconstvalue("0") CONTROL_BEHAVIOUR_DEFAULT;
168 %csconstvalue("1 << 0") DISABLE_SIZE_NEGOTIATION;
169 %csconstvalue("1 << 1") REQUIRES_TOUCH_EVENTS;
170 %csconstvalue("1 << 2") REQUIRES_HOVER_EVENTS;
171 %csconstvalue("1 << 3") REQUIRES_WHEEL_EVENTS;
172 %csconstvalue("1 << 4") REQUIRES_STYLE_CHANGE_SIGNALS;
173 %csconstvalue("1 << 5") REQUIRES_KEYBOARD_NAVIGATION_SUPPORT;
174 %csconstvalue("1 << 6") DISABLE_STYLE_CHANGE_SIGNALS;
175
176 typedef unsigned int ItemId;
177 typedef std::vector<ItemId> ItemIdContainer;
178 typedef std::pair<ItemId, Actor> Item;
179 typedef std::vector<Item> ItemContainer;
180 typedef Dali::IntrusivePtr<Dali::Toolkit::Ruler> RulerPtr;
181
182 %include <dali-toolkit/public-api/toolkit-property-index-ranges.h>
183
184 %include <dali-toolkit/public-api/visuals/visual-properties.h>
185 %include <dali-toolkit/public-api/visuals/border-visual-properties.h>
186 %include <dali-toolkit/public-api/visuals/color-visual-properties.h>
187 %include <dali-toolkit/public-api/visuals/gradient-visual-properties.h>
188 %include <dali-toolkit/public-api/visuals/image-visual-properties.h>
189 %include <dali-toolkit/public-api/visuals/mesh-visual-properties.h>
190 %include <dali-toolkit/public-api/visuals/primitive-visual-properties.h>
191 %include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
192
193 %include <dali-toolkit/devel-api/builder/builder.h>
194
195 %include <dali-toolkit/devel-api/visual-factory/transition-data.h>
196
197 %include <dali-toolkit/public-api/controls/control-impl.h>
198 %include <dali-toolkit/public-api/controls/control.h>
199
200 %include <dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.h>
201
202 %include <dali-toolkit/public-api/controls/alignment/alignment.h>
203 %include <dali-toolkit/public-api/controls/buttons/button.h>
204 %include <dali-toolkit/public-api/controls/buttons/check-box-button.h>
205 %include <dali-toolkit/public-api/controls/buttons/push-button.h>
206 %include <dali-toolkit/public-api/controls/buttons/radio-button.h>
207 %include <dali-toolkit/public-api/controls/flex-container/flex-container.h>
208 %include <dali-toolkit/public-api/controls/image-view/image-view.h>
209 %include <dali-toolkit/public-api/controls/model3d-view/model3d-view.h>
210 %include <dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h>
211 %include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
212 %include <dali-toolkit/public-api/enums.h>
213 %include <dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h>
214 %include <dali-toolkit/public-api/controls/scrollable/item-view/default-item-layout.h>
215 %include <dali-toolkit/devel-api/controls/scrollable/item-view/default-item-layout-property.h>
216 %include <dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h>
217 %include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
218 %include <dali-toolkit/public-api/controls/scrollable/item-view/item-view.h>
219 %include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-constraints.h>
220 %include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-effect.h>
221 %include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-page-path-effect.h>
222 %include <dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h>
223 %include <dali-toolkit/public-api/controls/table-view/table-view.h>
224 %include <dali-toolkit/public-api/text/rendering-backend.h>
225 %include <dali-toolkit/public-api/controls/text-controls/text-editor.h>
226 %include <dali-toolkit/public-api/controls/text-controls/text-field.h>
227 %include <dali-toolkit/public-api/controls/text-controls/text-label.h>
228 %include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
229 %include <dali-toolkit/public-api/styling/style-manager.h>
230 %include <dali-toolkit/public-api/controls/slider/slider.h>
231 %include <dali-toolkit/public-api/controls/video-view/video-view.h>
232
233 %include <dali-toolkit/devel-api/controls/popup/popup.h>
234 %include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
235 %include <dali-toolkit/devel-api/controls/gaussian-blur-view/gaussian-blur-view.h>
236 %include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
237 %include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
238 %include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-landscape-view.h>
239 %include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-portrait-view.h>
240
241 %include <dali-toolkit/devel-api/visual-factory/visual-base.h>
242 %include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
243
244 %include <dali-toolkit/public-api/image-loader/async-image-loader.h>
245 %include <dali-toolkit/public-api/image-loader/sync-image-loader.h>
246 %include <dali-toolkit/public-api/text/rendering-backend.h>
247
248 %template(ItemIdContainer) std::vector<unsigned int>;
249 %template(Item) std::pair<unsigned int, Dali::Actor>;
250 %template(ItemContainer) std::vector<std::pair<unsigned int, Dali::Actor>>;
251 %template(ActorContainer) std::vector<Dali::Actor>;
252 %template(AccessibilityActionSignal) Dali::Signal<bool(Dali::Toolkit::AccessibilityManager&)>;
253 %template(AccessibilityActionScrollSignal) Dali::Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>;
254 %template(AccessibilityFocusOvershotSignal) Dali::Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>;
255 %template(FocusChangedSignal) Dali::Signal<void(Dali::Actor, Dali::Actor)>;
256 %template(FocusGroupChangedSignal) Dali::Signal<void(Dali::Actor, bool)>;
257 %template(StyleChangedSignal) Dali::Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>;
258 %template(ButtonSignal) Dali::Signal<bool(Dali::Toolkit::Button)>;
259 %template(GaussianBlurViewSignal) Dali::Signal<void (Dali::Toolkit::GaussianBlurView)>;
260 %template(PageTurnSignal) Dali::Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>;
261 %template(PagePanSignal) Dali::Signal<void(Dali::Toolkit::PageTurnView)>;
262 %template(ScrollViewSnapStartedSignal) Dali::Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>;
263 %template(ScrollableSignal) Dali::Signal< void(const Dali::Vector2&)>;
264 %template(TextEditorSignal) Dali::Signal<void(Dali::Toolkit::TextEditor)>;
265 %template(TextFieldSignal) Dali::Signal<void(Dali::Toolkit::TextField)>;
266 %template(ControlKeyEventSignal) Dali::Signal<bool(Dali::Toolkit::Control, const Dali::KeyEvent&)>;
267 %template(KeyInputFocusSignal) Dali::Signal<void(Dali::Toolkit::Control)>;
268 %template(VideoViewSignal) Dali::Signal<void(Dali::Toolkit::VideoView&)>;
269 %template(SliderValueChangedSignal) Dali::Signal<bool(Dali::Toolkit::Slider, float)>;
270 %template(SliderMarkReachedSignal) Dali::Signal<bool(Dali::Toolkit::Slider, int)>;
271 %template(RulerPtr) Dali::IntrusivePtr<Dali::Toolkit::Ruler>;