Rectangle Generic class support in C#
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / SWIG / dali-core.i
1 /*
2  * Copyright (c) 2017 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
18 %apply int& INOUT { int& integerValue };
19 %apply float& INOUT { float& floatValue };
20 %apply bool& INOUT { bool& boolValue };
21 %apply float& OUTPUT { float& localX };
22 %apply float& OUTPUT { float& localY };
23 %apply float& OUTPUT { float& viewportX };
24 %apply float& OUTPUT { float& viewportY };
25
26 #if defined(SWIGCSHARP)
27
28 %include arrays_csharp.i
29 %apply unsigned char INPUT[] { unsigned char* pixelBuffer}
30 %apply unsigned char INPUT[] { unsigned char* buffer}
31 %apply unsigned char INPUT[] { unsigned char* at}
32 %apply unsigned char INPUT[] { unsigned char* iterator}
33 %apply unsigned char INPUT[] { unsigned char* first}
34 //%apply unsigned char OUTPUT[] { unsigned char* GetBuffer}
35 //%apply unsigned char OUTPUT[] { unsigned char* Begin}
36 //%apply unsigned char OUTPUT[] { unsigned char* End}
37 %apply unsigned char OUTPUT[] { unsigned char* ValueOfIndex}
38 %apply unsigned short INPUT[] { unsigned short* indices}
39 %apply float INPUT[] { float* array }
40
41 #endif
42
43 %ignore *::Animation(Internal::Animation*);
44 %ignore *::Actor(Internal::Actor*);
45 %ignore *::BufferImage(Internal::BufferImage*);
46 %ignore *::CameraActor(Internal::CameraActor*);
47 %ignore *::CustomActor(Internal::CustomActor*);
48 %ignore *::EncodedBufferImage(Internal::EncodedBufferImage*);
49 %ignore *::FrameBuffer(Internal::FrameBuffer*);
50 %ignore *::FrameBufferImage(Internal::FrameBufferImage*);
51 %ignore *::Geometry(Internal::Geometry*);
52 %ignore *::Handle(Dali::Internal::Object*);
53 %ignore *::Image(Internal::Image*);
54 %ignore *::KeyFrames(Internal::KeyFrames*);
55 %ignore *::Layer(Internal::Layer*);
56 %ignore *::LinearConstrainer(Internal::LinearConstrainer*);
57 %ignore *::LongPressGestureDetector(Internal::LongPressGestureDetector*);
58 %ignore *::NativeImage(Internal::NativeImage*);
59 %ignore *::NinePatchImage(Internal::NinePatchImage*);
60 %ignore *::ObjectRegistry(Internal::ObjectRegistry*);
61 %ignore *::PanGestureDetector(Internal::PanGestureDetector*);
62 %ignore *::Path(Internal::Path*);
63 %ignore *::PathConstrainer(Internal::PathConstrainer*);
64 %ignore *::PinchGestureDetector(Internal::PinchGestureDetector*);
65 %ignore *::PixelData(Internal::PixelData*);
66 %ignore *::PropertyBuffer(Internal::PropertyBuffer*);
67 %ignore *::PropertyNotification(Internal::PropertyNotification*);
68 %ignore *::Renderer(Internal::Renderer*);
69 %ignore *::RenderTask(Internal::RenderTask*);
70 %ignore *::RenderTaskList(Internal::RenderTaskList*);
71 %ignore *::ResourceImage(Internal::ResourceImage*);
72 %ignore *::Sampler(Internal::Sampler*);
73 %ignore *::Shader(Internal::Shader*);
74 %ignore *::Stage(Internal::Stage*);
75 %ignore *::TapGestureDetector(Internal::TapGestureDetector*);
76 %ignore *::Texture(Internal::NewTexture*);
77 %ignore *::TextureSet(Internal::TextureSet*);
78 %ignore *::TouchData(Internal::TouchData*);
79 %ignore *::TypeInfo(Internal::TypeInfo*);
80 %ignore *::GetExtension();
81 %ignore *::Initialize(Internal::CustomActor&);
82 %ignore *::GetOwner() const;
83 %ignore *::ParentOrigin::DEFAULT;
84 %ignore *::AnchorPoint::DEFAULT;
85 %ignore *::SetPositionInheritanceMode(PositionInheritanceMode);
86 %ignore *::GetKeyValue(SizeType) const;
87 %ignore *::TypeInfo::GetCreator() const;
88 %ignore Dali::Stage::TouchedSignal;
89
90 %rename(ParentOriginTop) Dali::ParentOrigin::TOP;
91 %rename(ParentOriginBottom) Dali::ParentOrigin::BOTTOM;
92 %rename(ParentOriginLeft) Dali::ParentOrigin::LEFT;
93 %rename(ParentOriginRight) Dali::ParentOrigin::RIGHT;
94 %rename(ParentOriginMiddle) Dali::ParentOrigin::MIDDLE;
95 %rename(ParentOriginTopLeft) Dali::ParentOrigin::TOP_LEFT;
96 %rename(ParentOriginTopCenter) Dali::ParentOrigin::TOP_CENTER;
97 %rename(ParentOriginTopRight) Dali::ParentOrigin::TOP_RIGHT;
98 %rename(ParentOriginCenterLeft) Dali::ParentOrigin::CENTER_LEFT;
99 %rename(ParentOriginCenter) Dali::ParentOrigin::CENTER;
100 %rename(ParentOriginCenterRight) Dali::ParentOrigin::CENTER_RIGHT;
101 %rename(ParentOriginBottomLeft) Dali::ParentOrigin::BOTTOM_LEFT;
102 %rename(ParentOriginBottomCenter) Dali::ParentOrigin::BOTTOM_CENTER;
103 %rename(ParentOriginBottomRight) Dali::ParentOrigin::BOTTOM_RIGHT;
104 %rename(AnchorPointTop) Dali::AnchorPoint::TOP;
105 %rename(AnchorPointBottom) Dali::AnchorPoint::BOTTOM;
106 %rename(AnchorPointLeft) Dali::AnchorPoint::LEFT;
107 %rename(AnchorPointRight) Dali::AnchorPoint::RIGHT;
108 %rename(AnchorPointMiddle) Dali::AnchorPoint::MIDDLE;
109 %rename(AnchorPointTopLeft) Dali::AnchorPoint::TOP_LEFT;
110 %rename(AnchorPointTopCenter) Dali::AnchorPoint::TOP_CENTER;
111 %rename(AnchorPointTopRight) Dali::AnchorPoint::TOP_RIGHT;
112 %rename(AnchorPointCenterLeft) Dali::AnchorPoint::CENTER_LEFT;
113 %rename(AnchorPointCenter) Dali::AnchorPoint::CENTER;
114 %rename(AnchorPointCenterRight) Dali::AnchorPoint::CENTER_RIGHT;
115 %rename(AnchorPointBottomLeft) Dali::AnchorPoint::BOTTOM_LEFT;
116 %rename(AnchorPointBottomCenter) Dali::AnchorPoint::BOTTOM_CENTER;
117 %rename(AnchorPointBottomRight) Dali::AnchorPoint::BOTTOM_RIGHT;
118 %rename(ConvertToFloat) operator float;
119 %rename(DimensionType) Dali::Dimension::Type;
120 %rename(ResizePolicyType) Dali::ResizePolicy::Type;
121 %rename(ResizePolicyDefault) Dali::ResizePolicy::DEFAULT;
122 %rename(SizeScalePolicyType) Dali::SizeScalePolicy::Type;
123 %rename(HorizontalAlignmentType) Dali::HorizontalAlignment::Type;
124 %rename(VerticalAlignmentType) Dali::VerticalAlignment::Type;
125 %rename(ClippingModeType) Dali::ClippingMode::Type;
126 %rename(FilterModeType) Dali::FilterMode::Type;
127 %rename(WrapModeType) Dali::WrapMode::Type;
128 %rename(PixelFormat) Dali::Pixel::Format;
129 %rename(TextureType) Dali::TextureType::Type;
130 %rename(FaceCullingModeType) Dali::FaceCullingMode::Type;
131 %rename(BlendModeType) Dali::BlendMode::Type;
132 %rename(BlendEquationType) Dali::BlendEquation::Type;
133 %rename(BlendFactorType) Dali::BlendFactor::Type;
134 %rename(DepthWriteModeType) Dali::DepthWriteMode::Type;
135 %rename(DepthTestModeType) Dali::DepthTestMode::Type;
136 %rename(DepthFunctionType) Dali::DepthFunction::Type;
137 %rename(RenderModeType) Dali::RenderMode::Type;
138 %rename(StencilFunctionType) Dali::StencilFunction::Type;
139 %rename(StencilModeType) Dali::StencilMode::Type;
140 %rename(StencilOperationType) Dali::StencilOperation::Type;
141 %rename(DrawModeType) Dali::DrawMode::Type;
142 %rename(PointStateType) Dali::PointState::Type;
143 %rename(FittingModeType) Dali::FittingMode::Type;
144 %rename(FittingModeDefault) Dali::FittingMode::DEFAULT;
145 %rename(SamplingModeType) Dali::SamplingMode::Type;
146 %rename(RenderBufferFormat) Dali::RenderBuffer::Format;
147 %rename(BlendingModeType) Dali::BlendingMode::Type;
148 %rename(BlendingFactorType) Dali::BlendingFactor::Type;
149 %rename(BlendingEquationType) Dali::BlendingEquation::Type;
150 %rename(CameraType) Dali::Camera::Type;
151 %rename(LayerBehavior) Dali::Layer::Behavior;
152 %rename(X) Dali::Vector2::x;
153 %rename(Y) Dali::Vector2::y;
154 %rename(Width) Dali::Vector2::width;
155 %rename(Height) Dali::Vector2::height;
156 %rename(X) Dali::Vector3::x;
157 %rename(Y) Dali::Vector3::y;
158 %rename(Z) Dali::Vector3::z;
159 %rename(Width) Dali::Vector3::width;
160 %rename(Height) Dali::Vector3::height;
161 %rename(Depth) Dali::Vector3::depth;
162 %rename(X) Dali::Vector4::x;
163 %rename(Y) Dali::Vector4::y;
164 %rename(Z) Dali::Vector4::z;
165 %rename(W) Dali::Vector4::w;
166
167
168 typedef std::pair<std::string, Dali::Property::Value> StringValuePair;
169 typedef std::vector<Dali::TouchPoint> TouchPointContainer;
170 typedef std::pair< Dali::Radian, Dali::Radian > AngleThresholdPair;
171
172 %include <dali/public-api/object/ref-object.h>
173 %include <dali/public-api/object/any.h>
174
175 %include <dali/public-api/common/dali-common.h>
176 %include <dali/public-api/common/intrusive-ptr.h>
177
178 %include <dali/public-api/math/vector2.h>
179 %include <dali/public-api/math/vector3.h>
180 %include <dali/public-api/math/vector4.h>
181 %include <dali/public-api/math/rect.h>
182 %include <dali/public-api/math/uint-16-pair.h>
183 %include <dali/public-api/math/degree.h>
184 %include <dali/public-api/math/radian.h>
185 %include <dali/public-api/math/quaternion.h>
186 %include <dali/public-api/math/matrix.h>
187 %include <dali/public-api/math/matrix3.h>
188 %include <dali/public-api/math/random.h>
189 %include <dali/public-api/math/angle-axis.h>
190 %include <dali/public-api/math/viewport.h>
191 %include <dali/public-api/math/math-utils.h>
192
193 %include <dali/public-api/object/property-index-ranges.h>
194 %include <dali/public-api/object/property.h>
195 %include <dali/public-api/object/property-array.h>
196 %include <dali/public-api/object/property-key.h>
197 %include <dali/public-api/object/property-map.h>
198 %include <dali/public-api/object/property-types.h>
199 %include <dali/public-api/object/property-value.h>
200 %include <dali/public-api/object/base-object.h>
201 %include <dali/public-api/object/base-handle.h>
202
203 %include <dali/public-api/signals/connection-tracker-interface.h>
204 %include <dali/public-api/signals/signal-slot-observers.h>
205 %include <dali/public-api/signals/connection-tracker.h>
206 %include <dali/public-api/signals/dali-signal.h>
207
208 %include <dali/public-api/object/object-registry.h>
209 %include <dali/public-api/object/property-conditions.h>
210 %include <dali/public-api/object/property-notification-declarations.h>
211 %include <dali/public-api/object/property-notification.h>
212 %include <dali/public-api/object/handle.h>
213 %include <dali/public-api/object/type-info.h>
214 %include <dali/public-api/object/type-registry.h>
215 %include <dali/devel-api/object/csharp-type-info.h>
216 %include <dali/devel-api/object/csharp-type-registry.h>
217
218 %include <dali/public-api/common/constants.h>
219 %include <dali/public-api/actors/actor-enumerations.h>
220 %include <dali/public-api/common/dali-vector.h>
221 %include <dali/public-api/common/vector-wrapper.h>
222
223 %include <dali/public-api/images/image.h>
224 %include <dali/public-api/actors/sampling.h>
225 %include <dali/public-api/images/pixel.h>
226 %include <dali/public-api/images/pixel-data.h>
227
228 %include <dali/public-api/rendering/texture.h>
229 %include <dali/public-api/rendering/sampler.h>
230 %include <dali/public-api/rendering/texture-set.h>
231 %include <dali/public-api/rendering/property-buffer.h>
232 %include <dali/public-api/rendering/geometry.h>
233 %include <dali/public-api/rendering/shader.h>
234 %include <dali/public-api/rendering/renderer.h>
235 %include <dali/public-api/actors/draw-mode.h>
236 %include <dali/public-api/common/loading-state.h>
237 %include <dali/public-api/rendering/frame-buffer.h>
238 %include <dali/public-api/render-tasks/render-task-list.h>
239 %include <dali/public-api/render-tasks/render-task.h>
240
241 %include <dali/public-api/events/touch-point.h>
242 %include <dali/public-api/events/point-state.h>
243 %include <dali/public-api/events/touch-data.h>
244 %include <dali/public-api/events/gesture-detector.h>
245 %include <dali/public-api/events/gesture.h>
246 %include <dali/public-api/events/hover-event.h>
247 %include <dali/public-api/events/key-event.h>
248 %include <dali/public-api/events/long-press-gesture-detector.h>
249 %include <dali/public-api/events/long-press-gesture.h>
250 %include <dali/public-api/events/wheel-event.h>
251
252 %include <dali/public-api/actors/actor.h>
253 %include <dali/public-api/actors/layer.h>
254 %include <dali/public-api/common/stage.h>
255 %include <dali/public-api/size-negotiation/relayout-container.h>
256 %include <dali/public-api/actors/custom-actor-impl.h>
257 %include <dali/public-api/actors/custom-actor.h>
258
259 %include <dali/public-api/events/pan-gesture-detector.h>
260 %include <dali/public-api/events/pan-gesture.h>
261 %include <dali/public-api/events/pinch-gesture-detector.h>
262 %include <dali/public-api/events/pinch-gesture.h>
263 %include <dali/public-api/events/tap-gesture-detector.h>
264 %include <dali/public-api/events/tap-gesture.h>
265
266 %include <dali/public-api/animation/alpha-function.h>
267 %include <dali/public-api/animation/key-frames.h>
268 %include <dali/public-api/animation/path.h>
269 %include <dali/public-api/animation/time-period.h>
270 %include <dali/public-api/animation/animation.h>
271 %include <dali/public-api/animation/linear-constrainer.h>
272 %include <dali/devel-api/animation/path-constrainer.h>
273
274 %include <dali/public-api/common/view-mode.h>
275 %include <dali/public-api/images/image-operations.h>
276 %include <dali/public-api/images/buffer-image.h>
277 %include <dali/public-api/images/encoded-buffer-image.h>
278 %include <dali/public-api/images/native-image.h>
279 %include <dali/public-api/images/native-image-interface.h>
280 %include <dali/public-api/images/resource-image.h>
281 %include <dali/public-api/images/frame-buffer-image.h>
282 %include <dali/devel-api/images/nine-patch-image.h>
283
284 %include <dali/public-api/actors/camera-actor.h>
285
286 %template(StringValuePair) std::pair<std::string, Dali::Property::Value>;
287 %template(TouchPointContainer) std::vector<Dali::TouchPoint>;
288 %template(Rectangle)  Dali::Rect<int>;
289 %template(PaddingType)  Dali::Rect<float>;
290 %template(VectorInteger) Dali::Vector<int>;
291 %template(VectorFloat) Dali::Vector<float>;
292 %template(VectorUnsignedChar) Dali::Vector<unsigned char>;
293 %template(VectorUint16Pair) Dali::Vector<Dali::Uint16Pair>;
294 %template(VoidSignal) Dali::Signal<void()>;
295 %template(BoolSignal) Dali::Signal<bool()>;
296 %template(FloatSignal) Dali::Signal<void(float)>;
297 %template(ObjectCreatedSignal) Dali::Signal<void(Dali::BaseHandle)>;
298 %template(ObjectDestroyedSignal) Dali::Signal<void(const Dali::RefObject*)>;
299 %template(PropertyNotifySignal) Dali::Signal<void(Dali::PropertyNotification&)>;
300 %template(ImageSignal) Dali::Signal<void(Dali::Image)>;
301 %template(RenderTaskSignal) Dali::Signal<void(Dali::RenderTask&)>;
302 %template(LongPressGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::LongPressGesture&)>;
303 //%template(ActorTouchEventSignal) Dali::Signal<bool (Dali::Actor, const Dali::TouchEvent&)>;
304 %template(ActorTouchDataSignal) Dali::Signal<bool (Dali::Actor, const Dali::TouchData&)>;
305 %template(ActorHoverSignal) Dali::Signal<bool (Dali::Actor, const Dali::HoverEvent&)>;
306 %template(ActorWheelSignal) Dali::Signal<bool (Dali::Actor, const Dali::WheelEvent&)>;
307 %template(ActorSignal) Dali::Signal<void (Dali::Actor)>;
308 %template(KeyEventSignal) Dali::Signal<void (const Dali::KeyEvent&)>;
309 //%template(TouchEventSignal) Dali::Signal<void (const Dali::TouchEvent&)>;
310 %template(TouchSignal) Dali::Signal<void (const Dali::TouchData&)>;
311 %template(StageWheelSignal) Dali::Signal<void (const Dali::WheelEvent&)>;
312 %template(AngleThresholdPair) std::pair<Dali::Radian, Dali::Radian>;
313 %template(PanGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::PanGesture&)>;
314 %template(PinchGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::PinchGesture&)>;
315 %template(TapGestureDetectedSignal) Dali::Signal<void (Dali::Actor, const Dali::TapGesture&)>;
316 %template(AnimationSignal) Dali::Signal<void(Dali::Animation&)>;
317 %template(ResourceImageSignal) Dali::Signal<void(Dali::ResourceImage)>;