improve documentation in headers

This commit is contained in:
Vincent Sanders 2014-10-19 19:12:55 +01:00
parent 686fd09ad8
commit 1180d19324
5 changed files with 252 additions and 217 deletions

View File

@ -459,18 +459,19 @@ char * browser_window_get_selection(struct browser_window *bw)
return content_get_selection(bw->selection.bw->current_content);
}
/* exported interface, documented in browser.h */
/* exported interface, documented in desktop/browser.h */
bool browser_window_can_search(struct browser_window *bw)
{
if (bw == NULL || bw->current_content == NULL)
return false;
/* TODO: We shouldn't have to know about specific content types
* here. There should be a content_is_searchable() call. */
if (content_get_type(bw->current_content) != CONTENT_HTML &&
content_get_type(bw->current_content) !=
CONTENT_TEXTPLAIN)
/** \todo We shouldn't have to know about specific content
* types here. There should be a content_is_searchable() call.
*/
if ((content_get_type(bw->current_content) != CONTENT_HTML) &&
(content_get_type(bw->current_content) != CONTENT_TEXTPLAIN)) {
return false;
}
return true;
}
@ -806,13 +807,7 @@ nserror browser_window_create(enum browser_window_create_flags flags,
}
/**
* Initialise common parts of a browser window
*
* \param flags Flags to control operation
* \param bw The window to initialise
* \param existing The existing window if cloning, else NULL
*/
/* exported internal interface, documented in desktop/browser_private.h */
nserror browser_window_initialise_common(enum browser_window_create_flags flags,
struct browser_window *bw, struct browser_window *existing)
{
@ -926,7 +921,7 @@ static bool browser_window_check_throbber(struct browser_window *bw)
/**
* Start the busy indicator.
*
* \param bw browser window
* \param bw browser window
*/
static void browser_window_start_throbber(struct browser_window *bw)
@ -945,7 +940,6 @@ static void browser_window_start_throbber(struct browser_window *bw)
*
* \param bw browser window
*/
static void browser_window_stop_throbber(struct browser_window *bw)
{
bw->throbbing = false;
@ -963,7 +957,6 @@ static void browser_window_stop_throbber(struct browser_window *bw)
/**
* Callback for fetchcache() for browser window favicon fetches.
*/
static nserror browser_window_favicon_callback(hlcache_handle *c,
const hlcache_event *event, void *pw)
{
@ -1115,7 +1108,9 @@ static void browser_window_update_favicon(hlcache_handle *c,
nsurl_unref(nsurl);
}
/** window callback errorcode handling */
/**
* window callback errorcode handling.
*/
static void
browser_window_callback_errorcode(hlcache_handle *c,
struct browser_window *bw,
@ -1148,9 +1143,8 @@ browser_window_callback_errorcode(hlcache_handle *c,
/**
* Handle meta http-equiv refresh time elapsing by loading a new page.
*
* \param p browser window to refresh with new page
* \param p browser window to refresh with new page
*/
static void browser_window_refresh(void *p)
{
struct browser_window *bw = p;
@ -1232,7 +1226,6 @@ static void browser_window_convert_to_download(struct browser_window *bw,
/**
* Callback handler for content event messages.
*/
static nserror browser_window_callback(hlcache_handle *c,
const hlcache_event *event, void *pw)
{
@ -1657,7 +1650,7 @@ static void browser_window_destroy_children(struct browser_window *bw)
*
* \param bw browser window
*/
void browser_window_destroy_internal(struct browser_window *bw)
static void browser_window_destroy_internal(struct browser_window *bw)
{
assert(bw);
@ -1754,30 +1747,12 @@ void browser_window_destroy_internal(struct browser_window *bw)
bw->status_match, bw->status_miss));
}
/**
* Close and destroy a browser window.
*
* \param bw browser window
*/
void browser_window_destroy(struct browser_window *bw)
{
/* can't destoy child windows on their own */
assert(!bw->parent);
/* destroy */
browser_window_destroy_internal(bw);
free(bw);
}
/**
* Update URL bar for a given browser window to given URL
*
* \param bw Browser window to update URL bar for.
* \param url URL for content displayed by bw including any fragment.
*/
static inline void browser_window_refresh_url_bar_internal(
struct browser_window *bw, nsurl *url)
{
@ -1793,12 +1768,18 @@ static inline void browser_window_refresh_url_bar_internal(
}
/**
* Update URL bar for a given browser window to bw's content's URL
*
* \param bw Browser window to update URL bar for.
*/
/* exported interface, documented in desktop/browser.h */
void browser_window_destroy(struct browser_window *bw)
{
/* can't destoy child windows on their own */
assert(!bw->parent);
/* destroy */
browser_window_destroy_internal(bw);
free(bw);
}
/* exported interface, documented in desktop/browser.h */
void browser_window_refresh_url_bar(struct browser_window *bw)
{
assert(bw);
@ -2140,15 +2121,7 @@ nserror browser_window_get_extents(struct browser_window *bw, bool scaled,
}
/*
* Get the dimensions of the area a browser window occupies
*
* \param bw The browser window to get dimensions of
* \param width Updated to the browser window viewport width
* \param height Updated to the browser window viewport height
* \param scaled Whether we want the height with scale applied
*/
/* exported internal interface, documented in desktop/browser_private.h */
void browser_window_get_dimensions(struct browser_window *bw,
int *width, int *height, bool scaled)
{
@ -2165,14 +2138,7 @@ void browser_window_get_dimensions(struct browser_window *bw,
}
/*
* Set the dimensions of the area a browser window occupies
*
* \param bw The browser window to set dimensions of
* \param width Width in pixels
* \param height Height in pixels
*/
/* Exported interface, documented in browser.h */
void browser_window_set_dimensions(struct browser_window *bw,
int width, int height)
{
@ -2189,13 +2155,7 @@ void browser_window_set_dimensions(struct browser_window *bw,
}
/**
* Redraw browser window, set extent to content, and update title.
*
* \param bw browser_window
* \param scroll_to_top move view to top of page
*/
/* Exported interface, documented in browser.h */
void browser_window_update(struct browser_window *bw, bool scroll_to_top)
{
int x, y;
@ -2277,7 +2237,7 @@ void browser_window_update(struct browser_window *bw, bool scroll_to_top)
}
}
/* Exported interface, documented in desktop/browser.h */
void browser_window_update_box(struct browser_window *bw, struct rect *rect)
{
int pos_x;
@ -2304,13 +2264,7 @@ void browser_window_update_box(struct browser_window *bw, struct rect *rect)
}
}
/**
* Stop all fetching activity in a browser window.
*
* \param bw browser window
*/
/* Exported interface, documented in desktop/browser.h */
void browser_window_stop(struct browser_window *bw)
{
int children, index;
@ -2351,13 +2305,7 @@ void browser_window_stop(struct browser_window *bw)
}
/**
* Reload the page in a browser window.
*
* \param bw browser window
* \param all whether to reload all objects associated with the page
*/
/* Exported interface, documented in desktop/browser.h */
void browser_window_reload(struct browser_window *bw, bool all)
{
hlcache_handle *c;
@ -2403,13 +2351,7 @@ void browser_window_reload(struct browser_window *bw, bool all)
}
/**
* Change the status bar of a browser window.
*
* \param bw browser window
* \param text new status text (copied)
*/
/* Exported interface, documented in desktop/browser.h */
void browser_window_set_status(struct browser_window *bw, const char *text)
{
int text_len;
@ -2443,13 +2385,7 @@ void browser_window_set_status(struct browser_window *bw, const char *text)
}
/**
* Change the shape of the mouse pointer
*
* \param bw Browser window to set shape in
* \param shape The pointer shape to use
*/
/* Exported interface, documented in desktop/browser.h */
void browser_window_set_pointer(struct browser_window *bw,
browser_pointer_shape shape)
{
@ -2495,14 +2431,8 @@ nserror browser_window_schedule_reformat(struct browser_window *bw)
return NSERROR_OK;
}
/**
* Reformat a browser window contents to a new width or height.
*
* \param bw the browser window to reformat
* \param width new width
* \param height new height
*/
/* exported function documented in desktop/browser.h */
void browser_window_reformat(struct browser_window *bw, bool background,
int width, int height)
{
@ -2529,6 +2459,12 @@ void browser_window_reformat(struct browser_window *bw, bool background,
content_reformat(c, background, width, height);
}
/**
* Set bowser window scale.
*
* \param bw Browser window.
* \param scale value.
*/
static void browser_window_set_scale_internal(struct browser_window *bw,
float scale)
{
@ -2577,7 +2513,16 @@ float browser_window_get_scale(struct browser_window *bw)
return bw->scale;
}
/**
* Find browser window.
*
* \param bw Browser window.
* \param target Name of target.
* \param depth Depth to scan.
* \param page The browser window page.
* \param rdepth The rdepth.
* \param bw_target the output browser window.
*/
static void browser_window_find_target_internal(struct browser_window *bw,
const char *target, int depth, struct browser_window *page,
int *rdepth, struct browser_window **bw_target)
@ -2623,15 +2568,7 @@ static void browser_window_find_target_internal(struct browser_window *bw,
}
/**
* Locate a browser window in the specified stack according.
*
* \param bw the browser_window to search all relatives of
* \param target the target to locate
* \param mouse The current mouse state
* \return The browser window the mouse is in
*/
/* exported interface documented in desktop/browser.h */
struct browser_window *browser_window_find_target(struct browser_window *bw,
const char *target, browser_mouse_state mouse)
{
@ -2779,10 +2716,9 @@ struct browser_window *browser_window_find_target(struct browser_window *bw,
* \param x coordinate of mouse
* \param y coordinate of mouse
*
* TODO: Remove this function, once these things are associated with content,
* \todo Remove this function, once these things are associated with content,
* rather than bw.
*/
static void browser_window_mouse_drag_end(struct browser_window *bw,
browser_mouse_state mouse, int x, int y)
{
@ -2826,15 +2762,7 @@ static void browser_window_mouse_drag_end(struct browser_window *bw,
}
/**
* Handle non-click mouse action in a browser window. (drag ends, movements)
*
* \param bw browser window
* \param mouse state of mouse buttons and modifier keys
* \param x coordinate of mouse
* \param y coordinate of mouse
*/
/* exported interface documented in desktop/browser.h */
void browser_window_mouse_track(struct browser_window *bw,
browser_mouse_state mouse, int x, int y)
{
@ -2982,15 +2910,7 @@ void browser_window_mouse_track(struct browser_window *bw,
}
/**
* Handle mouse clicks in a browser window.
*
* \param bw browser window
* \param mouse state of mouse buttons and modifier keys
* \param x coordinate of mouse
* \param y coordinate of mouse
*/
/* exported interface documented in desktop/browser.h */
void browser_window_mouse_click(struct browser_window *bw,
browser_mouse_state mouse, int x, int y)
{
@ -3114,16 +3034,8 @@ void browser_window_mouse_click(struct browser_window *bw,
}
/**
* Redraw a rectangular region of a browser window
*
* \param bw browser window to be redrawn
* \param x x co-ord of top-left
* \param y y co-ord of top-left
* \param width width of rectangle
* \param height height of rectangle
*/
/* exported interface documented in desktop/browser.h */
void browser_window_redraw_rect(struct browser_window *bw, int x, int y,
int width, int height)
{
@ -3131,14 +3043,7 @@ void browser_window_redraw_rect(struct browser_window *bw, int x, int y,
}
/**
* Start drag scrolling the contents of the browser window
*
* \param bw browser window
* \param x x ordinate of initial mouse position
* \param y y ordinate
*/
/* exported interface documented in desktop/browser.h */
void browser_window_page_drag_start(struct browser_window *bw, int x, int y)
{
assert(bw != NULL);
@ -3162,13 +3067,8 @@ void browser_window_page_drag_start(struct browser_window *bw, int x, int y)
}
/**
* Check availability of Back action for a given browser window
*
* \param bw browser window
* \return true if Back action is available
*/
/* exported interface documented in desktop/browser.h */
bool browser_window_back_available(struct browser_window *bw)
{
return (bw && bw->history &&
@ -3176,40 +3076,22 @@ bool browser_window_back_available(struct browser_window *bw)
}
/**
* Check availability of Forward action for a given browser window
*
* \param bw browser window
* \return true if Forward action is available
*/
/* exported interface documented in desktop/browser.h */
bool browser_window_forward_available(struct browser_window *bw)
{
return (bw && bw->history &&
browser_window_history_forward_available(bw));
}
/**
* Check availability of Reload action for a given browser window
*
* \param bw browser window
* \return true if Reload action is available
*/
/* exported interface documented in desktop/browser.h */
bool browser_window_reload_available(struct browser_window *bw)
{
return (bw && bw->current_content && !bw->loading_content);
}
/**
* Check availability of Stop action for a given browser window
*
* \param bw browser window
* \return true if Stop action is available
*/
/* exported interface documented in desktop/browser.h */
bool browser_window_stop_available(struct browser_window *bw)
{
return (bw && (bw->loading_content ||

View File

@ -33,7 +33,6 @@
#include "desktop/frame_types.h"
#include "desktop/mouse.h"
struct browser_window;
struct hlcache_handle;
struct gui_window;
@ -116,7 +115,7 @@ enum browser_window_nav_flags {
*
* \param flags Flags to control operation
* \param url URL to fetch in the new window or NULL for blank
* \param referer The referring uri or NULL if none
* \param referrer The referring uri or NULL if none
* \param existing The an existing bw or NULL, required for some flags.
* \param bw Updated to created browser window or untouched on error.
* \return NSERROR_OK, or appropriate error otherwise.
@ -173,7 +172,7 @@ nserror browser_window_navigate_up(struct browser_window *bw, bool new_window);
* \param bw browser window
* \return pointer to nsurl. Doesn't create a ref for caller.
*
* Note: guaranteed to return a valid nsurl ptr, never returns NULL.
* \note guaranteed to return a valid nsurl ptr, never returns NULL.
*/
struct nsurl* browser_window_get_url(struct browser_window *bw);
@ -219,15 +218,61 @@ bool browser_window_has_content(struct browser_window *bw);
*/
struct hlcache_handle *browser_window_get_content(struct browser_window *bw);
void browser_window_get_dimensions(struct browser_window *bw,
int *width, int *height, bool scaled);
/**
* Set the dimensions of the area a browser window occupies
*
* \param bw The browser window to set dimensions of
* \param width Width in pixels
* \param height Height in pixels
*/
void browser_window_set_dimensions(struct browser_window *bw,
int width, int height);
/**
* Redraw browser window, set extent to content, and update title.
*
* \param bw browser_window
* \param scroll_to_top move view to top of page
*/
void browser_window_update(struct browser_window *bw, bool scroll_to_top);
/**
* update an area of a browser window.
*
* \param bw The browser window to update.
* \param rect The area to redraw
*/
void browser_window_update_box(struct browser_window *bw, struct rect *rect);
/**
* Stop all fetching activity in a browser window.
*
* \param bw The browser window to stop activity in.
*/
void browser_window_stop(struct browser_window *bw);
/**
* Reload the page in a browser window.
*
* \param bw browser window
* \param all whether to reload all objects associated with the page
*/
void browser_window_reload(struct browser_window *bw, bool all);
/**
* Close and destroy a browser window.
*
* \param bw browser window
*/
void browser_window_destroy(struct browser_window *bw);
/**
* Reformat a browser window contents to a new width or height.
*
* \param bw the browser window to reformat
* \param width new width
* \param height new height
*/
void browser_window_reformat(struct browser_window *bw, bool background,
int width, int height);
@ -294,12 +339,43 @@ bool browser_window_drop_file_at_point(struct browser_window *bw,
void browser_window_set_gadget_filename(struct browser_window *bw,
struct form_control *gadget, const char *fn);
/**
* Update URL bar for a given browser window to bw's content's URL
*
* \param bw Browser window to update URL bar for.
*/
void browser_window_refresh_url_bar(struct browser_window *bw);
/**
* Handle mouse clicks in a browser window.
*
* \param bw browser window
* \param mouse state of mouse buttons and modifier keys
* \param x coordinate of mouse
* \param y coordinate of mouse
*/
void browser_window_mouse_click(struct browser_window *bw,
browser_mouse_state mouse, int x, int y);
/**
* Handle non-click mouse action in a browser window. (drag ends, movements)
*
* \param bw browser window
* \param mouse state of mouse buttons and modifier keys
* \param x coordinate of mouse
* \param y coordinate of mouse
*/
void browser_window_mouse_track(struct browser_window *bw,
browser_mouse_state mouse, int x, int y);
/**
* Locate a browser window in the specified stack according.
*
* \param bw the browser_window to search all relatives of
* \param target the target to locate
* \param mouse The current mouse state
* \return The browser window the mouse is in
*/
struct browser_window *browser_window_find_target(
struct browser_window *bw, const char *target,
browser_mouse_state mouse);
@ -322,27 +398,76 @@ nserror browser_window_schedule_reformat(struct browser_window *bw);
void browser_select_menu_callback(void *client_data,
int x, int y, int width, int height);
/**
* Redraw a rectangular region of a browser window
*
* \param bw browser window to be redrawn
* \param x x co-ord of top-left
* \param y y co-ord of top-left
* \param width width of rectangle
* \param height height of rectangle
*/
void browser_window_redraw_rect(struct browser_window *bw, int x, int y,
int width, int height);
/**
* Change the status bar of a browser window.
*
* \param bw browser window
* \param text new status text (copied)
*/
void browser_window_set_status(struct browser_window *bw, const char *text);
/**
* Change the shape of the mouse pointer
*
* \param bw Browser window to set shape in
* \param shape The pointer shape to use
*/
void browser_window_set_pointer(struct browser_window *bw,
browser_pointer_shape shape);
/**
* Start drag scrolling the contents of the browser window
*
* \param bw browser window
* \param x x ordinate of initial mouse position
* \param y y ordinate
*/
void browser_window_page_drag_start(struct browser_window *bw, int x, int y);
/**
* Check availability of Back action for a given browser window
*
* \param bw browser window
* \return true if Back action is available
*/
bool browser_window_back_available(struct browser_window *bw);
/**
* Check availability of Forward action for a given browser window
*
* \param bw browser window
* \return true if Forward action is available
*/
bool browser_window_forward_available(struct browser_window *bw);
/**
* Check availability of Reload action for a given browser window
*
* \param bw browser window
* \return true if Reload action is available
*/
bool browser_window_reload_available(struct browser_window *bw);
/**
* Check availability of Stop action for a given browser window
*
* \param bw browser window
* \return true if Stop action is available
*/
bool browser_window_stop_available(struct browser_window *bw);
/* In desktop/textinput.c */
void browser_window_place_caret(struct browser_window *bw, int x, int y,
int height, const struct rect *clip);
void browser_window_remove_caret(struct browser_window *bw, bool only_hide);
bool browser_window_key_press(struct browser_window *bw, uint32_t key);
/**
* Redraw an area of a window
*
@ -413,7 +538,7 @@ void browser_window_scroll_visible(struct browser_window *bw,
* \param x The x scroll offset to set
* \param y The y scroll offset to set
*
* TODO -- Do we really need this and browser_window_scroll_visible?
* \todo Do we really need this and browser_window_scroll_visible?
* Ditto for gui_window_* variants.
*/
void browser_window_set_scroll(struct browser_window *bw, int x, int y);

View File

@ -163,14 +163,32 @@ struct browser_window {
/**
* Initialise common parts of a browser window
*
* \param flags Flags to control operation
* \param bw The window to initialise
* \param existing The existing window if cloning, else NULL
*/
nserror browser_window_initialise_common(enum browser_window_create_flags flags,
struct browser_window *bw, struct browser_window *existing);
/**
* Get the dimensions of the area a browser window occupies
*
* \param bw The browser window to get dimensions of
* \param width Updated to the browser window viewport width
* \param height Updated to the browser window viewport height
* \param scaled Whether we want the height with scale applied
*/
void browser_window_get_dimensions(struct browser_window *bw,
int *width, int *height, bool scaled);
/**
* Update the extent of the inside of a browser window to that of the current
* content
*
* \param bw browser_window to update the extent of
* \param bw browser_window to update the extent of
*/
void browser_window_update_extent(struct browser_window *bw);

View File

@ -48,15 +48,7 @@
#undef TEXTINPUT_DEBUG
/**
* Position the caret and assign a callback for key presses.
*
* \param bw The browser window in which to place the caret
* \param x X coordinate of the caret
* \param y Y coordinate
* \param height Height of caret
* \param clip Clip rectangle for caret, or NULL if none
*/
/* exported interface documented in desktop/textinput.h */
void browser_window_place_caret(struct browser_window *bw, int x, int y,
int height, const struct rect *clip)
{
@ -82,7 +74,7 @@ void browser_window_place_caret(struct browser_window *bw, int x, int y,
crp = &cr;
}
/* TODO: intersect with bw viewport */
/** \todo intersect with bw viewport */
guit->window->place_caret(root_bw->window, x, y, height * bw->scale, crp);
@ -91,12 +83,7 @@ void browser_window_place_caret(struct browser_window *bw, int x, int y,
root_bw->can_edit = true;
}
/**
* Removes the caret and callback for key process.
*
* \param bw The browser window from which to remove caret
*/
/* exported interface documented in desktop/textinput.h */
void browser_window_remove_caret(struct browser_window *bw, bool only_hide)
{
struct browser_window *root_bw;
@ -114,14 +101,7 @@ void browser_window_remove_caret(struct browser_window *bw, bool only_hide)
}
}
/**
* Handle key presses in a browser window.
*
* \param bw The root browser window
* \param key The UCS4 character codepoint
* \return true if key handled, false otherwise
*/
/* exported interface documented in desktop/textinput.h */
bool browser_window_key_press(struct browser_window *bw, uint32_t key)
{
struct browser_window *focus = bw->focus;

View File

@ -26,6 +26,8 @@
#ifndef _NETSURF_DESKTOP_TEXTINPUT_H_
#define _NETSURF_DESKTOP_TEXTINPUT_H_
struct browser_window;
enum input_key {
KEY_SELECT_ALL = 1,
@ -69,4 +71,32 @@ enum input_key {
};
/**
* Position the caret and assign a callback for key presses.
*
* \param bw The browser window in which to place the caret
* \param x X coordinate of the caret
* \param y Y coordinate
* \param height Height of caret
* \param clip Clip rectangle for caret, or NULL if none
*/
void browser_window_place_caret(struct browser_window *bw, int x, int y,
int height, const struct rect *clip);
/**
* Removes the caret and callback for key process.
*
* \param bw The browser window from which to remove caret
*/
void browser_window_remove_caret(struct browser_window *bw, bool only_hide);
/**
* Handle key presses in a browser window.
*
* \param bw The root browser window
* \param key The UCS4 character codepoint
* \return true if key handled, false otherwise
*/
bool browser_window_key_press(struct browser_window *bw, uint32_t key);
#endif