Browse code

Make the function listing slightly transparent (as intended)

Dario Rodriguez authored on 05/03/2022 19:08:23
Showing 1 changed files
... ...
@@ -42,6 +42,7 @@ int reui_resize(reui_t *ui, int w, int h);
42 42
 int reui_setfontheight(reui_t *ui, int fontheight);
43 43
 int reui_fill(reui_t *ui, int x, int y, int w, int h, const char *rgba);
44 44
 int reui_fillrounded(reui_t *ui, int x, int y, int w, int h, const char *rgba);
45
+int reui_fillblended(reui_t *ui, int x, int y, int w, int h, const char *rgba);
45 46
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
46 47
 int reui_present(reui_t *ui);
47 48
 
Browse code

Update author email

Dario Rodriguez authored on 07/01/2022 17:57:32
Showing 1 changed files
... ...
@@ -7,7 +7,7 @@
7 7
  *
8 8
  * HEADER FILE
9 9
  *
10
- * Author: Dario Rodriguez dario@softhome.net
10
+ * Author: Dario Rodriguez antartica@whereismybit.com
11 11
  * This program is licensed under the terms of GNU GPL v2.1+
12 12
  */
13 13
 
Browse code

rounded corners for commandbuf suggestion

Dario Rodriguez authored on 01/09/2021 20:33:06
Showing 1 changed files
... ...
@@ -41,6 +41,7 @@ int reui_title(reui_t *ui, char *titlefilename);
41 41
 int reui_resize(reui_t *ui, int w, int h);
42 42
 int reui_setfontheight(reui_t *ui, int fontheight);
43 43
 int reui_fill(reui_t *ui, int x, int y, int w, int h, const char *rgba);
44
+int reui_fillrounded(reui_t *ui, int x, int y, int w, int h, const char *rgba);
44 45
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
45 46
 int reui_present(reui_t *ui);
46 47
 
Browse code

Add print selection to new window with Control+P, close that window with ESC

Dario Rodriguez authored on 15/01/2021 22:11:33
Showing 1 changed files
... ...
@@ -18,6 +18,7 @@
18 18
 
19 19
 
