161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit IMEKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Panel information.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @typedef PanelInfo
2561847f8eSopenharmony_ci * @syscap SystemCapability.MiscServices.InputMethodFramework
2661847f8eSopenharmony_ci * @since 11
2761847f8eSopenharmony_ci */
2861847f8eSopenharmony_ciexport interface PanelInfo {
2961847f8eSopenharmony_ci  /**
3061847f8eSopenharmony_ci   * Panel type.
3161847f8eSopenharmony_ci   *
3261847f8eSopenharmony_ci   * @type { PanelType }
3361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
3461847f8eSopenharmony_ci   * @since 11
3561847f8eSopenharmony_ci   */
3661847f8eSopenharmony_ci  type: PanelType;
3761847f8eSopenharmony_ci
3861847f8eSopenharmony_ci  /**
3961847f8eSopenharmony_ci   * <p>Flag of Panel.</p>
4061847f8eSopenharmony_ci   * <p>Currently only using for SOFT_KEYBOARD panel.</p>
4161847f8eSopenharmony_ci   *
4261847f8eSopenharmony_ci   * @type { ?PanelFlag }
4361847f8eSopenharmony_ci   * @default FLG_FIXED
4461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
4561847f8eSopenharmony_ci   * @since 11
4661847f8eSopenharmony_ci   */
4761847f8eSopenharmony_ci  flag?: PanelFlag;
4861847f8eSopenharmony_ci}
4961847f8eSopenharmony_ci
5061847f8eSopenharmony_ci/**
5161847f8eSopenharmony_ci * Enumerates the flags of panel.
5261847f8eSopenharmony_ci *
5361847f8eSopenharmony_ci * @enum { number }
5461847f8eSopenharmony_ci * @syscap SystemCapability.MiscServices.InputMethodFramework
5561847f8eSopenharmony_ci * @since 11
5661847f8eSopenharmony_ci */
5761847f8eSopenharmony_ciexport enum PanelFlag {
5861847f8eSopenharmony_ci  /**
5961847f8eSopenharmony_ci   * Fixed style.
6061847f8eSopenharmony_ci   * <p>It's provided for the panel with type of SOFT_KEYBOARD.
6161847f8eSopenharmony_ci   * When the flag is set, the soft keyboard is fixed at the bottom of the screen.</p>
6261847f8eSopenharmony_ci   *
6361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
6461847f8eSopenharmony_ci   * @since 11
6561847f8eSopenharmony_ci   */
6661847f8eSopenharmony_ci  FLAG_FIXED = 0,
6761847f8eSopenharmony_ci
6861847f8eSopenharmony_ci  /**
6961847f8eSopenharmony_ci   * Floating style.
7061847f8eSopenharmony_ci   * <p>It's provided for the panel with type of SOFT_KEYBOARD.
7161847f8eSopenharmony_ci   * When the flag is set, the soft keyboard is floating.</p>
7261847f8eSopenharmony_ci   *
7361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
7461847f8eSopenharmony_ci   * @since 11
7561847f8eSopenharmony_ci   */
7661847f8eSopenharmony_ci  FLAG_FLOATING,
7761847f8eSopenharmony_ci
7861847f8eSopenharmony_ci  /**
7961847f8eSopenharmony_ci   * Candidate style.
8061847f8eSopenharmony_ci   * <p>It's provided for the panel with type of SOFT_KEYBOARD.
8161847f8eSopenharmony_ci   * When the flag is set, the soft keyboard is a candidate window which will show the possible characters when user types a input code.
8261847f8eSopenharmony_ci   * Panel with candidate style will not be automatically shown or hidden by input method service.
8361847f8eSopenharmony_ci   * Input method application developers are supposed to control the panel status on their own.</p>
8461847f8eSopenharmony_ci   *
8561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
8661847f8eSopenharmony_ci   * @since 11
8761847f8eSopenharmony_ci   */
8861847f8eSopenharmony_ci  FLAG_CANDIDATE
8961847f8eSopenharmony_ci}
9061847f8eSopenharmony_ci
9161847f8eSopenharmony_ci/**
9261847f8eSopenharmony_ci * Enumerates the types of panel.
9361847f8eSopenharmony_ci *
9461847f8eSopenharmony_ci * @enum { number }
9561847f8eSopenharmony_ci * @syscap SystemCapability.MiscServices.InputMethodFramework
9661847f8eSopenharmony_ci * @since 11
9761847f8eSopenharmony_ci */
9861847f8eSopenharmony_ciexport enum PanelType {
9961847f8eSopenharmony_ci  /**
10061847f8eSopenharmony_ci   * Panel for displaying a virtual soft keyboard.
10161847f8eSopenharmony_ci   *
10261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
10361847f8eSopenharmony_ci   * @since 11
10461847f8eSopenharmony_ci   */
10561847f8eSopenharmony_ci  SOFT_KEYBOARD = 0,
10661847f8eSopenharmony_ci
10761847f8eSopenharmony_ci  /**
10861847f8eSopenharmony_ci   * Panel for displaying status bar.
10961847f8eSopenharmony_ci   *
11061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.InputMethodFramework
11161847f8eSopenharmony_ci   * @since 11
11261847f8eSopenharmony_ci   */
11361847f8eSopenharmony_ci  STATUS_BAR
11461847f8eSopenharmony_ci}
115