NetSurf
Data Structures | Macros | Enumerations | Functions | Variables
gui.c File Reference
#include <proto/asl.h>
#include <proto/datatypes.h>
#include <proto/diskfont.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include <proto/graphics.h>
#include <proto/icon.h>
#include <proto/intuition.h>
#include <proto/keymap.h>
#include <proto/layers.h>
#include <proto/locale.h>
#include <proto/utility.h>
#include <proto/wb.h>
#include <datatypes/textclass.h>
#include <devices/inputevent.h>
#include <graphics/gfxbase.h>
#include <graphics/rpattr.h>
#include <intuition/icclass.h>
#include <intuition/screens.h>
#include <libraries/gadtools.h>
#include <workbench/workbench.h>
#include <proto/bevel.h>
#include <proto/bitmap.h>
#include <proto/button.h>
#include <proto/chooser.h>
#include <proto/clicktab.h>
#include <proto/label.h>
#include <proto/layout.h>
#include <proto/listbrowser.h>
#include <proto/scroller.h>
#include <proto/space.h>
#include <proto/speedbar.h>
#include <proto/string.h>
#include <proto/window.h>
#include <classes/window.h>
#include <gadgets/button.h>
#include <gadgets/chooser.h>
#include <gadgets/clicktab.h>
#include <gadgets/layout.h>
#include <gadgets/listbrowser.h>
#include <gadgets/scroller.h>
#include <gadgets/space.h>
#include <gadgets/speedbar.h>
#include <gadgets/string.h>
#include <images/bevel.h>
#include <images/bitmap.h>
#include <images/label.h>
#include <reaction/reaction_macros.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <limits.h>
#include "utils/log.h"
#include "utils/messages.h"
#include "utils/nsoption.h"
#include "utils/utf8.h"
#include "utils/utils.h"
#include "utils/nsurl.h"
#include "utils/file.h"
#include "netsurf/window.h"
#include "netsurf/fetch.h"
#include "netsurf/misc.h"
#include "netsurf/mouse.h"
#include "netsurf/netsurf.h"
#include "netsurf/content.h"
#include "netsurf/browser_window.h"
#include "netsurf/cookie_db.h"
#include "netsurf/url_db.h"
#include "netsurf/keypress.h"
#include "content/backing_store.h"
#include "content/fetch.h"
#include "desktop/browser_history.h"
#include "desktop/hotlist.h"
#include "desktop/version.h"
#include "desktop/save_complete.h"
#include "desktop/searchweb.h"
#include "amiga/gui.h"
#include "amiga/arexx.h"
#include "amiga/bitmap.h"
#include "amiga/clipboard.h"
#include "amiga/cookies.h"
#include "amiga/ctxmenu.h"
#include "amiga/datatypes.h"
#include "amiga/download.h"
#include "amiga/drag.h"
#include "amiga/file.h"
#include "amiga/filetype.h"
#include "amiga/font.h"
#include "amiga/gui_options.h"
#include "amiga/help.h"
#include "amiga/history.h"
#include "amiga/history_local.h"
#include "amiga/hotlist.h"
#include "amiga/icon.h"
#include "amiga/launch.h"
#include "amiga/libs.h"
#include "amiga/memory.h"
#include "amiga/menu.h"
#include "amiga/misc.h"
#include "amiga/nsoption.h"
#include "amiga/pageinfo.h"
#include "amiga/plotters.h"
#include "amiga/plugin_hack.h"
#include "amiga/print.h"
#include "amiga/schedule.h"
#include "amiga/search.h"
#include "amiga/selectmenu.h"
#include "amiga/theme.h"
#include "amiga/utf8.h"
Include dependency graph for gui.c:

Go to the source code of this file.

Data Structures

struct  gui_window_2
 
struct  gui_window
 first entry in window list More...
 
struct  ami_gui_tb_userdata
 

Macros

#define AMINS_SCROLLERPEN   NUMDRIPENS
 
#define NSA_KBD_SCROLL_PX   10
 
#define NSA_MAX_HOTLIST_BUTTON_LEN   20
 
#define SCROLL_TOP   INT_MIN
 
#define SCROLL_PAGE_UP   (INT_MIN + 1)
 
#define SCROLL_PAGE_DOWN   (INT_MAX - 1)
 
#define SCROLL_BOTTOM   (INT_MAX)
 
#define SIDEDOWN   (IECODE_4TH_BUTTON)
 
#define SIDEUP   (IECODE_4TH_BUTTON | IECODE_UP_PREFIX)
 
#define EXTRADOWN   (IECODE_5TH_BUTTON)
 
#define EXTRAUP   (IECODE_5TH_BUTTON | IECODE_UP_PREFIX)
 
#define NSA_QUAL_SHIFT   (IEQUALIFIER_RSHIFT | IEQUALIFIER_LSHIFT)
 
#define NSA_QUAL_ALT   (IEQUALIFIER_RALT | IEQUALIFIER_LALT)
 
#define NSA_STATUS_TEXT   STRINGA_TextVal
 
#define BOOL_MISMATCH(a, b)   (1)
 
#define USERS_DIR   "PROGDIR:Users"
 
#define nsoption_default_set_int(OPTION, VALUE)
 

Enumerations

enum  {
  OID_MAIN = 0 , OID_VSCROLL , OID_HSCROLL , GID_MAIN ,
  GID_TABLAYOUT , GID_BROWSER , GID_STATUS , GID_URL ,
  GID_ICON , GID_STOP , GID_RELOAD , GID_HOME ,
  GID_BACK , GID_FORWARD , GID_THROBBER , GID_SEARCH_ICON ,
  GID_PAGEINFO , GID_PAGEINFO_INSECURE_BM , GID_PAGEINFO_INTERNAL_BM , GID_PAGEINFO_LOCAL_BM ,
  GID_PAGEINFO_SECURE_BM , GID_PAGEINFO_WARNING_BM , GID_FAVE , GID_FAVE_ADD ,
  GID_FAVE_RMV , GID_CLOSETAB , GID_CLOSETAB_BM , GID_ADDTAB ,
  GID_ADDTAB_BM , GID_TABS , GID_TABS_FLAG , GID_SEARCHSTRING ,
  GID_TOOLBARLAYOUT , GID_HOTLIST , GID_HOTLISTLAYOUT , GID_HOTLISTSEPBAR ,
  GID_HSCROLL , GID_HSCROLLLAYOUT , GID_VSCROLL , GID_VSCROLLLAYOUT ,
  GID_LOGLAYOUT , GID_LOG , GID_LAST
}
 

Functions

static const __attribute__ ((used))
 
struct gui_windowami_gui_get_active_gw (void)
 Get a pointer to the gui_window which NetSurf considers to be the current/active one. More...
 
struct Screen * ami_gui_get_screen (void)
 Get a pointer to the screen NetSurf is running on. More...
 
struct MinList * ami_gui_get_window_list (void)
 Get the window list. More...
 
void ami_gui_beep (void)
 Beep. More...
 
struct browser_windowami_gui_get_browser_window (struct gui_window *gw)
 Get browser window from gui_window. More...
 
struct browser_windowami_gui2_get_browser_window (struct gui_window_2 *gwin)
 Get browser window from gui_window_2. More...
 
struct List * ami_gui_get_download_list (struct gui_window *gw)
 Get download list from gui_window. More...
 
struct gui_window_2ami_gui_get_gui_window_2 (struct gui_window *gw)
 Get gui_window_2 from gui_window. More...
 
struct gui_windowami_gui2_get_gui_window (struct gui_window_2 *gwin)
 Get gui_window from gui_window_2. More...
 
const char * ami_gui_get_win_title (struct gui_window *gw)
 Get window title from gui_window. More...
 
const char * ami_gui_get_tab_title (struct gui_window *gw)
 Get tab title from gui_window. More...
 
struct Node * ami_gui_get_tab_node (struct gui_window *gw)
 Get tab node from gui_window. More...
 
ULONG ami_gui2_get_tabs (struct gui_window_2 *gwin)
 Get tabs from gui_window_2. More...
 
struct List * ami_gui2_get_tab_list (struct gui_window_2 *gwin)
 Get tab list from gui_window_2. More...
 
struct hlcache_handleami_gui_get_favicon (struct gui_window *gw)
 Get favicon from gui_window. More...
 
struct ami_history_local_windowami_gui_get_history_window (struct gui_window *gw)
 Get local history window from gui_window. More...
 
void ami_gui_set_history_window (struct gui_window *gw, struct ami_history_local_window *hw)
 Set local history window in gui_window. More...
 
void ami_gui_set_find_window (struct gui_window *gw, struct find_window *fw)
 Set search window in gui_window. More...
 
bool ami_gui_get_throbbing (struct gui_window *gw)
 Get throbbing status from gui_window. More...
 
void ami_gui_set_throbbing (struct gui_window *gw, bool throbbing)
 Set throbbing status in gui_window. More...
 
int ami_gui_get_throbber_frame (struct gui_window *gw)
 Get throbbing frame from gui_window. More...
 
void ami_gui_set_throbber_frame (struct gui_window *gw, int frame)
 Set throbbing frame in gui_window. More...
 
Object * ami_gui2_get_object (struct gui_window_2 *gwin, int object_type)
 Get object from gui_window. More...
 
struct Window * ami_gui2_get_window (struct gui_window_2 *gwin)
 Get window from gui_window_2. More...
 
struct Window * ami_gui_get_window (struct gui_window *gw)
 Get window from gui_window. More...
 
struct Menu * ami_gui_get_menu (struct gui_window *gw)
 Get imenu from gui_window. More...
 
void ami_gui2_set_menu (struct gui_window_2 *gwin, struct Menu *menu)
 Set imenu to gui_window_2. More...
 
struct ami_menu_data ** ami_gui2_get_menu_data (struct gui_window_2 *gwin)
 Get menu_data from gui_window_2. More...
 
void ami_gui2_set_ctxmenu_history_tmp (struct gui_window_2 *gwin, int temp)
 Set ctxmenu history tmp in gui_window_2. More...
 
int ami_gui2_get_ctxmenu_history_tmp (struct gui_window_2 *gwin)
 Get ctxmenu history tmp from gui_window_2. More...
 
Object * ami_gui2_get_ctxmenu_history (struct gui_window_2 *gwin, ULONG direction)
 Get ctxmenu history from gui_window_2. More...
 
void ami_gui2_set_ctxmenu_history (struct gui_window_2 *gwin, ULONG direction, Object *ctx_hist)
 Set ctxmenu history in gui_window_2. More...
 
void ami_gui2_set_closed (struct gui_window_2 *gwin, bool closed)
 Set closed in gui_window_2. More...
 
void ami_gui2_set_new_content (struct gui_window_2 *gwin, bool new_content)
 Set new_content in gui_window_2 Indicates the window needs redrawing. More...
 
void * ami_window_at_pointer (int type)
 undocumented, or internal, or documented elsewhere More...
 
void ami_set_pointer (struct gui_window_2 *gwin, gui_pointer_shape shape, bool update)
 
void ami_reset_pointer (struct gui_window_2 *gwin)
 
STRPTR ami_locale_langs (int *codeset)
 
static bool ami_gui_map_filename (char **remapped, const char *restrict path, const char *restrict file, const char *restrict map)
 
static bool ami_gui_check_resource (char *fullpath, const char *file)
 
bool ami_locate_resource (char *fullpath, const char *file)
 
static void ami_gui_resources_free (void)
 
static bool ami_gui_resources_open (void)
 
static UWORD ami_system_colour_scrollbar_fgpen (struct DrawInfo *drinfo)
 
static nserror colour_option_from_pen (UWORD pen, enum nsoption_e option, struct Screen *screen, colour def_colour)
 set option from pen More...
 
STRPTR ami_gui_get_screen_title (void)
 Get the string for NetSurf's screen titlebar. More...
 
static void ami_set_screen_defaults (struct Screen *screen)
 
static nserror ami_set_options (struct nsoption_s *defaults)
 Set option defaults for amiga frontend. More...
 
static void ami_amiupdate (void)
 
static nsurlgui_get_resource_url (const char *path)
 
 HOOKF (void, ami_gui_newprefs_hook, APTR, window, APTR)
 
static void ami_openscreen (void)
 
static void ami_openscreenfirst (void)
 
static struct RDArgs * ami_gui_commandline (int *restrict argc, char **argv, int *restrict nargc, char **nargv)
 
static char * ami_gui_read_tooltypes (struct WBArg *wbarg)
 
static STRPTR ami_gui_read_all_tooltypes (int argc, char **argv)
 
static void gui_init2 (int argc, char **argv)
 
static void ami_update_buttons (struct gui_window_2 *gwin)
 
void ami_gui_history (struct gui_window_2 *gwin, bool back)
 
int ami_key_to_nskey (ULONG keycode, struct InputEvent *ie)
 
int ami_gui_get_quals (Object *win_obj)
 Get which qualifier keys are being pressed. More...
 
static void ami_update_quals (struct gui_window_2 *gwin)
 
nserror ami_gui_get_space_box (Object *obj, struct IBox **bbox)
 Compatibility function to get space.gadget render area. More...
 
void ami_gui_free_space_box (struct IBox *bbox)
 Free any data obtained via ami_gui_get_space_box(). More...
 
static bool ami_spacebox_to_ns_coords (struct gui_window_2 *gwin, int *restrict x, int *restrict y, int space_x, int space_y)
 
bool ami_mouse_to_ns_coords (struct gui_window_2 *gwin, int *restrict x, int *restrict y, int mouse_x, int mouse_y)
 
static void ami_gui_scroll_internal (struct gui_window_2 *gwin, int xs, int ys)
 
static struct IBox * ami_ns_rect_to_ibox (struct gui_window_2 *gwin, const struct rect *rect)
 
static void ami_gui_trap_mouse (struct gui_window_2 *gwin)
 
static void ami_gui_menu_update_all (void)
 
static nserror gui_window_get_dimensions (struct gui_window *gw, int *restrict width, int *restrict height)
 Find the current dimensions of a amiga browser window content area. More...
 
static bool ami_gui_hscroll_add (struct gui_window_2 *gwin)
 
static bool ami_gui_hscroll_remove (struct gui_window_2 *gwin)
 
static bool ami_gui_vscroll_add (struct gui_window_2 *gwin)
 
static bool ami_gui_vscroll_remove (struct gui_window_2 *gwin)
 
static void ami_gui_scroller_update (struct gui_window_2 *gwin)
 Check the scroll bar requirements for a browser window, and add/remove the vertical scroller as appropriate. More...
 
static void ami_gui_console_log_add (struct gui_window *g)
 
