From 6030b176c2819c83c625f257ad7e8632a8245ed9 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Tue, 17 Feb 2015 15:33:03 -0500 Subject: Emulate the Rockbox plugin API, ported xracer Tons of changes --- apps/plugin.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 apps/plugin.c (limited to 'apps/plugin.c') diff --git a/apps/plugin.c b/apps/plugin.c new file mode 100644 index 0000000..440841a --- /dev/null +++ b/apps/plugin.c @@ -0,0 +1,52 @@ +#include +#include "plugin.h" +#include "gfx.h" + +static void plugin_clear(void) +{ + gfx_clear(); +} + +static void plugin_drawpix(int x, int y) +{ + gfx_drawpixel(x, y); +} + +static void plugin_vline(int a, int b, int c) +{ + gfx_vline(a, b, c); +} + +static void plugin_hline(int a, int b, int c) +{ + gfx_hline(a, b, c); +} + +static const struct plugin_api kappa_api = { + &plugin_clear, + &plugin_hline, + &plugin_vline, + &plugin_drawpix, + &gfx_drawline, + &gfx_drawrect, + &gfx_fillrect, + &gfx_set_foreground, + &gfx_get_foreground, + &gfx_set_background, + &gfx_get_background, + &srand, + &rand, + &gfx_filltriangle, + &gfx_drawcircle, + &gfx_fillcircle, + &gfx_update, + &gfx_putsxy +}; + +void plugin_load(enum plugin_status (*plugin)(const struct plugin_api*)) +{ + bool status = gfx_get_doublebuffer(); + gfx_set_doublebuffer(true); + plugin(&kappa_api); + gfx_set_doublebuffer(status); +} -- cgit v1.1