2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #include <dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h>
23 #include <cstring> // for strcmp
27 #include <dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.h>
33 KeyboardFocusManager::KeyboardFocusManager()
37 KeyboardFocusManager::~KeyboardFocusManager()
41 KeyboardFocusManager KeyboardFocusManager::Get()
43 return Internal::KeyboardFocusManager::Get();
46 KeyboardFocusManager::KeyboardFocusManager(Internal::KeyboardFocusManager* impl)
51 bool KeyboardFocusManager::SetCurrentFocusActor(Actor actor)
53 return GetImpl(*this).SetCurrentFocusActor(actor);
56 Actor KeyboardFocusManager::GetCurrentFocusActor()
58 return GetImpl(*this).GetCurrentFocusActor();
61 bool KeyboardFocusManager::MoveFocus(Control::KeyboardFocus::Direction direction)
63 return GetImpl(*this).MoveFocus(direction);
66 void KeyboardFocusManager::ClearFocus()
68 GetImpl(*this).ClearFocus();
71 void KeyboardFocusManager::SetAsFocusGroup(Actor actor, bool isFocusGroup)
74 GetImpl(*this).SetAsFocusGroup(actor, isFocusGroup);
77 bool KeyboardFocusManager::IsFocusGroup(Actor actor) const
80 return GetImpl(*this).IsFocusGroup(actor);
83 Actor KeyboardFocusManager::GetFocusGroup(Actor actor)
85 return GetImpl(*this).GetFocusGroup(actor);
88 void KeyboardFocusManager::SetFocusGroupLoop(bool enabled)
90 GetImpl(*this).SetFocusGroupLoop(enabled);
93 bool KeyboardFocusManager::GetFocusGroupLoop() const
95 return GetImpl(*this).GetFocusGroupLoop();
98 void KeyboardFocusManager::SetFocusIndicatorActor(Actor indicator)
100 GetImpl(*this).SetFocusIndicatorActor(indicator);
103 Actor KeyboardFocusManager::GetFocusIndicatorActor()
105 return GetImpl(*this).GetFocusIndicatorActor();
108 void KeyboardFocusManager::MoveFocusBackward()
110 return GetImpl(*this).MoveFocusBackward();
113 KeyboardFocusManager::PreFocusChangeSignalType& KeyboardFocusManager::PreFocusChangeSignal()
115 return GetImpl(*this).PreFocusChangeSignal();
118 KeyboardFocusManager::FocusChangedSignalType& KeyboardFocusManager::FocusChangedSignal()
120 return GetImpl(*this).FocusChangedSignal();
123 KeyboardFocusManager::FocusGroupChangedSignalType& KeyboardFocusManager::FocusGroupChangedSignal()
125 return GetImpl(*this).FocusGroupChangedSignal();
128 KeyboardFocusManager::FocusedActorEnterKeySignalType& KeyboardFocusManager::FocusedActorEnterKeySignal()
130 return GetImpl(*this).FocusedActorEnterKeySignal();
133 } // namespace Toolkit