summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framebuffer/fb_image_data.c113
-rw-r--r--framebuffer/fb_image_data.h1
-rw-r--r--framebuffer/fb_rootwindow.c40
-rw-r--r--framebuffer/res/stop.pngbin0 -> 612 bytes
4 files changed, 150 insertions, 4 deletions
diff --git a/framebuffer/fb_image_data.c b/framebuffer/fb_image_data.c
index d9ed5084a..0a5e8da3a 100644
--- a/framebuffer/fb_image_data.c
+++ b/framebuffer/fb_image_data.c
@@ -377,3 +377,116 @@ const fb_widget_image_t reload = {
"\0\334\0\10\0\366\0\10\0\320\0\10\0\234\0\10\0i\0\10\0""1\0\10\0\0\0\10\0"
"\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0",
};
+
+const fb_widget_image_t stop_image = {
+ 25, 25, 4,
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\0\0M\377\0\0\322\377\0\0\374\377\0\0\371\377\0\0\306\377\0\0=\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\0\0<\377\0\0\257\377\0\0\374\377\0\0\377\377\0\0\377\377"
+ "\0\0\377\377\0\0\376\377\0\0\263\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\0\0@\377\0\0\277\377\0\0\377\377\0\0\277"
+ "\377\0\0@\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\0\0\257\377\0\0\373\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\365\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\277\377\0\0"
+ "\377\377\0\0\377\377\0\0\377\377\0\0\346\377\0\0""3\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\0\0<\377\0\0\257\377\0\0\376\377\0"
+ "\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\323\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\355"
+ "\377\0\0Y\377\0\0\14\377\377\377\0\377\0\0\40\377\0\0\315\377\0\0\375\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377"
+ "\0\0\356\377\0\0a\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\0\0\277\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\371\377\0\0\246\377\0\0\\\377\0\0\327\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\376\377\0\0\344\377"
+ "\0\0\216\377\0\0@\377\0\0\15\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\0\0@\377\0\0\362\377\0\0\377\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\375\377\0\0\370\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\375\377\0\0\233\377"
+ "\0\0\40\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0Y\377\0"
+ "\0\352\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\277\377\0\0\40\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\0\0\15\377\0\0Q\377\0\0\342\377\0\0\377\377\0\0\377\377\0"
+ "\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\377\377\0\0\315\377\0\0\40\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0""3"
+ "\377\0\0\335\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\377\377\0\0\371\377\0\0T\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\0\0\14\377\0\0\306\377\0\0\377\377\0\0\377\377\0"
+ "\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\257\377\0\0\40\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\\\377\0\0\373"
+ "\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\377\377\0\0\376\377\0\0\315\377\0\0<\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\40"
+ "\377\0\0\345\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\345\377\0\0*\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\0\0\14\377\0\0\227\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377"
+ "\0\0\377\377\0\0\351\377\0\0\313\377\0\0\375\377\0\0\377\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\207\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\0\0Q\377\0\0\366\377\0\0\377\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\364\377\0\0""3\377\0\0\40\377\0\0\257\377\0"
+ "\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\356\377\0"
+ "\0<\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\0\0\40\377\0\0\326\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\377\377\0\0\376\377\0\0\207\377\377\377\0\377\377\377"
+ "\0\377\0\0\40\377\0\0\367\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\276\377\0\0\14\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\177\377\0\0\375\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\326\377\0\0\40\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\0\0\235\377\0\0\376\377\0\0\377\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\374\377\0\0f\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\20\377\0\0\342\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\367\377\0\0Q\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0\40\377\0\0\315\377"
+ "\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\335\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0"
+ "\0@\377\0\0\374\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\253"
+ "\377\0\0\14\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\0\0<\377\0\0\362\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377"
+ "\377\0\0\375\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\0\0o\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\377\377\0"
+ "\0\377\377\0\0@\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\0\0\177\377\0\0\377\377\0\0\377"
+ "\377\0\0\377\377\0\0\377\377\0\0\377\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\0\0o\377\0\0\374\377\0\0\377\377\0"
+ "\0\377\377\0\0\377\377\0\0\350\377\0\0\14\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0"
+ "\0\40\377\0\0\352\377\0\0\377\377\0\0\377\377\0\0\377\377\0\0\333\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\0\0@\377"
+ "\0\0\303\377\0\0\373\377\0\0\377\377\0\0\353\377\0\0p\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\0\0J\377\0\0\310\377\0\0\377\377\0\0\310"
+ "\377\0\0J\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\0\0\20\377\0\0@\377\0\0o\377\0\0o\377\0\0@\377\0\0\20\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377"
+ "\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0"
+ "\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377"
+ "\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377"
+ "\377\0\377\377\377\0\377\377\377\0\377\377\377\0\377\377\377\0",
+};
diff --git a/framebuffer/fb_image_data.h b/framebuffer/fb_image_data.h
index d45600571..8d95548db 100644
--- a/framebuffer/fb_image_data.h
+++ b/framebuffer/fb_image_data.h
@@ -28,6 +28,7 @@ typedef struct fb_widget_image_s fb_widget_image_t;
extern const fb_widget_image_t left_arrow;
extern const fb_widget_image_t right_arrow;
extern const fb_widget_image_t reload;
+extern const fb_widget_image_t stop_image;
extern struct bitmap pointer_image;
extern struct bitmap hand_image;
diff --git a/framebuffer/fb_rootwindow.c b/framebuffer/fb_rootwindow.c
index 36eae3a5c..1e1eae28d 100644
--- a/framebuffer/fb_rootwindow.c
+++ b/framebuffer/fb_rootwindow.c
@@ -45,6 +45,10 @@
#include "framebuffer/fb_rootwindow.h"
#include "framebuffer/fb_image_data.h"
+#define FB_FRAME_COLOUR 0xFFDDDDDD
+#define FB_COLOUR_BLACK 0xFF000000
+#define FB_COLOUR_WHITE 0xFFFFFFFF
+
enum fb_widget_type_e {
FB_WIDGET_TYPE_NONE = 0,
FB_WIDGET_TYPE_BUTTON,
@@ -254,7 +258,7 @@ fb_add_text_widget(int x, int y, int width, int height, colour bg, fb_widget_inp
new_widget->width = width;
new_widget->height = height;
new_widget->bg = bg;
- new_widget->fg = 0xFF000000;
+ new_widget->fg = FB_COLOUR_BLACK;
new_widget->input = input_rtn;
@@ -312,6 +316,22 @@ fb_widget_rightarrow_click(struct gui_window *g, browser_mouse_state st, int x,
}
+/* reload icon click routine */
+static int
+fb_widget_reload_click(struct gui_window *g, browser_mouse_state st, int x, int y)
+{
+ browser_window_reload(g->bw, true);
+ return 0;
+}
+
+/* stop icon click routine */
+static int
+fb_widget_stop_click(struct gui_window *g, browser_mouse_state st, int x, int y)
+{
+ browser_window_stop(g->bw);
+ return 0;
+}
+
/* update status widget */
void fb_rootwindow_status(const char* text)
@@ -359,7 +379,7 @@ void fb_rootwindow_create(framebuffer_t *fb)
rootwindow->y = 0;
rootwindow->width = fb->width;
rootwindow->height = fb->height;
- fb_add_window_widget(rootwindow, 0xFFCCCCCC, NULL, NULL);
+ fb_add_window_widget(rootwindow, FB_FRAME_COLOUR, NULL, NULL);
/* back button */
newwidget = fb_add_button_widget(5, 2,
@@ -372,10 +392,22 @@ void fb_rootwindow_create(framebuffer_t *fb)
&right_arrow,
fb_widget_rightarrow_click);
+ /* reload button */
+ newwidget = fb_add_button_widget(newwidget->x + newwidget->width + 5,
+ 2,
+ &stop_image,
+ fb_widget_stop_click);
+
+ /* reload button */
+ newwidget = fb_add_button_widget(newwidget->x + newwidget->width + 5,
+ 2,
+ &reload,
+ fb_widget_reload_click);
+
/* url widget */
url_widget = fb_add_text_widget(newwidget->x + newwidget->width + 5, 5,
fb->width - 200, 20,
- 0xFFFFFFFF,
+ FB_COLOUR_WHITE,
fb_widget_url_input);
@@ -384,7 +416,7 @@ void fb_rootwindow_create(framebuffer_t *fb)
*/
status_widget = fb_add_text_widget(0, fb->height - 20,
fb->width - 200, 20,
- 0xFFCCCCCC,
+ FB_FRAME_COLOUR,
NULL);
}
diff --git a/framebuffer/res/stop.png b/framebuffer/res/stop.png
new file mode 100644
index 000000000..de9840658
--- /dev/null
+++ b/framebuffer/res/stop.png
Binary files differ