enum EVENT_TYPES{ EVENT_TYPE_LBM_CLICK = 1, //Left button mouse EVENT_TYPE_RBM_CLICK = 2, //Right button mouse EVENT_TYPE_LBM_DOWN = 6, //Down left button mouse EVENT_TYPE_FOC_LOST = 8, //Focus lost EVENT_TYPE_DCLICK = 9, //Double click EVENT_TYPE_ESC = 10 //Escape }; typedef struct TIMER{ u8 timer; struct TIMER * next; void (*proc)(void *); }TIMER; typedef struct EVENT_PROC{ enum EVENT_TYPES type; struct EVENT_PROC * next; void (*proc)(void *); }EVENT_PROC; typedef struct W_TEXT{ struct W_TEXT * next; u8 color; u8 x; u8 y; u8 w; u8 h; u8 * caption; EVENT_PROC * events; struct W_TEXT * childs; void * ext; }W_TEXT; //Окно создать иконку // Region EVENT_PROC win_add_ico_exit_event = {EVENT_TYPE_LBM_CLICK, NULL_PTR, win_add_ico_exit_proc}; EVENT_PROC win_add_ico_esc_event = {EVENT_TYPE_ESC, NULL_PTR, win_add_ico_exit_proc}; EVENT_PROC ico_inp_path_event = {EVENT_TYPE_LBM_CLICK, NULL_PTR, set_active_text_input}; EVENT_PROC ico_inp_ico_event = {EVENT_TYPE_LBM_CLICK, NULL_PTR, set_active_text_input}; EVENT_PROC ico_color_event = {EVENT_TYPE_LBM_CLICK, NULL_PTR, color_add_ico_proc}; W_TEXT cnt_add_ico_ico2 = {NULL_PTR, PAPER_BLUE | INK_RED, 1, 5, 5, 1, "└───┘", &ico_inp_ico_event, NULL_PTR}; W_TEXT cnt_add_ico_ico1 = {&cnt_add_ico_ico2, PAPER_BLUE | INK_RED, 1, 4, 5, 1, "│ │", &ico_inp_ico_event, NULL_PTR}; W_TEXT cnt_add_ico_ico0 = {&cnt_add_ico_ico1, PAPER_BLUE | INK_RED, 1, 3, 5, 1, "┌───┐", &ico_inp_ico_event, NULL_PTR}; W_TEXT cnt_add_ico_path = {&cnt_add_ico_ico0, PAPER_BLACK | INK_WHITE, 0, 1, 32, 1, null_str, &ico_inp_path_event, NULL_PTR}; W_TEXT cnt_add_ico_cancel = {&cnt_add_ico_path, PAPER_GREEN | INK_BLACK, 24, 5, 6, 1, "Cancel", &win_add_ico_exit_event, NULL_PTR}; W_TEXT cnt_add_ico_save = {&cnt_add_ico_cancel, PAPER_GREEN | INK_BLACK, 24, 3, 6, 1, "< OK >", &win_add_ico_exit_event, NULL_PTR}; W_TEXT cnt_add_ico_ink = {&cnt_add_ico_save, PAPER_GREEN | INK_BLACK, 9, 3, 5, 1, " Ink ", &ico_color_event, NULL_PTR}; W_TEXT cnt_add_ico_paper = {&cnt_add_ico_ink, PAPER_GREEN | INK_BLACK, 9, 5, 5, 1, "Paper", &ico_color_event, NULL_PTR}; W_TEXT win_add_ico = {NULL_PTR, PAPER_RED | INK_BLACK, 23, 7, 32, 7, "path:\n\nIcon:", &win_add_ico_esc_event, &cnt_add_ico_paper}; // End