static void ami_gui_console_log_remove (struct gui_window *g)
 
static bool ami_gui_console_log_toggle (struct gui_window *g)
 
static void ami_gui_console_log_switch (struct gui_window *g)
 
static void gui_window_console_log (struct gui_window *g, browser_window_console_source src, const char *msg, size_t msglen, browser_window_console_flags flags)
 
static void gui_window_set_icon (struct gui_window *g, struct hlcache_handle *icon)
 function to add retrieved favicon to gui More...
 
static void ami_gui_refresh_favicon (void *p)
 
static void ami_set_border_gadget_size (struct gui_window_2 *gwin)
 
static BOOL ami_handle_msg (void)
 
static BOOL ami_gui_event (void *w)
 
static void ami_gui_appicon_remove (struct gui_window_2 *gwin)
 
static nserror gui_page_info_change (struct gui_window *gw)
 
static void ami_handle_appmsg (void)
 
static void ami_handle_applib (void)
 
void ami_get_msg (void)
 
static void ami_change_tab (struct gui_window_2 *gwin, int direction)
 
static void gui_window_set_title (struct gui_window *g, const char *restrict title)
 
static void gui_window_update_extent (struct gui_window *g)
 
static nserror amiga_window_invalidate_area (struct gui_window *g, const struct rect *restrict rect)
 Invalidates an area of an amiga browser window. More...
 
static void ami_switch_tab (struct gui_window_2 *gwin, bool redraw)
 
void ami_quit_netsurf (void)
 
static void ami_quit_netsurf_delayed (void)
 
static void ami_gui_close_screen (struct Screen *scrn, BOOL locked_screen, BOOL donotwait)
 
void ami_try_quit (void)
 
static void gui_quit (void)
 
char * ami_gui_get_cache_favicon_name (nsurl *url, bool only_if_avail)
 
static void ami_gui_cache_favicon (nsurl *url, struct bitmap *favicon)
 
void ami_gui_update_hotlist_button (struct gui_window_2 *gwin)
 
static bool ami_gui_hotlist_add (void *userdata, int level, int item, const char *title, nsurl *url, bool is_folder)
 
static int ami_gui_hotlist_scan (struct List *speed_button_list, struct gui_window_2 *gwin)
 
static void ami_gui_hotlist_toolbar_add (struct gui_window_2 *gwin)
 
static void ami_gui_hotlist_toolbar_free (struct gui_window_2 *gwin, struct List *speed_button_list)
 
static void ami_gui_hotlist_toolbar_remove (struct gui_window_2 *gwin)
 
static void ami_gui_hotlist_toolbar_update (struct gui_window_2 *gwin)
 
void ami_gui_hotlist_update_all (void)
 Update hotlist toolbar and recreate the menu for all windows. More...
 
static void ami_toggletabbar (struct gui_window_2 *gwin, bool show)
 
void ami_gui_tabs_toggle_all (void)
 
static void ami_gui_search_ico_refresh (void *p)
 
int ami_gui_count_windows (int window, int *tabs)
 Count windows, and optionally tabs. More...
 
void ami_gui_set_scale (struct gui_window *gw, float scale)
 Set the scale of a gui window. More...
 
void ami_gui_adjust_scale (struct gui_window *gw, float adjustment)
 Adjust scale by specified amount. More...
 
void ami_gui_switch_to_new_tab (struct gui_window_2 *gwin)
 Switch to the most-recently-opened tab. More...
 
nserror ami_gui_new_blank_tab (struct gui_window_2 *gwin)
 
static void ami_do_redraw_tiled (struct gui_window_2 *gwin, bool busy, int left, int top, int width, int height, int sx, int sy, struct IBox *bbox, struct redraw_context *ctx)
 
static void ami_do_redraw_limits (struct gui_window *g, struct browser_window *bw, bool busy, int x0, int y0, int x1, int y1)
 Redraw an area of the browser window - Amiga-specific function. More...
 
static void ami_refresh_window (struct gui_window_2 *gwin)
 
 HOOKF (void, ami_scroller_hook, Object *, object, struct IntuiMessage *)
 
nserror ami_gui_win_list_add (void *win, int type, const struct ami_win_event_table *table)
 Add a window to the NetSurf window list (to enable event processing) More...
 
void ami_gui_win_list_remove (void *win)
 Remove a window from the NetSurf window list. More...
 
static struct gui_windowgui_window_create (struct browser_window *bw, struct gui_window *existing, gui_window_create_flags flags)
 
static void ami_gui_close_tabs (struct gui_window_2 *gwin, bool other_tabs)
 
void ami_gui_close_window (void *w)
 Close a window and all tabs attached to it. More...
 
void ami_gui_close_inactive_tabs (struct gui_window_2 *gwin)
 Close all tabs in a window except the active one. More...
 
static void gui_window_destroy (struct gui_window *g)
 
static void ami_redraw_callback (void *p)
 
void ami_schedule_redraw (struct gui_window_2 *gwin, bool full_redraw)
 Schedule a redraw of the browser window - Amiga-specific function. More...
 
static void ami_schedule_redraw_remove (struct gui_window_2 *gwin)
 
static void ami_gui_window_update_box_deferred (struct gui_window *g, bool draw)
 
bool ami_gui_window_update_box_deferred_check (struct MinList *deferred_rects, const struct rect *restrict new_rect, APTR mempool)
 Check rect is not already queued for redraw. More...
 
static void ami_do_redraw (struct gui_window_2 *gwin)
 
static void ami_get_hscroll_pos (struct gui_window_2 *gwin, ULONG *xs)
 
static void ami_get_vscroll_pos (struct gui_window_2 *gwin, ULONG *ys)
 
static bool gui_window_get_scroll (struct gui_window *g, int *restrict sx, int *restrict sy)
 
static nserror gui_window_set_scroll (struct gui_window *g, const struct rect *rect)
 Set the scroll position of a amiga browser window. More...
 
static void gui_window_set_status (struct gui_window *g, const char *text)
 
static nserror gui_window_set_url (struct gui_window *g, nsurl *url)
 
 HOOKF (uint32, ami_set_favicon_render_hook, APTR, space, struct gpRender *)
 
static nserror gui_search_web_provider_update (const char *provider_name, struct bitmap *ico_bitmap)
 Gui callback when search provider details are updated. More...
 
 HOOKF (uint32, ami_set_throbber_render_hook, APTR, space, struct gpRender *)
 
 HOOKF (uint32, ami_gui_browser_render_hook, APTR, space, struct gpRender *)
 
static void gui_window_place_caret (struct gui_window *g, int x, int y, int height, const struct rect *clip)
 
static void gui_window_remove_caret (struct gui_window *g)
 
static void gui_window_new_content (struct gui_window *g)
 
static bool gui_window_drag_start (struct gui_window *g, gui_drag_type type, const struct rect *rect)
 
bool ami_text_box_at_point (struct gui_window_2 *gwin, ULONG *restrict x, ULONG *restrict y)
 
BOOL ami_gadget_hit (Object *obj, int x, int y)
 
static Object * ami_gui_splash_open (void)
 
static void ami_gui_splash_close (Object *win_obj)
 
static void gui_file_gadget_open (struct gui_window *g, struct hlcache_handle *hl, struct form_control *gadget)
 
uint32 ami_gui_get_app_id (void)
 Get the application.library ID NetSurf is registered as. More...
 
static char * ami_gui_get_user_dir (STRPTR current_user)
 
static nserror gui_window_event (struct gui_window *gw, enum gui_window_event event)
 process miscellaneous window events More...
 
int main (int argc, char **argv)
 Normal entry point from OS. More...
 

Variables

struct gui_utf8_tableamiga_utf8_table
 
static struct MinList * window_list = NULL
 
static struct Screen * scrn = NULL
 
static struct MsgPort * sport = NULL
 
static struct gui_windowcur_gw = NULL
 
static bool ami_quit = false
 
static struct MsgPort * schedulermsgport = NULL
 
static struct MsgPort * appport
 
static BOOL locked_screen = FALSE
 
static int screen_signal = -1
 
static bool win_destroyed
 
static STRPTR nsscreentitle
 
static struct gui_globalsbrowserglob = NULL
 
static struct MsgPort * applibport = NULL
 
static uint32 ami_appid = 0
 
static ULONG applibsig = 0
 
static ULONG rxsig = 0
 
static struct Hook newprefs_hook
 
static STRPTR temp_homepage_url = NULL
 
static bool cli_force = false
 
static char * users_dir = NULL
 
static char * current_user_dir
 
static char * current_user_faviconcache
 
static const struct ami_win_event_table ami_gui_table
 
static struct gui_window_table amiga_window_table
 
static struct gui_fetch_table amiga_fetch_table
 
static struct gui_search_web_table amiga_search_web_table
 
static struct gui_misc_table amiga_misc_table
 

Macro Definition Documentation

◆ AMINS_SCROLLERPEN

#define AMINS_SCROLLERPEN   NUMDRIPENS

Definition at line 165 of file gui.c.

◆ BOOL_MISMATCH

#define BOOL_MISMATCH (   a,
 
)    (1)

Definition at line 193 of file gui.c.

◆ EXTRADOWN

#define EXTRADOWN   (IECODE_5TH_BUTTON)

Definition at line 177 of file gui.c.

◆ EXTRAUP

#define EXTRAUP   (IECODE_5TH_BUTTON | IECODE_UP_PREFIX)

Definition at line 178 of file gui.c.

◆ NSA_KBD_SCROLL_PX

#define NSA_KBD_SCROLL_PX   10

Definition at line 166 of file gui.c.

◆ NSA_MAX_HOTLIST_BUTTON_LEN

#define NSA_MAX_HOTLIST_BUTTON_LEN   20

Definition at line 167 of file gui.c.

◆ NSA_QUAL_ALT

#define NSA_QUAL_ALT   (IEQUALIFIER_RALT | IEQUALIFIER_LALT)

Definition at line 182 of file gui.c.

◆ NSA_QUAL_SHIFT

#define NSA_QUAL_SHIFT   (IEQUALIFIER_RSHIFT | IEQUALIFIER_LSHIFT)

Definition at line 181 of file gui.c.

◆ NSA_STATUS_TEXT

#define NSA_STATUS_TEXT   STRINGA_TextVal

Definition at line 187 of file gui.c.

◆ nsoption_default_set_int

