void viewport_add_controls( t_viewport *viewport) { t_context *C = ctx_get(); scene_add_ref(C->scene,"struct_ref","viewport","width",&viewport->width,viewport); scene_add_ref(C->scene,"struct_ref","viewport","height",&viewport->height,viewport); scene_add_ref(C->scene,"struct_ref","viewport","x",&viewport->x,viewport); scene_add_ref(C->scene,"struct_ref","viewport","y",&viewport->y,viewport); scene_add_ref(C->scene,"struct_ref","viewport","fullscreen",&viewport->fullscreen,viewport); scene_add_ref(C->scene,"struct_ref","viewport","show_outline",&viewport->show_outline,viewport); t_block *block = add_block_block( C, "viewport_controls"); viewport->controls = block; set_draw_plug = 0; block->pos[0] = 0; block->pos[1] = 1; add_brick_slider_int( C, block, "width", &viewport->width,NULL); add_brick_slider_int( C, block, "height", &viewport->height,NULL); add_brick_slider_int( C, block, "x", &viewport->x,NULL); add_brick_slider_int( C, block, "y", &viewport->y,NULL); add_brick_switch( C, block, "fullscreen", &viewport->fullscreen, NULL); add_brick_switch( C, block, "outline", &viewport->show_outline, NULL); viewport_add_trigger( C, viewport, "A4", op_viewport_set_dimensions); viewport_add_trigger( C, viewport, "center", op_viewport_center); viewport_add_trigger( C, viewport, "full height", op_viewport_full_height); set_draw_plug = 1; }
t_block *glint_makemenu_app( t_context *C) { t_block *block = add_menu_block( C, "menu_app"); add_brick_switch(C,block,"loop",&C->app->loop, NULL); add_brick_switch(C,block,"rec save",&C->event->rec_save, NULL); add_brick_switch(C,block,"use threading",&C->event->use_threading, NULL); return block; }
t_block *glint_makemenu_process( t_context *C) { t_block *block = add_menu_block( C, "menu_process"); add_brick_switch( C, block, "debug process", &C->event->debug_process, NULL); add_brick_slider_float( C, block, "limit", &C->engine->global_limit, NULL); add_brick_slider_float( C, block, "freq", &C->engine->global_freq, NULL); add_brick_switch( C, block, "limit process", &C->engine->with_global_limit, NULL); return block; }
void glint_tweak_menu_draw( t_context *C) { t_node *node = scene_get_node_by_type_name( C->scene, dt_block, "menu_draw"); t_block *block = node->data; add_brick_switch(C,block,"restrict",&C->draw->with_restrict_matrix, NULL); add_brick_switch(C,block,"direct",&C->draw->mode_direct, NULL); add_brick_switch(C,block,"selection pass",&C->draw->with_selection_pass, NULL); add_brick_switch(C,block,"selection object",&C->draw->with_object_selection, NULL); add_brick_switch(C,block,"shaders", &C->draw->with_shaders, NULL); }
t_node *make_menu_app(void) { t_context *C=ctx_get(); t_node *menu=block_make("menu_app","menu"); t_block *block=menu->data; add_brick_switch(C,block,"loop",&C->app->loop); add_brick_switch(C,block,"rec save",&C->event->rec_save); return menu; }
t_node *make_menu_debug(void) { t_context *C=ctx_get(); t_node *menu=block_make("menu_debug","menu"); t_block *block=menu->data; add_brick_switch(C,block,"show terminal",&C->ui->show_term); add_brick_switch(C,block,"debug mouse",&C->event->debug_mouse); add_brick_switch(C,block,"debug keyboard",&C->app->debug_keyboard); add_brick_switch(C,block,"debug select",&C->event->debug_select); return menu; }
void glint_tweak_menu_sketch( t_context *C) { t_node *node = scene_get_node_by_type_name( C->scene, dt_block, "menu_sketch"); t_block *block = node->data; add_brick_switch(C,block,"line smooth", &C->skt->line_smooth, NULL); }
t_node *add_menu_process(void) { t_context *C=ctx_get(); t_node *menu_main=scene_node_get(C->scene,"block","menu_set"); t_node *menu=block_make("menu_process","menu"); t_block *block=menu->data; add_brick_switch(C,block,"debug process",&C->event->debug_process); add_brick_slider_float(C,block,"limit",&C->engine->global_limit); add_brick_slider_float(C,block,"freq",&C->engine->global_freq); add_brick_switch(C,block,"limit process",&C->engine->with_global_limit); add_brick_submenu(C,menu_main,menu,"process"); return menu; }
t_node *make_menu_ui(void) { t_context *C=ctx_get(); t_node *menu=block_make("menu_ui","menu"); t_block *block=menu->data; add_brick_switch(C,block,"update links",&C->ui->update_links); add_brick_switch(C,block,"fixed menu",&C->ui->fixed_menu); add_brick_switch(C,block,"flow brick",&C->ui->flow_brick); add_brick_switch(C,block,"selection",&C->ui->object_selection); add_brick_switch(C,block,"bitmap font",&C->ui->use_bitmap_font); add_brick_switch(C,block,"mouse mode",&C->ui->mouse_mode); add_brick_switch(C,block,"show states",&C->ui->show_states); add_brick_switch(C,block,"show step",&C->ui->show_step); add_brick_switch(C,block,"show brick step",&C->ui->show_brick_step); add_brick_switch(C,block,"video",&C->event->video); return menu; }
t_block *glint_makemenu_view( t_context *C) { t_block *block = add_menu_block( C, "menu_view"); add_brick_slider_int(C,block,"win width",&C->app->window->width_def,op_window); add_brick_slider_int(C,block,"win height",&C->app->window->height_def,op_window); add_brick_slider_int(C,block,"vp width",&C->app->window->viewport_width,NULL); add_brick_switch(C,block,"viewport controls",&opt_viewport_show_controls, NULL); return block; }
t_node *add_switch(t_context *C,const char *name,void *data, void *(* f)( t_brick *brick)) { // BLOCK t_node *node_block = add_block(C,"switch"); t_block *block = ( t_block *) node_block->data; // BRICK SWICH add_brick_switch(C,block,name,data, f); return node_block; }
t_node *add_brick_multiswitch( t_context *C, t_block *block, const char *name, void *data_target, void *(* f)(t_brick *brick)) { t_node *node = add_brick_switch( C, block, name, data_target, f); t_brick *brick = node->data; // ACTION if( f) brick->act = f; else brick->act = op_multiswitch; return node; }
t_node *make_menu_skt(void) { t_context *C=ctx_get(); t_node *menu=block_make("menu_sketch","menu"); t_block *block=menu->data; add_brick_slider_int(C,block,"line width",&C->skt->line_width); add_brick_slider_float(C,block,"point size",&C->skt->point_size); add_brick_switch(C,block,"with scale",&C->event->sketch_with_scale); return menu; }
t_node *make_menu_draw(void) { t_context *C=ctx_get(); t_node *menu=block_make("menu_draw","menu"); t_block *block=menu->data; add_brick_switch(C,block,"face",&C->event->with_face); add_brick_switch(C,block,"points",&C->event->with_point); add_brick_switch(C,block,"texture",&C->event->with_texture); add_brick_switch(C,block,"normal",&C->event->with_normal); add_brick_switch(C,block,"light",&C->event->with_light); add_brick_switch(C,block,"depth",&C->event->with_depth); add_brick_switch(C,block,"blend",&C->event->with_blend); add_brick_switch(C,block,"restrict",&C->draw->with_restrict_matrix); add_brick_switch(C,block,"direct",&C->draw->mode_direct); return menu; }
t_block *glint_makemenu_debug( t_context *C) { t_block *block = add_menu_block( C, "menu_debug"); add_brick_switch(C,block,"show terminal",&C->ui->show_term, NULL); add_brick_switch(C,block,"debug keyboard",&C->app->debug_keyboard, NULL); add_brick_switch(C,block,"debug select",&C->event->debug_select, NULL); add_brick_switch(C,block,"debug console",&C->event->debug_console, NULL); add_brick_switch(C,block,"debug terminal",&C->event->debug_terminal, NULL); add_brick_switch(C,block,"debug loop",&C->event->debug_loop, NULL); add_brick_switch(C,block,"debug key",&C->event->debug_key, NULL); add_brick_switch(C,block,"debug plug",&C->event->debug_plug, NULL); add_brick_int(C,block,"mem",(int *) &MEM_SIZE); return block; }
t_block *glint_makemenu_ui( t_context *C) { t_block *block = add_menu_block( C, "menu_ui"); add_brick_switch(C,block,"realtime",&C->ui->realtime, NULL); add_brick_switch(C,block,"update links",&C->ui->update_links, NULL); add_brick_switch(C,block,"fixed menu",&C->ui->fixed_menu, NULL); add_brick_switch(C,block,"selection",&C->ui->object_selection, NULL); add_brick_switch(C,block,"bitmap font",&C->ui->use_bitmap_font, NULL); add_brick_switch(C,block,"show states",&C->ui->show_states, NULL); add_brick_switch(C,block,"show step",&C->ui->show_step, NULL); add_brick_switch(C,block,"show brick step",&C->ui->show_brick_step, NULL); add_brick_switch(C,block,"video build",&C->app->video_build, NULL); add_brick_slider_int(C,block,"video offset",&C->app->video_offset,NULL); add_brick_slider_int(C,block,"mouse size",&C->ui->mouse_size,NULL); add_brick_switch(C,block,"show mouse",&C->ui->show_mouse_rec, NULL); add_brick_switch(C,block,"draw plug state",&C->ui->show_plug_state, NULL); return block; }