From fe0e2508e62323955df415b45e2ea9b1b7d6373f Mon Sep 17 00:00:00 2001 From: Ole Loots Date: Tue, 27 Nov 2012 02:12:09 +0100 Subject: Refactored a lot of browser window code,... still totally WIP. ...but it compiles... --- atari/toolbar.h | 142 +++++++++++++------------------------------------------- 1 file changed, 31 insertions(+), 111 deletions(-) mode change 100755 => 100644 atari/toolbar.h (limited to 'atari/toolbar.h') diff --git a/atari/toolbar.h b/atari/toolbar.h old mode 100755 new mode 100644 index 7f8640843..7cc7b92e9 --- a/atari/toolbar.h +++ b/atari/toolbar.h @@ -1,118 +1,38 @@ -/* - * Copyright 2010 Ole Loots - * - * This file is part of NetSurf, http://www.netsurf-browser.org/ - * - * NetSurf is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * NetSurf is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef NS_ATARI_TOOLBAR_H +#ifndef NS_ATARI_TOOLBAR_H #define NS_ATARI_TOOLBAR_H +#include +#include + #include "desktop/textarea.h" -#include "desktop/textinput.h" -#include "content/hlcache.h" -#include "atari/browser.h" - -#define TB_BUTTON_WIDTH 32 -#define THROBBER_WIDTH 32 -#define THROBBER_MIN_INDEX 1 -#define THROBBER_MAX_INDEX 12 -#define THROBBER_INACTIVE_INDEX 13 +#include "desktop/browser.h" -#define TOOLBAR_URL_MARGIN_LEFT 2 -#define TOOLBAR_URL_MARGIN_RIGHT 2 -#define TOOLBAR_URL_MARGIN_TOP 2 -#define TOOLBAR_URL_MARGIN_BOTTOM 2 - -enum e_toolbar_button_states { - button_on = 0, - button_off = 1 -}; -#define TOOLBAR_BUTTON_NUM_STATES 2 - -struct s_tb_button -{ - short rsc_id; - void (*cb_click)(struct gui_window * gw); - COMPONENT * comp; - hlcache_handle * icon[TOOLBAR_BUTTON_NUM_STATES]; - struct gui_window * gw; - short state; - short index; -}; - - -struct s_url_widget -{ - bool redraw; /* widget is only redrawn when this flag is set */ - struct text_area *textarea; - COMPONENT * comp; - GRECT rdw_area; -}; - -struct s_throbber_widget -{ - COMPONENT * comp; - short index; - short max_index; - bool running; -}; +struct s_toolbar; -struct s_toolbar -{ - COMPONENT * comp; - struct gui_window * owner; - struct s_url_widget url; - struct s_throbber_widget throbber; - GRECT btdim; - /* size & location of buttons: */ - struct s_tb_button * buttons; - bool hidden; - int btcnt; - int style; - bool redraw; -}; +enum toolbar_textarea { + URL_INPUT_TEXT_AREA = 1 +}; -/* interface to the toolbar */ - -/* Must be called before any other toolbar function is called: */ -void toolbar_init( void ); -/*Must be called when netsurf exits to free toolbar resources: */ +void toolbar_init(void); +struct s_toolbar *toolbar_create(struct s_gui_win_root *owner); +void toolbar_destroy(struct s_toolbar * tb); void toolbar_exit( void ); -CMP_TOOLBAR tb_create( struct gui_window * gw ); -void tb_destroy( CMP_TOOLBAR tb ); -/* recalculate size/position of nested controls within the toolbar: */ -void tb_adjust_size( struct gui_window * gw ); -/* report click to toolbar, relative coords : */ -void tb_click( struct gui_window * gw, short mx, short my, short mb, short kstat ); -void tb_back_click( struct gui_window * gw ); -void tb_reload_click( struct gui_window * gw ); -void tb_forward_click( struct gui_window * gw ); -void tb_home_click( struct gui_window * gw ); -void tb_stop_click( struct gui_window * gw ); -/* enable / disable buttons etc. */ -void tb_update_buttons( struct gui_window * gw, short buttonid ); -/* handles clicks on url widget: */ -void tb_url_click( struct gui_window * gw, short mx, short my, short mb, short kstat ); -/* handle keybd event while url widget has focus:*/ -bool tb_url_input( struct gui_window * gw, short keycode ); -/* set the url: */ -void tb_url_set( struct gui_window * gw, char * text ); -/* perform redraw of invalidated url textinput areas: */ -void tb_url_redraw( struct gui_window * gw ); -struct gui_window * tb_gui_window( CMP_TOOLBAR tb ); -/* hide toolbar, mode = 1: hide, mode = 0: show */ -void tb_hide( struct gui_window * gw, short mode ); - -#endif +void toolbar_set_dimensions(struct s_toolbar *tb, GRECT *area); +void toolbar_set_url(struct s_toolbar *tb, const char *text); +bool toolbar_text_input(struct s_toolbar *tb, char *text); +bool toolbar_key_input(struct s_toolbar *tb, short nkc); +void toolbar_mouse_input(struct s_toolbar *tb, short mx, short my); +void toolbar_update_buttons(struct s_toolbar *tb, struct browser_window *bw, + short idx); +void toolbar_get_grect(struct s_toolbar *tb, short which, short opt, GRECT *g); +struct text_area *toolbar_get_textarea(struct s_toolbar *tb, + enum toolbar_textarea which); +/* public events handlers: */ +void toolbar_back_click(struct s_toolbar *tb); +void toolbar_reload_click(struct s_toolbar *tb); +void toolbar_forward_click(struct s_toolbar *tb); +void toolbar_home_click(struct s_toolbar *tb); +void toolbar_stop_click(struct s_toolbar *tb); + + +#endif -- cgit v1.2.3