/* Generated by wayland-scanner 1.25.0 */

#ifndef TEXT_INPUT_UNSTABLE_V3_ENUM_PROTOCOL_H
#define TEXT_INPUT_UNSTABLE_V3_ENUM_PROTOCOL_H

#ifdef  __cplusplus
extern "C" {
#endif

#ifndef ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM
#define ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM
/**
 * @ingroup iface_zwp_text_input_v3
 * text change reason
 *
 * Reason for the change of surrounding text or cursor posision.
 */
enum zwp_text_input_v3_change_cause {
	/**
	 * input method caused the change
	 */
	ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_INPUT_METHOD = 0,
	/**
	 * something else than the input method caused the change
	 */
	ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_OTHER = 1,
};
#endif /* ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_ENUM */

#ifndef ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM
#define ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM
/**
 * @ingroup iface_zwp_text_input_v3
 * content hint
 *
 * Content hint is a bitmask to allow to modify the behavior of the text
 * input.
 */
enum zwp_text_input_v3_content_hint {
	/**
	 * no special behavior
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE = 0x0,
	/**
	 * suggest word completions
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION = 0x1,
	/**
	 * suggest word corrections
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK = 0x2,
	/**
	 * switch to uppercase letters at the start of a sentence
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_AUTO_CAPITALIZATION = 0x4,
	/**
	 * prefer lowercase letters
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_LOWERCASE = 0x8,
	/**
	 * prefer uppercase letters
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_UPPERCASE = 0x10,
	/**
	 * prefer casing for titles and headings (can be language dependent)
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_TITLECASE = 0x20,
	/**
	 * characters should be hidden
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_HIDDEN_TEXT = 0x40,
	/**
	 * typed text should not be stored
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_SENSITIVE_DATA = 0x80,
	/**
	 * just Latin characters should be entered
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_LATIN = 0x100,
	/**
	 * the text input is multiline
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_MULTILINE = 0x200,
	/**
	 * an on-screen way to fill in the input is already provided by the client
	 * @since 2
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_ON_SCREEN_INPUT_PROVIDED = 0x400,
	/**
	 * prefer not offering emoji support
	 * @since 2
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_NO_EMOJI = 0x800,
	/**
	 * the text input will display preedit text in place
	 * @since 2
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_HINT_PREEDIT_SHOWN = 0x1000,
};
/**
 * @ingroup iface_zwp_text_input_v3
 */
#define ZWP_TEXT_INPUT_V3_CONTENT_HINT_ON_SCREEN_INPUT_PROVIDED_SINCE_VERSION 2
/**
 * @ingroup iface_zwp_text_input_v3
 */
#define ZWP_TEXT_INPUT_V3_CONTENT_HINT_NO_EMOJI_SINCE_VERSION 2
/**
 * @ingroup iface_zwp_text_input_v3
 */
#define ZWP_TEXT_INPUT_V3_CONTENT_HINT_PREEDIT_SHOWN_SINCE_VERSION 2
#endif /* ZWP_TEXT_INPUT_V3_CONTENT_HINT_ENUM */

#ifndef ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM
#define ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM
/**
 * @ingroup iface_zwp_text_input_v3
 * content purpose
 *
 * The content purpose allows to specify the primary purpose of a text
 * input.
 *
 * This allows an input method to show special purpose input panels with
 * extra characters or to disallow some characters.
 */
enum zwp_text_input_v3_content_purpose {
	/**
	 * default input, allowing all characters
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL = 0,
	/**
	 * allow only alphabetic characters
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ALPHA = 1,
	/**
	 * allow only digits
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DIGITS = 2,
	/**
	 * input a number (including decimal separator and sign)
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NUMBER = 3,
	/**
	 * input a phone number
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PHONE = 4,
	/**
	 * input an URL
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_URL = 5,
	/**
	 * input an email address
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_EMAIL = 6,
	/**
	 * input a name of a person
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NAME = 7,
	/**
	 * input a password (combine with sensitive_data hint)
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PASSWORD = 8,
	/**
	 * input is a numeric password (combine with sensitive_data hint)
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PIN = 9,
	/**
	 * input a date
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATE = 10,
	/**
	 * input a time
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TIME = 11,
	/**
	 * input a date and time
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATETIME = 12,
	/**
	 * input for a terminal
	 */
	ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL = 13,
};
#endif /* ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ENUM */

#ifndef ZWP_TEXT_INPUT_V3_ERROR_ENUM
#define ZWP_TEXT_INPUT_V3_ERROR_ENUM
enum zwp_text_input_v3_error {
	/**
	 * an invalid or duplicate action was specified
	 */
	ZWP_TEXT_INPUT_V3_ERROR_INVALID_ACTION = 0,
};
#endif /* ZWP_TEXT_INPUT_V3_ERROR_ENUM */

#ifndef ZWP_TEXT_INPUT_V3_ACTION_ENUM
#define ZWP_TEXT_INPUT_V3_ACTION_ENUM
/**
 * @ingroup iface_zwp_text_input_v3
 * action
 *
 * A possible action to perform on a text input.
 *
 * The submit action is intended for input entries that expect some sort of
 * activation after user interaction, e.g. the URL entry in a browser.
 */
enum zwp_text_input_v3_action {
	/**
	 * no action
	 */
	ZWP_TEXT_INPUT_V3_ACTION_NONE = 0,
	/**
	 * the action is submitted
	 */
	ZWP_TEXT_INPUT_V3_ACTION_SUBMIT = 1,
};
#endif /* ZWP_TEXT_INPUT_V3_ACTION_ENUM */

#ifndef ZWP_TEXT_INPUT_V3_PREEDIT_HINT_ENUM
#define ZWP_TEXT_INPUT_V3_PREEDIT_HINT_ENUM
/**
 * @ingroup iface_zwp_text_input_v3
 * preedit style hint
 *
 * Style hints for the preedit string.
 */
enum zwp_text_input_v3_preedit_hint {
	/**
	 * simple pre-edit text style, typically underlined
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_WHOLE = 1,
	/**
	 * hint for a selected piece of text, e.g. per-character navigation and composition
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_SELECTION = 2,
	/**
	 * predicted text, not typed by the user
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_PREDICTION = 3,
	/**
	 * prefixed text not being currently edited, e.g. prior to a 'selection' section
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_PREFIX = 4,
	/**
	 * suffixed text not being currently edited, e.g. after a 'selection' section
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_SUFFIX = 5,
	/**
	 * spelling error
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_SPELLING_ERROR = 6,
	/**
	 * wrong composition, e.g. user input that can not be transliterated
	 */
	ZWP_TEXT_INPUT_V3_PREEDIT_HINT_COMPOSE_ERROR = 7,
};
#endif /* ZWP_TEXT_INPUT_V3_PREEDIT_HINT_ENUM */

#ifdef  __cplusplus
}
#endif

#endif