20 20
 typedef struct reui_t {
21
+        void *parent;
21 22
         int screenw,screenh;
22 23
         int w,h;
23 24
         Uint32 rmask, gmask, bmask, amask;
... ...
@@ -33,7 +34,7 @@ typedef struct reui_t {
33 34
         int rendererdirty;
34 35
 } reui_t;
35 36
 
36
-reui_t *reui_init(int fontheight);
37
+reui_t *reui_init(int fontheight, reui_t *parent);
37 38
 void reui_free(reui_t *ui);
38 39
 
39 40
 int reui_title(reui_t *ui, char *titlefilename);
Browse code

ui: remove experimental font cache implementation as it was slower than naive implementation

Dario Rodriguez authored on 11/11/2020 21:44:45
Showing 1 changed files
... ...
@@ -17,9 +17,6 @@
17 17
 #include "SDL_ttf.h"
18 18
 
19 19
 
20
-#define FONTCACHESTART ' '
21
-#define FONTCACHEEND '~'
22
-
23 20
 typedef struct reui_t {
24 21
         int screenw,screenh;
25 22
         int w,h;
... ...
@@ -30,9 +27,6 @@ typedef struct reui_t {
30 27
         SDL_RWops *fontdata;
31 28
         TTF_Font *font;
32 29
         SDL_Texture *onepx;
33
-        int usedfontcache;
34
-        SDL_Texture *fontcache;
35
-        int fontcachewhere[FONTCACHEEND-FONTCACHESTART];
36 30
         int fontheight;
37 31
         int fontwidth;
38 32
         int scrdirty;
Browse code

ui: experimental font cache implementation

Dario Rodriguez authored on 11/11/2020 21:39:04
Showing 1 changed files
... ...
@@ -17,6 +17,8 @@
17 17
 #include "SDL_ttf.h"
18 18
 
19 19
 
20
+#define FONTCACHESTART ' '
21
+#define FONTCACHEEND '~'
20 22
 
21 23
 typedef struct reui_t {
22 24
         int screenw,screenh;
... ...
@@ -28,6 +30,9 @@ typedef struct reui_t {
28 30
         SDL_RWops *fontdata;
29 31
         TTF_Font *font;
30 32
         SDL_Texture *onepx;
33
+        int usedfontcache;
34
+        SDL_Texture *fontcache;
35
+        int fontcachewhere[FONTCACHEEND-FONTCACHESTART];
31 36
         int fontheight;
32 37
         int fontwidth;
33 38
         int scrdirty;
Browse code

ui: change the way the fills are done (new method is gentler to the linux intel dri driver). Add some missing const qualifiers.

Dario Rodriguez authored on 08/11/2020 11:59:03
Showing 1 changed files
... ...
@@ -17,14 +17,17 @@
17 17
 #include "SDL_ttf.h"
18 18
 
19 19
 
20
+
20 21
 typedef struct reui_t {
21 22
         int screenw,screenh;
22 23
         int w,h;
24
+        Uint32 rmask, gmask, bmask, amask;
23 25
         SDL_Window *win;
24 26
         SDL_Renderer *renderer;
25 27
         SDL_Texture *scr;
26 28
         SDL_RWops *fontdata;
27 29
         TTF_Font *font;
30
+        SDL_Texture *onepx;
28 31
         int fontheight;
29 32
         int fontwidth;
30 33
         int scrdirty;
... ...
@@ -37,17 +40,17 @@ void reui_free(reui_t *ui);
37 40
 int reui_title(reui_t *ui, char *titlefilename);
38 41
 int reui_resize(reui_t *ui, int w, int h);
39 42
 int reui_setfontheight(reui_t *ui, int fontheight);
40
-int reui_fill(reui_t *ui, int x, int y, int w, int h, char *rgba);
43
+int reui_fill(reui_t *ui, int x, int y, int w, int h, const char *rgba);
41 44
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
42 45
 int reui_present(reui_t *ui);
43 46
 
44 47
 
45
-int reui_write(reui_t *ui, int x, int y, char *rgba, char *str, int nchar);
48
+int reui_write(reui_t *ui, int x, int y, const char *rgba, const char *str, int nchar);
46 49
 #ifdef __GNUC__
47
-int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
50
+int reui_printf(reui_t *ui, int x, int y, const char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
48 51
 #else
49
-int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...);
52
+int reui_printf(reui_t *ui, int x, int y, const char *rgba, char *format, ...);
50 53
 #endif
51 54
 
52
-int reui_balloon(reui_t *ui, char direction, int x, int y, char *rgbafg, char *rgbabg, char *str, int nchar);
55
+int reui_balloon(reui_t *ui, char direction, int x, int y, const char *rgbafg, const char *rgbabg, const char *str, int nchar);
53 56
 
Browse code

Implement font size change with control+'+'/'-'/'0', as in browsers

Dario Rodriguez authored on 01/11/2020 22:29:06
Showing 1 changed files
... ...
@@ -31,11 +31,12 @@ typedef struct reui_t {
31 31
         int rendererdirty;
32 32
 } reui_t;
33 33
 
34
-reui_t *reui_init();
34
+reui_t *reui_init(int fontheight);
35 35
 void reui_free(reui_t *ui);
36 36
 
37 37
 int reui_title(reui_t *ui, char *titlefilename);
38 38
 int reui_resize(reui_t *ui, int w, int h);
39
+int reui_setfontheight(reui_t *ui, int fontheight);
39 40
 int reui_fill(reui_t *ui, int x, int y, int w, int h, char *rgba);
40 41
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
41 42
 int reui_present(reui_t *ui);
Browse code

UI: add ability to put balloons on screen

Dario Rodriguez authored on 21/10/2020 22:06:25
Showing 1 changed files
... ...
@@ -48,3 +48,5 @@ int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attri
48 48
 int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...);
49 49
 #endif
50 50
 
51
+int reui_balloon(reui_t *ui, char direction, int x, int y, char *rgbafg, char *rgbabg, char *str, int nchar);
52
+
Browse code

Implement window resizizing

Dario Rodriguez authored on 08/10/2020 19:52:50
Showing 1 changed files
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- * re_ui.c
2
+ * re_ui.h
3 3
  *
4 4
  * A programmers editor
5 5
  *
... ...
@@ -35,10 +35,12 @@ reui_t *reui_init();
35 35
 void reui_free(reui_t *ui);
36 36
 
37 37
 int reui_title(reui_t *ui, char *titlefilename);
38
+int reui_resize(reui_t *ui, int w, int h);
38 39
 int reui_fill(reui_t *ui, int x, int y, int w, int h, char *rgba);
39 40
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
40 41
 int reui_present(reui_t *ui);
41 42
 
43
+
42 44
 int reui_write(reui_t *ui, int x, int y, char *rgba, char *str, int nchar);
43 45
 #ifdef __GNUC__
44 46
 int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
Browse code

Implement side scroll. Fix vertical scroll. Set window size to something more workable than fullscreen.

Dario Rodriguez authored on 06/09/2020 22:21:40
Showing 1 changed files
... ...
@@ -18,6 +18,7 @@
18 18
 
19 19
 
20 20
 typedef struct reui_t {
21
+        int screenw,screenh;
21 22
         int w,h;
22 23
         SDL_Window *win;
23 24
         SDL_Renderer *renderer;
Browse code

Remove old utf8 functions from re_ui. Add comments to utf8 functions in re_data header file.

Dario Rodriguez authored on 02/09/2020 22:14:50
Showing 1 changed files
... ...
@@ -45,12 +45,3 @@ int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attri
45 45
 int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...);
46 46
 #endif
47 47
 
48
-/* calculate the number of utf8-charaters in buffer */
49
-int reui_utf8len(reui_t *ui, char *ptr, int size);
50
-
51
-/* return a pointer to the "n"th ("col"th) utf8-character in buffer */
52
-char *reui_utf8col(reui_t *ui, char *ptr, int size, int col);
53
-
54
-/* returns the len in bytes of the character starting at ptr (zero on error)*/
55
-int reui_utf8charlen(reui_t *ui, char *ptr, int maxsize);
56
-
Browse code

Implement left/right movement. Add test_ui with utf8 tests.

Dario Rodriguez authored on 30/08/2020 21:47:55
Showing 1 changed files
... ...
@@ -51,3 +51,6 @@ int reui_utf8len(reui_t *ui, char *ptr, int size);
51 51
 /* return a pointer to the "n"th ("col"th) utf8-character in buffer */
52 52
 char *reui_utf8col(reui_t *ui, char *ptr, int size, int col);
53 53
 
54
+/* returns the len in bytes of the character starting at ptr (zero on error)*/
55
+int reui_utf8charlen(reui_t *ui, char *ptr, int maxsize);
56
+
Browse code

Implement up/down movement

Dario Rodriguez authored on 26/08/2020 21:50:45
Showing 1 changed files
... ...
@@ -25,6 +25,7 @@ typedef struct reui_t {
25 25
         SDL_RWops *fontdata;
26 26
         TTF_Font *font;
27 27
         int fontheight;
28
+        int fontwidth;
28 29
         int scrdirty;
29 30
         int rendererdirty;
30 31
 } reui_t;
... ...
@@ -33,13 +34,20 @@ reui_t *reui_init();
33 34
 void reui_free(reui_t *ui);
34 35
 
35 36
 int reui_title(reui_t *ui, char *titlefilename);
36
-int reui_fill(reui_t *ui, int x, int y, int w, int h, unsigned char *rgba);
37
+int reui_fill(reui_t *ui, int x, int y, int w, int h, char *rgba);
37 38
 int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
38 39
 int reui_present(reui_t *ui);
39 40
 
40
-int reui_write(reui_t *ui, int x, int y, unsigned char *rgba, char *str, int nchar);
41
+int reui_write(reui_t *ui, int x, int y, char *rgba, char *str, int nchar);
41 42
 #ifdef __GNUC__
42
-int reui_printf(reui_t *ui, int x, int y, unsigned char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
43
+int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
43 44
 #else
44
-int reui_printf(reui_t *ui, int x, int y, unsigned char *rgba, char *format, ...);
45
+int reui_printf(reui_t *ui, int x, int y, char *rgba, char *format, ...);
45 46
 #endif
47
+
48
+/* calculate the number of utf8-charaters in buffer */
49
+int reui_utf8len(reui_t *ui, char *ptr, int size);
50
+
51
+/* return a pointer to the "n"th ("col"th) utf8-character in buffer */
52
+char *reui_utf8col(reui_t *ui, char *ptr, int size, int col);
53
+
Browse code

Display first lines of the loaded file

Dario Rodriguez authored on 18/08/2020 20:31:28
Showing 1 changed files
... ...
@@ -11,11 +11,35 @@
11 11
  * This program is licensed under the terms of GNU GPL v2.1+
12 12
  */
13 13
 
14
+#include "SDL.h"
15
+#include "SDL_rwops.h"
16
+#include "SDL_image.h"
17
+#include "SDL_ttf.h"
18
+
14 19
 
15 20
 typedef struct reui_t {
16
-        int dummy;
21
+        int w,h;
22
+        SDL_Window *win;
23
+        SDL_Renderer *renderer;
24
+        SDL_Texture *scr;
25
+        SDL_RWops *fontdata;
26
+        TTF_Font *font;
27
+        int fontheight;
28
+        int scrdirty;
29
+        int rendererdirty;
17 30
 } reui_t;
18 31
 
19 32
 reui_t *reui_init();
20
-void reui_fini(reui_t *ui);
33
+void reui_free(reui_t *ui);
34
+
35
+int reui_title(reui_t *ui, char *titlefilename);
36
+int reui_fill(reui_t *ui, int x, int y, int w, int h, unsigned char *rgba);
37
+int reui_scr2renderer(reui_t *ui, int x, int y, int w, int h);
38
+int reui_present(reui_t *ui);
21 39
 
40
+int reui_write(reui_t *ui, int x, int y, unsigned char *rgba, char *str, int nchar);
41
+#ifdef __GNUC__
42
+int reui_printf(reui_t *ui, int x, int y, unsigned char *rgba, char *format, ...) __attribute__ ((format (printf, 5, 6)));
43
+#else
44
+int reui_printf(reui_t *ui, int x, int y, unsigned char *rgba, char *format, ...);
45
+#endif
Browse code

Add re_ui.c stub, fix Makefile

Dario Rodriguez authored on 07/08/2020 21:30:22
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,21 @@
1
+/*
2
+ * re_ui.c
3
+ *
4
+ * A programmers editor
5
+ *
6
+ * Simple UI in SDL2
7
+ *
8
+ * HEADER FILE
9
+ *
10
+ * Author: Dario Rodriguez dario@softhome.net
11
+ * This program is licensed under the terms of GNU GPL v2.1+
12
+ */
13
+
14
+
15
+typedef struct reui_t {
16
+        int dummy;
17
+} reui_t;
18
+
19
+reui_t *reui_init();
20
+void reui_fini(reui_t *ui);
21
+