NetSurf
Macros | Enumerations | Functions
rootwin.h File Reference
#include <atari/gui.h>
Include dependency graph for rootwin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GEMTK_WM_VISIBLE(gw)   (gw->root->handle->status & WS_OPEN)
 
#define GEMWIN_VISIBLE(win)   (win->status & WS_OPEN)
 
#define WIDGET_STATUSBAR   0x1
 
#define WIDGET_TOOLBAR   0x2
 
#define WIDGET_SCROLL   0x4
 
#define WIDGET_RESIZE   0x8
 
#define WIN_TOP   0x100
 

Enumerations

enum  browser_area_e {
  BROWSER_AREA_CONTENT = 1 , BROWSER_AREA_STATUSBAR , BROWSER_AREA_TOOLBAR , BROWSER_AREA_URL_INPUT ,
  BROWSER_AREA_SEARCH
}
 

Functions

int window_create (struct gui_window *gw, struct browser_window *bw, struct gui_window *existing, unsigned long flags)
 
int window_destroy (ROOTWIN *rootwin)
 
void window_open (ROOTWIN *rootwin, struct gui_window *gw, GRECT pos)
 show the window at specified position and make gw the active tab. More...
 
void window_snd_redraw (ROOTWIN *rootwin, short x, short y, short w, short h)
 
void window_update_back_forward (struct s_gui_win_root *rootwin)
 
void window_attach_browser (ROOTWIN *rootwin, CMP_BROWSER b)
 
void window_set_focus (ROOTWIN *rootwin, enum focus_element_type type, void *element)
 
bool window_widget_has_focus (ROOTWIN *rootwin, enum focus_element_type t, void *element)
 
bool window_url_widget_has_focus (ROOTWIN *rootwin)
 
void window_set_url (ROOTWIN *rootwin, const char *text)
 
void window_set_stauts (ROOTWIN *rootwin, char *text)
 
void window_set_title (ROOTWIN *rootwin, char *text)
 
void window_set_content_size (ROOTWIN *rootwin, int w, int h)
 Set the dimensions of the scrollable content. More...
 
void window_set_icon (ROOTWIN *rootwin, struct bitmap *bmp)
 
void window_set_active_gui_window (ROOTWIN *rootwin, struct gui_window *gw)
 
void window_restore_active_gui_window (ROOTWIN *rootwin)
 
void window_open_search (ROOTWIN *rootwin, bool reformat)
 
void window_close_search (ROOTWIN *rootwin)
 
void window_scroll_by (ROOTWIN *rootwin, int x, int y)
 
void window_schedule_redraw_grect (ROOTWIN *rootwin, GRECT *area)
 
void window_process_redraws (ROOTWIN *rootwin)
 
void window_place_caret (ROOTWIN *rootwin, short mode, int content_x, int content_y, int h, GRECT *work)
 
struct gui_windowwindow_get_active_gui_window (ROOTWIN *rootwin)
 
void window_get_scroll (ROOTWIN *rootwin, int *x, int *y)
 
void window_get_grect (ROOTWIN *rootwin, enum browser_area_e which, GRECT *d)
 
void window_redraw_favicon (struct s_gui_win_root *rootwin, GRECT *clip)
 Redraw the favicon. More...
 
void window_unref_gui_window (ROOTWIN *rootwin, struct gui_window *gw)
 
bool window_key_input (unsigned short kcode, unsigned short kstate, unsigned short nkc)
 

Macro Definition Documentation

◆ GEMTK_WM_VISIBLE

#define GEMTK_WM_VISIBLE (   gw)    (gw->root->handle->status & WS_OPEN)

Definition at line 24 of file rootwin.h.

◆ GEMWIN_VISIBLE

#define GEMWIN_VISIBLE (   win)    (win->status & WS_OPEN)

Definition at line 25 of file rootwin.h.

◆ WIDGET_RESIZE

#define WIDGET_RESIZE   0x8

Definition at line 30 of file rootwin.h.

◆ WIDGET_SCROLL

#define WIDGET_SCROLL   0x4

Definition at line 29 of file rootwin.h.

◆ WIDGET_STATUSBAR

#define WIDGET_STATUSBAR   0x1

Definition at line 27 of file rootwin.h.

◆ WIDGET_TOOLBAR

#define WIDGET_TOOLBAR   0x2

Definition at line 28 of file rootwin.h.

◆ WIN_TOP

#define WIN_TOP   0x100

Definition at line 31 of file rootwin.h.

