mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-11-23 14:59:47 +03:00
Currently untested (and unused) "drop file on browser window" handling.
svn path=/trunk/netsurf/; revision=13215
This commit is contained in:
parent
02780e1f2d
commit
71a8a8118c
@ -575,6 +575,43 @@ bool browser_window_scroll_at_point(struct browser_window *bw,
|
||||
return handled_scroll;
|
||||
}
|
||||
|
||||
/* exported interface, documented in browser.h */
|
||||
bool browser_window_drop_file_at_point(struct browser_window *bw,
|
||||
int x, int y, char *file)
|
||||
{
|
||||
assert(bw != NULL);
|
||||
|
||||
if (bw->children) {
|
||||
/* Browser window has children, so pass request on to
|
||||
* appropriate child */
|
||||
struct browser_window *bwc;
|
||||
int cur_child;
|
||||
int children = bw->rows * bw->cols;
|
||||
|
||||
/* Loop through all children of bw */
|
||||
for (cur_child = 0; cur_child < children; cur_child++) {
|
||||
/* Set current child */
|
||||
bwc = &bw->children[cur_child];
|
||||
|
||||
/* Skip this frame if (x, y) coord lies outside */
|
||||
if (x < bwc->x || bwc->x + bwc->width < x ||
|
||||
y < bwc->y || bwc->y + bwc->height < y)
|
||||
continue;
|
||||
|
||||
/* Pass request into this child */
|
||||
return browser_window_drop_file_at_point(bwc,
|
||||
(x - bwc->x), (y - bwc->y), file);
|
||||
}
|
||||
}
|
||||
|
||||
/* Pass file drop on to any content */
|
||||
if (bw->current_content != NULL)
|
||||
return content_drop_file_at_point(bw->current_content,
|
||||
x, y, file);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create and open a new root browser window with the given page.
|
||||
|
@ -264,6 +264,18 @@ void browser_window_get_contextual_content(struct browser_window *bw,
|
||||
bool browser_window_scroll_at_point(struct browser_window *bw,
|
||||
int x, int y, int scrx, int scry);
|
||||
|
||||
/**
|
||||
* Drop a file onto a browser window at a particular point.
|
||||
*
|
||||
* \param bw browser window to look inside
|
||||
* \param x x-coordinate of point of interest
|
||||
* \param y y-coordinate of point of interest
|
||||
* \param file path to file to be dropped
|
||||
* \return true iff file drop has been handled
|
||||
*/
|
||||
bool browser_window_drop_file_at_point(struct browser_window *bw,
|
||||
int x, int y, char *file);
|
||||
|
||||
void browser_window_refresh_url_bar(struct browser_window *bw, nsurl *url,
|
||||
lwc_string *frag);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user