Example #1
0
void veta_render(){
	box b;
	b.x0=b.y0=0;
	b.w=WIDTH;
	b.h=HEIGHT;

	draw_box(WIDTH,HEIGHT,0,0,0,0,0);

	if(selection_mode==ZOOM){
		cell *deepest=get_deepest_cell(root_cell);
		render_cell(deepest,&b);
	}else{
		render_cell(root_cell,&b);
	}
	
	render_ui2();

	// FIXME: Cleanup and and add configuration options 
	vo_screenshot("var not used!", WIDTH, HEIGHT);
#ifdef DEBUG
	rgb black=(rgb){0,0,0};
	rgb white=(rgb){0xff,0xff,0xff};
	draw_text_box(BUILD,650,40,20,HEIGHT-45,white,black);
#endif
}
Example #2
0
void render_world(world w, SDL_Renderer* renderer, camera cam) {
	int i;
	
	int centerX = cam.w/2;  // Center viewport
	int centerY = cam.h/2; //  position
	int oX1, oY1, oX2, oY2;
	
	// Draw Cells
	for(i=0 ; i < w->cells_counter ; i++) {
		render_cell(w->cells[i], cam, renderer);
	}
	
	// Draw world center
	SDL_SetRenderDrawColor(renderer, 231, 231, 131, 255);
	oX1 = convert_coord(-1, centerX, cam.x, cam.zoom);
	oY1 = convert_coord(-1, centerY, cam.y, cam.zoom);
	oX2 = convert_coord(1, centerX, cam.x, cam.zoom);
	oY2 = convert_coord(1, centerY, cam.y, cam.zoom);
	SDL_RenderDrawLine(renderer, oX1, oY1, oX2, oY2);
	SDL_RenderDrawLine(renderer, oX1, oY2, oX2, oY1);
	
	// Draw sight
	SDL_SetRenderDrawColor(renderer, 1, 1, 1, 255);
	SDL_RenderDrawLine(renderer, 
		-3+centerX, 1+centerY, 
		3+centerX, 1+centerY);
	SDL_RenderDrawLine(renderer, 
		-3+centerX, -1+centerY, 
		3+centerX, -1+centerY);
	SDL_RenderDrawLine(renderer, 
		1+centerX, -3+centerY, 
		1+centerX, 3+centerY);
	SDL_RenderDrawLine(renderer, 
		-1+centerX, -3+centerY, 
		-1+centerX, 3+centerY);
	
	SDL_SetRenderDrawColor(renderer, 231, 231, 231, 255);
	SDL_RenderDrawLine(renderer, 
		-3+centerX, 0+centerY, 
		3+centerX, 0+centerY);
	SDL_RenderDrawLine(renderer, 
		0+centerX, -3+centerY, 
		0+centerX, 3+centerY);

}
Example #3
0
int render_cell(cell *cell,void *data){
	assert(cell != NULL);
	assert(data != NULL);
	box *ob=(box *)data;
	box nb;
	assert(cell);

	if(cell->level>1){
		if(cell->symbol->name){
			rgb fg={255,255,255};
			rgb bg={0,0,0};
			// FIXME this should handle an arbitrary level
			int is_selected=cell->selected || (cell->parent && cell->parent->selected);
			if(selection_mode==HIGHLIGHT) bg=is_selected?cell->color_selected:cell->color;
			else if(ui2_is_selected(cell->symbol)) bg=cell->color_selected;
			else bg=cell->color;

			draw_text_box(cell->symbol->name,ob->w,ob->h,ob->x0,ob->y0,fg,bg);
		}else{
		}
	} else {
//		draw_box(WIDTH,HEIGHT,0,0,0,0,0);
	}
		
	int n_cols=conf_get_int("n_columns",CELLS_W);
	int n_rows=conf_get_int("n_rows",CELLS_H);


	int innerWidth=(ob->w/n_cols)*0.9;
	int innerHeight=(ob->h/n_rows)*0.9;

	nb.w=(ob->w/n_cols)*0.9;
	nb.h=(ob->h/n_rows)*0.9;
	int pleft=0.1*(ob->w/n_cols);
	int ptop=0.1*(ob->h/n_rows);

	for(int i=0;i<cell->nchildren ;i++){
		nb.x0=nb.w*(i%n_cols)+ob->x0+pleft;	
		nb.y0=nb.h*(i/n_cols)+ob->y0+ptop;
		
		render_cell(cell->children[i],&nb);
	}
	return 0;
}