* Functions necessary to display a deck of slides in different color modes
* using ncurses. Only white, red, and blue are supported, as they can be
* faded in 256 color mode.
- * Copyright (C) 2014 Michael Goehler
+ * Copyright (C) 2018 Michael Goehler
*
* This file is part of mdp.
*
*
* function: ncurses_display initializes ncurses, defines colors, calculates
* window geometry and handles key strokes
- * function: add_line detects inline markdown formating and prints line char
+ * function: add_line detects inline markdown formatting and prints line char
* by char
* function: fade_in, fade_out implementing color fading in 256 color mode
* function: int_length to calculate decimal length of slide count
*
*/
+#define _GNU_SOURCE // enable ncurses wchar support
+#define _XOPEN_SOURCE_EXTENDED 1 // enable ncurses wchar support
+
+#if defined( WIN32 )
+#include <curses.h>
+#else
#include <ncurses.h>
+#endif
+#include "common.h"
#include "parser.h"
#include "cstack.h"
+#include "url.h"
-#define CP_WHITE 1 // 255
-#define CP_BLUE 2 // 123
-#define CP_RED 3 // 213
-#define CP_YELLOW 4 // 208
-
-#define FADE_DELAY 15000 // micro seconds
+#define CP_FG 1
+#define CP_HEADER 2
+#define CP_BOLD 3
+#define CP_TITLE 4
+#define CP_BG 5 // CP_FG with foreground and background swapped
-int ncurses_display(deck_t *deck, int notrans, int nofade, int invert);
-void add_line(WINDOW *window, int y, int x, line_t *line, int max_cols, int colors);
-void fade_out(WINDOW *window, int trans, int colors, int invert);
-void fade_in(WINDOW *window, int trans, int colors, int invert);
+int ncurses_display(deck_t *deck, int reload, int noreload, int slidenum, int nocodebg);
+void add_line(WINDOW *window, int y, int x, line_t *line, int max_cols, int colors, int nocodebg);
+void inline_display(WINDOW *window, const wchar_t *c, const int colors, int nocodebg);
int int_length (int val);
+int get_slide_number(char init);
+void setup_list_strings(void);
+bool evaluate_binding(const int bindings[], char c);
#endif // !defined( VIEWER_H )