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 00011 #define EWL_TEXT_FONT_LENGHT_MAX 128 00016 typedef struct Ewl_Text_Context Ewl_Text_Context; 00017 00021 struct Ewl_Text_Context 00022 { 00023 00024 const char *font; 00025 const char *font_source; 00026 unsigned int styles; 00027 unsigned int align; 00028 Ewl_Text_Wrap wrap; 00029 char size; 00030 Ewl_Color_Set color; 00032 struct 00033 { 00034 Ewl_Color_Set bg; 00035 Ewl_Color_Set glow; 00036 Ewl_Color_Set outline; 00037 Ewl_Color_Set shadow; 00038 Ewl_Color_Set strikethrough; 00039 Ewl_Color_Set underline; 00040 Ewl_Color_Set double_underline; 00041 } style_colors; 00043 unsigned int ref_count; 00044 const char *format; 00045 }; 00046 00047 int ewl_text_context_init(void); 00048 void ewl_text_context_shutdown(void); 00049 00050 Ewl_Text_Context *ewl_text_context_new(void); 00051 00052 Ewl_Text_Context *ewl_text_context_find(Ewl_Text_Context *tx, 00053 unsigned int context_mask, Ewl_Text_Context *tx_change); 00054 00055 void ewl_text_context_acquire(Ewl_Text_Context *tx); 00056 int ewl_text_context_release(Ewl_Text_Context *tx); 00057 00058 void ewl_text_context_print(Ewl_Text_Context *tx, const char *indent); 00059 void ewl_text_context_format_string_create(Ewl_Text_Context *ctx); 00060 00065 #endif 00066