From: Ali Gholami Rudi Date: Sat, 5 Jan 2013 17:08:49 +0000 (+0330) Subject: fbpad.h: merge the headers X-Git-Url: https://repo.or.cz/w/fbpad.git/commitdiff_plain/4329f3653f5fdde6838d37a7495ca96e6efb7be5 fbpad.h: merge the headers --- diff --git a/fbpad.c b/fbpad.c index 4c6a508..ec3f85f 100644 --- a/fbpad.c +++ b/fbpad.c @@ -1,7 +1,7 @@ /* * fbpad - a small framebuffer virtual terminal * - * Copyright (C) 2009-2012 Ali Gholami Rudi + * Copyright (C) 2009-2013 Ali Gholami Rudi * * This program is released under the modified BSD license. */ @@ -17,10 +17,7 @@ #include #include #include "config.h" -#include "pad.h" -#include "term.h" -#include "util.h" -#include "scrsnap.h" +#include "fbpad.h" #include "draw.h" #define CTRLKEY(x) ((x) - 96) diff --git a/fbpad.h b/fbpad.h new file mode 100644 index 0000000..6fb78d1 --- /dev/null +++ b/fbpad.h @@ -0,0 +1,62 @@ +/* fbpad header file */ + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#define ESC 27 /* escape code */ +#define MAXCHARS (1 << 15) /* maximum characters on screen */ +#define MAXDOTS (1 << 10) /* maximum pixels in glyphs */ + +/* term.c */ +#define TERM_HIDDEN 0 +#define TERM_VISIBLE 1 +#define TERM_REDRAW 2 + +struct term_state { + int row, col; + int fg, bg; + int mode; +}; + +struct term { + int screen[MAXCHARS]; + char fgs[MAXCHARS]; + char bgs[MAXCHARS]; + struct term_state cur, sav; + int fd; + int pid; + int top, bot; +}; + +void term_load(struct term *term, int visible); +void term_save(struct term *term); + +void term_read(void); +void term_send(int c); +void term_exec(char *cmd); +void term_end(void); +void term_screenshot(void); + +/* pad.c */ +#define FN_I 0x10 +#define FN_B 0x20 + +int pad_init(void); +void pad_free(void); +void pad_put(int ch, int r, int c, int fg, int bg); +int pad_rows(void); +int pad_cols(void); +void pad_blank(int c); +void pad_blankrow(int r, int bg); + +/* font.c */ +struct font *font_open(char *path); +void font_free(struct font *font); +int font_rows(struct font *font); +int font_cols(struct font *font); +int font_bitmap(struct font *font, void *dst, int c); + +/* scrsnap.c */ +void scr_snap(void *owner); +int scr_load(void *owner); +void scr_free(void *owner); diff --git a/font.c b/font.c index 6a0aa00..a661e58 100644 --- a/font.c +++ b/font.c @@ -3,9 +3,7 @@ #include #include #include -#include "config.h" -#include "font.h" -#include "util.h" +#include "fbpad.h" struct font { int rows; diff --git a/font.h b/font.h deleted file mode 100644 index c69d5ca..0000000 --- a/font.h +++ /dev/null @@ -1,7 +0,0 @@ -#define MAXDOTS (1 << 10) - -struct font *font_open(char *path); -void font_free(struct font *font); -int font_rows(struct font *font); -int font_cols(struct font *font); -int font_bitmap(struct font *font, void *dst, int c); diff --git a/pad.c b/pad.c index 1f4d8c4..2d306c1 100644 --- a/pad.c +++ b/pad.c @@ -4,10 +4,9 @@ #include #include "config.h" #include "draw.h" -#include "font.h" -#include "util.h" -#include "pad.h" +#include "fbpad.h" +#define FN_C(fg) (((fg) & FN_B ? (fg) + 8 : (fg)) & 0x0f) #define NCACHE (1 << 11) #define MAXFBWIDTH (1 << 12) diff --git a/pad.h b/pad.h deleted file mode 100644 index c097def..0000000 --- a/pad.h +++ /dev/null @@ -1,12 +0,0 @@ -#define MAXCHARS (1 << 15) -#define FN_I 0x10 -#define FN_B 0x20 -#define FN_C(fg) (((fg) & FN_B ? (fg) + 8 : (fg)) & 0x0f) - -int pad_init(void); -void pad_free(void); -void pad_put(int ch, int r, int c, int fg, int bg); -int pad_rows(void); -int pad_cols(void); -void pad_blank(int c); -void pad_blankrow(int r, int bg); diff --git a/scrsnap.c b/scrsnap.c index 6ad9c0c..b977b84 100644 --- a/scrsnap.c +++ b/scrsnap.c @@ -2,7 +2,6 @@ #include #include "config.h" #include "draw.h" -#include "scrsnap.h" #define NSCRS ((sizeof(saved) - 1) * 2) #define SNAPSZ (1 << 23) diff --git a/scrsnap.h b/scrsnap.h deleted file mode 100644 index 9e7e019..0000000 --- a/scrsnap.h +++ /dev/null @@ -1,3 +0,0 @@ -void scr_snap(void *owner); -int scr_load(void *owner); -void scr_free(void *owner); diff --git a/term.c b/term.c index de785a6..7c6aed2 100644 --- a/term.c +++ b/term.c @@ -10,9 +10,7 @@ #include #include #include "config.h" -#include "pad.h" -#include "util.h" -#include "term.h" +#include "fbpad.h" #define MODE_CURSOR 0x01 #define MODE_WRAP 0x02 @@ -26,8 +24,10 @@ #define MODE_INSERT 0x100 #define MODE_WRAPREADY 0x200 +#define LIMIT(n, a, b) ((n) < (a) ? (a) : ((n) > (b) ? (b) : (n))) #define BIT_SET(i, b, val) ((val) ? ((i) | (b)) : ((i) & ~(b))) #define OFFSET(r, c) ((r) * pad_cols() + (c)) +#define LEN(a) (sizeof(a) / sizeof((a)[0])) static struct term *term; static int *screen; @@ -832,7 +832,7 @@ static void csiseq(void) } if (CSIP(c)) c = readpty(); - if (n < ARRAY_SIZE(args)) + if (n < LEN(args)) args[n++] = arg; } while (CSII(c)) diff --git a/term.h b/term.h deleted file mode 100644 index c0ac248..0000000 --- a/term.h +++ /dev/null @@ -1,30 +0,0 @@ -#define ESC 27 - -struct term_state { - int row, col; - int fg, bg; - int mode; -}; - -struct term { - int fd; - int pid; - int top, bot; - struct term_state cur, sav; - int screen[MAXCHARS]; - char fgs[MAXCHARS]; - char bgs[MAXCHARS]; -}; - -#define TERM_HIDDEN 0 -#define TERM_VISIBLE 1 -#define TERM_REDRAW 2 - -void term_load(struct term *term, int visible); -void term_save(struct term *term); - -void term_read(void); -void term_send(int c); -void term_exec(char *cmd); -void term_end(void); -void term_screenshot(void); diff --git a/util.h b/util.h deleted file mode 100644 index 38430a7..0000000 --- a/util.h +++ /dev/null @@ -1,4 +0,0 @@ -#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) > (b) ? (a) : (b)) -#define LIMIT(n, a, b) ((n) < (a) ? (a) : ((n) > (b) ? (b) : (n)))