Size negotiation patch 3: Scope size negotiation enums
[platform/core/uifw/dali-core.git] / dali / public-api / actors / custom-actor-impl.cpp
1 /*
2  * Copyright (c) 2014 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 // CLASS HEADER
19 #include <dali/public-api/actors/custom-actor-impl.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/common/dali-common.h>
23 #include <dali/internal/event/actors/custom-actor-internal.h>
24
25 namespace Dali
26 {
27
28 CustomActorImpl::~CustomActorImpl()
29 {
30 }
31
32 CustomActor CustomActorImpl::Self() const
33 {
34   return CustomActor(mOwner);
35 }
36
37 void CustomActorImpl::OnPropertySet( Property::Index index, Property::Value propertyValue )
38 {
39 }
40
41 CustomActorImpl::CustomActorImpl(bool requiresTouchEvents)
42 : mOwner(NULL),
43   mRequiresTouchEvents(requiresTouchEvents),
44   mRequiresHoverEvents(false),
45   mRequiresMouseWheelEvents(false)
46 {
47 }
48
49 void CustomActorImpl::Initialize(Internal::CustomActor& owner)
50 {
51   DALI_ASSERT_DEBUG(mOwner == NULL); // should not already be owned
52
53   mOwner = &owner;
54 }
55
56 Internal::CustomActor* CustomActorImpl::GetOwner() const
57 {
58   return mOwner;
59 }
60
61 bool CustomActorImpl::RequiresTouchEvents() const
62 {
63   return mRequiresTouchEvents;
64 }
65
66 bool CustomActorImpl::RequiresHoverEvents() const
67 {
68   return mRequiresHoverEvents;
69 }
70
71 void CustomActorImpl::SetRequiresHoverEvents(bool requiresHoverEvents)
72 {
73   mRequiresHoverEvents = requiresHoverEvents;
74 }
75
76 bool CustomActorImpl::RequiresMouseWheelEvents() const
77 {
78   return mRequiresMouseWheelEvents;
79 }
80
81 void CustomActorImpl::SetRequiresMouseWheelEvents(bool requiresMouseWheelEvents)
82 {
83   mRequiresMouseWheelEvents = requiresMouseWheelEvents;
84 }
85
86 void CustomActorImpl::RelayoutRequest()
87 {
88   mOwner->RelayoutRequest();
89 }
90
91 float CustomActorImpl::CalculateChildSizeBase( const Dali::Actor& child, Dimension::Type dimension )
92 {
93   return mOwner->CalculateChildSizeBase( child, dimension );
94 }
95
96 bool CustomActorImpl::RelayoutDependentOnChildrenBase( Dimension::Type dimension )
97 {
98   return mOwner->RelayoutDependentOnChildrenBase( dimension );
99 }
100
101 } // namespace Dali