aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c')
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c b/payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c
new file mode 100644
index 0000000000..d39533b303
--- /dev/null
+++ b/payloads/libpayload/curses/PDCurses-3.4/sdl1/sdltest.c
@@ -0,0 +1,81 @@
+/* Here's a simple example of combining SDL and PDCurses functionality.
+ The top portion of the window is devoted to SDL, with a four-line
+ (assuming the default 8x16 font) stdscr at the bottom.
+
+ $Id: sdltest.c,v 1.2 2008/07/14 04:24:52 wmcbrine Exp $
+*/
+
+#include <SDL/SDL.h>
+#include <curses.h>
+#include <stdlib.h>
+#include <time.h>
+
+/* You could #include pdcsdl.h, or just add the relevant declarations
+ here: */
+
+PDCEX SDL_Surface *pdc_screen;
+PDCEX int pdc_yoffset;
+
+int main(int argc, char **argv)
+{
+ char inp[60];
+ int i, j, seed;
+
+ seed = time((time_t *)0);
+ srand(seed);
+
+ /* Initialize SDL */
+
+ if (SDL_Init(SDL_INIT_VIDEO) < 0)
+ exit(1);
+
+ atexit(SDL_Quit);
+
+ pdc_screen = SDL_SetVideoMode(640, 480, 0, SDL_SWSURFACE|SDL_ANYFORMAT);
+
+ /* Initialize PDCurses */
+
+ pdc_yoffset = 416; /* 480 - 4 * 16 */
+
+ initscr();
+ start_color();
+ scrollok(stdscr, TRUE);
+
+ PDC_set_title("PDCurses for SDL");
+
+ /* Do some SDL stuff */
+
+ for (i = 640, j = 416; j; i -= 2, j -= 2)
+ {
+ SDL_Rect dest;
+
+ dest.x = (640 - i) / 2;
+ dest.y = (416 - j) / 2;
+ dest.w = i;
+ dest.h = j;
+
+ SDL_FillRect(pdc_screen, &dest,
+ SDL_MapRGB(pdc_screen->format, rand() % 256,
+ rand() % 256, rand() % 256));
+ }
+
+ SDL_UpdateRect(pdc_screen, 0, 0, 640, 416);
+
+ /* Do some curses stuff */
+
+ init_pair(1, COLOR_WHITE + 8, COLOR_BLUE);
+ bkgd(COLOR_PAIR(1));
+
+ addstr("This is a demo of ");
+ attron(A_UNDERLINE);
+ addstr("PDCurses for SDL");
+ attroff(A_UNDERLINE);
+ addstr(".\nYour comments here: ");
+ getnstr(inp, 59);
+ addstr("Press any key to exit.");
+
+ getch();
+ endwin();
+
+ return 0;
+}