Enumeration Type Documentation

◆ browser_area_e

Enumerator
BROWSER_AREA_CONTENT 
BROWSER_AREA_STATUSBAR 
BROWSER_AREA_TOOLBAR 
BROWSER_AREA_URL_INPUT 
BROWSER_AREA_SEARCH 

Definition at line 33 of file rootwin.h.

Function Documentation

◆ window_attach_browser()

void window_attach_browser ( ROOTWIN rootwin,
CMP_BROWSER  b 
)

◆ window_close_search()

void window_close_search ( ROOTWIN rootwin)

Definition at line 680 of file rootwin.c.

References s_gui_win_root::active_gui_window, gui_window::browser, BROWSER_AREA_CONTENT, BROWSER_AREA_TOOLBAR, browser_window_reformat(), browser_window::bw, gui_window::bw, s_browser::bw, nsatari_search_session_destroy(), gui_window::search, s_gui_win_root::toolbar, toolbar_set_visible(), s_gui_win_root::win, and window_get_grect().

Referenced by menu_find(), toolbar_mouse_input(), and window_open().

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

◆ window_create()

int window_create ( struct gui_window gw,
struct browser_window bw,
struct gui_window existing,
unsigned long  flags 
)

Definition at line 225 of file rootwin.c.

References s_gui_win_root::aes_handle, NS_ATARI_SYSINFO::aes_max_win_title_len, atari_sysinfo, BROWSER, gui_window::browser, s_browser::bw, desk_area, s_toolbar::form, handle_event(), s_gui_win_root::redraw_slots, redraw_slots_init(), gui_window::root, rootwin_data_s::rootwin, sb_create(), s_gui_win_root::statusbar, s_gui_win_root::title, s_gui_win_root::toolbar, toolbar_create(), toolbar_redraw_cb(), WIDGET_RESIZE, WIDGET_SCROLL, WIDGET_STATUSBAR, WIDGET_TOOLBAR, s_gui_win_root::win, WIN_TOP, and window_set_focus().

Referenced by gui_window_create().

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

◆ window_destroy()

int window_destroy ( ROOTWIN rootwin)

Definition at line 336 of file rootwin.c.

References s_gui_win_root::aes_handle, gui_window::next, NSLOG, gui_window::root, sb_destroy(), s_gui_win_root::statusbar, s_gui_win_root::title, s_gui_win_root::toolbar, toolbar_destroy(), s_gui_win_root::win, and window_list.

Referenced by window_unref_gui_window().

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

◆ window_get_active_gui_window()

struct gui_window * window_get_active_gui_window ( ROOTWIN rootwin)

Definition at line 586 of file rootwin.c.

References s_gui_win_root::active_gui_window.

Referenced by gui_window_update_extent(), handle_event(), on_content_mouse_click(), on_content_mouse_move(), on_file_dropped(), on_resized(), on_window_key_input(), toolbar_back_click(), toolbar_forward_click(), toolbar_home_click(), toolbar_key_input(), toolbar_mouse_input(), toolbar_reload_click(), toolbar_set_url(), and toolbar_stop_click().

Here is the caller graph for this function:

◆ window_get_grect()

void window_get_grect ( ROOTWIN rootwin,
enum browser_area_e  which,
GRECT *  d 
)

Definition at line 601 of file rootwin.c.

References BROWSER_AREA_CONTENT, BROWSER_AREA_SEARCH, BROWSER_AREA_TOOLBAR, BROWSER_AREA_URL_INPUT, s_gui_win_root::toolbar, toolbar_get_grect(), and s_gui_win_root::win.

Referenced by atari_window_invalidate_area(), get_context_info(), gui_window_get_dimensions(), gui_window_update_extent(), handle_event(), menu_debug_render(), nsatari_search_set_back_state(), nsatari_search_set_forward_state(), on_content_keypress(), on_content_mouse_click(), on_file_dropped(), window_close_search(), window_open_search(), window_place_caret(), window_process_redraws(), and window_set_content_size().

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

◆ window_get_scroll()

void window_get_scroll ( ROOTWIN rootwin,
int *  x,
int *  y 
)

Definition at line 591 of file rootwin.c.

References s_gui_win_root::win.

Referenced by gui_window_get_scroll().

Here is the caller graph for this function:

◆ window_key_input()

bool window_key_input ( unsigned short  kcode,
unsigned short  kstate,
unsigned short  nkc 
)

◆ window_open()

void window_open ( ROOTWIN rootwin,
struct gui_window gw,
GRECT  pos 
)

