All pastes #947123 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-03-18 05:18 UTC
rendered paste body
int draw_view(struct view *view, struct mouse_state *mouse_state)
{
	struct widget_level *widget_level;
	struct widget_list *widget_list;
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	
	widget_level = view->widget_level;
		
	while(widget_level != NULL) {
		widget_list = widget_level->widget_list;
		while(widget_list != NULL) {
			switch(widget_list->widget->widget_type) {
				case WIDGET_MENU:
					if(draw_menu((struct menu*) \
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_PANEL:
					if(draw_panel((struct panel*) \
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_BUTTON:
					if(draw_button((struct button*) \
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_BUTTONGRID:
					if(draw_buttongrid((struct buttongrid*)\
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_LABEL:
					if(draw_label((struct label*) \
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_SCROLLABLE:
					if(draw_scrollable((struct scrollable*)\
						widget_list->widget) == ERROR)
						return ERROR;
					break;
				case WIDGET_MSGBOX:
					if(draw_msgbox((struct msgbox*) \
						widget_list->widget) == ERROR)
						return ERROR;
					break;
			}
			widget_list = widget_list->next_widget;
		}
		widget_level = widget_level->next_level;
	}
	
	if(view->game_state != NULL) {
		if(draw_map(&(view->game_state->object_list->map)) == ERROR)
			return ERROR;
		draw_cube_map(&(view->game_state->object_list->map), \
			&(view->game_state->textures));
		if(view->game_state->build_object.type != NIL)
			if(pinpoint_object_location(\
				&(view->game_state->object_list->map), \
				mouse_state, \
				&(view->game_state->build_object)) == ERROR)
				return ERROR;
		draw_map_objects(&(view->game_state->object_list->map), \
			&(view->game_state->textures), \
			&(view->game_state->models));
		draw_select_box(&(view->game_state->object_list->map), \
			&(view->game_state->build_object), \
			&(view->game_state->models), \
			&(view->game_state->textures));
			
		
	}
	return REDRAW;
}