1 #ifndef DALI_INTERNAL_TOOLKIT_VISUAL_EVENT_OBSERVER_H
2 #define DALI_INTERNAL_TOOLKIT_VISUAL_EVENT_OBSERVER_H
5 * Copyright (c) 2022 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 #include <dali/public-api/object/property-value.h>
34 * Observer to be informed when visuals have events.
40 * Inform the observer of the object when a resource is ready.
41 * @param[in] object The connection owner
43 virtual void ResourceReady(Visual::Base& object) = 0;
46 * Inform the observer of the object when an event occurs.
47 * @param[in] object The connection owner
48 * @param[in] signalId The signal to emit. See Visual to find supported signals
50 virtual void NotifyVisualEvent(Visual::Base& object, Property::Index signalId) = 0;
53 * Requests a relayout to the observer.
54 * @param[in] object The connection owner
56 virtual void RelayoutRequest(Visual::Base& object) = 0;
69 virtual ~EventObserver()
73 // Undefined copy constructor.
74 EventObserver(const EventObserver&) = delete;
76 // Undefined assignment operator.
77 EventObserver& operator=(const EventObserver&) = delete;
81 } // namespace Internal
82 } // namespace Toolkit
85 #endif // DALI_INTERNAL_TOOLKIT_VISUAL_EVENT_OBSERVER_H