/* * Copyright (C) 2021 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef FRAMEWORKS_INPUTMETHOD_CONTROLLER_INCLUDE_INPUT_METHOD_UTILS_H #define FRAMEWORKS_INPUTMETHOD_CONTROLLER_INCLUDE_INPUT_METHOD_UTILS_H #include <stdint.h> namespace OHOS { namespace MiscServices { enum class EnterKeyType { UNSPECIFIED = 0, NONE, GO, SEARCH, SEND, NEXT, DONE, PREVIOUS }; enum class TextInputType { NONE = -1, TEXT = 0, MULTILINE, NUMBER, PHONE, DATETIME, EMAIL_ADDRESS, URL, VISIBLE_PASSWORD, }; enum class Direction { NONE = 0, UP = 1, DOWN, LEFT, RIGHT, }; class Configuration { public: EnterKeyType GetEnterKeyType() const { return enterKeyType; } void SetEnterKeyType(EnterKeyType keyType) { enterKeyType = keyType; } TextInputType GetTextInputType() const { return textInputType; } void SetTextInputType(TextInputType textType) { textInputType = textType; } private: EnterKeyType enterKeyType = EnterKeyType::UNSPECIFIED; TextInputType textInputType = TextInputType::TEXT; }; struct CursorInfo { double left = 0.0; double top = 0.0; double width = 0.0; double height = 0.0; }; class KeyEvent { }; enum class KeyboardStatus { NONE = 0, HIDE, SHOW }; enum class FunctionKey { NONE = 0, CONFIRM }; class KeyboardInfo { public: KeyboardStatus GetKeyboardStatus() const { return keyboardStatus; } void SetKeyboardStatus(int32_t status) { keyboardStatus = static_cast<KeyboardStatus>(status); } FunctionKey GetFunctionKey() const { return functionKey; } void SetFunctionKey(int32_t key) { functionKey = static_cast<FunctionKey>(key); } private: KeyboardStatus keyboardStatus = KeyboardStatus::NONE; FunctionKey functionKey = FunctionKey::NONE; }; } // namespace MiscServices } // namespace OHOS #endif // FRAMEWORKS_INPUTMETHOD_CONTROLLER_INCLUDE_INPUT_METHOD_UTILS_H