]> git.mdlowis.com Git - projs/tide.git/commitdiff
refactored x11 and win code
authorMichael D. Lowis <mike.lowis@gentex.com>
Wed, 11 Apr 2018 20:18:38 +0000 (16:18 -0400)
committerMichael D. Lowis <mike.lowis@gentex.com>
Wed, 11 Apr 2018 20:18:38 +0000 (16:18 -0400)
inc/win.h
inc/x11.h [deleted file]
lib/x11.c
tide.c

index 7651154523d3c433a904335d3c00a638c539aee9..3d40fc4dcf40bd4ec370c4da2c5eb42b6b28afef 100644 (file)
--- a/inc/win.h
+++ b/inc/win.h
@@ -1,3 +1,115 @@
+typedef void* XFont;
+
+typedef struct {
+    uint32_t attr; /* attributes applied to this cell */
+    uint32_t rune; /* rune value for the cell */
+} XGlyph;
+
+typedef struct {
+    void* font;
+    uint32_t glyph;
+    short x;
+    short y;
+} XGlyphSpec;
+
+/* key definitions */
+enum Keys {
+    /* Define some runes in the private use area of unicode to represent
+     * special keys */
+    KEY_F1     = (0xE000+0),
+    KEY_F2     = (0xE000+1),
+    KEY_F3     = (0xE000+2),
+    KEY_F4     = (0xE000+3),
+    KEY_F5     = (0xE000+4),
+    KEY_F6     = (0xE000+5),
+    KEY_F7     = (0xE000+6),
+    KEY_F8     = (0xE000+7),
+    KEY_F9     = (0xE000+8),
+    KEY_F10    = (0xE000+9),
+    KEY_F11    = (0xE000+10),
+    KEY_F12    = (0xE000+11),
+    KEY_INSERT = (0xE000+12),
+    KEY_DELETE = (0xE000+13),
+    KEY_HOME   = (0xE000+14),
+    KEY_END    = (0xE000+15),
+    KEY_PGUP   = (0xE000+16),
+    KEY_PGDN   = (0xE000+17),
+    KEY_UP     = (0xE000+18),
+    KEY_DOWN   = (0xE000+19),
+    KEY_RIGHT  = (0xE000+20),
+    KEY_LEFT   = (0xE000+21),
+
+    /* ASCII Control Characters */
+    KEY_CTRL_TILDE       = 0x00,
+    KEY_CTRL_2           = 0x00,
+    KEY_CTRL_A           = 0x01,
+    KEY_CTRL_B           = 0x02,
+    KEY_CTRL_C           = 0x03,
+    KEY_CTRL_D           = 0x04,
+    KEY_CTRL_E           = 0x05,
+    KEY_CTRL_F           = 0x06,
+    KEY_CTRL_G           = 0x07,
+    KEY_BACKSPACE        = 0x08,
+    KEY_CTRL_H           = 0x08,
+    KEY_TAB              = 0x09,
+    KEY_CTRL_I           = 0x09,
+    KEY_CTRL_J           = 0x0A,
+    KEY_CTRL_K           = 0x0B,
+    KEY_CTRL_L           = 0x0C,
+    KEY_ENTER            = 0x0D,
+    KEY_CTRL_M           = 0x0D,
+    KEY_CTRL_N           = 0x0E,
+    KEY_CTRL_O           = 0x0F,
+    KEY_CTRL_P           = 0x10,
+    KEY_CTRL_Q           = 0x11,
+    KEY_CTRL_R           = 0x12,
+    KEY_CTRL_S           = 0x13,
+    KEY_CTRL_T           = 0x14,
+    KEY_CTRL_U           = 0x15,
+    KEY_CTRL_V           = 0x16,
+    KEY_CTRL_W           = 0x17,
+    KEY_CTRL_X           = 0x18,
+    KEY_CTRL_Y           = 0x19,
+    KEY_CTRL_Z           = 0x1A,
+    KEY_ESCAPE           = 0x1B,
+    KEY_CTRL_LSQ_BRACKET = 0x1B,
+    KEY_CTRL_3           = 0x1B,
+    KEY_CTRL_4           = 0x1C,
+    KEY_CTRL_BACKSLASH   = 0x1C,
+    KEY_CTRL_5           = 0x1D,
+    KEY_CTRL_RSQ_BRACKET = 0x1D,
+    KEY_CTRL_6           = 0x1E,
+    KEY_CTRL_7           = 0x1F,
+    KEY_CTRL_SLASH       = 0x1F,
+    KEY_CTRL_UNDERSCORE  = 0x1F,
+};
+
+/* Key modifier masks */
+enum {
+    ModNone       = 0,
+    ModShift      = (1 << 0),
+    ModCapsLock   = (1 << 1),
+    ModCtrl       = (1 << 2),
+    ModAlt        = (1 << 3),
+    ModNumLock    = (1 << 4),
+    ModScrollLock = (1 << 5),
+    ModWindows    = (1 << 6),
+    ModOneOrMore  = (ModCtrl|ModAlt),
+    ModAny        = -1
+};
+
+/* Selection identifiers */
+enum {
+    PRIMARY   = 0,
+    CLIPBOARD = 1
+};
+
+void x11_init(void);
+bool x11_keymodsset(int mask);
+void x11_window(char* name);
+bool x11_sel_get(int selid, void(*cbfn)(char*));
+bool x11_sel_set(int selid, char* str);
+
 enum {
     MouseLeft    = 1,
     MouseMiddle  = 2,
@@ -30,10 +142,9 @@ void win_loop(void);
 void win_quit(void);
 View* win_view(WinRegion id);
 Buf* win_buf(WinRegion id);
-bool win_btnpressed(int btn);
+//bool win_btnpressed(int btn);
 WinRegion win_getregion(void);
 void win_setregion(WinRegion id);
-void win_setscroll(double offset, double visible);
 
 /* move these to x11.c when possible */
 extern int SearchDir;
diff --git a/inc/x11.h b/inc/x11.h
deleted file mode 100644 (file)
index 979c05b..0000000
--- a/inc/x11.h
+++ /dev/null
@@ -1,119 +0,0 @@
-typedef void* XFont;
-
-typedef struct {
-    uint32_t attr; /* attributes applied to this cell */
-    uint32_t rune; /* rune value for the cell */
-} XGlyph;
-
-typedef struct {
-    void* font;
-    uint32_t glyph;
-    short x;
-    short y;
-} XGlyphSpec;
-
-/* key definitions */
-enum Keys {
-    /* Define some runes in the private use area of unicode to represent
-     * special keys */
-    KEY_F1     = (0xE000+0),
-    KEY_F2     = (0xE000+1),
-    KEY_F3     = (0xE000+2),
-    KEY_F4     = (0xE000+3),
-    KEY_F5     = (0xE000+4),
-    KEY_F6     = (0xE000+5),
-    KEY_F7     = (0xE000+6),
-    KEY_F8     = (0xE000+7),
-    KEY_F9     = (0xE000+8),
-    KEY_F10    = (0xE000+9),
-    KEY_F11    = (0xE000+10),
-    KEY_F12    = (0xE000+11),
-    KEY_INSERT = (0xE000+12),
-    KEY_DELETE = (0xE000+13),
-    KEY_HOME   = (0xE000+14),
-    KEY_END    = (0xE000+15),
-    KEY_PGUP   = (0xE000+16),
-    KEY_PGDN   = (0xE000+17),
-    KEY_UP     = (0xE000+18),
-    KEY_DOWN   = (0xE000+19),
-    KEY_RIGHT  = (0xE000+20),
-    KEY_LEFT   = (0xE000+21),
-
-    /* ASCII Control Characters */
-    KEY_CTRL_TILDE       = 0x00,
-    KEY_CTRL_2           = 0x00,
-    KEY_CTRL_A           = 0x01,
-    KEY_CTRL_B           = 0x02,
-    KEY_CTRL_C           = 0x03,
-    KEY_CTRL_D           = 0x04,
-    KEY_CTRL_E           = 0x05,
-    KEY_CTRL_F           = 0x06,
-    KEY_CTRL_G           = 0x07,
-    KEY_BACKSPACE        = 0x08,
-    KEY_CTRL_H           = 0x08,
-    KEY_TAB              = 0x09,
-    KEY_CTRL_I           = 0x09,
-    KEY_CTRL_J           = 0x0A,
-    KEY_CTRL_K           = 0x0B,
-    KEY_CTRL_L           = 0x0C,
-    KEY_ENTER            = 0x0D,
-    KEY_CTRL_M           = 0x0D,
-    KEY_CTRL_N           = 0x0E,
-    KEY_CTRL_O           = 0x0F,
-    KEY_CTRL_P           = 0x10,
-    KEY_CTRL_Q           = 0x11,
-    KEY_CTRL_R           = 0x12,
-    KEY_CTRL_S           = 0x13,
-    KEY_CTRL_T           = 0x14,
-    KEY_CTRL_U           = 0x15,
-    KEY_CTRL_V           = 0x16,
-    KEY_CTRL_W           = 0x17,
-    KEY_CTRL_X           = 0x18,
-    KEY_CTRL_Y           = 0x19,
-    KEY_CTRL_Z           = 0x1A,
-    KEY_ESCAPE           = 0x1B,
-    KEY_CTRL_LSQ_BRACKET = 0x1B,
-    KEY_CTRL_3           = 0x1B,
-    KEY_CTRL_4           = 0x1C,
-    KEY_CTRL_BACKSLASH   = 0x1C,
-    KEY_CTRL_5           = 0x1D,
-    KEY_CTRL_RSQ_BRACKET = 0x1D,
-    KEY_CTRL_6           = 0x1E,
-    KEY_CTRL_7           = 0x1F,
-    KEY_CTRL_SLASH       = 0x1F,
-    KEY_CTRL_UNDERSCORE  = 0x1F,
-};
-
-/* Key modifier masks */
-enum {
-    ModNone       = 0,
-    ModShift      = (1 << 0),
-    ModCapsLock   = (1 << 1),
-    ModCtrl       = (1 << 2),
-    ModAlt        = (1 << 3),
-    ModNumLock    = (1 << 4),
-    ModScrollLock = (1 << 5),
-    ModWindows    = (1 << 6),
-    ModOneOrMore  = (ModCtrl|ModAlt),
-    ModAny        = -1
-};
-
-/* Selection identifiers */
-enum {
-    PRIMARY   = 0,
-    CLIPBOARD = 1
-};
-
-void x11_init(void);
-bool x11_keymodsset(int mask);
-void x11_window(char* name);
-XFont x11_font_load(char* name);
-size_t x11_font_height(XFont fnt);
-size_t x11_font_width(XFont fnt);
-size_t x11_font_descent(XFont fnt);
-void x11_font_getglyph(XFont font, XGlyphSpec* spec, uint32_t rune);
-size_t x11_font_getglyphs(XGlyphSpec* specs, const XGlyph* glyphs, int len, XFont font, int x, int y);
-void x11_draw_rect(int color, int x, int y, int width, int height);
-void x11_draw_glyphs(int fg, int bg, XGlyphSpec* specs, size_t nspecs, bool eol);
-bool x11_sel_get(int selid, void(*cbfn)(char*));
-bool x11_sel_set(int selid, char* str);
index e640e0ed866b1a7cd312a2a8c3b4548664afad1a..e363880e1c2861b8e9c1a00b4be5797a49664cb3 100644 (file)
--- a/lib/x11.c
+++ b/lib/x11.c
@@ -3,7 +3,6 @@
 #include <unistd.h>
 #include <limits.h>
 #include <stdc.h>
-#include <x11.h>
 #include <utf.h>
 #include <edit.h>
 #include <win.h>
 /******************************************************************************/
 static void die(const char* msg);
 
+static XFont x11_font_load(char* name);
+static size_t x11_font_height(XFont fnt);
+static size_t x11_font_width(XFont fnt);
+static size_t x11_font_descent(XFont fnt);
+static void x11_font_getglyph(XFont font, XGlyphSpec* spec, uint32_t rune);
+static size_t x11_font_getglyphs(XGlyphSpec* specs, const XGlyph* glyphs, int len, XFont font, int x, int y);
+static void x11_draw_rect(int color, int x, int y, int width, int height);
+static void x11_draw_glyphs(int fg, int bg, XGlyphSpec* specs, size_t nspecs, bool eol);
+
 static uint32_t special_keys(uint32_t key);
 static uint32_t getkey(XEvent* e);
 static void mouse_click(int btn, bool pressed, int x, int y);
diff --git a/tide.c b/tide.c
index 87f04ac03e29673ce526934651fc54e3c8f60c05..96da7d80db8cc0c0d2d5112c63c572c9f893399a 100644 (file)
--- a/tide.c
+++ b/tide.c
@@ -1,6 +1,5 @@
 #define _XOPEN_SOURCE 700
 #include <stdc.h>
-#include <x11.h>
 #include <utf.h>
 #include <edit.h>
 #include <win.h>