summaryrefslogtreecommitdiff
path: root/desktop/browser.h
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2010-06-04 09:35:08 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2010-06-04 09:35:08 +0000
commitb010a257712b3d104035cbfc15aba8f517ffacb5 (patch)
treeba220c9c0c2c02ea1a8441ad8ace44d4c0bc5164 /desktop/browser.h
parentbc9fef0a1a7a45a640d37353f97e72006e1e09b6 (diff)
downloadnetsurf-b010a257712b3d104035cbfc15aba8f517ffacb5.tar.gz
netsurf-b010a257712b3d104035cbfc15aba8f517ffacb5.tar.bz2
+ Refactor input handling from browser window code into content
handlers. + Disentangle all box tree manipulation from browser window code and put it where it belongs. + Move other content specific and other irrelevant code from browser window handling to appropriate places. + Put mouse state enum in new mouse header, since it's not just used by browser window code, and it is used by treeview windows on the treeview branch. svn path=/trunk/netsurf/; revision=10561
Diffstat (limited to 'desktop/browser.h')
-rw-r--r--desktop/browser.h58
1 files changed, 15 insertions, 43 deletions
diff --git a/desktop/browser.h b/desktop/browser.h
index cc50521fd..292469b82 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -28,6 +28,8 @@
#include <stdbool.h>
#include <time.h>
+#include "desktop/gui.h"
+#include "desktop/mouse.h"
#include "render/html.h"
struct box;
@@ -41,6 +43,7 @@ struct browser_window;
struct url_data;
struct bitmap;
struct scroll_msg_data;
+struct fetch_multipart_data;
typedef bool (*browser_caret_callback)(struct browser_window *bw,
uint32_t key, void *p);
@@ -179,44 +182,6 @@ struct browser_window {
int status_miss; /**< Number of times status was really updated. */
};
-
-/* Mouse state. 1 is primary mouse button (e.g. Select on RISC OS).
- * 2 is secondary mouse button (e.g. Adjust on RISC OS). */
-typedef enum {
- BROWSER_MOUSE_PRESS_1 = 1, /* button 1 pressed */
- BROWSER_MOUSE_PRESS_2 = 2, /* button 2 pressed */
-
- /* note: click meaning is different for
- * different front ends. On RISC OS, it
- * is standard to act on press, so a
- * click is fired at the same time as a
- * mouse button is pressed. With GTK, it
- * is standard to act on release, so a
- * click is fired when the mouse button
- * is released, if the operation wasn't
- * a drag. */
- BROWSER_MOUSE_CLICK_1 = 4, /* button 1 clicked. */
- BROWSER_MOUSE_CLICK_2 = 8, /* button 2 clicked. */
- BROWSER_MOUSE_DOUBLE_CLICK = 16, /* button 1 double clicked */
-
- BROWSER_MOUSE_DRAG_1 = 32, /* start of button 1 drag operation */
- BROWSER_MOUSE_DRAG_2 = 64, /* start of button 2 drag operation */
-
- BROWSER_MOUSE_DRAG_ON = 128, /* a drag operation was started and
- * a mouse button is still pressed */
-
- BROWSER_MOUSE_HOLDING_1 = 256, /* while button 1 drag is in progress */
- BROWSER_MOUSE_HOLDING_2 = 512, /* while button 2 drag is in progress */
-
-
- BROWSER_MOUSE_MOD_1 = 1024, /* primary modifier key pressed
- * (eg. Shift) */
- BROWSER_MOUSE_MOD_2 = 2048, /* secondary modifier key pressed
- * (eg. Ctrl) */
- BROWSER_MOUSE_MOD_3 = 4096 /* secondary modifier key pressed
- * (eg. Alt) */
-} browser_mouse_state;
-
struct browser_scroll_data {
struct browser_window *bw;
struct box *box;
@@ -232,6 +197,11 @@ void browser_window_initialise_common(struct browser_window *bw,
struct browser_window *clone);
void browser_window_go(struct browser_window *bw, const char *url,
const char *referrer, bool history_add);
+void browser_window_go_post(struct browser_window *bw,
+ const char *url, char *post_urlenc,
+ struct fetch_multipart_data *post_multipart,
+ bool add_to_history, const char *referer, bool download,
+ bool verifiable, struct hlcache_handle *parent);
void browser_window_go_unverifiable(struct browser_window *bw,
const char *url, const char *referrer, bool history_add,
struct hlcache_handle *parent);
@@ -254,16 +224,14 @@ void browser_window_mouse_track(struct browser_window *bw,
browser_mouse_state mouse, int x, int y);
void browser_window_mouse_drag_end(struct browser_window *bw,
browser_mouse_state mouse, int x, int y);
+struct browser_window *browser_window_find_target(
+ struct browser_window *bw, const char *target,
+ browser_mouse_state mouse);
bool browser_window_key_press(struct browser_window *bw, uint32_t key);
bool browser_window_paste_text(struct browser_window *bw, const char *utf8,
unsigned utf8_len, bool last);
-void browser_window_form_select(struct browser_window *bw,
- struct form_control *control, int item);
void browser_redraw_box(struct hlcache_handle *c, struct box *box);
-void browser_form_submit(struct browser_window *bw,
- struct browser_window *target, struct form *form,
- struct form_control *submit_button);
void browser_scroll_callback(void *client_data,
struct scroll_msg_data *scroll_data);
@@ -273,6 +241,10 @@ void browser_select_menu_callback(void *client_data,
void browser_window_redraw_rect(struct browser_window *bw, int x, int y,
int width, int height);
+void browser_window_set_status(struct browser_window *bw, const char *text);
+void browser_window_set_pointer(struct gui_window *g, gui_pointer_shape shape);
+void browser_window_page_drag_start(struct browser_window *bw, int x, int y);
+
bool browser_window_back_available(struct browser_window *bw);
bool browser_window_forward_available(struct browser_window *bw);
bool browser_window_reload_available(struct browser_window *bw);