summaryrefslogtreecommitdiff
path: root/src/scene00.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene00.c')
-rw-r--r--src/scene00.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/scene00.c b/src/scene00.c
index 746db29..7bb1738 100644
--- a/src/scene00.c
+++ b/src/scene00.c
@@ -31,11 +31,14 @@ void scene00_free(graphical_env_t *ge, scene00_env_t *se) {
SDL_DestroyTexture(se->eo1); se->eo1=NULL;
}
-int scene00_next(graphical_env_t *ge, scene00_env_t *se) {
+int scene00_next_gl(graphical_env_t *ge, scene00_env_t *se) {
+ return 0;
+}
+
+int scene00_next_sdl(graphical_env_t *ge, scene00_env_t *se) {
// Shorthands
caca_canvas_t *cv = ge->cv;
int w = ge->w, h = ge->h;
- Uint32 frame = ge->sc_framecount;
SDL_Renderer *r = ge->sdl_rndr;
// Local vars
int res;
@@ -54,11 +57,21 @@ int scene00_next(graphical_env_t *ge, scene00_env_t *se) {
SDL_RenderPresent(r);
// Download the rendered texture from videocard to main memory
+ SDL_SetRenderTarget(r, ge->sdl_target);
res = SDL_RenderReadPixels(r, NULL, 0, ge->raw_target, 256*4);
// "convert" the raw pixel stream to ASCII art on caca canevas
if ( res == 0 ) caca_dither_bitmap(cv, 0, 0, w, h, ge->d, ge->raw_target);
+ return 0;
+}
+
+int scene00_next_caca(graphical_env_t *ge, scene00_env_t *se) {
+ // Shorthands
+ caca_canvas_t *cv = ge->cv;
+ int w = ge->w, h = ge->h;
+ Uint32 frame = ge->sc_framecount;
+
// Add things on top of caca canvas
caca_set_color_ansi(cv, CACA_BLACK, CACA_WHITE);
caca_put_str(cv, (w-17)/2, h/2, "This is a message");