cpp_launchpad/compile/draw/opengl_service.h

50 lines
1.0 KiB
C++

#ifndef SERVICE_RENDER
#define SERVICE_RENDER
#include "allocate/factory.h"
#include "code/return.h"
#include <X11/Xlib.h>
#include <X11/X.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.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