summaryrefslogtreecommitdiff
path: root/atari/global_evnt.c
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2012-11-27 02:12:09 +0100
committerOle Loots <ole@monochrom.net>2012-11-27 02:12:09 +0100
commitfe0e2508e62323955df415b45e2ea9b1b7d6373f (patch)
tree281f289f43c09c168a35714c5800a0e3dcf74300 /atari/global_evnt.c
parent6ea22068aa50dfa15807e80277b1ad843146a76c (diff)
downloadnetsurf-fe0e2508e62323955df415b45e2ea9b1b7d6373f.tar.gz
netsurf-fe0e2508e62323955df415b45e2ea9b1b7d6373f.tar.bz2
Refactored a lot of browser window code,... still totally WIP.
...but it compiles...
Diffstat (limited to 'atari/global_evnt.c')
-rwxr-xr-xatari/global_evnt.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/atari/global_evnt.c b/atari/global_evnt.c
index 40b88593a..dfee0dd37 100755
--- a/atari/global_evnt.c
+++ b/atari/global_evnt.c
@@ -65,7 +65,7 @@ static void __CDECL global_evnt_m1(WINDOW * win, short buff[8])
static short prev_x=0;
static short prev_y=0;
bool within = false;
- LGRECT urlbox, bwbox, sbbox;
+ GRECT urlbox, bwbox, sbbox;
int nx, ny;
if (gw == NULL)
@@ -76,15 +76,13 @@ static void __CDECL global_evnt_m1(WINDOW * win, short buff[8])
}
short ghandle = wind_find( evnt.mx, evnt.my );
- if (input_window->root->handle->handle == ghandle) {
+ if (guiwin_get_handle(input_window->root->win)==ghandle) {
// The window found at x,y is an gui_window
// and it's the input window.
- browser_get_rect( gw, BR_CONTENT, &bwbox );
-
- if (evnt.mx > bwbox.g_x && evnt.mx < bwbox.g_x + bwbox.g_w &&
- evnt.my > bwbox.g_y && evnt.my < bwbox.g_y + bwbox.g_h) {
+ browser_get_rect(gw, BR_CONTENT, &bwbox);
+ if (POINT_WITHIN(evnt.mx, evnt.my, bwbox)) {
within = true;
browser_window_mouse_track(
input_window->browser->bw,
@@ -95,9 +93,8 @@ static void __CDECL global_evnt_m1(WINDOW * win, short buff[8])
}
if (gw->root->toolbar && within == false) {
- mt_CompGetLGrect(&app, gw->root->toolbar->url.comp, WF_WORKXYWH, &urlbox);
- if( (evnt.mx > urlbox.g_x && evnt.mx < urlbox.g_x + urlbox.g_w ) &&
- (evnt.my > urlbox.g_y && evnt.my < + urlbox.g_y + urlbox.g_h )) {
+ browser_get_rect(gw, BR_URL_INPUT, &urlbox);
+ if(POINT_WITHIN(evnt.mx, evnt.my, urlbox)) {
gem_set_cursor( &gem_cursors.ibeam );
prev_url = true;
} else {
@@ -116,7 +113,7 @@ static void __CDECL global_evnt_m1(WINDOW * win, short buff[8])
prev_y = evnt.my;
}
-void __CDECL global_evnt_keybd( WINDOW * win, short buff[8], void * data)
+void __CDECL global_evnt_keybd(WINDOW * win, short buff[8], void * data)
{
long kstate = 0;
long kcode = 0;
@@ -134,18 +131,19 @@ void __CDECL global_evnt_keybd( WINDOW * win, short buff[8], void * data)
nkc= gem_to_norm( (short)kstate, (short)kcode );
nks = (nkc & 0xFF00);
if( kstate & (K_LSHIFT|K_RSHIFT))
- kstate |= K_LSHIFT|K_RSHIFT;
- if( window_url_widget_has_focus( gw ) ) {
+ kstate |= K_LSHIFT|K_RSHIFT;
+
+ if(window_url_widget_has_focus((void*)gw->root)) {
/* make sure we report for the root window and report...: */
- done = tb_url_input( gw, nkc );
+ done = toolbar_key_input(gw->root->toolbar, nkc);
} else {
gw_tmp = window_list;
/* search for active browser component: */
while( gw_tmp != NULL && done == false ) {
/* todo: only handle when input_window == ontop */
- if( window_widget_has_focus( (struct gui_window *)input_window,
- BROWSER,(void*)gw_tmp->browser)) {
- done = browser_input( gw_tmp, nkc );
+ if( window_widget_has_focus(input_window->root, BROWSER,
+ (void*)gw_tmp->browser)) {
+ done = browser_input(gw_tmp, nkc);
break;
} else {
gw_tmp = gw_tmp->next;