Пример #1
0
t_node *add_block(t_context *C,const char *name)
{
	// Get Set
	t_set *set = get_current_set(C);

	// New Block
	t_node *node_block=block_make(name,"block");
	t_block *block = ( t_block *) node_block->data;

	// Draw Outline
	block->block_state.draw_outline = 1;

	// Add to Set
	set_block_push(set,block);

	// Set Block Pos

	if(current_frame != C->app->frame)
	{
		current_frame = C->app->frame;
		block_pos_offset = 0;
	}

	float p[2];
	ctx_get_mouse_pos(C,p);

	if( opt_op_use_random) vset3f(block->pos,p[0] * _rnd() ,p[1] * _rnd() ,0);
	else vset3f(block->pos,p[0],p[1]+block_pos_offset,0);

	return node_block;
}
Пример #2
0
void _add_block(t_context *C,t_block *block)
{
	// GET LIST
	t_lst *list=get_target_list(C);

	// ADD TO MAIN LIST
	list_add_global(list,block);

	// SET BLOCK POS
	vset3f(block->pos,C->app->mouse->x,C->app->mouse->y,0);

}
Пример #3
0
void *block_new(const char *name)
{
	t_block *block  = (t_block *) mem_malloc( sizeof( t_block));

	block->cls = NULL;

	vset3i( block->idcol, 0, 0, 0);

	id_init(&block->id, name);
	bzero(block->type,_NAME_);
	
	vset3f( block->pos, 0, 0, 0);
	block->width = 0;
	block->height = 0;

	block->block_state.is_root=0;
	block->block_state.draw_outline=0;
	block->block_state.draw_plugs=0;
	block->block_state.is_mouse_over=0;
	block->block_state.update_geometry=1;
	block->block_state.is_a_loop = 0;
	block->block_state.is_in_rhizome = 0;
	block->block_state.frame_based = 0;
	block->block_state.connecting = 0;
	block->block_state.draw_clone_link = 0;

	block->tot_bricks=0;
	block->rhizome_order = -1;
	block->rhizome_pos = 0;

	block->bricks=NULL;
	block->submenu = NULL;
	block->hover = NULL;
	block->selected = NULL;
	block->rhizome = NULL;
	block->set = NULL;

	block->state = NULL;
	block->clone = NULL;

	block->up = 1;
	block->clones = 0;

	return block;
}