summaryrefslogtreecommitdiff
path: root/draw
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2016-05-08 16:02:01 +0100
committerFreeArtMan <dos21h@gmail.com>2016-05-08 16:02:01 +0100
commite42911405c4bc2f8c097f47d4598baf8522ef3da (patch)
tree9eb767c5e6a4443e8773b18ea76cf4216f6c8758 /draw
parent9b95088bddcf1f83e3a8f73f08f49b38ecb0f500 (diff)
downloadradiola-master.tar.gz
radiola-master.zip
Moved source to src directoryHEADmaster
Diffstat (limited to 'draw')
-rw-r--r--draw/Kconfig20
-rw-r--r--draw/glui.c174
-rw-r--r--draw/glui.h63
-rw-r--r--draw/make.mk11
-rw-r--r--draw/tui.c269
-rw-r--r--draw/tui.h45
-rw-r--r--draw/ui.c0
-rw-r--r--draw/ui.h0
8 files changed, 0 insertions, 582 deletions
diff --git a/draw/Kconfig b/draw/Kconfig
deleted file mode 100644
index 486461f..0000000
--- a/draw/Kconfig
+++ /dev/null
@@ -1,20 +0,0 @@
-menuconfig DRAW
- bool "Graphic library support"
- default y
-
-if DRAW
- config GL
- bool "OpenGL support"
- default y
-
- config SDL2
- bool "SDL2 support"
- default y
-
- config TUI
- bool "Terminal interface support"
- default y
-endif
-
-
-
diff --git a/draw/glui.c b/draw/glui.c
deleted file mode 100644
index 0f1e360..0000000
--- a/draw/glui.c
+++ /dev/null
@@ -1,174 +0,0 @@
-#include "glui.h"
-
-#if def(OS_LINUX)
-
-#define DEFAULT_TITLE "RADIOLA"
-#define SCREEN_X 1024
-#define SCREEN_Y 480
-
-int glui_init( glui_t **t )
-{
- int ret=-1;
-
- glui_t *tui = NULL;
-
- tui = malloc( sizeof(glui_t) );
- if (tui == NULL)
- {
- return -1;
- }
-
- memset(tui, 0, sizeof(glui_t));
-
- if ( SDL_Init(SDL_INIT_VIDEO) != 0)
- {
- printf("Cannot init sdl\n");
- return -1;
- }
-
- tui->h = SCREEN_Y;
- tui->w = SCREEN_X;
- tui->win = SDL_CreateWindow("Hello World!", tui->w, tui->h, SCREEN_X, SCREEN_Y, SDL_WINDOW_SHOWN);
- if (tui->win == NULL)
- {
- printf("Couldnt create SDL window\n");
- return -1;
- }
-
- *t = tui;
- ret = 0;
-
- return ret;
-}
-
-
-//init waterfall
-int glui_waterfall( glui_t **t, glui_waterfall_t **w )
-{
- int ret=-1;
-
- glui_waterfall_t *wtf = NULL;
-
- wtf = malloc( sizeof(glui_waterfall_t) );
- if ( wtf == NULL )
- {
- printf("Cannot alloc waterfall\n");
- return -1;
- }
-
- memset( wtf, 0, sizeof(glui_waterfall_t) );
-
- wtf->h = (*t)->h;
- wtf->w = (*t)->w;
- wtf->cur_h = 5;
-
-
- wtf->rend = SDL_CreateRenderer( (*t)->win, -1, SDL_RENDERER_ACCELERATED);
- if ( wtf->rend == NULL )
- {
- printf("Canno create SDL Rendered\n");
- return -1;
- }
-
- (*w) = wtf;
- (*t)->wf = wtf;
-
- ret = 0;
-
- return ret;
-}
-
-
-//first draw, draw all buffer
-int glui_waterfall_draw( glui_waterfall_t *w )
-{
- int ret=-1;
-
-
-
- return ret;
-}
-
-
-//redraw only changed lines
-int glui_waterfall_redraw( glui_waterfall_t *w )
-{
- int ret=-1;
-
-
- return ret;
-}
-
-
-//update params of waterfall and then need to draw not redraw
-int glui_waterfall_update( glui_t *w )
-{
- int ret=-1;
-
-
- return ret;
-}
-
-
-//push one line of data to buffer
-int glui_waterfall_data( glui_t *t, int len, uint8_t *buf )
-{
- int ret=-1;
- int i;
- int y;
- glui_color_t c = glui_waterfall_color(0);
- SDL_Point *pt = NULL;
-
- SDL_SetRenderDrawColor( t->wf->rend, c.r, c.g, c.b, c.a );
-
- y = t->wf->cur_h;
- t->wf->cur_h += 1;
- pt = malloc( sizeof(SDL_Point) );
- for ( i=0; i<len; i++ )
- {
- c = glui_waterfall_color(buf[i]);
- SDL_SetRenderDrawColor( t->wf->rend, c.r, c.g, c.b, c.a );
- pt[0].x = i;
- pt[0].y = y;
- SDL_RenderDrawPoints( t->wf->rend, pt, 1 );
- }
-
-
- SDL_RenderPresent( t->wf->rend );
- ret = 0;
-
- return ret;
-}
-
-
-//return color
-glui_color_t glui_waterfall_color( uint8_t d )
-{
- glui_color_t c;
-
- c.r = d*10;
- c.g = d*10;
- c.b = d*10;
-
- return c;
-}
-
-
-//close terminal ui
-int glui_close( glui_t *t )
-{
- int ret=0;
-
-
- if ( t->win != NULL )
- {
- SDL_DestroyWindow( t->win );
- }
-
- SDL_Quit();
-
-
- return ret;
-}
-
-#endif
diff --git a/draw/glui.h b/draw/glui.h
deleted file mode 100644
index 9206bdf..0000000
--- a/draw/glui.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef __RADIOLA_GLUI_H
-#define __RADIOLA_GLUI_H
-#include "../config.h"
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-
-#if def(OS_LINUX)
-
-#include <SDL2/SDL.h>
-
-//to draw waterfall
-typedef struct glui_waterfall_t
-{
- int type;
- int h,w;
- uint8_t *buf;
- size_t buf_len;
- int cur_h;
-
- SDL_Renderer *rend;
-} glui_waterfall_t;
-
-typedef struct glui_t
-{
-
- int h, w;
-
- SDL_Window *win;
-
- glui_waterfall_t *wf;
-} glui_t;
-
-typedef struct glui_color_t
-{
- uint8_t r;
- uint8_t g;
- uint8_t b;
- uint8_t a;
-} glui_color_t;
-
-//prepare terminal ui
-int glui_init( glui_t **t );
-//init waterfall
-int glui_waterfall( glui_t **t, glui_waterfall_t **w );
-//first draw, draw all buffer
-int glui_waterfall_draw( glui_waterfall_t *w );
-//redraw only changed lines
-int glui_waterfall_redraw( glui_waterfall_t *w );
-//update params of waterfall and then need to draw not redraw
-int glui_waterfall_update( glui_t *w );
-//push one line of data to buffer
-int glui_waterfall_data( glui_t *w, int len, uint8_t *buf );
-//return color
-glui_color_t glui_waterfall_color( uint8_t d );
-//close terminal ui
-int glui_close( glui_t *t );
-#endif
-#endif
diff --git a/draw/make.mk b/draw/make.mk
deleted file mode 100644
index a626ca6..0000000
--- a/draw/make.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-DIR_DRAW = draw/
-SOURCES_DRAW += draw/glui.c draw/tui.c draw/ui.c
-OBJECTS_DRAW += $(SOURCES_DRAW:.c=.o)
-LDFLAGS += -lGL `sdl2-config --cflags --libs`
-LDFLAGS_BSD +=
-
-
-OBJECTS_DIR_DRAW += $(subst $(DIR_DRAW),$(BUILD_DIR)$(DIR_DRAW),$(OBJECTS_DRAW))
-
-OBJECTS += $(OBJECTS_DRAW)
-OBJECTS_FINAL += $(OBJECTS_DIR_DRAW) \ No newline at end of file
diff --git a/draw/tui.c b/draw/tui.c
deleted file mode 100644
index c431a61..0000000
--- a/draw/tui.c
+++ /dev/null
@@ -1,269 +0,0 @@
-#include "tui.h"
-
-#define T_ESC "\x1b"
-
-//prepare terminal ui
-int tui_init( tui_t **t )
-{
- int ret = -1;
- tui_t *tui=NULL;
-
- //should be empty pointer
- if (*t != NULL)
- return -1;
-
- tui = malloc( sizeof(tui_t) );
- if ( tui == NULL )
- return -1;
-
- memset( tui, 0, sizeof( tui_t ) );
-
- tui->ifd = STDIN_FILENO;
- tui->ofd = STDOUT_FILENO;
-
- //if you whant raw mode then you should set it man
- if ( tcgetattr( tui->ifd, &tui->orig_i ) == -1 )
- goto exit_error;
- tui->raw_i = tui->orig_i;
-
- if ( tcgetattr( tui->ofd, &tui->orig_o ) == -1 )
- goto exit_error;
- tui->raw_o = tui->orig_o;
-
- //set not to echo output
- /* input modes: no break, no CR to NL, no parity check, no strip char,
- * no start/stop output control. */
- tui->raw_i.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
- /* output modes - disable post raw */
- tui->raw_i.c_oflag &= ~(OPOST);
- /* control modes - set 8 bit chars */
- tui->raw_i.c_cflag |= (CS8);
- /* local modes - choing off, canonical off, no extended functions,
- * no signal chars (^Z,^C) */
- tui->raw_i.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
- /* control chars - set return condition: min number of bytes and timer.
- * We want read to return every single byte, without timeout. */
-
- /* put terminal in raw mode after flushing */
- if (tcsetattr( tui->ifd, TCSAFLUSH, &tui->raw_i) < 0)
- {
- //ERROR("Cannot set new terminal input attribures\n");
- goto exit_error;
- }
-
- *t = tui;
- ret = 0;
-
- return ret;
-
-exit_error:
- free( tui );
- return -1;
-}
-
-
-//init waterfall
-int tui_waterfall( tui_t **t, tui_waterfall_t **w )
-{
- int ret=-1;
- tui_waterfall_t *wtf = NULL;
-
- //waterfall should be NULL
- if ( *w != NULL )
- return -1;
-
-
- wtf = malloc( sizeof(tui_waterfall_t) );
- if ( wtf == NULL )
- {
- return -1;
- }
-
- memset( wtf, 0, sizeof(tui_waterfall_t) );
-
- *w = wtf;
- (*t)->wf = wtf;
- ret = 0;
-
- return ret;
-
-//exit_error:
-
-// return -1;
-}
-
-
-//first draw, draw all buffer
-int tui_waterfall_draw( tui_waterfall_t *w )
-{
- int ret = -1;
- return ret;
-}
-
-
-//redraw only changed lines
-int tui_waterfall_redraw( tui_waterfall_t *w )
-{
- int ret = -1;
- return ret;
-}
-
-
-//update params of waterfall and then need to draw not redraw
-int tui_waterfall_update( tui_t *t )
-{
- int ret = -1;
- int row=-1,col=-1;
- char buf[32];
- int i;
-
- //we trust that all params are ok
-
- /* go to right marging and get position */
- if ( write( t->ofd, "\x1b[999C", 6 ) != 6 )
- goto exit_error;
-
- if ( write( t->ofd, "\x1b[6n", 4 ) != 4 )
- goto exit_error;
-
- i = 0;
- //printf("here=%d\n", sizeof(buf));
- while (i < sizeof(buf)-1)
- {
- if ( read( t->ifd, buf+i,1 ) != 1 ) break;
- if (buf[i] == 'R') break;
- i++;
- }
- buf[i] = '\0';
- //printf("i=%d,buf=[%s]\n",i,buf);
-
- if ( buf[0] != '\x1b' || buf[1] != '[' )
- {
- goto exit_error;
- }
-
- //printf("i=%d,buf=[%s]\n",i,buf);
-
- if ( sscanf( buf+2, "%d;%d", &row, &col) != 2 )
- goto exit_error;
-
- //write( t->ofd, "\x1b[1C", 4 );
- write( t->ofd, T_ESC "[H" T_ESC "[2J", 7 );
- write( t->ofd, T_ESC "[0;0H", 6);
-
- t->wf->w = col;
-
- ret = 0;
-
- return ret;
-
-exit_error:
-
- return -1;
-}
-
-
-//push one line of data to buffer
-int tui_waterfall_data( tui_t *t, int len, uint8_t *buf )
-{
- int ret = -1;
- int i;
-
-
-
- i = 0;
- while ( (i< t->wf->w) && ( i<len) )
- {
- //printf("-%d", buf[i]);
- uint8_t c = tui_waterfall_color( buf[i] );
- char buf[32];
- snprintf( buf, 32, T_ESC "[48;5;%dm " T_ESC "[0m",c);
- write( t->ofd, buf, strlen(buf) );
- i++;
- }
-
- return ret;
-}
-
-uint8_t tui_waterfall_color( uint8_t d )
-{
-
- uint8_t color=15;
-
-
- /*
- if ( d < 50 )
- {
- color = 17;
- } else if ( d < 100 )
- {
- color = 18;
- } else if ( d < 150 )
- {
- color = 19;
- } else if ( d < 200 )
- {
- color = 20;
- } else
- {
- color = 21;
- }
- */
-
-
-
- if ( d == 0 )
- {
- color = 17;
- } else if ( d == 1 )
- {
- color = 18;
- } else if ( d == 2 )
- {
- color = 19;
- } else if ( d == 3 )
- {
- color = 20;
- } else if ( d == 4 )
- {
- color = 21;
- } else if ( d == 5 )
- {
- color = 26;
- } else if ( d == 6 )
- {
- color = 27;
- } else if ( d == 7 )
- {
- color = 44;
- } else
- {
- color = 45;
- }
-
- /*
- uint8_t col[] = { 16,17,18,19,20,21,26,27,44,45,86,87,230,229,228,227,226,214,202,196,160,124,88,52 };
- int len = 24;
- int step = 256/len;
-
- color = col[d/step];
- */
-
- return color;
-}
-
-
-//close terminal ui
-int tui_close( tui_t *t )
-{
- int ret = -1;
-
- //shouldnt be empty pointer
- if ( t == NULL )
- return -1;
-
- //restore terminal mode after closing
- tcsetattr( t->ifd, TCSAFLUSH, &t->orig_i );
-
- return ret;
-}
diff --git a/draw/tui.h b/draw/tui.h
deleted file mode 100644
index a84379f..0000000
--- a/draw/tui.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef __RADIOLA_TUI_H
-#define __RADIOLA_TUI_H
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-
-//to draw waterfall
-typedef struct tui_waterfall_t
-{
- int type;
- int h,w;
- uint8_t *buf;
- size_t buf_len;
-} tui_waterfall_t;
-
-typedef struct tui_t
-{
- int ifd, ofd;
- struct termios orig_i, orig_o;
- struct termios raw_i, raw_o;
- tui_waterfall_t *wf;
-} tui_t;
-
-//prepare terminal ui
-int tui_init( tui_t **t );
-//init waterfall
-int tui_waterfall( tui_t **t, tui_waterfall_t **w );
-//first draw, draw all buffer
-int tui_waterfall_draw( tui_waterfall_t *w );
-//redraw only changed lines
-int tui_waterfall_redraw( tui_waterfall_t *w );
-//update params of waterfall and then need to draw not redraw
-int tui_waterfall_update( tui_t *w );
-//push one line of data to buffer
-int tui_waterfall_data( tui_t *w, int len, uint8_t *buf );
-//return color
-uint8_t tui_waterfall_color( uint8_t d );
-//close terminal ui
-int tui_close( tui_t *t );
-
-#endif \ No newline at end of file
diff --git a/draw/ui.c b/draw/ui.c
deleted file mode 100644
index e69de29..0000000
--- a/draw/ui.c
+++ /dev/null
diff --git a/draw/ui.h b/draw/ui.h
deleted file mode 100644
index e69de29..0000000
--- a/draw/ui.h
+++ /dev/null