show the window at specified position and make gw the active tab.

Definition at line 375 of file rootwin.c.

References s_gui_win_root::active_gui_window, s_gui_win_root::aes_handle, s_browser::attached, BROWSER, gui_window::browser, sb_attach(), s_gui_win_root::statusbar, s_gui_win_root::toolbar, toolbar_set_attached(), toolbar_set_dimensions(), s_gui_win_root::win, window_close_search(), window_set_focus(), and window_update_back_forward().

Referenced by gui_window_create().

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

◆ window_open_search()

void window_open_search ( ROOTWIN rootwin,
bool  reformat 
)

Definition at line 649 of file rootwin.c.

References s_gui_win_root::active_gui_window, gui_window::browser, BROWSER_AREA_CONTENT, BROWSER_AREA_SEARCH, BROWSER_AREA_TOOLBAR, browser_window_reformat(), browser_window::bw, gui_window::bw, s_browser::bw, nsatari_search_session_create(), NSLOG, gui_window::search, SEARCH_INPUT, s_gui_win_root::toolbar, toolbar_get_form(), toolbar_set_visible(), s_gui_win_root::win, window_get_grect(), window_process_redraws(), window_schedule_redraw_grect(), and window_set_focus().

Referenced by menu_find().

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

◆ window_place_caret()

void window_place_caret ( ROOTWIN rootwin,
short  mode,
int  content_x,
int  content_y,
int  h,
GRECT *  work 
)

Definition at line 875 of file rootwin.c.

References BROWSER_AREA_CONTENT, s_gui_win_root::caret, CARET_STATE_VISIBLE, s_caret::dimensions, s_caret::fd_size, init_mfdb(), MFDB_FLAG_NOALLOC, MFDB_FLAG_ZEROMEM, mode, redraw_active, s_caret::state, s_caret::symbol, s_gui_win_root::win, and window_get_grect().

Referenced by gui_window_place_caret(), gui_window_remove_caret(), and window_process_redraws().

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

◆ window_process_redraws()

void window_process_redraws ( ROOTWIN rootwin)

Definition at line 1015 of file rootwin.c.

References s_gui_win_root::active_gui_window, s_gui_win_root::aes_handle, s_redrw_slots::areas, s_redrw_slots::areas_used, gui_window::browser, BROWSER_AREA_CONTENT, BROWSER_AREA_TOOLBAR, s_browser::bw, s_gui_win_root::caret, CARET_STATE_ENABLED, s_caret::dimensions, plot_lock(), plot_set_abs_clipping(), plot_unlock(), redraw_active, s_gui_win_root::redraw_slots, s_caret::state, s_gui_win_root::toolbar, toolbar_redraw(), s_gui_win_root::win, window_get_grect(), window_place_caret(), window_redraw_content(), rect::x0, rect::x1, rect::y0, and rect::y1.

Referenced by atari_poll(), on_content_mouse_click(), toolbar_mouse_input(), and window_open_search().

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

◆ window_redraw_favicon()

void window_redraw_favicon ( struct s_gui_win_root rootwin,
GRECT *  clip 
)

Redraw the favicon.

Definition at line 707 of file rootwin.c.

References s_gui_win_root::aes_handle, plotter_table::bitmap, clip(), s_gui_win_root::icon, redraw_context::plot, plot_get_vdi_handle(), plot_set_dimensions(), rootwin_rdrw_ctx, and s_gui_win_root::win.

Referenced by on_redraw(), and window_set_icon().

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

◆ window_restore_active_gui_window()

void window_restore_active_gui_window ( ROOTWIN rootwin)

Definition at line 404 of file rootwin.c.

References s_gui_win_root::active_gui_window, gui_window::icon, NSLOG, gui_window::search, gui_window::status, gui_window::title, s_gui_win_root::toolbar, toolbar_get_grect(), toolbar_set_url(), gui_window::url, s_gui_win_root::win, window_set_icon(), window_set_stauts(), window_set_title(), and window_update_back_forward().

Referenced by window_set_active_gui_window().

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

◆ window_schedule_redraw_grect()

void window_schedule_redraw_grect ( ROOTWIN rootwin,
GRECT *  area 
)

Definition at line 807 of file rootwin.c.

References redraw_active, redraw_slot_schedule_grect(), s_gui_win_root::redraw_slots, and s_gui_win_root::win.

