1 /**************************************************************************/ 2 /* */ 3 /* Copyright (c) Microsoft Corporation. All rights reserved. */ 4 /* */ 5 /* This software is licensed under the Microsoft Software License */ 6 /* Terms for Microsoft Azure RTOS. Full text of the license can be */ 7 /* found in the LICENSE file at https://aka.ms/AzureRTOS_EULA */ 8 /* and in the root directory of this software. */ 9 /* */ 10 /**************************************************************************/ 11 12 13 /**************************************************************************/ 14 /**************************************************************************/ 15 /** */ 16 /** GUIX Component */ 17 /** */ 18 /** Text Input Management (Single Line Text Input) */ 19 /** */ 20 /**************************************************************************/ 21 /**************************************************************************/ 22 23 24 /**************************************************************************/ 25 /* */ 26 /* COMPONENT DEFINITION RELEASE */ 27 /* */ 28 /* gx_single_line_text_input.h PORTABLE C */ 29 /* 6.1 */ 30 /* AUTHOR */ 31 /* */ 32 /* Kenneth Maxwell, Microsoft Corporation */ 33 /* */ 34 /* DESCRIPTION */ 35 /* */ 36 /* This file defines the GUIX text input management component, */ 37 /* including all data types and external references. It is assumed */ 38 /* that gx_api.h and gx_port.h have already been included. */ 39 /* */ 40 /* RELEASE HISTORY */ 41 /* */ 42 /* DATE NAME DESCRIPTION */ 43 /* */ 44 /* 05-19-2020 Kenneth Maxwell Initial Version 6.0 */ 45 /* 09-30-2020 Kenneth Maxwell Modified comment(s), */ 46 /* resulting in version 6.1 */ 47 /* */ 48 /**************************************************************************/ 49 50 #ifndef GX_SINGLE_LINE_TEXT_INPUT_H 51 #define GX_SINGLE_LINE_TEXT_INPUT_H 52 53 #define ID_TEXT_INPUT_TIMER 2 54 #define TIME_OUT_PERIOD 20 55 56 #define GX_MARK_TIMER 3 57 #define GX_MARK_INTERVAL 5 58 59 /* Define text input management function prototypes. */ 60 UINT _gx_single_line_text_input_backspace(GX_SINGLE_LINE_TEXT_INPUT *text_input); 61 UINT _gx_single_line_text_input_buffer_clear(GX_SINGLE_LINE_TEXT_INPUT *text_input); 62 UINT _gx_single_line_text_input_buffer_get(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address, 63 UINT *content_size, UINT *buffer_size); 64 UINT _gx_single_line_text_input_character_delete(GX_SINGLE_LINE_TEXT_INPUT *text_input); 65 UINT _gx_single_line_text_input_character_insert(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size); 66 UINT _gx_single_line_text_input_copy(GX_SINGLE_LINE_TEXT_INPUT *input); 67 UINT _gx_single_line_text_input_create(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CONST GX_CHAR *name, GX_WIDGET *parent, 68 GX_CHAR *input_buffer, UINT buffer_size, UINT style, USHORT Id, 69 GX_CONST GX_RECTANGLE *size); 70 UINT _gx_single_line_text_input_cut(GX_SINGLE_LINE_TEXT_INPUT *input); 71 VOID _gx_single_line_text_input_draw(GX_SINGLE_LINE_TEXT_INPUT *text_input); 72 UINT _gx_single_line_text_input_draw_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_VALUE *xpos, GX_VALUE *ypos); 73 UINT _gx_single_line_text_input_end(GX_SINGLE_LINE_TEXT_INPUT *text_input); 74 UINT _gx_single_line_text_input_event_process(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_EVENT *event_ptr); 75 UINT _gx_single_line_text_input_fill_color_set(GX_SINGLE_LINE_TEXT_INPUT *input, 76 GX_RESOURCE_ID normal_fill_color_id, 77 GX_RESOURCE_ID selected_fill_color_id, 78 GX_RESOURCE_ID disabled_fill_color_id, 79 GX_RESOURCE_ID readonly_fill_color_id); 80 UINT _gx_single_line_text_input_home(GX_SINGLE_LINE_TEXT_INPUT *text_input); 81 VOID _gx_single_line_text_input_keydown_process(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_EVENT *event_ptr); 82 UINT _gx_single_line_text_input_left_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input); 83 UINT _gx_single_line_text_input_mark_end(GX_SINGLE_LINE_TEXT_INPUT *text_input); 84 UINT _gx_single_line_text_input_mark_home(GX_SINGLE_LINE_TEXT_INPUT *text_input); 85 UINT _gx_single_line_text_input_mark_next(GX_SINGLE_LINE_TEXT_INPUT *text_input); 86 UINT _gx_single_line_text_input_mark_previous(GX_SINGLE_LINE_TEXT_INPUT *text_input); 87 UINT _gx_single_line_text_input_paste(GX_SINGLE_LINE_TEXT_INPUT *input); 88 UINT _gx_single_line_text_input_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, INT pixel_position); 89 UINT _gx_single_line_text_input_position_update(GX_SINGLE_LINE_TEXT_INPUT *text_input); 90 UINT _gx_single_line_text_input_right_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input); 91 UINT _gx_single_line_text_input_style_add(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 92 UINT _gx_single_line_text_input_style_remove(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 93 UINT _gx_single_line_text_input_style_set(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 94 UINT _gx_single_line_text_input_text_color_set(GX_SINGLE_LINE_TEXT_INPUT *input, 95 GX_RESOURCE_ID normal_text_color_id, 96 GX_RESOURCE_ID selected_text_color_id, 97 GX_RESOURCE_ID disabled_text_color_id, 98 GX_RESOURCE_ID readonly_text_color_id); 99 UINT _gx_single_line_text_input_text_rectangle_get(GX_SINGLE_LINE_TEXT_INPUT *input, INT shift, GX_RECTANGLE *rect); 100 UINT _gx_single_line_text_input_text_select(GX_SINGLE_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index); 101 #if defined(GX_ENABLE_DEPRECATED_STRING_API) 102 UINT _gx_single_line_text_input_text_set(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_CONST GX_CHAR *text); 103 #endif 104 UINT _gx_single_line_text_input_text_set_ext(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_CONST GX_STRING *text); 105 106 107 /* error checking versions of the animation API functions */ 108 UINT _gxe_single_line_text_input_backspace(GX_SINGLE_LINE_TEXT_INPUT *text_input); 109 UINT _gxe_single_line_text_input_buffer_clear(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr); 110 UINT _gxe_single_line_text_input_buffer_get(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CHAR **buffer_address, 111 UINT *content_size, UINT *buffer_size); 112 UINT _gxe_single_line_text_input_character_delete(GX_SINGLE_LINE_TEXT_INPUT *text_input); 113 UINT _gxe_single_line_text_input_character_insert(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_UBYTE *str, UINT str_size); 114 UINT _gxe_single_line_text_input_create(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_CONST GX_CHAR *name, GX_WIDGET *parent, 115 GX_CHAR *input_buffer, UINT buffer_size, UINT style, USHORT Id, 116 GX_CONST GX_RECTANGLE *size, UINT text_input_control_block_size); 117 UINT _gxe_single_line_text_input_draw_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, GX_VALUE *xpos, GX_VALUE *ypos); 118 UINT _gxe_single_line_text_input_end(GX_SINGLE_LINE_TEXT_INPUT *text_input); 119 UINT _gxe_single_line_text_input_event_process(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, GX_EVENT *event_ptr); 120 UINT _gxe_single_line_text_input_home(GX_SINGLE_LINE_TEXT_INPUT *text_input); 121 UINT _gxe_single_line_text_input_left_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input); 122 UINT _gxe_single_line_text_input_position_get(GX_SINGLE_LINE_TEXT_INPUT *text_input, INT pixel_position); 123 UINT _gxe_single_line_text_input_right_arrow(GX_SINGLE_LINE_TEXT_INPUT *text_input); 124 UINT _gxe_single_line_text_input_style_add(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 125 UINT _gxe_single_line_text_input_style_remove(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 126 UINT _gxe_single_line_text_input_style_set(GX_SINGLE_LINE_TEXT_INPUT *text_input_ptr, ULONG style); 127 UINT _gxe_single_line_text_input_fill_color_set(GX_SINGLE_LINE_TEXT_INPUT *input, 128 GX_RESOURCE_ID normal_fill_color_id, 129 GX_RESOURCE_ID selected_fill_color_id, 130 GX_RESOURCE_ID disabled_fill_color_id, 131 GX_RESOURCE_ID readonly_fill_color_id); 132 UINT _gxe_single_line_text_input_text_color_set(GX_SINGLE_LINE_TEXT_INPUT *input, 133 GX_RESOURCE_ID normal_text_color_id, 134 GX_RESOURCE_ID selected_text_color_id, 135 GX_RESOURCE_ID disabled_text_color_id, 136 GX_RESOURCE_ID readonly_text_color_id); 137 UINT _gxe_single_line_text_input_text_select(GX_SINGLE_LINE_TEXT_INPUT *input, UINT start_index, UINT end_index); 138 #if defined(GX_ENABLE_DEPRECATED_STRING_API) 139 UINT _gxe_single_line_text_input_text_set(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_CHAR *text); 140 #endif 141 UINT _gxe_single_line_text_input_text_set_ext(GX_SINGLE_LINE_TEXT_INPUT *input, GX_CONST GX_STRING *text); 142 143 #endif 144 145