mirror of
https://github.com/nishiowo/nishbox
synced 2025-04-21 20:24:39 +00:00
separate drawing
This commit is contained in:
parent
8b42f1d5be
commit
fcd4610f21
@ -8,6 +8,7 @@
|
||||
#include <ne_type/core.h>
|
||||
|
||||
/* NishBox */
|
||||
#include <ne_type/draw.h>
|
||||
|
||||
/* Standard */
|
||||
|
||||
@ -15,6 +16,7 @@ void ne_engine_begin(void);
|
||||
void ne_engine_end(void);
|
||||
ne_engine_t* ne_engine_create(int nogui);
|
||||
void ne_engine_loop(ne_engine_t* engine);
|
||||
void ne_engine_set_draw(ne_engine_t* engine, void (*func)(ne_draw_t*));
|
||||
void ne_engine_destroy(ne_engine_t* engine);
|
||||
|
||||
#endif
|
||||
|
@ -17,6 +17,7 @@ void ne_draw_frame(ne_draw_t* draw);
|
||||
int ne_draw_step(ne_draw_t* draw);
|
||||
void ne_draw_begin(void);
|
||||
void ne_draw_end(void);
|
||||
void ne_draw_set_draw(ne_draw_t* engine, void (*func)(ne_draw_t*));
|
||||
void ne_draw_reshape(ne_draw_t* draw);
|
||||
|
||||
#endif
|
||||
|
@ -15,6 +15,8 @@
|
||||
|
||||
/* Standard */
|
||||
|
||||
NE_DECLARE_TYPE(draw, );
|
||||
|
||||
NE_DECLARE_TYPE(draw, {
|
||||
ne_draw_platform_t* platform;
|
||||
ne_draw_driver_t* driver;
|
||||
@ -28,6 +30,7 @@ NE_DECLARE_TYPE(draw, {
|
||||
ne_vector_t light;
|
||||
ne_vector_t lookat;
|
||||
ne_vector_t camera;
|
||||
void (*draw)(ne_draw_t*);
|
||||
});
|
||||
#else
|
||||
typedef void ne_draw_t;
|
||||
|
@ -63,6 +63,8 @@ ne_engine_t* ne_engine_create(int nogui) {
|
||||
return engine;
|
||||
}
|
||||
|
||||
void ne_engine_set_draw(ne_engine_t* engine, void (*func)(ne_draw_t*)) { ne_draw_set_draw(engine->draw, func); }
|
||||
|
||||
/**
|
||||
* Writing this so I don't forget
|
||||
*
|
||||
|
@ -57,11 +57,11 @@ void ne_draw_reshape(ne_draw_t* draw) { ne_draw_driver_reshape(draw); }
|
||||
|
||||
/* Runs every frame */
|
||||
void ne_draw_frame(ne_draw_t* draw) {
|
||||
ne_graphic_text(draw, 0, 0, 32, "test text", 255, 0, 0, 128);
|
||||
ne_graphic_text(draw, 8, 8, 32, "test text", 0, 255, 0, 128);
|
||||
ne_graphic_text(draw, 16, 16, 32, "test text", 0, 0, 255, 128);
|
||||
if(draw->draw != NULL) draw->draw(draw);
|
||||
}
|
||||
|
||||
void ne_draw_set_draw(ne_draw_t* draw, void (*func)(ne_draw_t*)) { draw->draw = func; }
|
||||
|
||||
int ne_draw_step(ne_draw_t* draw) {
|
||||
int ret = ne_draw_platform_step(draw);
|
||||
if(ret != 0) return ret;
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* NishBox */
|
||||
#include <ne_core.h>
|
||||
#include <ne_graphic.h>
|
||||
|
||||
/* External library */
|
||||
|
||||
@ -8,6 +9,12 @@
|
||||
|
||||
ne_engine_t* engine;
|
||||
|
||||
void draw_frame(ne_draw_t* draw) {
|
||||
ne_graphic_text(draw, 0, 0, 32, "test text", 255, 0, 0, 128);
|
||||
ne_graphic_text(draw, 8, 8, 32, "test text", 0, 255, 0, 128);
|
||||
ne_graphic_text(draw, 16, 16, 32, "test text", 0, 0, 255, 128);
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
ne_engine_begin();
|
||||
engine = ne_engine_create(0);
|
||||
@ -16,6 +23,7 @@ int main(int argc, char** argv) {
|
||||
ne_engine_end();
|
||||
return 1;
|
||||
}
|
||||
ne_engine_set_draw(engine, draw_frame);
|
||||
ne_engine_loop(engine);
|
||||
ne_engine_destroy(engine);
|
||||
ne_engine_end();
|
||||
|
Loading…
x
Reference in New Issue
Block a user