#define nsoption_default_set_int (   OPTION,
  VALUE 
)
Value:
if (nsoptions_default[NSOPTION_##OPTION].value.i == nsoptions[NSOPTION_##OPTION].value.i) \
nsoptions[NSOPTION_##OPTION].value.i = VALUE; \
nsoptions_default[NSOPTION_##OPTION].value.i = VALUE
union nsoption_s::@149 value
struct nsoption_s * nsoptions_default
global default option table.
Definition: nsoption.c:46
struct nsoption_s * nsoptions
global active option table.
Definition: nsoption.c:45

◆ SCROLL_BOTTOM

#define SCROLL_BOTTOM   (INT_MAX)

Definition at line 172 of file gui.c.

◆ SCROLL_PAGE_DOWN

#define SCROLL_PAGE_DOWN   (INT_MAX - 1)

Definition at line 171 of file gui.c.

◆ SCROLL_PAGE_UP

#define SCROLL_PAGE_UP   (INT_MIN + 1)

Definition at line 170 of file gui.c.

◆ SCROLL_TOP

#define SCROLL_TOP   INT_MIN

Definition at line 169 of file gui.c.

◆ SIDEDOWN

#define SIDEDOWN   (IECODE_4TH_BUTTON)

Definition at line 175 of file gui.c.

◆ SIDEUP

#define SIDEUP   (IECODE_4TH_BUTTON | IECODE_UP_PREFIX)

Definition at line 176 of file gui.c.

◆ USERS_DIR

#define USERS_DIR   "PROGDIR:Users"

Definition at line 353 of file gui.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
OID_MAIN 
OID_VSCROLL 
OID_HSCROLL 
GID_MAIN 
GID_TABLAYOUT 
GID_BROWSER 
GID_STATUS 
GID_URL 
GID_ICON 
GID_STOP 
GID_RELOAD 
GID_HOME 
GID_BACK 
GID_FORWARD 
GID_THROBBER 
GID_SEARCH_ICON 
GID_PAGEINFO 
GID_PAGEINFO_INSECURE_BM 
GID_PAGEINFO_INTERNAL_BM 
GID_PAGEINFO_LOCAL_BM 
GID_PAGEINFO_SECURE_BM 
GID_PAGEINFO_WARNING_BM 
GID_FAVE 
GID_FAVE_ADD 
GID_FAVE_RMV 
GID_CLOSETAB 
GID_CLOSETAB_BM 
GID_ADDTAB 
GID_ADDTAB_BM 
GID_TABS 
GID_TABS_FLAG 
GID_SEARCHSTRING 
GID_TOOLBARLAYOUT 
GID_HOTLIST 
GID_HOTLISTLAYOUT 
GID_HOTLISTSEPBAR 
GID_HSCROLL 
GID_HSCROLLLAYOUT 
GID_VSCROLL 
GID_VSCROLLLAYOUT 
GID_LOGLAYOUT 
GID_LOG 
GID_LAST 

Definition at line 198 of file gui.c.

Function Documentation

◆ __attribute__()

static const __attribute__ ( (used)  )
static

Definition at line 358 of file gui.c.

◆ ami_amiupdate()

static void ami_amiupdate ( void  )
static

Definition at line 1187 of file gui.c.

References DevNameFromLock, DN_FULLPATH, FClose, and FOpen.

Referenced by main().

Here is the caller graph for this function:

◆ ami_change_tab()

static void ami_change_tab ( struct gui_window_2 gwin,
int  direction 
)
static

Definition at line 3578 of file gui.c.

References ami_switch_tab(), GetPred(), GetSucc(), GID_TABS, gui_window_2::gw, gui_window_2::objects, RefreshSetGadgetAttrs(), gui_window::tab_node, gui_window_2::tabs, and gui_window_2::win.

Referenced by ami_gui_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_do_redraw()

static void ami_do_redraw ( struct gui_window_2 gwin)
static

◆ ami_do_redraw_limits()

static void ami_do_redraw_limits ( struct gui_window g,
struct browser_window bw,
bool  busy,
int  x0,
int  y0,
int  x1,
int  y1 
)
static

Redraw an area of the browser window - Amiga-specific function.

Parameters
ga struct gui_window
bwa struct browser_window
busybusy flag passed to tiled redraw.
x0top-left co-ordinate (in document co-ordinates)
y0top-left co-ordinate (in document co-ordinates)
x1bottom-right co-ordinate (in document co-ordinates)
y1bottom-right co-ordinate (in document co-ordinates)

Definition at line 4512 of file gui.c.

References ami_do_redraw_tiled(), ami_gui_free_space_box(), ami_gui_get_space_box(), amiga_warn_user(), amiplot, browser_window_redraw_ready(), browserglob, GID_BROWSER, gui_window_2::gw, redraw_context::interactive, NSERROR_OK, gui_window_2::objects, gui_window::scrollx, gui_window::scrolly, and gui_window::shared.

Referenced by ami_gui_window_update_box_deferred(), and gui_window_remove_caret().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_do_redraw_tiled()

static void ami_do_redraw_tiled ( struct gui_window_2 gwin,
bool  busy,
int  left,
int  top,
int  width,
int  height,
int  sx,
int  sy,
struct IBox *  bbox,
struct redraw_context ctx 
)
static

Definition at line 4411 of file gui.c.

References ami_clearclipreg(), ami_plot_ra_get_bitmap(), ami_plot_ra_get_size(), ami_plot_ra_set_pen_list(), ami_reset_pointer(), ami_set_pointer(), browser_window_redraw(), gui_window::bw, clip(), GUI_POINTER_WAIT, gui_window_2::gw, height, redraw_context::priv, gui_window_2::shared_pens, width, and gui_window_2::win.

Referenced by ami_do_redraw(), and ami_do_redraw_limits().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gadget_hit()

BOOL ami_gadget_hit ( Object *  obj,
int  x,
int  y 
)

Definition at line 6206 of file gui.c.

References GetAttrs(), height, and width.

Referenced by ami_drag_selection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_get_hscroll_pos()

static void ami_get_hscroll_pos ( struct gui_window_2 gwin,
ULONG *  xs 
)
static

Definition at line 5817 of file gui.c.

References GID_HSCROLL, and gui_window_2::objects.

Referenced by ami_do_redraw(), ami_gui_event(), ami_text_box_at_point(), and gui_window_get_scroll().

Here is the caller graph for this function:

◆ ami_get_msg()

void ami_get_msg ( void  )

Definition at line 3510 of file gui.c.

References ami_arexx_handle(), ami_handle_applib(), ami_handle_appmsg(), ami_handle_msg(), ami_help_process(), ami_help_signal(), ami_print_cont(), ami_print_get_msgport(), ami_quit_netsurf_delayed(), ami_schedule_handle(), applibsig, appport, fetch_fdset(), NSERROR_OK, NSLOG, rxsig, schedulermsgport, and sport.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_get_vscroll_pos()

static void ami_get_vscroll_pos ( struct gui_window_2 gwin,
ULONG *  ys 
)
static

Definition at line 5827 of file gui.c.

References GID_VSCROLL, and gui_window_2::objects.

Referenced by ami_do_redraw(), ami_gui_event(), ami_text_box_at_point(), and gui_window_get_scroll().

Here is the caller graph for this function:

◆ ami_gui2_get_browser_window()

struct browser_window * ami_gui2_get_browser_window ( struct gui_window_2 gwin)

Get browser window from gui_window_2.

Definition at line 425 of file gui.c.

References ami_gui_get_browser_window(), and gui_window_2::gw.

Referenced by ami_drag_selection(), ami_file_open(), ami_file_save_req(), ami_history_global_drag_end(), ami_hotlist_drag_end(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui2_get_ctxmenu_history()

Object * ami_gui2_get_ctxmenu_history ( struct gui_window_2 gwin,
ULONG  direction 
)

Get ctxmenu history from gui_window_2.

Definition at line 616 of file gui.c.

References gui_window_2::history_ctxmenu.

◆ ami_gui2_get_ctxmenu_history_tmp()

int ami_gui2_get_ctxmenu_history_tmp ( struct gui_window_2 gwin)

Get ctxmenu history tmp from gui_window_2.

Definition at line 610 of file gui.c.

References gui_window_2::temp.

◆ ami_gui2_get_gui_window()

struct gui_window * ami_gui2_get_gui_window ( struct gui_window_2 gwin)

Get gui_window from gui_window_2.

Definition at line 443 of file gui.c.

References gui_window_2::gw.

Referenced by ami_file_save_req(), ami_find_tab_gwin(), and HOOKF().

Here is the caller graph for this function:

◆ ami_gui2_get_menu_data()

struct ami_menu_data ** ami_gui2_get_menu_data ( struct gui_window_2 gwin)

Get menu_data from gui_window_2.

Definition at line 598 of file gui.c.

References gui_window_2::menu_data.

Referenced by ami_gui_menu_create().

Here is the caller graph for this function:

◆ ami_gui2_get_object()

Object * ami_gui2_get_object ( struct gui_window_2 gwin,
int  object_type 
)

Get object from gui_window.

Definition at line 534 of file gui.c.

References AMI_GAD_SEARCH, AMI_GAD_TABS, AMI_GAD_THROBBER, AMI_GAD_URL, AMI_WIN_MAIN, GID_SEARCHSTRING, GID_TABS, GID_THROBBER, GID_URL, gui_window_2::objects, and OID_MAIN.

Referenced by ami_drag_selection(), ami_gui_menu_free(), ami_gui_menu_update_checked(), ami_throbber_update(), gui_window_start_throbber(), and gui_window_stop_throbber().

Here is the caller graph for this function:

◆ ami_gui2_get_tab_list()

struct List * ami_gui2_get_tab_list ( struct gui_window_2 gwin)

Get tab list from gui_window_2.

Definition at line 474 of file gui.c.

References gui_window_2::tab_list.

Referenced by ami_find_tab_bw(), and ami_find_tab_gwin().

Here is the caller graph for this function:

◆ ami_gui2_get_tabs()

ULONG ami_gui2_get_tabs ( struct gui_window_2 gwin)

Get tabs from gui_window_2.

Definition at line 468 of file gui.c.

References gui_window_2::tabs.

Referenced by ami_find_tab_bw(), ami_find_tab_gwin(), gui_window_start_throbber(), gui_window_stop_throbber(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui2_get_window()

struct Window * ami_gui2_get_window ( struct gui_window_2 gwin)

Get window from gui_window_2.

Definition at line 570 of file gui.c.

References gui_window_2::win.

Referenced by ami_drag_selection(), ami_file_open(), ami_file_save_req(), ami_gui_get_window(), ami_gui_menu_update_checked(), ami_reset_pointer(), ami_set_pointer(), and HOOKF().

Here is the caller graph for this function:

◆ ami_gui2_set_closed()

void ami_gui2_set_closed ( struct gui_window_2 gwin,
bool  closed 
)

Set closed in gui_window_2.

Definition at line 628 of file gui.c.

References gui_window_2::closed.

Referenced by HOOKF().

Here is the caller graph for this function:

◆ ami_gui2_set_ctxmenu_history()

void ami_gui2_set_ctxmenu_history ( struct gui_window_2 gwin,
ULONG  direction,
Object *  ctx_hist 
)

Set ctxmenu history in gui_window_2.

Definition at line 622 of file gui.c.

References gui_window_2::history_ctxmenu.

◆ ami_gui2_set_ctxmenu_history_tmp()

void ami_gui2_set_ctxmenu_history_tmp ( struct gui_window_2 gwin,
int  temp 
)

Set ctxmenu history tmp in gui_window_2.

Definition at line 604 of file gui.c.

References gui_window_2::temp.

◆ ami_gui2_set_menu()

void ami_gui2_set_menu ( struct gui_window_2 gwin,
struct Menu *  menu 
)

Set imenu to gui_window_2.

A value of NULL will free the menu (and menu_data!)

Definition at line 589 of file gui.c.

References ami_gui_menu_freemenus(), gui_window_2::imenu, and gui_window_2::menu_data.

Referenced by ami_gui_menu_create(), and ami_gui_menu_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui2_set_new_content()

void ami_gui2_set_new_content ( struct gui_window_2 gwin,
bool  new_content 
)

Set new_content in gui_window_2 Indicates the window needs redrawing.

Definition at line 634 of file gui.c.

References gui_window_2::new_content.

Referenced by HOOKF().

Here is the caller graph for this function:

◆ ami_gui_adjust_scale()

void ami_gui_adjust_scale ( struct gui_window gw,
float  adjustment 
)

Adjust scale by specified amount.

Definition at line 4366 of file gui.c.

References ami_schedule_redraw(), browser_window_set_scale(), gui_window::bw, and gui_window::shared.

Referenced by ami_gui_event(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_appicon_remove()

static void ami_gui_appicon_remove ( struct gui_window_2 gwin)
static

Definition at line 3247 of file gui.c.

References amiga_icon_free(), gui_window_2::appicon, and gui_window_2::dobj.

Referenced by ami_handle_appmsg(), and gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_beep()

void ami_gui_beep ( void  )

Beep.

Definition at line 414 of file gui.c.

References scrn.

Referenced by ami_drag_selection(), ami_history_global_drag_end(), and ami_hotlist_drag_end().

Here is the caller graph for this function:

◆ ami_gui_cache_favicon()

static void ami_gui_cache_favicon ( nsurl url,
struct bitmap favicon 
)
static

Definition at line 3970 of file gui.c.

References AMI_BITMAP_SCALE_ICON, ami_gui_get_cache_favicon_name(), and amiga_bitmap_save().

Referenced by ami_gui_update_hotlist_button().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_check_resource()

static bool ami_gui_check_resource ( char *  fullpath,
const char *  file 
)
static

Definition at line 792 of file gui.c.

References ami_gui_map_filename(), netsurf_mkpath(), and NSLOG.

Referenced by ami_locate_resource().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_close_inactive_tabs()

void ami_gui_close_inactive_tabs ( struct gui_window_2 gwin)

Close all tabs in a window except the active one.

Parameters
gwingui_window_2 to act upon.

Definition at line 5479 of file gui.c.

References ami_gui_close_tabs().

Here is the call graph for this function:

◆ ami_gui_close_screen()

static void ami_gui_close_screen ( struct Screen *  scrn,
BOOL  locked_screen,
BOOL  donotwait 
)
static

Definition at line 3856 of file gui.c.

References locked_screen, NSLOG, screen_signal, and scrn.

Referenced by ami_try_quit(), and gui_quit().

Here is the caller graph for this function:

◆ ami_gui_close_tabs()

static void ami_gui_close_tabs ( struct gui_window_2 gwin,
bool  other_tabs 
)
static

Definition at line 5443 of file gui.c.

References amiga_warn_user_multi(), browser_window_destroy(), gui_window::bw, GetHead(), GetSucc(), gui_window_2::gw, messages_get(), nsoption_bool, gui_window::tab, gui_window_2::tab_list, gui_window_2::tabs, and gui_window_2::win.

Referenced by ami_gui_close_inactive_tabs(), and ami_gui_close_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_close_window()

void ami_gui_close_window ( void *  w)

Close a window and all tabs attached to it.

Parameters
wgui_window_2 to act upon.

Definition at line 5473 of file gui.c.

References ami_gui_close_tabs(), and gui_window_2::w.

Referenced by ami_gui_event(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_commandline()

static struct RDArgs * ami_gui_commandline ( int *restrict  argc,
char **  argv,
int *restrict  nargc,
char **  nargv 
)
static
Todo:
allow IDNs

Definition at line 1328 of file gui.c.

References ASPrintf(), cli_force, NSLOG, temp_homepage_url, and users_dir.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_console_log_add()

static void ami_gui_console_log_add ( struct gui_window g)
static

Definition at line 2269 of file gui.c.

References ami_schedule_redraw(), GID_LOG, GID_LOGLAYOUT, GID_MAIN, IDoMethod, LBS_ROWS, LISTBROWSER_Striping, ListBrowserObj, gui_window::logcolumns, gui_window::loglist, gui_window_2::objects, gui_window::shared, and gui_window_2::win.

Referenced by ami_gui_console_log_toggle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_console_log_remove()

static void ami_gui_console_log_remove ( struct gui_window g)
static

Definition at line 2304 of file gui.c.

References ami_schedule_redraw(), GID_LOG, GID_LOGLAYOUT, GID_MAIN, IDoMethod, gui_window_2::objects, gui_window::shared, and gui_window_2::win.

Referenced by ami_gui_console_log_toggle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_console_log_switch()

static void ami_gui_console_log_switch ( struct gui_window g)
static

Definition at line 2337 of file gui.c.

References GID_LOG, gui_window::logcolumns, gui_window::loglist, gui_window_2::objects, RefreshSetGadgetAttrs(), gui_window::shared, and gui_window_2::win.

Referenced by ami_switch_tab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_console_log_toggle()

static bool ami_gui_console_log_toggle ( struct gui_window g)
static

Definition at line 2326 of file gui.c.

References ami_gui_console_log_add(), ami_gui_console_log_remove(), GID_LOG, gui_window_2::objects, and gui_window::shared.

Referenced by ami_gui_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_count_windows()

int ami_gui_count_windows ( int  window,
int *  tabs 
)

Count windows, and optionally tabs.

Parameters
windowwindow to count tabs of
tabsif window > 0, will be updated to contain the number of tabs in that window, unchanged otherwise
Returns
number of windows currently open

Definition at line 4332 of file gui.c.

References AMINS_WINDOW, GetHead(), GetSucc(), IsMinListEmpty, nsObject::objstruct, gui_window_2::tabs, tabs, nsObject::Type, and window_list.

Referenced by gui_window_create(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_event()

static BOOL ami_gui_event ( void *  w)
static

Definition at line 2630 of file gui.c.

References ami_change_tab(), ami_drag_has_data(), ami_drag_icon_move(), ami_drag_save(), AMI_DRAG_THRESHOLD, ami_get_hscroll_pos(), ami_get_vscroll_pos(), ami_gui_adjust_scale(), ami_gui_close_window(), ami_gui_console_log_toggle(), ami_gui_free_space_box(), ami_gui_get_space_box(), ami_gui_history(), ami_gui_new_blank_tab(), ami_gui_refresh_favicon(), ami_gui_scroll_internal(), ami_gui_set_scale(), ami_gui_trap_mouse(), ami_gui_update_hotlist_button(), AMI_HELP_GUI, ami_help_open(), ami_key_to_nskey(), ami_pageinfo_open(), ami_schedule(), ami_set_border_gadget_size(), ami_set_pointer(), ami_switch_tab(), ami_throbber_redraw_schedule(), ami_to_utf8_easy(), ami_update_quals(), ami_utf8_free(), amiga_icon_from_bitmap(), amiga_icon_superimpose_favicon_internal(), amiga_warn_user(), gui_window_2::appicon, appport, BROWSER_MOUSE_CLICK_1, BROWSER_MOUSE_CLICK_2, BROWSER_MOUSE_DOUBLE_CLICK, BROWSER_MOUSE_DRAG_1, BROWSER_MOUSE_DRAG_2, BROWSER_MOUSE_DRAG_ON, BROWSER_MOUSE_HOLDING_1, BROWSER_MOUSE_HOLDING_2, BROWSER_MOUSE_MOD_1, BROWSER_MOUSE_PRESS_1, BROWSER_MOUSE_PRESS_2, BROWSER_MOUSE_TRIPLE_CLICK, browser_window_destroy(), browser_window_history_get_thumbnail(), browser_window_key_press(), browser_window_mouse_click(), browser_window_mouse_track(), browser_window_navigate(), browser_window_reload(), browser_window_reload_available(), browser_window_schedule_reformat(), browser_window_stop(), browser_window_stop_available(), gui_window::bw, BW_NAVIGATE_HISTORY, gui_window::c_h, gui_window::c_h_temp, CLICKTAB_NodeClosed, gui_window_2::closed, cur_gw, gui_window_2::dobj, EXTRAUP, gui_window::favicon, GetAttrs(), GID_ADDTAB, GID_BACK, GID_BROWSER, GID_CLOSETAB, GID_FAVE, GID_FORWARD, GID_HOME, GID_HOTLIST, GID_MAIN, GID_PAGEINFO, GID_RELOAD, GID_SEARCH_ICON, GID_SEARCHSTRING, GID_STOP, GID_TABS, GID_TOOLBARLAYOUT, GID_URL, GUI_POINTER_DEFAULT, gui_window_get_scroll(), gui_window_remove_caret(), gui_window_set_scroll(), gui_window_2::gw, height, hotlist_add_url(), hotlist_has_url(), hotlist_remove_url(), gui_window_2::key_state, gui_window_2::lastclick, messages_get_errorcode(), gui_window_2::mouse_state, NS_KEY_CLEAR_SELECTION, NS_KEY_COPY_SELECTION, NS_KEY_DELETE_LEFT, NS_KEY_DOWN, NS_KEY_LEFT, NS_KEY_LINE_END, NS_KEY_LINE_START, NS_KEY_PAGE_DOWN, NS_KEY_PAGE_UP, NS_KEY_RIGHT, NS_KEY_TEXT_END, NS_KEY_TEXT_START, NS_KEY_UP, NS_KEY_WORD_LEFT, NS_KEY_WORD_RIGHT, NSA_KBD_SCROLL_PX, NSERROR_OK, NSLOG, nsoption_bool, nsoption_charp, nsurl_create(), nsurl_unref(), gui_window_2::objects, OID_MAIN, gui_window_2::prev_mouse_state, RAWKEY_F10, RAWKEY_F12, RAWKEY_F5, RAWKEY_F8, RAWKEY_F9, RAWKEY_HELP, result, scrn, SCROLL_BOTTOM, SCROLL_PAGE_DOWN, SCROLL_PAGE_UP, SCROLL_TOP, gui_window::scrollx, gui_window::scrolly, search_web_omni(), SEARCH_WEB_OMNI_NONE, SEARCH_WEB_OMNI_SEARCHONLY, search_web_select_provider(), SIDEUP, gui_window::url, gui_window_2::w, width, gui_window_2::win, win_destroyed, rect::x0, rect::x1, rect::y0, and rect::y1.

Here is the call graph for this function:

◆ ami_gui_free_space_box()

void ami_gui_free_space_box ( struct IBox *  bbox)

Free any data obtained via ami_gui_get_space_box().

Parameters
bboxA pointer to a struct IBox.

Definition at line 1874 of file gui.c.

References LIB_IS_AT_LEAST.

Referenced by ami_cw_mouse_pos(), ami_cw_redraw(), ami_cw_redraw_rect(), ami_cw_window_size(), ami_do_redraw(), ami_do_redraw_limits(), ami_gui_event(), ami_gui_scroll_internal(), ami_mouse_to_ns_coords(), ami_ns_rect_to_ibox(), ami_refresh_window(), ami_switch_tab(), ami_text_box_at_point(), ami_throbber_update(), gui_window_get_dimensions(), gui_window_place_caret(), gui_window_set_icon(), gui_window_set_scroll(), gui_window_stop_throbber(), and gui_window_update_extent().

Here is the caller graph for this function:

◆ ami_gui_get_active_gw()

struct gui_window * ami_gui_get_active_gw ( void  )

Get a pointer to the gui_window which NetSurf considers to be the current/active one.

Definition at line 398 of file gui.c.

References cur_gw.

Referenced by ami_gui_opts_event(), ami_misc_req(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_app_id()

uint32 ami_gui_get_app_id ( void  )

Get the application.library ID NetSurf is registered as.

Returns
App ID.

Definition at line 6349 of file gui.c.

References ami_appid.

Referenced by gui_download_window_create(), gui_download_window_data(), and gui_download_window_done().

Here is the caller graph for this function:

◆ ami_gui_get_browser_window()

struct browser_window * ami_gui_get_browser_window ( struct gui_window gw)

Get browser window from gui_window.

Definition at line 419 of file gui.c.

References gui_window::bw.

Referenced by ami_drag_selection(), ami_find_tab_bw(), ami_gui2_get_browser_window(), ami_gui_menu_update_disabled(), ami_gui_opts_event(), ami_history_local_present(), ami_search_close(), ami_search_event(), ami_search_open(), gui_download_window_create(), gui_page_info_change(), gui_start_selection(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_cache_favicon_name()

char * ami_gui_get_cache_favicon_name ( nsurl url,
bool  only_if_avail 
)

Definition at line 3950 of file gui.c.

References ASPrintf(), current_user_faviconcache, NSLOG, and nsurl_hash().

Referenced by ami_gui_cache_favicon(), ami_gui_hotlist_add(), and ami_menu_hotlist_add().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_get_download_list()

struct List * ami_gui_get_download_list ( struct gui_window gw)

Get download list from gui_window.

Definition at line 431 of file gui.c.

References gui_window::dllist.

Referenced by gui_download_window_create(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_favicon()

struct hlcache_handle * ami_gui_get_favicon ( struct gui_window gw)

Get favicon from gui_window.

Definition at line 480 of file gui.c.

References gui_window::favicon.

Referenced by ami_file_save_req().

Here is the caller graph for this function:

◆ ami_gui_get_gui_window_2()

struct gui_window_2 * ami_gui_get_gui_window_2 ( struct gui_window gw)

Get gui_window_2 from gui_window.

Definition at line 437 of file gui.c.

References gui_window_2::gw, and gui_window::shared.

Referenced by ami_throbber_update(), gui_page_info_change(), gui_window_save_link(), gui_window_set_pointer(), gui_window_start_throbber(), gui_window_stop_throbber(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_history_window()

struct ami_history_local_window * ami_gui_get_history_window ( struct gui_window gw)

Get local history window from gui_window.

Definition at line 486 of file gui.c.

References ami_history_local_window::gw, and gui_window::hw.

Referenced by ami_history_local_present().

Here is the caller graph for this function:

◆ ami_gui_get_menu()

struct Menu * ami_gui_get_menu ( struct gui_window gw)

Get imenu from gui_window.

Definition at line 582 of file gui.c.

References gui_window_2::imenu, and gui_window::shared.

Referenced by ami_gui_menu_update_disabled(), and gui_start_selection().

Here is the caller graph for this function:

◆ ami_gui_get_quals()

int ami_gui_get_quals ( Object *  win_obj)

Get which qualifier keys are being pressed.

Definition at line 1826 of file gui.c.

References BROWSER_MOUSE_MOD_1, BROWSER_MOUSE_MOD_2, BROWSER_MOUSE_MOD_3, NSA_QUAL_ALT, and NSA_QUAL_SHIFT.

Referenced by ami_cw_event(), and ami_update_quals().

Here is the caller graph for this function:

◆ ami_gui_get_screen()

struct Screen * ami_gui_get_screen ( void  )

◆ ami_gui_get_screen_title()

STRPTR ami_gui_get_screen_title ( void  )

Get the string for NetSurf's screen titlebar.

Returns
String to use as the screen's titlebar text.

Definition at line 974 of file gui.c.

References ASPrintf(), netsurf_version, and nsscreentitle.

Referenced by ami_cookies_create_window(), ami_font_scan_gui_open(), ami_gui_opts_open(), ami_history_global_create_window(), ami_history_local_create_window(), ami_hotlist_create_window(), ami_openscreen(), ami_pageinfo_create_window(), ami_print_progress(), ami_print_ui(), ami_search_open(), gui_download_window_create(), gui_window_create(), and gui_window_set_title().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_get_space_box()

nserror ami_gui_get_space_box ( Object *  obj,
struct IBox **  bbox 
)

Compatibility function to get space.gadget render area.

Parameters
objA space.gadget object.
bboxA pointer to a struct IBox *.
Returns
error status.

Definition at line 1857 of file gui.c.

References LIB_IS_AT_LEAST, NSERROR_NOMEM, and NSERROR_OK.

Referenced by ami_cw_mouse_pos(), ami_cw_redraw(), ami_cw_redraw_rect(), ami_cw_window_size(), ami_do_redraw(), ami_do_redraw_limits(), ami_gui_event(), ami_gui_scroll_internal(), ami_mouse_to_ns_coords(), ami_ns_rect_to_ibox(), ami_refresh_window(), ami_switch_tab(), ami_text_box_at_point(), ami_throbber_update(), gui_window_get_dimensions(), gui_window_place_caret(), gui_window_set_icon(), gui_window_set_scroll(), gui_window_stop_throbber(), and gui_window_update_extent().

Here is the caller graph for this function:

◆ ami_gui_get_tab_node()

struct Node * ami_gui_get_tab_node ( struct gui_window gw)

Get tab node from gui_window.

Definition at line 462 of file gui.c.

References gui_window::tab_node.

Referenced by gui_window_start_throbber(), and gui_window_stop_throbber().

Here is the caller graph for this function:

◆ ami_gui_get_tab_title()

const char * ami_gui_get_tab_title ( struct gui_window gw)

Get tab title from gui_window.

Definition at line 456 of file gui.c.

References gui_window::tabtitle.

Referenced by RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_throbber_frame()

int ami_gui_get_throbber_frame ( struct gui_window gw)

Get throbbing frame from gui_window.

Definition at line 520 of file gui.c.

References ami_history_local_window::gw, gui_window::shared, and gui_window_2::throbber_frame.

Referenced by ami_throbber_update(), and gui_window_start_throbber().

Here is the caller graph for this function:

◆ ami_gui_get_throbbing()

bool ami_gui_get_throbbing ( struct gui_window gw)

Get throbbing status from gui_window.

Definition at line 508 of file gui.c.

References ami_history_local_window::gw, and gui_window::throbbing.

Referenced by ami_throbber_update().

Here is the caller graph for this function:

◆ ami_gui_get_user_dir()

static char * ami_gui_get_user_dir ( STRPTR  current_user)
static

Definition at line 6357 of file gui.c.

References ami_misc_fatal_error(), ami_nsoption_set_location(), ASPrintf(), CreateDirTree, current_user_dir, current_user_faviconcache, LIB_IS_AT_LEAST, NSLOG, USERS_DIR, and users_dir.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_get_win_title()

const char * ami_gui_get_win_title ( struct gui_window gw)

Get window title from gui_window.

Definition at line 449 of file gui.c.

References gui_window::shared, and gui_window_2::wintitle.

Referenced by RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_get_window()

struct Window * ami_gui_get_window ( struct gui_window gw)

Get window from gui_window.

Definition at line 576 of file gui.c.

References ami_gui2_get_window(), and gui_window::shared.

Referenced by ami_gui_menu_update_disabled(), ami_misc_req(), ami_search_event(), ami_throbber_update(), gui_download_window_create(), gui_start_selection(), gui_window_save_link(), gui_window_start_throbber(), and gui_window_stop_throbber().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_get_window_list()

struct MinList * ami_gui_get_window_list ( void  )

Get the window list.

\TODO: Nothing should be poking around in this list, but we aren't assigning unique IDs to windows (ARexx interface needs this) ami_find_gwin_by_id() is close but not ARexx-friendly

Definition at line 408 of file gui.c.

References window_list.

Referenced by ami_find_tab(), and RXHOOKF().

Here is the caller graph for this function:

◆ ami_gui_history()

void ami_gui_history ( struct gui_window_2 gwin,
bool  back 
)

Definition at line 1688 of file gui.c.

References ami_update_buttons(), browser_window_back_available(), browser_window_forward_available(), browser_window_history_back(), browser_window_history_forward(), gui_window::bw, and gui_window_2::gw.

Referenced by ami_gui_event(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_add()

static bool ami_gui_hotlist_add ( void *  userdata,
int  level,
int  item,
const char *  title,
nsurl url,
bool  is_folder 
)
static

Definition at line 4005 of file gui.c.

References ami_gui_get_cache_favicon_name(), AMI_GUI_TOOLBAR_MAX, ami_locate_resource(), ASPrintf(), BitMapObj, ami_gui_tb_userdata::gw, gui_window_2::hotlist_toolbar_lab, ami_gui_tb_userdata::items, LabelObj, NSA_MAX_HOTLIST_BUTTON_LEN, NSERROR_OK, nsurl_access(), ami_gui_tb_userdata::sblist, SBNA_HintInfo, scrn, and utf8_from_local_encoding().

Referenced by ami_gui_hotlist_scan().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_scan()

static int ami_gui_hotlist_scan ( struct List *  speed_button_list,
struct gui_window_2 gwin 
)
static

Definition at line 4061 of file gui.c.

References ami_gui_hotlist_add(), ami_hotlist_scan(), ami_gui_tb_userdata::gw, ami_gui_tb_userdata::items, messages_get(), and ami_gui_tb_userdata::sblist.

Referenced by ami_gui_hotlist_toolbar_add(), and ami_gui_hotlist_toolbar_update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_toolbar_add()

static void ami_gui_hotlist_toolbar_add ( struct gui_window_2 gwin)
static

Definition at line 4072 of file gui.c.

References ami_gui_hotlist_scan(), ami_schedule_redraw(), BevelObj, GID_HOTLIST, GID_HOTLISTLAYOUT, GID_HOTLISTSEPBAR, GID_MAIN, gui_window_2::hotlist_toolbar_list, IDoMethod, gui_window_2::objects, SpeedBarObj, and gui_window_2::win.

Referenced by ami_gui_hotlist_toolbar_update(), and gui_window_create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_toolbar_free()

static void ami_gui_hotlist_toolbar_free ( struct gui_window_2 gwin,
struct List *  speed_button_list 
)
static

Definition at line 4120 of file gui.c.

References AMI_GUI_TOOLBAR_MAX, GetHead(), GetSucc(), gui_window_2::hotlist_toolbar_lab, and nsoption_bool.

Referenced by ami_gui_hotlist_toolbar_update(), and gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_toolbar_remove()

static void ami_gui_hotlist_toolbar_remove ( struct gui_window_2 gwin)
static

Definition at line 4145 of file gui.c.

References ami_schedule_redraw(), GID_HOTLIST, GID_HOTLISTLAYOUT, GID_HOTLISTSEPBAR, GID_MAIN, IDoMethod, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_gui_hotlist_toolbar_update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_toolbar_update()

static void ami_gui_hotlist_toolbar_update ( struct gui_window_2 gwin)
static

Definition at line 4167 of file gui.c.

References ami_gui_hotlist_scan(), ami_gui_hotlist_toolbar_add(), ami_gui_hotlist_toolbar_free(), ami_gui_hotlist_toolbar_remove(), GID_HOTLIST, gui_window_2::hotlist_toolbar_list, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_gui_hotlist_update_all().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hotlist_update_all()

void ami_gui_hotlist_update_all ( void  )

Update hotlist toolbar and recreate the menu for all windows.

Definition at line 4195 of file gui.c.

References ami_gui_hotlist_toolbar_update(), ami_gui_menu_refresh_hotlist(), AMINS_WINDOW, GetHead(), GetSucc(), IsMinListEmpty, nsObject::objstruct, nsObject::Type, and window_list.

Referenced by ami_hotlist_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_hscroll_add()

static bool ami_gui_hscroll_add ( struct gui_window_2 gwin)
static

Definition at line 2111 of file gui.c.

References GID_HSCROLL, GID_HSCROLLLAYOUT, IDoMethod, gui_window_2::objects, ScrollerObj, and gui_window_2::win.

Referenced by ami_gui_scroller_update().

Here is the caller graph for this function:

◆ ami_gui_hscroll_remove()

static bool ami_gui_hscroll_remove ( struct gui_window_2 gwin)
static

Definition at line 2139 of file gui.c.

References GID_HSCROLL, GID_HSCROLLLAYOUT, IDoMethod, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_gui_scroller_update().

Here is the caller graph for this function:

◆ ami_gui_map_filename()

static bool ami_gui_map_filename ( char **  remapped,
const char *restrict  path,
const char *restrict  file,
const char *restrict  map 
)
static

Definition at line 743 of file gui.c.

References buffer, FClose, FOpen, netsurf_mkpath(), NSLOG, and path().

Referenced by ami_gui_check_resource(), ami_locale_langs(), and ami_locate_resource().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_menu_update_all()

static void ami_gui_menu_update_all ( void  )
static

Definition at line 2056 of file gui.c.

References ami_gui_menu_update_checked(), AMINS_WINDOW, GetHead(), GetSucc(), IsMinListEmpty, nsObject::objstruct, nsObject::Type, and window_list.

Referenced by ami_handle_msg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_new_blank_tab()

nserror ami_gui_new_blank_tab ( struct gui_window_2 gwin)

Definition at line 4385 of file gui.c.

References ami_gui_switch_to_new_tab(), amiga_warn_user(), browser_window_create(), browser_window::bw, gui_window::bw, BW_CREATE_HISTORY, BW_CREATE_TAB, gui_window_2::gw, messages_get_errorcode(), NSERROR_OK, nsoption_charp, nsurl_create(), and nsurl_unref().

Referenced by ami_gui_event(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_read_all_tooltypes()

static STRPTR ami_gui_read_all_tooltypes ( int  argc,
char **  argv 
)
static

Definition at line 1407 of file gui.c.

References ami_gui_read_tooltypes(), and SetCurrentDir.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_read_tooltypes()

static char * ami_gui_read_tooltypes ( struct WBArg *  wbarg)
static

Definition at line 1389 of file gui.c.

References ASPrintf(), and users_dir.

Referenced by ami_gui_read_all_tooltypes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_refresh_favicon()

static void ami_gui_refresh_favicon ( void *  p)
static

Definition at line 2533 of file gui.c.

References gui_window::favicon, gui_window_set_icon(), and gui_window_2::gw.

Referenced by ami_gui_event(), gui_window_create(), gui_window_destroy(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_resources_free()

static void ami_gui_resources_free ( void  )
static

Definition at line 878 of file gui.c.

References ami_object_fini(), ami_schedule_free(), appport, ASOT_PORT, FreeSysObject(), schedulermsgport, and sport.

Referenced by gui_quit(), and main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_resources_open()

static bool ami_gui_resources_open ( void  )
static

Definition at line 888 of file gui.c.

References AllocSysObjectTags, ami_misc_fatal_error(), ami_object_init(), ami_schedule_create(), appport, ASO_NoTrack, ASOT_PORT, MakeStringClass(), NSERROR_OK, schedulermsgport, and sport.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_scroll_internal()

static void ami_gui_scroll_internal ( struct gui_window_2 gwin,
int  xs,
int  ys 
)
static

Definition at line 1923 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_mouse_to_ns_coords(), amiga_warn_user(), browser_window_get_extents(), browser_window_scroll_at_point(), gui_window::bw, GID_BROWSER, gui_window_get_scroll(), gui_window_set_scroll(), gui_window_2::gw, height, NSERROR_OK, gui_window_2::objects, SCROLL_BOTTOM, SCROLL_PAGE_DOWN, SCROLL_PAGE_UP, SCROLL_TOP, gui_window::scrollx, gui_window::scrolly, width, rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by ami_gui_event(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_scroller_update()

static void ami_gui_scroller_update ( struct gui_window_2 gwin)
static

Check the scroll bar requirements for a browser window, and add/remove the vertical scroller as appropriate.

This should be the main entry point used to perform this task.

Parameters
gwin"Shared" GUI window to check the state of

Definition at line 2207 of file gui.c.

References ami_gui_hscroll_add(), ami_gui_hscroll_remove(), ami_gui_vscroll_add(), ami_gui_vscroll_remove(), browser_window_get_extents(), browser_window_get_scrollbar_type(), browser_window_is_frameset(), browser_window_schedule_reformat(), gui_window::bw, BW_SCROLLING_NO, BW_SCROLLING_YES, GID_MAIN, gui_window_get_dimensions(), gui_window_2::gw, NSERROR_OK, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_switch_tab(), gui_window_new_content(), and gui_window_update_extent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_search_ico_refresh()

static void ami_gui_search_ico_refresh ( void *  p)
static

Definition at line 4319 of file gui.c.

References search_web_select_provider().

Referenced by gui_window_create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_set_find_window()

void ami_gui_set_find_window ( struct gui_window gw,
struct find_window fw 
)

Set search window in gui_window.

Definition at line 498 of file gui.c.

References ami_history_local_window::gw, gui_window_2::searchwin, and gui_window::shared.

Referenced by ami_search_close(), and ami_search_open().

Here is the caller graph for this function:

◆ ami_gui_set_history_window()

void ami_gui_set_history_window ( struct gui_window gw,
struct ami_history_local_window hw 
)

Set local history window in gui_window.

Definition at line 492 of file gui.c.

References ami_history_local_window::gw, and gui_window::hw.

Referenced by ami_history_local_destroy(), and ami_history_local_present().

Here is the caller graph for this function:

◆ ami_gui_set_scale()

void ami_gui_set_scale ( struct gui_window gw,
float  scale 
)

Set the scale of a gui window.

Parameters
gwgui_window to set scale for
scalescale to set

Definition at line 4360 of file gui.c.

References ami_schedule_redraw(), browser_window_set_scale(), gui_window::bw, and gui_window::shared.

Referenced by ami_gui_event(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_set_throbber_frame()

void ami_gui_set_throbber_frame ( struct gui_window gw,
int  frame 
)

Set throbbing frame in gui_window.

Definition at line 527 of file gui.c.

References ami_history_local_window::gw, gui_window::shared, and gui_window_2::throbber_frame.

Referenced by ami_throbber_update(), and gui_window_start_throbber().

Here is the caller graph for this function:

◆ ami_gui_set_throbbing()

void ami_gui_set_throbbing ( struct gui_window gw,
bool  throbbing 
)

Set throbbing status in gui_window.

Definition at line 514 of file gui.c.

References ami_history_local_window::gw, and gui_window::throbbing.

Referenced by gui_window_start_throbber(), and gui_window_stop_throbber().

Here is the caller graph for this function:

◆ ami_gui_splash_close()

static void ami_gui_splash_close ( Object *  win_obj)
static

Definition at line 6321 of file gui.c.

References NSLOG.

Referenced by main().

Here is the caller graph for this function:

◆ ami_gui_splash_open()

static Object * ami_gui_splash_open ( void  )
static

Definition at line 6222 of file gui.c.

References ami_font_close_disk_font(), ami_font_open_disk_font(), BitMapObj, GetAttrs(), LayoutVObj, netsurf_version, NSLOG, RPTAG_APenColor, WA_ToolBox, and WindowObj.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_switch_to_new_tab()

void ami_gui_switch_to_new_tab ( struct gui_window_2 gwin)

Switch to the most-recently-opened tab.

Definition at line 4372 of file gui.c.

References ami_switch_tab(), GID_TABS, gui_window_2::last_new_tab, nsoption_bool, gui_window_2::objects, RefreshSetGadgetAttrs(), and gui_window_2::win.

Referenced by ami_gui_new_blank_tab(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_tabs_toggle_all()

void ami_gui_tabs_toggle_all ( void  )

Definition at line 4292 of file gui.c.

References ami_toggletabbar(), AMINS_WINDOW, GetHead(), GetSucc(), IsMinListEmpty, nsoption_bool, nsObject::objstruct, gui_window_2::tabs, nsObject::Type, and window_list.

Referenced by ami_gui_opts_use().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_trap_mouse()

static void ami_gui_trap_mouse ( struct gui_window_2 gwin)
static

Definition at line 2035 of file gui.c.

References gui_window_2::drag_op, GDRAGGING_NONE, GDRAGGING_OTHER, GDRAGGING_SCROLLBAR, gui_window_2::ptr_lock, and gui_window_2::win.

Referenced by ami_gui_event().

Here is the caller graph for this function:

◆ ami_gui_update_hotlist_button()

void ami_gui_update_hotlist_button ( struct gui_window_2 gwin)

Definition at line 3980 of file gui.c.

References ami_gui_cache_favicon(), content_get_bitmap(), gui_window::favicon, GID_FAVE, GID_FAVE_ADD, GID_FAVE_RMV, GID_URL, gui_window_2::gw, hotlist_has_url(), NSERROR_OK, nsurl_create(), nsurl_unref(), gui_window_2::objects, RefreshSetGadgetAttrs(), and gui_window_2::win.

Referenced by ami_gui_event(), ami_switch_tab(), gui_window_new_content(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_vscroll_add()

static bool ami_gui_vscroll_add ( struct gui_window_2 gwin)
static

Definition at line 2157 of file gui.c.

References GID_VSCROLL, GID_VSCROLLLAYOUT, IDoMethod, gui_window_2::objects, ScrollerObj, and gui_window_2::win.

Referenced by ami_gui_scroller_update().

Here is the caller graph for this function:

◆ ami_gui_vscroll_remove()

static bool ami_gui_vscroll_remove ( struct gui_window_2 gwin)
static

Definition at line 2184 of file gui.c.

References GID_VSCROLL, GID_VSCROLLLAYOUT, IDoMethod, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_gui_scroller_update().

Here is the caller graph for this function:

◆ ami_gui_win_list_add()

nserror ami_gui_win_list_add ( void *  win,
int  type,
const struct ami_win_event_table table 
)

Add a window to the NetSurf window list (to enable event processing)

Definition at line 4668 of file gui.c.

References AddObject(), ami_generic_window::node, NSERROR_NOMEM, NSERROR_OK, nsObject::objstruct, ami_generic_window::tbl, type, and window_list.

Referenced by ami_corewindow_init(), ami_gui_opts_open(), ami_print_ui(), ami_search_open(), gui_download_window_create(), and gui_window_create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_win_list_remove()

void ami_gui_win_list_remove ( void *  win)

Remove a window from the NetSurf window list.

Definition at line 4682 of file gui.c.

References AMINS_TVWINDOW, DelObject(), DelObjectNoFree(), ami_generic_window::node, and nsObject::Type.

Referenced by ami_corewindow_fini(), ami_gui_opts_close(), ami_print_close(), ami_search_close(), gui_download_window_done(), and gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_window_update_box_deferred()

static void ami_gui_window_update_box_deferred ( struct gui_window g,
bool  draw 
)
static

Definition at line 5650 of file gui.c.

References ami_do_redraw_limits(), ami_memory_itempool_free, ami_reset_pointer(), ami_set_pointer(), gui_window::bw, gui_window::deferred_rects, gui_window::deferred_rects_pool, DelObjectNoFree(), GetHead(), GetSucc(), GUI_POINTER_WAIT, IsMinListEmpty, NSLOG, nsObject::objstruct, gui_window::shared, rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by ami_do_redraw(), and ami_redraw_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_gui_window_update_box_deferred_check()

bool ami_gui_window_update_box_deferred_check ( struct MinList *  deferred_rects,
const struct rect *restrict  new_rect,
APTR  mempool 
)

Check rect is not already queued for redraw.

Definition at line 5681 of file gui.c.

References ami_memory_itempool_free, DelObjectNoFree(), GetHead(), GetSucc(), IsMinListEmpty, NSLOG, nsObject::objstruct, rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by ami_cw_redraw(), and amiga_window_invalidate_area().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_handle_applib()

static void ami_handle_applib ( void  )
static

Definition at line 3422 of file gui.c.

References ami_download_parse_backmsg(), ami_gui_opts_open(), ami_quit_netsurf(), amiga_warn_user(), applibport, browser_window_create(), browser_window::bw, BW_CREATE_HISTORY, cur_gw, messages_get_errorcode(), netsurf_path_to_nsurl(), NSERROR_OK, NSLOG, nsoption_charp, nsurl_create(), nsurl_unref(), scrn, gui_window::shared, and gui_window_2::win.

Referenced by ami_get_msg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_handle_appmsg()

static void ami_handle_appmsg ( void  )
static

Definition at line 3307 of file gui.c.

References ami_gui_appicon_remove(), ami_mouse_to_ns_coords(), amiga_warn_user(), appport, browser_window_create(), browser_window_drop_file_at_point(), browser_window_navigate(), gui_window::bw, BW_CREATE_CLONE, BW_CREATE_HISTORY, BW_CREATE_TAB, BW_NAVIGATE_HISTORY, gui_window_2::gw, netsurf_path_to_nsurl(), NSERROR_OK, nsurl_unref(), ShowWindow, and gui_window_2::win.

Referenced by ami_get_msg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_handle_msg()

static BOOL ami_handle_msg ( void  )
static

Definition at line 2584 of file gui.c.

References ami_gui_menu_get_check_toggled(), ami_gui_menu_quit_selected(), ami_gui_menu_update_all(), ami_quit_netsurf(), ami_try_quit(), AMINS_GUIOPTSWINDOW, ami_win_event_table::event, GetHead(), GetSucc(), IsMinListEmpty, nsObject::objstruct, scrn, ami_generic_window::tbl, nsObject::Type, and window_list.

Referenced by ami_get_msg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_key_to_nskey()

int ami_key_to_nskey ( ULONG  keycode,
struct InputEvent *  ie 
)

◆ ami_locale_langs()

STRPTR ami_locale_langs ( int *  codeset)

Definition at line 702 of file gui.c.

References ami_gui_map_filename(), and ASPrintf().

Referenced by ami_gui_opts_event(), and ami_set_options().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_locate_resource()

bool ami_locate_resource ( char *  fullpath,
const char *  file 
)

Definition at line 814 of file gui.c.

References ami_gui_check_resource(), ami_gui_map_filename(), current_user_dir, netsurf_mkpath(), and nsoption_charp.

Referenced by ami_gui_hotlist_add(), ami_menu_alloc_item(), gui_get_resource_url(), and main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_mouse_to_ns_coords()

bool ami_mouse_to_ns_coords ( struct gui_window_2 gwin,
int *restrict  x,
int *restrict  y,
int  mouse_x,
int  mouse_y 
)

Definition at line 1898 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_spacebox_to_ns_coords(), amiga_warn_user(), GID_BROWSER, mouse_x, mouse_y, NSERROR_OK, gui_window_2::objects, and gui_window_2::win.

Referenced by ami_gui_scroll_internal(), and ami_handle_appmsg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_ns_rect_to_ibox()

static struct IBox * ami_ns_rect_to_ibox ( struct gui_window_2 gwin,
const struct rect rect 
)
static

Definition at line 2000 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), amiga_warn_user(), GID_BROWSER, NSERROR_OK, gui_window_2::objects, gui_window_2::win, rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by gui_window_drag_start().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_openscreen()

static void ami_openscreen ( void  )
static
Todo:
specify screen depth

Definition at line 1234 of file gui.c.

References ami_font_setdevicedpi(), ami_gui_get_screen_title(), ami_help_new_screen(), ami_nsoption_write(), ami_set_screen_defaults(), locked_screen, NSLOG, nsoption_charp, nsoption_int, nsoption_set_charp, SA_Compositing, screen_signal, and scrn.

Referenced by ami_openscreenfirst().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_openscreenfirst()

static void ami_openscreenfirst ( void  )
static

Definition at line 1321 of file gui.c.

References ami_openscreen(), ami_plot_ra_alloc(), ami_theme_throbber_setup(), and browserglob.

Referenced by gui_init2(), and gui_window_create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_quit_netsurf()

void ami_quit_netsurf ( void  )

Definition at line 3797 of file gui.c.

References ami_quit, AMINS_WINDOW, ami_win_event_table::close, GetHead(), GetSucc(), IsMinListEmpty, ami_generic_window::node, nsoption_set_bool, nsObject::objstruct, ShowWindow, ami_generic_window::tbl, nsObject::Type, gui_window_2::w, gui_window_2::win, win_destroyed, WINDOW_BACKMOST, and window_list.

Referenced by ami_handle_applib(), ami_handle_msg(), ami_quit_netsurf_delayed(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_quit_netsurf_delayed()

static void ami_quit_netsurf_delayed ( void  )
static

Definition at line 3831 of file gui.c.

References ami_quit_netsurf(), ami_utf8_easy(), and messages_get().

Referenced by ami_get_msg().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_redraw_callback()

static void ami_redraw_callback ( void *  p)
static

Definition at line 5613 of file gui.c.

References ami_do_redraw(), ami_gui_window_update_box_deferred(), gui_window::c_h, gui_window::c_x, gui_window::c_y, gui_window_place_caret(), gui_window_2::gw, and gui_window_2::redraw_required.

Referenced by ami_schedule_redraw(), and ami_schedule_redraw_remove().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_refresh_window()

static void ami_refresh_window ( struct gui_window_2 gwin)
static

Definition at line 4547 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_reset_pointer(), ami_set_pointer(), amiga_warn_user(), amiga_window_invalidate_area(), GID_BROWSER, GUI_POINTER_WAIT, gui_window_2::gw, NSERROR_OK, gui_window_2::objects, gui_window::scrollx, gui_window::scrolly, gui_window_2::win, rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_reset_pointer()

void ami_reset_pointer ( struct gui_window_2 gwin)

Definition at line 696 of file gui.c.

References ami_gui2_get_window(), ami_update_pointer(), and gui_window_2::mouse_pointer.

Referenced by ami_do_redraw_tiled(), ami_gui_window_update_box_deferred(), ami_refresh_window(), gui_window_save_link(), HOOKF(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_schedule_redraw()

void ami_schedule_redraw ( struct gui_window_2 gwin,
bool  full_redraw 
)

Schedule a redraw of the browser window - Amiga-specific function.

Parameters
gwina struct gui_window_2
full_redrawset to true to schedule a full redraw, should only be set to false when called from amiga_window_invalidate_area()

Definition at line 5637 of file gui.c.

References ami_redraw_callback(), ami_schedule(), and gui_window_2::redraw_required.

Referenced by ami_gui_adjust_scale(), ami_gui_console_log_add(), ami_gui_console_log_remove(), ami_gui_hotlist_toolbar_add(), ami_gui_hotlist_toolbar_remove(), ami_gui_set_scale(), amiga_window_invalidate_area(), gui_window_set_scroll(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_schedule_redraw_remove()

static void ami_schedule_redraw_remove ( struct gui_window_2 gwin)
static

Definition at line 5645 of file gui.c.

References ami_redraw_callback(), and ami_schedule().

Referenced by gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_set_border_gadget_size()

static void ami_set_border_gadget_size ( struct gui_window_2 gwin)
static

Definition at line 2567 of file gui.c.

References GID_STATUS, gui_window_2::objects, RefreshSetGadgetAttrs(), and gui_window_2::win.

Referenced by ami_gui_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_set_options()

static nserror ami_set_options ( struct nsoption_s defaults)
static

Set option defaults for amiga frontend.

Parameters
defaultsThe option table to update.
Returns
error status.

Definition at line 1060 of file gui.c.

References ami_locale_langs(), current_user_dir, LIB_IS_AT_LEAST, NSERROR_OK, nsoption_bool, nsoption_charp, nsoption_set_bool, nsoption_set_charp, nsoption_set_int, nsoption_setnull_charp, and ObtainCharsetInfo.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_set_pointer()

void ami_set_pointer ( struct gui_window_2 gwin,
gui_pointer_shape  shape,
bool  update 
)

Definition at line 688 of file gui.c.

References ami_gui2_get_window(), ami_update_pointer(), and gui_window_2::mouse_pointer.

Referenced by ami_do_redraw_tiled(), ami_gui_event(), ami_gui_window_update_box_deferred(), ami_refresh_window(), gui_window_save_link(), gui_window_set_pointer(), HOOKF(), and RXHOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_set_screen_defaults()

static void ami_set_screen_defaults ( struct Screen *  screen)
static

Definition at line 985 of file gui.c.

References AMINS_SCROLLERPEN, colour_option_from_pen(), DISABLEDTEXTPEN, height, nsoption_default_set_int, and width.

Referenced by ami_openscreen(), gui_init2(), and HOOKF().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_spacebox_to_ns_coords()

static bool ami_spacebox_to_ns_coords ( struct gui_window_2 gwin,
int *restrict  x,
int *restrict  y,
int  space_x,
int  space_y 
)
static

Definition at line 1883 of file gui.c.

References gui_window_2::gw, gui_window::scrollx, and gui_window::scrolly.

Referenced by ami_do_redraw(), and ami_mouse_to_ns_coords().

Here is the caller graph for this function:

◆ ami_switch_tab()

static void ami_switch_tab ( struct gui_window_2 gwin,
bool  redraw 
)
static

◆ ami_system_colour_scrollbar_fgpen()

static UWORD ami_system_colour_scrollbar_fgpen ( struct DrawInfo *  drinfo)
static

Definition at line 916 of file gui.c.

Referenced by colour_option_from_pen().

Here is the caller graph for this function:

◆ ami_text_box_at_point()

bool ami_text_box_at_point ( struct gui_window_2 gwin,
ULONG *restrict  x,
ULONG *restrict  y 
)

Definition at line 6179 of file gui.c.

References ami_get_hscroll_pos(), ami_get_vscroll_pos(), ami_gui_free_space_box(), ami_gui_get_space_box(), amiga_warn_user(), browser_window_get_features(), gui_window::bw, browser_window_features::CTX_FORM_TEXT, browser_window_features::form_features, GID_BROWSER, gui_window_2::gw, NSERROR_OK, and gui_window_2::objects.

Referenced by ami_drag_selection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_toggletabbar()

static void ami_toggletabbar ( struct gui_window_2 gwin,
bool  show 
)
static

Definition at line 4217 of file gui.c.

References ami_ctxmenu_clicktab_create(), amiga_window_invalidate_area(), browser_window_get_title(), ButtonObj, gui_window::bw, CLICKTAB_CloseImage, gui_window_2::clicktab_ctxmenu, CLICKTAB_FlagImage, CLICKTAB_LabelTruncate, ClickTabObj, GA_ContextMenu, GA_HintInfo, GID_ADDTAB, GID_ADDTAB_BM, GID_CLOSETAB_BM, GID_MAIN, GID_TABLAYOUT, GID_TABS, GID_TABS_FLAG, gui_window_set_title(), gui_window_update_extent(), gui_window_2::gw, gui_window_2::helphints, IDoMethod, gui_window_2::objects, gui_window_2::tab_list, and gui_window_2::win.

Referenced by ami_gui_tabs_toggle_all(), gui_window_create(), and gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_try_quit()

void ami_try_quit ( void  )

Definition at line 3894 of file gui.c.

References ami_gui_close_screen(), ami_quit, IsMinListEmpty, locked_screen, nsoption_bool, scrn, and window_list.

Referenced by ami_handle_msg(), gui_download_window_done(), and gui_window_destroy().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_update_buttons()

static void ami_update_buttons ( struct gui_window_2 gwin)
static

Definition at line 1626 of file gui.c.

References AMI_CTXMENU_HISTORY_BACK, ami_ctxmenu_history_create(), AMI_CTXMENU_HISTORY_FORWARD, ami_gui_menu_set_disabled(), BOOL_MISMATCH, browser_window_back_available(), browser_window_forward_available(), browser_window_reload_available(), browser_window_stop_available(), gui_window::bw, GID_BACK, GID_CLOSETAB, GID_FORWARD, GID_RELOAD, GID_STOP, gui_window_2::gw, gui_window_2::imenu, M_CLOSETAB, nsoption_bool, gui_window_2::objects, reload, gui_window_2::tabs, and gui_window_2::win.

Referenced by ami_do_redraw(), ami_gui_history(), ami_switch_tab(), gui_window_create(), and gui_window_set_url().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_update_quals()

static void ami_update_quals ( struct gui_window_2 gwin)
static

Definition at line 1851 of file gui.c.

References ami_gui_get_quals(), gui_window_2::key_state, gui_window_2::objects, and OID_MAIN.

Referenced by ami_gui_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_window_at_pointer()

void * ami_window_at_pointer ( int  type)

undocumented, or internal, or documented elsewhere

Todo:
check if OS4 version of this function will build on OS3, even if it isn't called

Definition at line 682 of file gui.c.

Referenced by ami_cw_drag_end(), ami_drag_selection(), ami_history_global_drag_end(), and ami_hotlist_drag_end().

Here is the caller graph for this function:

◆ amiga_window_invalidate_area()

static nserror amiga_window_invalidate_area ( struct gui_window g,
const struct rect *restrict  rect 
)
static

Invalidates an area of an amiga browser window.

Parameters
ggui_window
rectarea to redraw or NULL for the entire window area
Returns
NSERROR_OK on success or appropriate error code

Definition at line 3698 of file gui.c.

References AddObject(), ami_gui_window_update_box_deferred_check(), ami_memory_itempool_alloc, ami_schedule_redraw(), AMINS_RECT, gui_window::deferred_rects, gui_window::deferred_rects_pool, gui_window_2::gw, NSERROR_BAD_PARAMETER, NSERROR_OK, NSLOG, nsObject::objstruct, and gui_window::shared.

Referenced by ami_do_redraw(), ami_refresh_window(), ami_switch_tab(), and ami_toggletabbar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ colour_option_from_pen()

static nserror colour_option_from_pen ( UWORD  pen,
enum nsoption_e  option,
struct Screen *  screen,
colour  def_colour 
)
static

set option from pen

Definition at line 934 of file gui.c.

References ami_system_colour_scrollbar_fgpen(), AMINS_SCROLLERPEN, nsoption_s::c, NSERROR_BAD_PARAMETER, NSERROR_OK, NSOPTION_SYS_COLOUR_END, NSOPTION_SYS_COLOUR_START, nsoptions, nsoptions_default, OPTION_COLOUR, type, and nsoption_s::value.

Referenced by ami_set_screen_defaults().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_file_gadget_open()

static void gui_file_gadget_open ( struct gui_window g,
struct hlcache_handle hl,
struct form_control gadget 
)
static

Definition at line 6329 of file gui.c.

References browser_window_set_gadget_filename(), gui_window::bw, filereq, messages_get(), NSLOG, scrn, gui_window::shared, and gui_window_2::win.

Here is the call graph for this function:

◆ gui_get_resource_url()

static nsurl * gui_get_resource_url ( const char *  path)
static

Definition at line 1216 of file gui.c.

References ami_locate_resource(), netsurf_path_to_nsurl(), and path().

Here is the call graph for this function:

◆ gui_init2()

static void gui_init2 ( int  argc,
char **  argv 
)
static

Definition at line 1435 of file gui.c.

References ami_appid, ami_arexx_init(), ami_arexx_self(), ami_openscreenfirst(), ami_quit, ami_set_screen_defaults(), amiga_warn_user(), applibport, applibsig, ASPrintf(), browser_window_create(), BW_CREATE_CLONE, BW_CREATE_HISTORY, cli_force, DevNameFromLock, DN_FULLPATH, hotlist_init(), messages_get(), messages_get_errorcode(), netsurf_path_to_nsurl(), NSERROR_OK, nsoption_bool, nsoption_charp, nsoption_int, nsoption_setnull_charp, nsurl_access(), nsurl_create(), nsurl_unref(), rxsig, scrn, search_web_select_provider(), and temp_homepage_url.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_page_info_change()

static nserror gui_page_info_change ( struct gui_window gw)
static

Definition at line 3257 of file gui.c.

References ami_gui_get_browser_window(), ami_gui_get_gui_window_2(), browser_window_get_page_info_state(), browser_window::bw, GA_HintInfo, GID_PAGEINFO, GID_PAGEINFO_INSECURE_BM, GID_PAGEINFO_INTERNAL_BM, GID_PAGEINFO_LOCAL_BM, GID_PAGEINFO_SECURE_BM, GID_PAGEINFO_WARNING_BM, gui_window_2::gw, gui_window_2::helphints, NSERROR_OK, gui_window_2::objects, PAGE_STATE_INSECURE, PAGE_STATE_INTERNAL, PAGE_STATE_LOCAL, PAGE_STATE_SECURE, PAGE_STATE_SECURE_ISSUES, PAGE_STATE_SECURE_OVERRIDE, RefreshSetGadgetAttrs(), and gui_window_2::win.

Referenced by ami_switch_tab(), and gui_window_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_quit()

static void gui_quit ( void  )
static

◆ gui_search_web_provider_update()

static nserror gui_search_web_provider_update ( const char *  provider_name,
struct bitmap ico_bitmap 
)
static

Gui callback when search provider details are updated.

Parameters
provider_nameThe providers name.
ico_bitmapThe icon bitmap representing the provider.
Returns
NSERROR_OK on success else error code.

Definition at line 6000 of file gui.c.

References ami_bitmap_get_native(), ami_plot_screen_is_palettemapped(), AMINS_WINDOW, BITMAP_HasAlpha, BitMapObj, GA_HintInfo, GetHead(), GetSucc(), GID_SEARCH_ICON, IsMinListEmpty, LIB_IS_AT_LEAST, NSERROR_BAD_PARAMETER, NSERROR_OK, nsoption_bool, gui_window_2::objects, nsObject::objstruct, RefreshSetGadgetAttrs(), scrn, gui_window_2::search_bm, nsObject::Type, gui_window_2::win, and window_list.

Here is the call graph for this function:

◆ gui_window_console_log()

static void gui_window_console_log ( struct gui_window g,
browser_window_console_source  src,
const char *  msg,
size_t  msglen,
browser_window_console_flags  flags 
)
static

◆ gui_window_create()

static struct gui_window * gui_window_create ( struct browser_window bw,
struct gui_window existing,
gui_window_create_flags  flags 
)
static

\TODO write OS3-compatible version

Definition at line 4699 of file gui.c.

References ami_AllocMinList(), ami_ctxmenu_get_hook(), AMI_CTXMENU_HISTORY_BACK, ami_ctxmenu_history_create(), AMI_CTXMENU_HISTORY_FORWARD, ami_get_theme_filename(), ami_gui_count_windows(), ami_gui_get_screen_title(), ami_gui_hotlist_toolbar_add(), ami_gui_menu_create(), ami_gui_opts_websearch(), ami_gui_refresh_favicon(), ami_gui_search_ico_refresh(), ami_gui_table, ami_gui_win_list_add(), ami_memory_itempool_create, ami_openscreenfirst(), ami_schedule(), ami_switch_tab(), ami_theme_throbber_get_height(), ami_theme_throbber_get_width(), ami_toggletabbar(), ami_update_buttons(), ami_utf8_easy(), amiga_warn_user(), AMINS_WINDOW, appport, gui_window_2::appwin, BevelObj, BITMAP_DisabledSourceFile, BitMapObj, gui_window_2::browser_hook, ButtonObj, gui_window::bw, ChooserObj, gui_window_2::clicktab_ctxmenu, CLICKTAB_LabelTruncate, ClickTabObj, gui_window_2::ctxmenu_hook, cur_gw, gui_window::deferred_rects, gui_window::deferred_rects_pool, gui_window::dllist, gui_window_2::favicon_hook, GA_ContextMenu, GA_HintInfo, GAUGEIA_Level, GID_ADDTAB, GID_ADDTAB_BM, GID_BACK, GID_BROWSER, GID_CLOSETAB, GID_CLOSETAB_BM, GID_FAVE, GID_FAVE_ADD, GID_FAVE_RMV, GID_FORWARD, GID_HOME, GID_HOTLISTLAYOUT, GID_HSCROLLLAYOUT, GID_ICON, GID_LOGLAYOUT, GID_MAIN, GID_PAGEINFO, GID_PAGEINFO_INSECURE_BM, GID_PAGEINFO_INTERNAL_BM, GID_PAGEINFO_LOCAL_BM, GID_PAGEINFO_SECURE_BM, GID_PAGEINFO_WARNING_BM, GID_RELOAD, GID_SEARCH_ICON, GID_SEARCHSTRING, GID_STATUS, GID_STOP, GID_TABLAYOUT, GID_TABS, GID_TABS_FLAG, GID_THROBBER, GID_TOOLBARLAYOUT, GID_URL, GID_VSCROLLLAYOUT, gui_window_2::gw, GW_CREATE_TAB, height, gui_window_2::helphints, gui_window_2::history_ctxmenu, IA_InBorder, IA_Label, IDCMP_EXTENDEDMOUSE, gui_window_2::last_new_tab, LayoutHObj, LayoutVObj, locked_screen, gui_window::logcolumns, gui_window::loglist, messages_get(), NewObject(), NewObjList(), newprefs_hook, gui_window_2::next_tab, NSLOG, nsoption_bool, nsoption_charp, nsoption_int, gui_window_2::objects, OID_MAIN, RefreshSetGadgetAttrs(), reload, reload_g, scrn, gui_window_2::scrollerhook, gui_window_2::search_bm, gui_window::shared, gui_window_2::shared_pens, SpaceObj, sport, gui_window::stop, StringObj, STRINGVIEW_Header, gui_window_2::svbuffer, gui_window::tab, gui_window_2::tab_list, gui_window::tab_node, gui_window_2::tabs, gui_window_2::throbber_hook, TNA_CloseGadget, translate_escape_chars(), URLHistory_GetList(), WA_ContextMenuHook, gui_window_2::web_search_list, width, gui_window_2::win, WINDOW_BuiltInScroll, WINDOW_NewPrefsHook, and WindowObj.

Here is the call graph for this function:

◆ gui_window_destroy()

static void gui_window_destroy ( struct gui_window g)
static

Definition at line 5484 of file gui.c.

References AMI_CTXMENU_HISTORY_BACK, AMI_CTXMENU_HISTORY_FORWARD, ami_ctxmenu_release_hook(), ami_free_download_list(), ami_gui_appicon_remove(), ami_gui_hotlist_toolbar_free(), ami_gui_menu_free(), ami_gui_opts_websearch_free(), ami_gui_refresh_favicon(), ami_gui_win_list_remove(), ami_history_local_destroy(), ami_memory_itempool_delete, ami_plot_release_pens(), ami_schedule(), ami_schedule_redraw_remove(), ami_search_close(), ami_search_get_gwin(), ami_switch_tab(), ami_toggletabbar(), ami_try_quit(), ami_utf8_free(), gui_window_2::appwin, gui_window_2::ctxmenu_hook, cur_gw, gui_window::deferred_rects, gui_window::deferred_rects_pool, gui_window::dllist, FreeObjList(), GetPred(), GetSucc(), GID_ADDTAB_BM, GID_CLOSETAB_BM, GID_FAVE_ADD, GID_FAVE_RMV, GID_LAST, GID_PAGEINFO_INSECURE_BM, GID_PAGEINFO_INTERNAL_BM, GID_PAGEINFO_LOCAL_BM, GID_PAGEINFO_SECURE_BM, GID_PAGEINFO_WARNING_BM, GID_TABLAYOUT, GID_TABS, GID_TABS_FLAG, gui_window_stop_throbber(), gui_window_2::helphints, gui_window_2::history_ctxmenu, gui_window_2::hotlist_toolbar_list, gui_window::hw, IsMinListEmpty, gui_window::logcolumns, gui_window::loglist, nsoption_bool, gui_window_2::objects, OID_MAIN, RefreshSetGadgetAttrs(), gui_window_2::search_bm, gui_window_2::searchwin, gui_window::shared, gui_window_2::shared_pens, gui_window_2::status, gui_window_2::svbuffer, gui_window_2::tab_list, gui_window::tab_node, gui_window_2::tabs, gui_window::tabtitle, gui_window_2::web_search_list, gui_window_2::win, win_destroyed, window_list, and gui_window_2::wintitle.

Referenced by menu_close_win().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_drag_start()

static bool gui_window_drag_start ( struct gui_window g,
gui_drag_type  type,
const struct rect rect 
)
static

Definition at line 6154 of file gui.c.

References ami_ns_rect_to_ibox(), gui_window_2::drag_op, GDRAGGING_NONE, gui_window_2::ptr_lock, gui_window::shared, type, and gui_window_2::win.

Here is the call graph for this function:

◆ gui_window_event()

static nserror gui_window_event ( struct gui_window gw,
enum gui_window_event  event 
)
static

process miscellaneous window events

Parameters
gwThe window receiving the event.
eventThe event code.
Returns
NSERROR_OK when processed ok

Definition at line 6441 of file gui.c.

References gui_page_info_change(), gui_start_selection(), gui_window_new_content(), gui_window_remove_caret(), gui_window_start_throbber(), gui_window_stop_throbber(), gui_window_update_extent(), GW_EVENT_NEW_CONTENT, GW_EVENT_PAGE_INFO_CHANGE, GW_EVENT_REMOVE_CARET, GW_EVENT_START_SELECTION, GW_EVENT_START_THROBBER, GW_EVENT_STOP_THROBBER, GW_EVENT_UPDATE_EXTENT, and NSERROR_OK.

Here is the call graph for this function:

◆ gui_window_get_dimensions()

static nserror gui_window_get_dimensions ( struct gui_window gw,
int *restrict  width,
int *restrict  height 
)
static

Find the current dimensions of a amiga browser window content area.

Parameters
gwThe gui window to measure content area of.
widthreceives width of window
heightreceives height of window
Returns
NSERROR_OK on sucess and width and height updated else error code.

Definition at line 2087 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), amiga_warn_user(), GID_BROWSER, height, NSERROR_OK, gui_window_2::objects, gui_window::shared, and width.

Referenced by ami_gui_scroller_update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_get_scroll()

static bool gui_window_get_scroll ( struct gui_window g,
int *restrict  sx,
int *restrict  sy 
)
static

Definition at line 5836 of file gui.c.

References ami_get_hscroll_pos(), ami_get_vscroll_pos(), and gui_window::shared.

Referenced by ami_gui_event(), ami_gui_scroll_internal(), and ami_switch_tab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_new_content()

static void gui_window_new_content ( struct gui_window g)
static

Definition at line 6133 of file gui.c.

References ami_clearclipreg(), ami_gui_menu_update_disabled(), ami_gui_scroller_update(), ami_gui_update_hotlist_button(), ami_plot_release_pens(), browser_window_get_content(), browser_window_has_content(), browserglob, gui_window::bw, gui_window::favicon, gui_window_2::new_content, gui_window_2::oldh, gui_window_2::oldv, gui_window::scrollx, gui_window::scrolly, gui_window::shared, and gui_window_2::shared_pens.

Referenced by gui_window_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_place_caret()

static void gui_window_place_caret ( struct gui_window g,
int  x,
int  y,
int  height,
const struct rect clip 
)
static

Definition at line 6075 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_gui_menu_set_disabled(), amiga_warn_user(), gui_window::c_h, gui_window::c_w, gui_window::c_x, gui_window::c_y, GID_BROWSER, gui_window_remove_caret(), height, gui_window_2::imenu, M_PASTE, NSERROR_OK, nsoption_bool, gui_window_2::objects, gui_window::scrollx, gui_window::scrolly, gui_window::shared, and gui_window_2::win.

Referenced by ami_redraw_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_remove_caret()

static void gui_window_remove_caret ( struct gui_window g)
static

Definition at line 6119 of file gui.c.

References ami_do_redraw_limits(), ami_gui_menu_set_disabled(), gui_window::bw, gui_window::c_h, gui_window::c_w, gui_window::c_x, gui_window::c_y, gui_window_2::imenu, M_PASTE, nsoption_bool, gui_window::shared, and gui_window_2::win.

Referenced by ami_do_redraw(), ami_gui_event(), gui_window_event(), and gui_window_place_caret().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_set_icon()

static void gui_window_set_icon ( struct gui_window g,
struct hlcache_handle icon 
)
static

function to add retrieved favicon to gui

Definition at line 2462 of file gui.c.

References ami_bitmap_get_mask(), ami_bitmap_get_native(), ami_gui_free_space_box(), ami_gui_get_space_box(), ami_plot_screen_is_palettemapped(), amiga_bitmap_get_opaque(), amiga_warn_user(), BLITA_MaskPlane, BLITA_UseSrcAlpha, content_get_bitmap(), gui_window::favicon, GID_ICON, gui_window_2::gw, MINTERM_SRCMASK, NSERROR_OK, nsoption_bool, gui_window_2::objects, gui_window::shared, and gui_window_2::win.

Referenced by ami_gui_refresh_favicon(), and ami_switch_tab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_set_scroll()

static nserror gui_window_set_scroll ( struct gui_window g,
const struct rect rect 
)
static

Set the scroll position of a amiga browser window.

Scrolls the viewport to ensure the specified rectangle of the content is shown. The amiga implementation scrolls the contents so the specified point in the content is at the top of the viewport.

Parameters
ggui_window to scroll
rectThe rectangle to ensure is shown.
Returns
NSERROR_OK on success or apropriate error code.

Definition at line 5856 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_schedule_redraw(), amiga_warn_user(), browser_window_get_extents(), browser_window_has_content(), gui_window::bw, GID_BROWSER, GID_HSCROLL, GID_VSCROLL, gui_window_2::gw, height, NSERROR_BAD_PARAMETER, NSERROR_OK, nsoption_bool, gui_window_2::objects, gui_window_2::redraw_scroll, RefreshSetGadgetAttrs(), gui_window::scrollx, gui_window::scrolly, gui_window::shared, width, gui_window_2::win, rect::x0, and rect::y0.

Referenced by ami_gui_event(), ami_gui_scroll_internal(), and ami_switch_tab().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_set_status()

static void gui_window_set_status ( struct gui_window g,
const char *  text 
)
static

Definition at line 5922 of file gui.c.

References ami_utf8_easy(), ami_utf8_free(), GID_STATUS, gui_window_2::gw, NSA_STATUS_TEXT, gui_window_2::objects, scrn, gui_window::shared, gui_window_2::status, text(), and gui_window_2::win.

Here is the call graph for this function:

◆ gui_window_set_title()

static void gui_window_set_title ( struct gui_window g,
const char *restrict  title 
)
static

Definition at line 3601 of file gui.c.

References ami_gui_get_screen_title(), ami_utf8_easy(), ami_utf8_free(), GID_TABLAYOUT, GID_TABS, gui_window_2::gw, gui_window_2::objects, RefreshSetGadgetAttrs(), gui_window::shared, gui_window_2::tab_list, gui_window::tab_node, gui_window::tabtitle, TNA_HintInfo, gui_window_2::win, and gui_window_2::wintitle.

Referenced by ami_switch_tab(), and ami_toggletabbar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gui_window_set_url()

static nserror gui_window_set_url ( struct gui_window g,
nsurl url 
)
static

Definition at line 5956 of file gui.c.

References ami_update_buttons(), ami_utf8_easy(), ami_utf8_free(), GID_URL, gui_window_2::gw, NSERROR_OK, nsoption_bool, nsurl_access(), nsurl_get_utf8(), gui_window_2::objects, RefreshSetGadgetAttrs(), gui_window::shared, and gui_window_2::win.

Here is the call graph for this function:

◆ gui_window_update_extent()

static void gui_window_update_extent ( struct gui_window g)
static

Definition at line 3651 of file gui.c.

References ami_gui_free_space_box(), ami_gui_get_space_box(), ami_gui_scroller_update(), amiga_warn_user(), browser_window_get_extents(), browser_window_has_content(), gui_window::bw, GID_BROWSER, GID_HSCROLL, GID_VSCROLL, gui_window_2::gw, height, gui_window_2::new_content, NSERROR_OK, gui_window_2::objects, RefreshSetGadgetAttrs(), gui_window::shared, width, and gui_window_2::win.

Referenced by ami_switch_tab(), ami_toggletabbar(), and gui_window_event().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HOOKF() [1/5]

HOOKF ( uint32  ,
ami_gui_browser_render_hook  ,
APTR  ,
space  ,
struct gpRender *   
)

Definition at line 6062 of file gui.c.

References ami_schedule_redraw(), and NSLOG.

Here is the call graph for this function:

◆ HOOKF() [2/5]

HOOKF ( uint32  ,
ami_set_favicon_render_hook  ,
APTR  ,
space  ,
struct gpRender *   
)

Definition at line 5987 of file gui.c.

References ami_gui_refresh_favicon(), and ami_schedule().

Here is the call graph for this function:

◆ HOOKF() [3/5]

HOOKF ( uint32  ,
ami_set_throbber_render_hook  ,
APTR  ,
space  ,
struct gpRender *   
)

Definition at line 6055 of file gui.c.

References ami_throbber_redraw_schedule(), and gui_window_2::gw.

Here is the call graph for this function:

◆ HOOKF() [4/5]

HOOKF ( void  ,
ami_gui_newprefs_hook  ,
APTR  ,
window  ,
APTR   
)

Definition at line 1229 of file gui.c.

References ami_set_screen_defaults(), and scrn.

Here is the call graph for this function:

◆ HOOKF() [5/5]

HOOKF ( void  ,
ami_scroller_hook  ,
Object *  ,
object  ,
struct IntuiMessage *   
)

Definition at line 4595 of file gui.c.

References ami_gui_scroll_internal(), ami_refresh_window(), ami_schedule_redraw(), BROWSER_MOUSE_MOD_2, browser_window_create(), browser_window_navigate(), gui_window::bw, BW_CREATE_TAB, BW_NAVIGATE_HISTORY, GID_HOTLIST, GID_HSCROLL, GID_VSCROLL, gui_window_2::gw, IDCMP_EXTENDEDMOUSE, gui_window_2::key_state, NSLOG, nsoption_bool, and gui_window_2::redraw_scroll.

Here is the call graph for this function:

◆ main()

int main ( int  argc,
char **  argv 
)

Normal entry point from OS.

Definition at line 6528 of file gui.c.

References ami_amiupdate(), ami_arexx_execute(), ami_bitmap_fini(), ami_clipboard_init(), ami_ctxmenu_init(), ami_file_req_init(), ami_font_init(), ami_font_setdevicedpi(), ami_get_msg(), ami_gui_commandline(), ami_gui_get_user_dir(), ami_gui_read_all_tooltypes(), ami_gui_resources_free(), ami_gui_resources_open(), ami_gui_splash_close(), ami_gui_splash_open(), ami_init_mouse_pointers(), ami_layout_table, ami_libs_close(), ami_libs_open(), ami_locate_resource(), ami_memory_fini(), ami_memory_init(), ami_mime_free(), ami_mime_init(), ami_misc_fatal_error(), ami_nsoption_free(), ami_nsoption_read(), ami_openurl_open(), ami_quit, ami_set_options(), ami_theme_init(), amiga_bitmap_table, amiga_clipboard_table, amiga_datatypes_init, amiga_download_table, amiga_fetch_table, amiga_file_table, amiga_icon_init, amiga_misc_table, amiga_plugin_hack_init(), amiga_search_table, amiga_search_web_table, amiga_utf8_table, amiga_window_table, ASPrintf(), CreateDirTree, current_user_dir, current_user_faviconcache, filesystem_llcache_table, gui_init2(), messages_add_from_file(), netsurf_table::misc, netsurf_exit(), netsurf_init(), netsurf_register(), NewObjList(), NSERROR_OK, NSLOG, nslog_finalise(), nslog_init(), nsoption_charp, nsoption_commandline(), nsoption_finalise(), nsoption_init(), nsoptions, nsoptions_default, save_complete_init(), search_web_init(), urldb_load(), urldb_load_cookies(), win_destroyed, and window_list.

Here is the call graph for this function:

Variable Documentation

◆ ami_appid

uint32 ami_appid = 0
static

Definition at line 345 of file gui.c.

Referenced by ami_gui_get_app_id(), gui_init2(), and gui_quit().

◆ ami_gui_table

const struct ami_win_event_table ami_gui_table
static
Initial value:
= {
}
void ami_gui_close_window(void *w)
Close a window and all tabs attached to it.
Definition: gui.c:5473
static BOOL ami_gui_event(void *w)
Definition: gui.c:2630

Definition at line 4693 of file gui.c.

Referenced by gui_window_create().

◆ ami_quit

bool ami_quit = false
static

Definition at line 330 of file gui.c.

Referenced by ami_quit_netsurf(), ami_try_quit(), gui_init2(), and main().

◆ amiga_fetch_table

struct gui_fetch_table amiga_fetch_table
static
Initial value:
= {
.filetype = fetch_filetype,
.get_resource_url = gui_get_resource_url,
}
const char * fetch_filetype(const char *unix_path)
Determine the MIME type of a local file.
Definition: filetype.c:58
static nsurl * gui_get_resource_url(const char *path)
Definition: gui.c:1216

Definition at line 6509 of file gui.c.

Referenced by main().

◆ amiga_misc_table

struct gui_misc_table amiga_misc_table
static
Initial value:
= {
.schedule = ami_schedule,
.quit = gui_quit,
.launch_url = gui_launch_url,
.present_cookies = ami_cookies_present,
}
nserror ami_cookies_present(const char *search_term)
Open the cookie viewer.
Definition: cookies.c:348
static void gui_quit(void)
Definition: gui.c:3909
nserror ami_schedule(int t, void(*callback)(void *p), void *p)
Schedule a callback.
Definition: schedule.c:331
static nserror gui_launch_url(struct nsurl *url)
Broadcast an URL that we can't handle.
Definition: gui.c:2033

Definition at line 6519 of file gui.c.

Referenced by main().

◆ amiga_search_web_table

struct gui_search_web_table amiga_search_web_table
static
Initial value:
= {
.provider_update = gui_search_web_provider_update,
}
static nserror gui_search_web_provider_update(const char *provider_name, struct bitmap *ico_bitmap)
Gui callback when search provider details are updated.
Definition: gui.c:6000

Definition at line 6515 of file gui.c.

Referenced by main().

◆ amiga_utf8_table

struct gui_utf8_table* amiga_utf8_table
extern

Definition at line 136 of file utf8.c.

Referenced by main().

◆ amiga_window_table

struct gui_window_table amiga_window_table
static
Initial value:
= {
.create = gui_window_create,
.destroy = gui_window_destroy,
.get_scroll = gui_window_get_scroll,
.set_scroll = gui_window_set_scroll,
.get_dimensions = gui_window_get_dimensions,
.event = gui_window_event,
.set_icon = gui_window_set_icon,
.set_title = gui_window_set_title,
.set_url = gui_window_set_url,
.set_status = gui_window_set_status,
.place_caret = gui_window_place_caret,
.drag_start = gui_window_drag_start,
.create_form_select_menu = gui_create_form_select_menu,
.file_gadget_open = gui_file_gadget_open,
.drag_save_object = gui_drag_save_object,
.drag_save_selection = gui_drag_save_selection,
.console_log = gui_window_console_log,
.set_pointer = gui_window_set_pointer,
.save_link = gui_window_save_link,
}
static nserror gui_window_get_dimensions(struct gui_window *gw, int *restrict width, int *restrict height)
Find the current dimensions of a amiga browser window content area.
Definition: gui.c:2087
static void gui_window_set_status(struct gui_window *g, const char *text)
Definition: gui.c:5922
static nserror gui_window_event(struct gui_window *gw, enum gui_window_event event)
process miscellaneous window events
Definition: gui.c:6441
static void gui_window_destroy(struct gui_window *g)
Definition: gui.c:5484
static struct gui_window * gui_window_create(struct browser_window *bw, struct gui_window *existing, gui_window_create_flags flags)
Definition: gui.c:4699
static nserror amiga_window_invalidate_area(struct gui_window *g, const struct rect *restrict rect)
Invalidates an area of an amiga browser window.
Definition: gui.c:3698
static void gui_file_gadget_open(struct gui_window *g, struct hlcache_handle *hl, struct form_control *gadget)
Definition: gui.c:6329
static nserror gui_window_set_url(struct gui_window *g, nsurl *url)
Definition: gui.c:5956
static void gui_window_set_title(struct gui_window *g, const char *restrict title)
Definition: gui.c:3601
static void gui_window_place_caret(struct gui_window *g, int x, int y, int height, const struct rect *clip)
Definition: gui.c:6075
static nserror gui_window_set_scroll(struct gui_window *g, const struct rect *rect)
Set the scroll position of a amiga browser window.
Definition: gui.c:5856
static void gui_window_set_icon(struct gui_window *g, struct hlcache_handle *icon)
function to add retrieved favicon to gui
Definition: gui.c:2462
static bool gui_window_get_scroll(struct gui_window *g, int *restrict sx, int *restrict sy)
Definition: gui.c:5836
static bool gui_window_drag_start(struct gui_window *g, gui_drag_type type, const struct rect *rect)
Definition: gui.c:6154
static void gui_window_console_log(struct gui_window *g, browser_window_console_source src, const char *msg, size_t msglen, browser_window_console_flags flags)
Definition: gui.c:2348
void gui_window_set_pointer(struct gui_window *gw, gui_pointer_shape shape)
set the pointer shape
Definition: gui.c:481
void gui_drag_save_selection(struct gui_window *g, const char *selection)
Definition: drag.c:303
void gui_drag_save_object(struct gui_window *g, struct hlcache_handle *c, gui_save_type type)
Definition: drag.c:298
nserror gui_window_save_link(struct gui_window *g, nsurl *url, const char *title)
Definition: download.c:428
void gui_create_form_select_menu(struct gui_window *g, struct form_control *control)
Definition: selectmenu.c:190

Definition at line 6479 of file gui.c.

Referenced by main().

◆ applibport

struct MsgPort* applibport = NULL
static

Definition at line 344 of file gui.c.

Referenced by ami_handle_applib(), and gui_init2().

◆ applibsig

ULONG applibsig = 0
static

Definition at line 346 of file gui.c.

Referenced by ami_get_msg(), and gui_init2().

◆ appport

struct MsgPort* appport
static

◆ browserglob

struct gui_globals* browserglob = NULL
static

◆ cli_force

bool cli_force = false
static

Definition at line 351 of file gui.c.

Referenced by ami_gui_commandline(), and gui_init2().

◆ cur_gw

struct gui_window* cur_gw = NULL
static

◆ current_user_dir

char* current_user_dir
static

◆ current_user_faviconcache

char* current_user_faviconcache
static

Definition at line 356 of file gui.c.

Referenced by ami_gui_get_cache_favicon_name(), ami_gui_get_user_dir(), and main().

◆ locked_screen

BOOL locked_screen = FALSE
static

◆ newprefs_hook

struct Hook newprefs_hook
static

Definition at line 348 of file gui.c.

Referenced by gui_window_create().

◆ nsscreentitle

STRPTR nsscreentitle
static

Definition at line 341 of file gui.c.

Referenced by ami_gui_get_screen_title(), and gui_quit().

◆ rxsig

ULONG rxsig = 0
static

Definition at line 347 of file gui.c.

Referenced by ami_arexx_init(), ami_get_msg(), and gui_init2().

◆ schedulermsgport

struct MsgPort* schedulermsgport = NULL
static

Definition at line 332 of file gui.c.

Referenced by ami_get_msg(), ami_gui_resources_free(), and ami_gui_resources_open().

◆ screen_signal

int screen_signal = -1
static

Definition at line 339 of file gui.c.

Referenced by ami_gui_close_screen(), and ami_openscreen().

◆ scrn

struct Screen* scrn = NULL
static

◆ sport

struct MsgPort* sport = NULL
static

◆ temp_homepage_url

STRPTR temp_homepage_url = NULL
static

Definition at line 350 of file gui.c.

Referenced by ami_gui_commandline(), and gui_init2().

◆ users_dir

char* users_dir = NULL
static

Definition at line 354 of file gui.c.

Referenced by ami_gui_commandline(), ami_gui_get_user_dir(), and ami_gui_read_tooltypes().

◆ win_destroyed

bool win_destroyed
static

Definition at line 340 of file gui.c.

Referenced by ami_gui_event(), ami_quit_netsurf(), gui_window_destroy(), and main().

◆ window_list

struct MinList* window_list = NULL
static