M Makefile => Makefile +9 -3
  
@@ 1,6 1,6 @@
 export ROOT_DIR = $(shell pwd)
 export BIN_DIR = $(ROOT_DIR)/bin
-export INHERIT_INCLUDES = -I$(ROOT_DIR)/lib-pheripherals/include
+export INHERIT_INCLUDES = -I$(ROOT_DIR)/lib-pheripherals/include -I$(ROOT_DIR)/lib-gui/include
 export LIB_DIR = -L$(ROOT_DIR)/bin
 
 #TARGET_IP ?= 192.168.202.127
@@ 21,7 21,8 @@ SSH_OPTIONS+=-i ~/.ssh/mzapo-root-key
 #SSH_OPTIONS=-o 'ProxyJump=ctu_login@postel.felk.cvut.cz'
 
 IMAGE_VIEWER=$(BIN_DIR)/image-viewer
-LIB_PHERIPHERALS=$(BIN_DIR)/lib_pheripherals.so
+LIB_PHERIPHERALS=$(BIN_DIR)/libmzapo-pheripherals.so
+LIB_GUI=$(BIN_DIR)/libmzapo-gui.so
 TEXT_VIEWER=$(BIN_DIR)/text-viewer
 
 ifdef COMPUTER
@@ 34,12 35,13 @@ all: $(DEPENDENCIES) image-viewer text-viewer
 
 image-viewer: $(IMAGE_VIEWER)
 lib-pheripherals: $(LIB_PHERIPHERALS)
+lib-gui: $(LIB_GUI)
 text-viewer: $(TEXT_VIEWER)
 
 $(IMAGE_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
 	@make -C image-viewer
 
-$(TEXT_VIEWER): $(DEPENDENCIES) lib-pheripherals FORCE
+$(TEXT_VIEWER): $(DEPENDENCIES) lib-pheripherals lib-gui FORCE
 	@make -C text-viewer
 
 $(DEPENDENCIES):
@@ 49,6 51,9 @@ $(DEPENDENCIES):
 $(LIB_PHERIPHERALS): $(DEPENDENCIES) FORCE
 	@make -C lib-pheripherals
 
+$(LIB_GUI): $(DEPENDENCIES) FORCE
+	@make -C lib-gui
+
 copy-executable: all
 	ssh $(SSH_OPTIONS) -t $(TARGET_USER)@$(TARGET_IP) killall gdbserver 1>/dev/null 2>/dev/null || true
 	ssh $(SSH_OPTIONS) $(TARGET_USER)@$(TARGET_IP) mkdir -p $(TARGET_DIR)
@@ 65,6 70,7 @@ clean:
 	@make -C image-viewer clean
 	@make -C lib-pheripherals clean
 	@make -C text-viewer clean
+	@make -C lib-gui clean
 	$(RM) -rf $(BIN_DIR)
 	$(RM) -rf ./.computer ./.arm
 
 
M image-viewer/Makefile => image-viewer/Makefile +2 -2
  
@@ 16,10 16,10 @@ CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
 CXXFLAGS = -g -std=gnu++11 -O1 -Wall
 
 ifdef COMPUTER
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+LDFLAGS = -lrt -lmzapo-pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
 CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
 else
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+LDFLAGS = -lrt -lmzapo-pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
 endif
 LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR)
 
 
A lib-gui/Makefile => lib-gui/Makefile +52 -0
  
