NetSurf
|
#include <stdlib.h>
#include <assert.h>
#include <AppDefs.h>
#include <BeBuild.h>
#include <Clipboard.h>
#include <Cursor.h>
#include <InterfaceDefs.h>
#include <Message.h>
#include <ScrollBar.h>
#include <String.h>
#include <TextView.h>
#include <View.h>
#include <Window.h>
#include "utils/nsoption.h"
#include "utils/log.h"
#include "utils/utf8.h"
#include "utils/utils.h"
#include "utils/nsurl.h"
#include "netsurf/content_type.h"
#include "netsurf/browser_window.h"
#include "netsurf/mouse.h"
#include "netsurf/plotters.h"
#include "netsurf/window.h"
#include "netsurf/clipboard.h"
#include "netsurf/url_db.h"
#include "netsurf/keypress.h"
#include "beos/about.h"
#include "beos/window.h"
#include "beos/font.h"
#include "beos/gui.h"
#include "beos/scaffolding.h"
#include "beos/plotters.h"
Go to the source code of this file.
Data Structures | |
struct | gui_window |
first entry in window list More... | |
Macros | |
#define | __STDBOOL_H__ 1 |
Functions | |
static void | nsbeos_window_expose_event (BView *view, gui_window *g, BMessage *message) |
static void | nsbeos_window_keypress_event (BView *view, gui_window *g, BMessage *event) |
static void | nsbeos_window_resize_event (BView *view, gui_window *g, BMessage *event) |
static void | nsbeos_window_moved_event (BView *view, gui_window *g, BMessage *event) |
static void | nsbeos_redraw_caret (struct gui_window *g) |
struct browser_window * | nsbeos_get_browser_window (struct gui_window *g) |
nsbeos_scaffolding * | nsbeos_get_scaffold (struct gui_window *g) |
Get containing scaffold of a beos gui window. More... | |
struct browser_window * | nsbeos_get_browser_for_gui (struct gui_window *g) |
static struct gui_window * | gui_window_create (struct browser_window *bw, struct gui_window *existing, gui_window_create_flags flags) |
void | nsbeos_dispatch_event (BMessage *message) |
Process beos messages into browser operations. More... | |
void | nsbeos_reflow_all_windows (void) |
Cause all windows to be reflowed. More... | |
void | nsbeos_window_destroy_browser (struct gui_window *g) |
static void | gui_window_destroy (struct gui_window *g) |
static nserror | beos_window_invalidate_area (struct gui_window *g, const struct rect *rect) |
Invalidate an area of a beos browser window. More... | |
static bool | gui_window_get_scroll (struct gui_window *g, int *sx, int *sy) |
static nserror | gui_window_set_scroll (struct gui_window *g, const struct rect *rect) |
Set the scroll position of a beos browser window. More... | |
static void | gui_window_update_extent (struct gui_window *g) |
static BCursorID | gui_haiku_pointer (gui_pointer_shape shape) |
static void | gui_window_set_pointer (struct gui_window *g, gui_pointer_shape shape) |
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 void | gui_start_selection (struct gui_window *g) |
static void | gui_get_clipboard (char **buffer, size_t *length) |
static void | gui_set_clipboard (const char *buffer, size_t length, nsclipboard_styles styles[], int n_styles) |
static nserror | gui_window_get_dimensions (struct gui_window *g, int *width, int *height) |
Find the current dimensions of a beos browser window content area. More... | |
static nserror | gui_window_event (struct gui_window *gw, enum gui_window_event event) |
process miscellaneous window events More... | |
Variables | |
static const rgb_color | kWhiteColor = {255, 255, 255, 255} |
static struct gui_window * | window_list = 0 |
first entry in win list More... | |
static BString | current_selection |
static BList | current_selection_textruns |
static struct gui_clipboard_table | clipboard_table |
struct gui_clipboard_table * | beos_clipboard_table = &clipboard_table |
static struct gui_window_table | window_table |
struct gui_window_table * | beos_window_table = &window_table |
#define __STDBOOL_H__ 1 |
Definition at line 21 of file window.cpp.
|
static |
Invalidate an area of a beos browser window.
g | The netsurf window being invalidated. |
rect | area to redraw or NULL for entrire window area. |
Definition at line 988 of file window.cpp.
References browser_window_has_content(), gui_window::bw, NSERROR_OK, gui_window::view, rect::x0, rect::x1, rect::y0, and rect::y1.
|
static |
Definition at line 1255 of file window.cpp.
References buffer, clip(), and text().
|
static |
Definition at line 1111 of file window.cpp.
References GUI_POINTER_CARET, GUI_POINTER_CROSS, GUI_POINTER_DEFAULT, GUI_POINTER_DOWN, GUI_POINTER_HELP, GUI_POINTER_LD, GUI_POINTER_LEFT, GUI_POINTER_LU, GUI_POINTER_MENU, GUI_POINTER_MOVE, GUI_POINTER_NO_DROP, GUI_POINTER_NOT_ALLOWED, GUI_POINTER_POINT, GUI_POINTER_PROGRESS, GUI_POINTER_RD, GUI_POINTER_RIGHT, GUI_POINTER_RU, GUI_POINTER_UP, and GUI_POINTER_WAIT.
Referenced by gui_window_set_pointer().
|
static |
Definition at line 1277 of file window.cpp.
References buffer, clip(), nsbeos_rgb_colour(), nsbeos_style_to_font(), and nsnsclipboard_styles::start.
|
static |
Definition at line 1245 of file window.cpp.
References gui_window::view.
Referenced by gui_window_event().
|
static |
< what we're creating to return
Definition at line 338 of file window.cpp.
References beos_warn_user(), gui_window::bw, gui_window::careth, gui_window::current_pointer, GUI_POINTER_DEFAULT, kWhiteColor, gui_window::mouse, gui_window::next, nsbeos_attach_toplevel_view(), nsbeos_new_scaffolding(), NSLOG, gui_window::pending_resizes, gui_window::prev, gui_window::scaffold, gui_window::state, gui_window::toplevel, gui_window::view, and window_list.
|
static |
Definition at line 918 of file window.cpp.
References gui_window::bw, gui_window::next, nsbeos_scaffolding_destroy(), NSLOG, gui_window::prev, gui_window::scaffold, gui_window::toplevel, gui_window::view, and window_list.
|
static |
process miscellaneous window events
gw | The window receiving the event. |
event | The event code. |
Definition at line 1346 of file window.cpp.
References 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_REMOVE_CARET, GW_EVENT_START_SELECTION, GW_EVENT_START_THROBBER, GW_EVENT_STOP_THROBBER, GW_EVENT_UPDATE_EXTENT, and NSERROR_OK.
|
static |
Find the current dimensions of a beos browser window content area.
g | The gui window to measure content area of. |
width | receives width of window |
height | receives height of window |
Definition at line 1326 of file window.cpp.
References height, NSERROR_OK, gui_window::view, and width.
|
static |
Definition at line 1015 of file window.cpp.
References gui_window::view.
|
static |
Definition at line 1229 of file window.cpp.
References gui_window::toplevel, and gui_window::view.
Referenced by gui_window_event().
|
static |
Definition at line 1186 of file window.cpp.
References gui_window::careth, gui_window::caretx, gui_window::carety, height, nsbeos_redraw_caret(), and gui_window::view.
|
static |
Definition at line 1207 of file window.cpp.
References gui_window::careth, gui_window::caretx, gui_window::carety, nsbeos_current_gc_set(), and gui_window::view.
Referenced by gui_window_event().
|
static |
Definition at line 1171 of file window.cpp.
References gui_window::current_pointer, gui_window::cursor, gui_haiku_pointer(), and gui_window::view.
|
static |
Set the scroll position of a beos browser window.
Scrolls the viewport to ensure the specified rectangle of the content is shown. The beos implementation scrolls the contents so the specified point in the content is at the top of the viewport.
g | gui window to scroll |
rect | The rectangle to ensure is shown. |
Definition at line 1045 of file window.cpp.
References NSERROR_BAD_PARAMETER, NSERROR_OK, gui_window::view, rect::x0, and rect::y0.
|
static |
Definition at line 1069 of file window.cpp.
References browser_window_get_extents(), browser_window_has_content(), gui_window::bw, NSERROR_OK, NSLOG, and gui_window::view.
Referenced by gui_window_event().
void nsbeos_dispatch_event | ( | BMessage * | message | ) |
Process beos messages into browser operations.
message | The beos message to process. |
Definition at line 406 of file window.cpp.
References B_UI_SETTINGS_CHANGED, BROWSER_MOUSE_CLICK_1, BROWSER_MOUSE_CLICK_2, 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_MOD_2, BROWSER_MOUSE_PRESS_1, BROWSER_MOUSE_PRESS_2, browser_window_mouse_click(), browser_window_mouse_track(), gui_window::bw, gui_window::gui, gui_window::last_x, gui_window::last_y, gui_window::mouse, gui_window::next, nsbeos_about(), nsbeos_done, nsbeos_scaffolding_dispatch_event(), nsbeos_scaffolding_popup_menu(), nsbeos_update_system_ui_colors(), nsbeos_window_expose_event(), nsbeos_window_keypress_event(), nsbeos_window_moved_event(), nsbeos_window_resize_event(), NSLOG, gui_window::pressed_x, gui_window::pressed_y, gui_window::scaffold, gui_window::state, gui_window::url, view, beos_scaffolding::window, window_list, and browser_window::x.
Referenced by nsbeos_gui_poll().
struct browser_window * nsbeos_get_browser_for_gui | ( | struct gui_window * | g | ) |
Definition at line 332 of file window.cpp.
References gui_window::bw.
Referenced by nsbeos_scaffolding_dispatch_event(), and nsbeos_window_update_back_forward().
struct browser_window * nsbeos_get_browser_window | ( | struct gui_window * | g | ) |
Definition at line 322 of file window.cpp.
References gui_window::bw.
nsbeos_scaffolding * nsbeos_get_scaffold | ( | struct gui_window * | g | ) |
Get containing scaffold of a beos gui window.
g | gui window to find scaffold of. |
Definition at line 327 of file window.cpp.
References gui_window::scaffold.
Referenced by gui_window_set_icon(), gui_window_set_status(), gui_window_set_title(), gui_window_set_url(), gui_window_start_throbber(), and gui_window_stop_throbber().
|
static |
Definition at line 961 of file window.cpp.
References gui_window::careth, gui_window::caretx, gui_window::carety, nsbeos_current_gc_set(), and gui_window::view.
Referenced by gui_window_place_caret().
void nsbeos_reflow_all_windows | ( | void | ) |
Cause all windows to be reflowed.
Definition at line 905 of file window.cpp.
References browser_window_schedule_reformat(), gui_window::next, and window_list.
void nsbeos_window_destroy_browser | ( | struct gui_window * | g | ) |
Definition at line 913 of file window.cpp.
References browser_window_destroy(), and gui_window::bw.
Referenced by nsbeos_window_destroy_event().
|
static |
Definition at line 679 of file window.cpp.
References browser_window_has_content(), browser_window_redraw(), gui_window::bw, gui_window::careth, gui_window::caretx, gui_window::carety, clip(), gui_window::next, nsbeos_current_gc_set(), nsbeos_plot_caret(), nsbeos_plotters, gui_window::pending_resizes, view, gui_window::view, and window_list.
Referenced by nsbeos_dispatch_event().
|
static |
Definition at line 731 of file window.cpp.
References browser_window_key_press(), gui_window::bw, NS_KEY_DELETE_LEFT, NS_KEY_DELETE_RIGHT, 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_TAB, NS_KEY_UP, NSLOG, utf8_to_ucs4(), and gui_window::view.
Referenced by nsbeos_dispatch_event().
|
static |
Definition at line 891 of file window.cpp.
References view.
Referenced by nsbeos_dispatch_event().
|
static |
Definition at line 868 of file window.cpp.
References browser_window_schedule_reformat(), gui_window::bw, height, gui_window::pending_resizes, and width.
Referenced by nsbeos_dispatch_event().
struct gui_clipboard_table* beos_clipboard_table = &clipboard_table |
Definition at line 1314 of file window.cpp.
Referenced by gui_init_replicant(), and main().
struct gui_window_table* beos_window_table = &window_table |
Definition at line 1405 of file window.cpp.
Referenced by gui_init_replicant(), and main().
|
static |
Definition at line 1309 of file window.cpp.
|
static |
Definition at line 103 of file window.cpp.
|
static |
Definition at line 104 of file window.cpp.
|
static |
Definition at line 99 of file window.cpp.
Referenced by gui_window_create().
|
static |
first entry in win list
Definition at line 101 of file window.cpp.
Referenced by gui_window_create(), gui_window_destroy(), nsbeos_dispatch_event(), nsbeos_reflow_all_windows(), and nsbeos_window_expose_event().
|
static |
Definition at line 1380 of file window.cpp.