| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /**
- * @file code_input.h
- * GUI: CodeInput keyboard view module API
- */
- #pragma once
- #include <gui/view.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** Code input anonymous structure */
- typedef struct CodeInput CodeInput;
- /** callback that is executed when entered code matches ext buffer */
- typedef void (*CodeInputOkCallback)(void* context);
- /** callback that is executed when entered code does not matches ext buffer */
- typedef void (*CodeInputFailCallback)(void* context);
- /** Allocate and initialize code input. This code input is used to enter codes.
- *
- * @return CodeInput instance pointer
- */
- CodeInput* code_input_alloc();
- /** Deinitialize and free code input
- *
- * @param code_input Code input instance
- */
- void code_input_free(CodeInput* code_input);
- /** Get code input view
- *
- * @param code_input code input instance
- *
- * @return View instance that can be used for embedding
- */
- View* code_input_get_view(CodeInput* code_input);
- /** Set code input result callback
- *
- * @param code_input code input instance
- * @param ok_callback ok callback fn
- * @param fail_callback fail callback fn
- * @param callback_context callback context
- * @param buffer buffer to use
- * @param buffer_length buffer length
- * @param update set true to update buffer
- */
- void code_input_set_result_callback(
- CodeInput* code_input,
- CodeInputOkCallback ok_callback,
- CodeInputFailCallback fail_callback,
- void* callback_context,
- uint8_t* buffer,
- uint8_t* buffer_length,
- bool update);
- /** Set code input header text
- *
- * @param code_input code input instance
- * @param text text to be shown
- */
- void code_input_set_header_text(CodeInput* code_input, const char* text);
- /** Compare two buffers
- *
- * @param in buffer to compare to source
- * @param len_in length of input buffer
- * @param src source buffer
- * @param len_src length of insourceput buffer
- * @return true if buffers match
- */
- bool code_input_compare(uint8_t* in, size_t len_in, uint8_t* src, size_t len_src);
- /** Push input into the end of array
- *
- * @param buffer buffer
- * @param length length of buffer
- * @param key input key
- * @return new length of input buffer
- */
- size_t code_input_push(uint8_t* buffer, size_t length, InputKey key);
- #ifdef __cplusplus
- }
- #endif
|