cpp_launchpad/compile/draw/opengl_service.h

42 lines
880 B
C++

#ifndef DRAW_OPENGL_SERVICE
#define DRAW_OPENGL_SERVICE
#include "allocate/factory.h"
#include "code/return.h"
class opengl_service_t {
friend class opengl_service_factory_t;
public:
enum error_t {
none,
unknown
};
struct configuration_t {
};
void_t<error_t> draw(
int cycle_p
);
void_t<error_t> enable_depth_test(
);
void_t<error_t> resize_viewport(
int x,
int y,
int width,
int height
);
private:
opengl_service_t(
configuration_t* configuration_p
);
configuration_t* configuration_m;
};
class opengl_service_factory_t : public factory_t<opengl_service_t::configuration_t, opengl_service_t, opengl_service_t::error_t> {
public:
return_t<opengl_service_t::error_t, opengl_service_t*> create(
opengl_service_t::configuration_t* configuration_p
);
void_t<opengl_service_t::error_t> dispose(
opengl_service_t* opengl_service_p
);
};
#endif