42 lines
880 B
C++
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
|