lib/ewl_text_context.h
Go to the documentation of this file.00001 /* vim: set sw=8 ts=8 sts=8 expandtab: */ 00002 #ifndef EWL_TEXT_CONTEXT_H 00003 #define EWL_TEXT_CONTEXT_H 00004 00015 typedef struct Ewl_Text_Context Ewl_Text_Context; 00016 00020 struct Ewl_Text_Context 00021 { 00022 const char *font; 00023 const char *font_source; 00024 unsigned int styles; 00025 unsigned int align; 00026 Ewl_Text_Wrap wrap; 00027 char size; 00028 Ewl_Color_Set color; 00030 struct 00031 { 00032 Ewl_Color_Set bg; 00033 Ewl_Color_Set glow; 00034 Ewl_Color_Set outline; 00035 Ewl_Color_Set shadow; 00036 Ewl_Color_Set strikethrough; 00037 Ewl_Color_Set underline; 00038 Ewl_Color_Set double_underline; 00039 } style_colors; 00041 unsigned int ref_count; 00042 const char *format; 00043 }; 00044 00045 int ewl_text_context_init(void); 00046 void ewl_text_context_shutdown(void); 00047 00048 Ewl_Text_Context *ewl_text_context_new(void); 00049 00050 Ewl_Text_Context *ewl_text_context_find(Ewl_Text_Context *tx, 00051 unsigned int context_mask, Ewl_Text_Context *tx_change); 00052 00053 void ewl_text_context_acquire(Ewl_Text_Context *tx); 00054 int ewl_text_context_release(Ewl_Text_Context *tx); 00055 00056 void ewl_text_context_print(Ewl_Text_Context *tx, const char *indent); 00057 void ewl_text_context_format_string_create(Ewl_Text_Context *ctx); 00058 00063 #endif 00064