From 6a99a6d70179161964d47de9a825fd61e8445b86 Mon Sep 17 00:00:00 2001 From: "John Hodge (sonata)" Date: Sun, 20 Jan 2013 14:27:39 +0800 Subject: [PATCH] Usermode - Moved UTF-8 handling into a library --- Usermode/Applications/axwin3_src/WM/Makefile | 4 +-- .../Applications/axwin3_src/WM/include/utf8.h | 18 ------------ Usermode/Applications/axwin3_src/WM/main.c | 4 ++- .../WM/renderers/widget/textinput.c | 2 +- .../axwin3_src/WM/wm_render_text.c | 2 +- Usermode/Libraries/libunicode.so_src/Makefile | 14 ++++++++++ .../libunicode.so_src/include_exp/unicode.h | 28 +++++++++++++++++++ Usermode/Libraries/libunicode.so_src/main.c | 12 ++++++++ .../libunicode.so_src}/utf-8.c | 4 +-- 9 files changed, 63 insertions(+), 25 deletions(-) delete mode 100644 Usermode/Applications/axwin3_src/WM/include/utf8.h create mode 100644 Usermode/Libraries/libunicode.so_src/Makefile create mode 100644 Usermode/Libraries/libunicode.so_src/include_exp/unicode.h create mode 100644 Usermode/Libraries/libunicode.so_src/main.c rename Usermode/{Applications/axwin3_src/WM => Libraries/libunicode.so_src}/utf-8.c (98%) diff --git a/Usermode/Applications/axwin3_src/WM/Makefile b/Usermode/Applications/axwin3_src/WM/Makefile index 1d674507..1112ffea 100644 --- a/Usermode/Applications/axwin3_src/WM/Makefile +++ b/Usermode/Applications/axwin3_src/WM/Makefile @@ -7,7 +7,7 @@ CFLAGS += -std=gnu99 DIR := Apps/AxWin/3.0 BIN := AxWinWM -OBJ := main.o input.o video.o ipc.o image.o utf-8.o +OBJ := main.o input.o video.o ipc.o image.o OBJ += wm.o wm_input.o wm_render.o wm_render_text.o wm_hotkeys.o OBJ += decorator.o OBJ += renderers/framebuffer.o @@ -23,7 +23,7 @@ OBJ += renderers/widget/textinput.o OBJ += renderers/widget/spacer.o OBJ += renderers/widget/subwin.o -LDFLAGS += -limage_sif -luri -lnet +LDFLAGS += -limage_sif -luri -lnet -lunicode -include ../../Makefile.tpl diff --git a/Usermode/Applications/axwin3_src/WM/include/utf8.h b/Usermode/Applications/axwin3_src/WM/include/utf8.h deleted file mode 100644 index 3ecaeb08..00000000 --- a/Usermode/Applications/axwin3_src/WM/include/utf8.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Acess2 GUI (AxWin) Version 3 - * - By John Hodge (thePowersGang) - * - * utf8.h - * - UTF-8 Parsing header - */ -#ifndef _UTF8_H_ -#define _UTF8_H_ - -#include - -extern int ReadUTF8(const char *Input, uint32_t *Val); -extern int ReadUTF8Rev(const char *Base, int Offset, uint32_t *Val); -extern int WriteUTF8(char *buf, uint32_t Val); - -#endif - diff --git a/Usermode/Applications/axwin3_src/WM/main.c b/Usermode/Applications/axwin3_src/WM/main.c index c14cbb5d..9db1c15c 100644 --- a/Usermode/Applications/axwin3_src/WM/main.c +++ b/Usermode/Applications/axwin3_src/WM/main.c @@ -66,10 +66,12 @@ int main(int argc, char *argv[]) Renderer_RichText_Init(); WM_Initialise(); - // TODO: Config + // TODO: Move these to config uint32_t keys[4]; keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_r; WM_Hotkey_Register(2, keys, "Interface>Run"); + keys[0] = KEYSYM_LEFTGUI; keys[1] = KEYSYM_t; + WM_Hotkey_Register(2, keys, "Interface>Terminal"); // Spawn interface root { diff --git a/Usermode/Applications/axwin3_src/WM/renderers/widget/textinput.c b/Usermode/Applications/axwin3_src/WM/renderers/widget/textinput.c index 6d34a8e3..fc7e1077 100644 --- a/Usermode/Applications/axwin3_src/WM/renderers/widget/textinput.c +++ b/Usermode/Applications/axwin3_src/WM/renderers/widget/textinput.c @@ -10,7 +10,7 @@ #include #include "./common.h" #include "./colours.h" -#include +#include #include // TODO: Include a proper keysym header diff --git a/Usermode/Applications/axwin3_src/WM/wm_render_text.c b/Usermode/Applications/axwin3_src/WM/wm_render_text.c index 6ad72be6..8258531b 100644 --- a/Usermode/Applications/axwin3_src/WM/wm_render_text.c +++ b/Usermode/Applications/axwin3_src/WM/wm_render_text.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include // INT_MAX // === TYPES === diff --git a/Usermode/Libraries/libunicode.so_src/Makefile b/Usermode/Libraries/libunicode.so_src/Makefile new file mode 100644 index 00000000..d515f3d0 --- /dev/null +++ b/Usermode/Libraries/libunicode.so_src/Makefile @@ -0,0 +1,14 @@ +# Acess 2 "libunicode" +# + +include ../Makefile.cfg + +CPPFLAGS += +CFLAGS += -Wall +LDFLAGS += -lc -soname libunicode.so + +OBJ = main.o utf-8.o +BIN = libunicode.so + +include ../Makefile.tpl + diff --git a/Usermode/Libraries/libunicode.so_src/include_exp/unicode.h b/Usermode/Libraries/libunicode.so_src/include_exp/unicode.h new file mode 100644 index 00000000..495c8cfa --- /dev/null +++ b/Usermode/Libraries/libunicode.so_src/include_exp/unicode.h @@ -0,0 +1,28 @@ +/* + * Acess2 "libunicode" UTF Parser + * - By John Hodge (thePowersGang) + * + * unicode.h + * - Main header + */ +#ifndef _LIBUNICODE__UNICODE_H_ +#define _LIBUNICODE__UNICODE_H_ + +#include + +/** + * \breif Read a single codepoint from a UTF-8 stream + * \return Number of bytes read + */ +extern int ReadUTF8(const char *Input, uint32_t *Val); +/** + * \brief Read backwards in the stream + */ +extern int ReadUTF8Rev(const char *Base, int Offset, uint32_t *Val); +/** + * \breif Write a single codepoint to a UTF-8 stream + */ +extern int WriteUTF8(char *buf, uint32_t Val); + +#endif + diff --git a/Usermode/Libraries/libunicode.so_src/main.c b/Usermode/Libraries/libunicode.so_src/main.c new file mode 100644 index 00000000..e39dc9bb --- /dev/null +++ b/Usermode/Libraries/libunicode.so_src/main.c @@ -0,0 +1,12 @@ +/* + * Acess2 "libunicode" + * - By John Hoge + * + * main.c + * - Stub main + */ + +int SoMain(void) +{ + return 0; +} diff --git a/Usermode/Applications/axwin3_src/WM/utf-8.c b/Usermode/Libraries/libunicode.so_src/utf-8.c similarity index 98% rename from Usermode/Applications/axwin3_src/WM/utf-8.c rename to Usermode/Libraries/libunicode.so_src/utf-8.c index 93e0318b..3aa9d1a8 100644 --- a/Usermode/Applications/axwin3_src/WM/utf-8.c +++ b/Usermode/Libraries/libunicode.so_src/utf-8.c @@ -1,12 +1,12 @@ /* - * Acess2 GUI (AxWin) Version 3 + * Acess2 "libunicode" UTF Parser * - By John Hodge (thePowersGang) * * utf-8.c * - UTF-8 Parsing code */ #include -#include +#include /** * \brief Read a UTF-8 character from a string -- 2.20.1