add stop button

svn path=/trunk/netsurf/; revision=6548
This commit is contained in:
Vincent Sanders 2009-02-17 22:26:36 +00:00
parent ddbfb99e60
commit e8941c39ed
4 changed files with 150 additions and 4 deletions

View File

@ -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",
};

View File

@ -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;

View File

@ -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);
}

BIN
framebuffer/res/stop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B