예제 #1
0
파일: demo.c 프로젝트: island-org/gui
static void
init_demo(struct demo_gui *gui, struct gui_font *font)
{
    struct gui_config *config = &gui->config;
    gui->font = *font;
    gui->running = gui_true;

    gui_command_buffer_init_fixed(&gui->show_buffer, gui->memory, MAX_MEMORY/2, GUI_CLIP);
    gui_command_buffer_init_fixed(&gui->control_buffer,
        gui_ptr_add(void*, gui->memory, (MAX_MEMORY/2)), MAX_MEMORY/2, GUI_CLIP);
    gui_config_default(config, GUI_DEFAULT_ALL, font);

    gui_stack_clear(&gui->stack);
    init_show(&gui->show, config, &gui->show_buffer, &gui->stack);
    init_control(&gui->control, config, &gui->control_buffer, &gui->stack);
    gui->show.hook.flags |= GUI_PANEL_HIDDEN;
}
예제 #2
0
파일: demo.c 프로젝트: serge-rgb/gui
/* -----------------------------------------------------------------
 *  INIT
 * ----------------------------------------------------------------- */
static void
init_demo(struct demo_gui *gui, struct gui_font *font)
{
    struct gui_config *config = &gui->config;
    struct state *win = &gui->state;
    struct gui_clipboard clip;
    gui->font = *font;
    gui->running = gui_true;

    gui_command_queue_init_fixed(&gui->queue, gui->memory, MAX_MEMORY);
    gui_config_default(config, GUI_DEFAULT_ALL, font);

    /* panel */
    gui_panel_init(&gui->panel, 30, 30, 280, 530,
        GUI_PANEL_BORDER|GUI_PANEL_MOVEABLE|GUI_PANEL_SCALEABLE,
        &gui->queue, config, gui->input);
    gui_panel_init(&gui->sub, 400, 50, 220, 180,
        GUI_PANEL_BORDER|GUI_PANEL_MOVEABLE|GUI_PANEL_SCALEABLE,
        &gui->queue, config, gui->input);

    /* widget state */
    tree_init(&win->test);
    clip.userdata.ptr = NULL,
    clip.copy = copy;
    clip.paste = paste;
    gui_edit_box_init_fixed(&win->edit, win->edit_buffer, MAX_BUFFER, &clip, NULL);

    win->prog_values[0] = 30;
    win->prog_values[1] = 80;
    win->prog_values[2] = 70;
    win->prog_values[3] = 50;

    win->scaleable = gui_true;
    win->slider = 2.0f;
    win->progressbar = 50;
    win->spinner = 100;
}