@@ 0,0 1,52 @@
+SRC_DIR=./src
+OBJ_DIR=./obj
+BIN_DIR?=./bin
+INC_DIR=-I./include $(INHERIT_INCLUDES)
+
+ifdef COMPUTER
+	CC = clang
+else
+	CC = arm-linux-gnueabihf-gcc
+	CXX = arm-linux-gnueabihf-g++
+endif
+
+CPPFLAGS = -I .
+CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
+CXXFLAGS = -g -std=gnu++11 -O1 -Wall
+
+ifdef COMPUTER
+LDFLAGS = -lrt -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
+else
+LDFLAGS = -lrt -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+endif
+
+NAME=mzapo-gui
+BINARY=$(BIN_DIR)/lib$(NAME).so
+
+SRC=$(wildcard $(SRC_DIR)/*.c)
+OBJ=$(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC))
+
+CFLAGS+=$(INC_DIR) -Wall -Werror
+CFLAGS+=$(shell sdl2-config --cflags)
+
+.PHONY: all clean
+
+all: $(BINARY)
+
+$(BINARY): $(OBJ) | $(BIN_DIR)
+	$(CC) -shared $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
+	$(CC) $(CFLAGS) -c -fPIC $< -o $@
+
+$(BIN_DIR) $(OBJ_DIR):
+	echo $(BIN_DIR)
+	mkdir -p $@
+clean:
+	$(RM) -rv $(BIN_DIR) $(OBJ_DIR)
+	$(RM) -rv .cache
+	$(RM) -rv connect.gdb
+	$(RM) -rv depend
+
+-include $(OBJ:.o=.d)
 
R text-viewer/include/font.h => lib-gui/include/font.h +0 -0
R text-viewer/include/gui.h => lib-gui/include/gui.h +0 -0
R text-viewer/include/gui_component_line.h => lib-gui/include/gui_component_line.h +0 -0
R text-viewer/include/gui_component_text.h => lib-gui/include/gui_component_text.h +0 -0
R text-viewer/include/gui_component_text_view.h => lib-gui/include/gui_component_text_view.h +0 -0
R text-viewer/include/keyboard_const.h => lib-gui/include/keyboard_const.h +0 -0
R text-viewer/include/renderer.h => lib-gui/include/renderer.h +0 -0
R text-viewer/include/rotation_const.h => lib-gui/include/rotation_const.h +0 -0
R text-viewer/src/font.c => lib-gui/src/font.c +0 -0
R text-viewer/src/font_rom8x16.c => lib-gui/src/font_rom8x16.c +0 -0
R text-viewer/src/gui.c => lib-gui/src/gui.c +0 -0
R text-viewer/src/gui_component.c => lib-gui/src/gui_component.c +0 -0
R text-viewer/src/gui_component_line.c => lib-gui/src/gui_component_line.c +0 -0
R text-viewer/src/gui_component_text.c => lib-gui/src/gui_component_text.c +0 -0
R text-viewer/src/gui_component_text_view.c => lib-gui/src/gui_component_text_view.c +0 -0
R text-viewer/src/gui_container.c => lib-gui/src/gui_container.c +0 -0
R text-viewer/src/gui_group_container.c => lib-gui/src/gui_group_container.c +0 -0
R text-viewer/src/gui_one_container.c => lib-gui/src/gui_one_container.c +0 -0
R text-viewer/src/gui_window.c => lib-gui/src/gui_window.c +0 -0
R text-viewer/src/renderer.c => lib-gui/src/renderer.c +0 -0
M lib-pheripherals/Makefile => lib-pheripherals/Makefile +1 -1
  
@@ 21,7 21,7 @@ else
 LDFLAGS = -lrt -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
 endif
 
-NAME=mzapo_pheripherals
+NAME=mzapo-pheripherals
 BINARY=$(BIN_DIR)/lib$(NAME).so
 
 SRC=$(wildcard $(SRC_DIR)/*.c)
 
M text-viewer/Makefile => text-viewer/Makefile +2 -2
  
@@ 16,10 16,10 @@ CFLAGS =-g -std=gnu99 -O1 -Wall -D ILI9481
 CXXFLAGS = -g -std=gnu++11 -O1 -Wall
 
 ifdef COMPUTER
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
+LDFLAGS = -lrt -lmzapo-pheripherals -lmzapo-gui -lpthread -lmagic -ljpeg -lpng $(shell sdl2-config --libs) -lSDL2_image
 CFLAGS += -DCOMPUTER $(shell sdl2-config --cflags)
 else
-LDFLAGS = -lrt -lmzapo_pheripherals -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
+LDFLAGS = -lrt -lmzapo-pheripherals -lmzapo-gui -lpthread -l :libmagic.so.1 -l :libjpeg.so.62 -l :libz.so -l :libpng16.so.16
 endif
 LDFLAGS += -Wl,-rpath,'$${ORIGIN}' $(LIB_DIR)