#include "allocate/factory.h" #include "code/return.h" #include "draw/opengl_service.h" opengl_service_t::opengl_service_t( opengl_service_t::configuration_t* configuration_p ) { configuration_m = configuration_p; } void_t opengl_service_t::draw_quad( ) { glClearColor(1.0, 1.0, 1.0, 1.0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-1., 1., -1., 1., 1., 20.); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0., 0., 10., 0., 0., 0., 0., 1., 0.); glBegin(GL_QUADS); glColor3f(1., 0., 0.); glVertex3f(-.75, -.75, 0.); glColor3f(0., 1., 0.); glVertex3f( .75, -.75, 0.); glColor3f(0., 0., 1.); glVertex3f( .75, .75, 0.); glColor3f(1., 1., 0.); glVertex3f(-.75, .75, 0.); glEnd(); void_t void_l; void_l.error_m = opengl_service_t::error_t::none; return void_l; } void_t opengl_service_t::enable_depth_test( ) { glEnable( GL_DEPTH_TEST ); void_t void_l; void_l.error_m = opengl_service_t::error_t::none; return void_l; } void_t opengl_service_t::resize_viewport( int x, int y, int width, int height ) { void_t void_l; void_l.error_m = opengl_service_t::error_t::none; glViewport( 0, 0, width, height ); return void_l; } return_t opengl_service_factory_t::create( opengl_service_t::configuration_t* configuration_p ) { opengl_service_t* opengl_service_l = new opengl_service_t( configuration_p ); return_t return_l; return_l.error_m = opengl_service_t::error_t::none; return_l.value_m = opengl_service_l; return return_l; } void_t opengl_service_factory_t::dispose( opengl_service_t* opengl_service_p ) { delete opengl_service_p; void_t void_l; void_l.error_m = opengl_service_t::error_t::none; return void_l; }