Referenced by atari_window_invalidate_area(), gui_window_update_extent(), nsatari_search_set_back_state(), nsatari_search_set_forward_state(), on_redraw(), on_window_key_input(), tb_txt_request_redraw(), toolbar_mouse_input(), toolbar_set_throbber_state(), toolbar_set_url(), toolbar_throbber_progress(), toolbar_update_buttons(), and window_open_search().

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

◆ window_scroll_by()

void window_scroll_by ( ROOTWIN rootwin,
int  x,
int  y 
)

Definition at line 459 of file rootwin.c.

References root.

Referenced by gui_window_set_scroll(), and on_content_keypress().

Here is the caller graph for this function:

◆ window_set_active_gui_window()

void window_set_active_gui_window ( ROOTWIN rootwin,
struct gui_window gw 
)

Definition at line 564 of file rootwin.c.

References s_gui_win_root::active_gui_window, NSLOG, and window_restore_active_gui_window().

Here is the call graph for this function:

◆ window_set_content_size()

void window_set_content_size ( ROOTWIN rootwin,
int  w,
int  h 
)

Set the dimensions of the scrollable content.

Definition at line 481 of file rootwin.c.

References BROWSER_AREA_CONTENT, height, width, s_gui_win_root::win, and window_get_grect().

Referenced by gui_window_update_extent().

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

◆ window_set_focus()

void window_set_focus ( ROOTWIN rootwin,
enum focus_element_type  type,
void *  element 
)

Definition at line 498 of file rootwin.c.

References s_focus_info::element, s_gui_win_root::focus, NSLOG, SEARCH_INPUT, s_gui_win_root::toolbar, toolbar_key_input(), s_focus_info::type, type, URL_WIDGET, and s_gui_win_root::win.

Referenced by gui_window_create(), on_content_mouse_click(), toolbar_key_input(), toolbar_mouse_input(), window_create(), window_open(), and window_open_search().

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

◆ window_set_icon()

void window_set_icon ( ROOTWIN rootwin,
struct bitmap bmp 
)

Definition at line 553 of file rootwin.c.

References s_gui_win_root::icon, s_gui_win_root::win, and window_redraw_favicon().

Referenced by gui_window_set_icon(), and window_restore_active_gui_window().

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

◆ window_set_stauts()

void window_set_stauts ( ROOTWIN rootwin,
char *  text 
)

Definition at line 439 of file rootwin.c.

References sb_set_text(), s_gui_win_root::statusbar, and text().

Referenced by atari_window_set_status(), and window_restore_active_gui_window().

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

◆ window_set_title()

void window_set_title ( ROOTWIN rootwin,
char *  text 
)

Definition at line 454 of file rootwin.c.

References s_gui_win_root::aes_handle, and gui_window::title.

Referenced by gui_window_set_title(), and window_restore_active_gui_window().

Here is the caller graph for this function:

◆ window_set_url()

void window_set_url ( ROOTWIN rootwin,
const char *  text 
)

◆ window_snd_redraw()

void window_snd_redraw ( ROOTWIN rootwin,
short  x,
short  y,
short  w,
short  h 
)

◆ window_unref_gui_window()

void window_unref_gui_window ( ROOTWIN rootwin,
struct gui_window gw 
)

Definition at line 312 of file rootwin.c.

References gui_set_input_gui_window(), input_window, gui_window::next, NSLOG, s_gui_win_root::redraw_slots, redraw_slots_free(), gui_window::root, window_destroy(), and window_list.

Referenced by gui_window_destroy().

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

◆ window_update_back_forward()

void window_update_back_forward ( struct s_gui_win_root rootwin)

Definition at line 433 of file rootwin.c.

References s_gui_win_root::active_gui_window, gui_window::browser, s_browser::bw, s_gui_win_root::toolbar, and toolbar_update_buttons().

Referenced by gui_window_update_extent(), window_open(), and window_restore_active_gui_window().

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

◆ window_url_widget_has_focus()

bool window_url_widget_has_focus ( ROOTWIN rootwin)

Definition at line 531 of file rootwin.c.

References s_gui_win_root::focus, s_focus_info::type, and URL_WIDGET.

Referenced by on_window_key_input(), and toolbar_mouse_input().

Here is the caller graph for this function:

◆ window_widget_has_focus()

bool window_widget_has_focus ( ROOTWIN rootwin,
enum focus_element_type  t,
void *  element 
)

Definition at line 542 of file rootwin.c.

References s_focus_info::element, s_gui_win_root::focus, and s_focus_info::type.

Referenced by on_window_key_input().

Here is the caller graph for this function: