diff --git a/Makefile b/Makefile index 9446e37..9f43b25 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,7 @@ BUILD := build LIB := lib CLI := cli +CT := cursetree # === MACRO DEFINITIONS === define objpath @@ -18,7 +19,7 @@ endef define mkobj $(foreach DEP, $?, mkdir -p $(dir $(call objpath, $(DEP))) - $(CC) $(CFLAGS) -o $(call objpath, $(DEP)) -c $(DEP)) + $(CC) $(CFLAGS) $1 -o $(call objpath, $(DEP)) -c $(DEP)) $(LD) -r $(LDFLAGS) -o $@ $(call objpath, $?) endef @@ -36,11 +37,11 @@ $(BUILD) $(BIN): mkdir -p $@ $(BUILD)/dorne.o: $(addprefix $(CLI)/, main.c) - $(mkobj) -$(BUILD)/cursetree.o: $(addprefix $(CLI)/, tree.c curse.c) - $(mkobj) -$(BUILD)/epty.o: $(addprefix $(CLI)/, child.c epty.c _pty.c) - $(mkobj) + $(call mkobj,-Icursetree) +$(BUILD)/cursetree.o: $(addprefix $(CT)/, cursetree.c curse.c) + $(call mkobj,) +$(BUILD)/epty.o: $(addprefix $(CT)/, child.c epty.c _pty.c) + $(call mkobj,) # === DEVELOPMENT TARGETS === .PHONY: debug run test diff --git a/cli/main.c b/cli/main.c index 32811e3..6c852ba 100644 --- a/cli/main.c +++ b/cli/main.c @@ -4,12 +4,9 @@ #include -#include "tree.h" +#include "cursetree.h" int main(int argc, char **argv) { - // struct d_child child; - // spawnchild(&child); - struct crs_tree *tree; ct_init(&tree); @@ -17,17 +14,33 @@ int main(int argc, char **argv) { init_pair(2, COLOR_RED, COLOR_RED); bifurcate_window_node(&tree->root, AXIS_X, FALSE, 0.5); - wbkgd(tree->root->child[0]->win, COLOR_PAIR(1)); - wbkgd(tree->root->child[1]->win, COLOR_PAIR(2)); - wrefresh(tree->root->child[0]->win); - wrefresh(tree->root->child[1]->win); + // wbkgd(tree->root->child[0]->win, COLOR_PAIR(1)); + // wbkgd(tree->root->child[1]->win, COLOR_PAIR(2)); + // wrefresh(tree->root->child[0]->win); + // wrefresh(tree->root->child[1]->win); // wbkgd(tree->root->win, COLOR_PAIR(1)); // wrefresh(tree->root->win); + int i = 1; while (1) { + /* TODO: UNCOMMENT START */ + // wclear(tree->root->child[0]->win); + // wclear(tree->root->child[1]->win); + // wbkgd(tree->root->child[0]->win, COLOR_PAIR(i)); + // wbkgd(tree->root->child[1]->win, COLOR_PAIR(3 - i)); + + // wnoutrefresh(tree->root->child[0]->win); + // wnoutrefresh(tree->root->child[1]->win); + // doupdate(); + + // wrefresh(tree->root->child[0]->win); + // wrefresh(tree->root->child[1]->win); + i = 3 - i; + /* TODO: UNCOMMENT END */ + ct_update(tree); - usleep(100000); + // usleep(100000); } destroy_tree(tree); diff --git a/cli/_pty.c b/cursetree/_pty.c similarity index 100% rename from cli/_pty.c rename to cursetree/_pty.c diff --git a/cli/_pty.h b/cursetree/_pty.h similarity index 100% rename from cli/_pty.h rename to cursetree/_pty.h diff --git a/cli/child.c b/cursetree/child.c similarity index 100% rename from cli/child.c rename to cursetree/child.c diff --git a/cli/child.h b/cursetree/child.h similarity index 100% rename from cli/child.h rename to cursetree/child.h diff --git a/cli/curse.c b/cursetree/curse.c similarity index 100% rename from cli/curse.c rename to cursetree/curse.c diff --git a/cli/curse.h b/cursetree/curse.h similarity index 100% rename from cli/curse.h rename to cursetree/curse.h diff --git a/cli/tree.c b/cursetree/cursetree.c similarity index 96% rename from cli/tree.c rename to cursetree/cursetree.c index aadc024..b179f86 100644 --- a/cli/tree.c +++ b/cursetree/cursetree.c @@ -4,7 +4,7 @@ #include "curse.h" #include "ncurses.h" -#include "tree.h" +#include "cursetree.h" /* Internal allocator method for crs_node structures. */ @@ -272,6 +272,9 @@ void ct_update(struct crs_tree *const tree) { */ switch (key) { case -1: + wclear(tree->root->child[0]->win); + mvwprintw(tree->root->child[0]->win, 0, 0, " \r-1\n"); + wrefresh(tree->root->child[0]->win); return; case KEY_RESIZE: termsize(term_width, term_height); @@ -279,9 +282,11 @@ void ct_update(struct crs_tree *const tree) { resize_tree(tree, term_dims); // flush ncurses virtual screen -> physical screen doupdate(); - /* TODO: why the fuck does this line make everything work?? */ - // printf("hola\n"); + break; default: + wclear(tree->root->child[0]->win); + mvwprintw(tree->root->child[0]->win, 0, 0, " \r%d\n", key); + wrefresh(tree->root->child[0]->win); break; } } diff --git a/cli/tree.h b/cursetree/cursetree.h similarity index 100% rename from cli/tree.h rename to cursetree/cursetree.h diff --git a/cli/epty.c b/cursetree/epty.c similarity index 100% rename from cli/epty.c rename to cursetree/epty.c diff --git a/cli/epty.h b/cursetree/epty.h similarity index 100% rename from cli/epty.h rename to cursetree/epty.h