// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This file is designed to be included from wayland_*_input_types.cc only, // in order to share the mapping rules. // So please do not use in other places. #ifndef UI_BASE_WAYLAND_WAYLAND_INPUT_TYPES_IMPL_H_ #define UI_BASE_WAYLAND_WAYLAND_INPUT_TYPES_IMPL_H_ // List all TextInputType here. // This is used to create a mapping between TextInputType and Wayland's // zcr_extended_text_input_v1_input_type. // If a new entry is added to TextInputType, then corresponding code // needs to be added to the wayland's extension, ozone/wayland (wayland client), // and components/exo (wayland compositor). #define MAP_TYPES(macro) … // Similar to MAP_TYPES, list all TextInputMode. See above how to update. #define MAP_MODES(macro) … // Similar to MAP_TYPES, list all TextInputFlags. See above how to update. #define MAP_FLAGS(macro) … // Note: we assume that the source file including this header implementation // already includes either text-input-extension-unstable-v1-server-protocol.h // or text-input-extension-unstable-v1-client-protocol.h. static inline uint32_t ConvertFromTextInputFlag(ui::TextInputFlags flag) { … } static inline constexpr ui::TextInputFlags kAllTextInputFlags[] = …; #endif // UI_BASE_WAYLAND_WAYLAND_INPUT_TYPES_IMPL_H_