89a6c09a7a
* Documentation: add Doxyfile, prepare sources for doxygen. * Update ReadMe and remove obsolete CLA * Add contribution guide * Contributing: update text * Correct spelling
80 lines
1.6 KiB
C
80 lines
1.6 KiB
C
/**
|
|
* @file text_box.h
|
|
* GUI: TextBox view module API
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <gui/view.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** TextBox anonymous structure */
|
|
typedef struct TextBox TextBox;
|
|
typedef void (*TextBoxExitCallback)(void* context);
|
|
|
|
typedef enum {
|
|
TextBoxFontText,
|
|
TextBoxFontHex,
|
|
} TextBoxFont;
|
|
|
|
/** Allocate and initialize text_box
|
|
*
|
|
* @return TextBox instance
|
|
*/
|
|
TextBox* text_box_alloc();
|
|
|
|
/** Deinitialize and free text_box
|
|
*
|
|
* @param text_box text_box instance
|
|
*/
|
|
void text_box_free(TextBox* text_box);
|
|
|
|
/** Get text_box view
|
|
*
|
|
* @param text_box TextBox instance
|
|
*
|
|
* @return View instance that can be used for embedding
|
|
*/
|
|
View* text_box_get_view(TextBox* text_box);
|
|
|
|
/** Clean text_box
|
|
*
|
|
* @param text_box TextBox instance
|
|
*/
|
|
void text_box_clean(TextBox* text_box);
|
|
|
|
/** Set text for text_box
|
|
*
|
|
* @param text_box TextBox instance
|
|
* @param text text to set
|
|
*/
|
|
void text_box_set_text(TextBox* text_box, const char* text);
|
|
|
|
/** Set TextBox font
|
|
*
|
|
* @param text_box TextBox instance
|
|
* @param font TextBoxFont instance
|
|
*/
|
|
void text_box_set_font(TextBox* text_box, TextBoxFont font);
|
|
|
|
/** Set text_box context
|
|
*
|
|
* @param text_box TextBox instance
|
|
* @param context context pointer
|
|
*/
|
|
void text_box_set_context(TextBox* text_box, void* context);
|
|
|
|
/** Set exit callback
|
|
*
|
|
* @param text_box TextBox instance
|
|
* @param callback TextBoxExitCallback callback pointer
|
|
*/
|
|
void text_box_set_exit_callback(TextBox* text_box, TextBoxExitCallback callback);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|