1 /* 2 * Copyright 2006 Richard Wilson <info@tinct.net> 3 * 4 * This file is part of NetSurf, http://www.netsurf-browser.org/ 5 * 6 * NetSurf is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; version 2 of the License. 9 * 10 * NetSurf is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 /** \file 20 * Frame and frameset creation and manipulation (interface). 21 */ 22 23 #ifndef _NETSURF_DESKTOP_FRAMES_H_ 24 #define _NETSURF_DESKTOP_FRAMES_H_ 25 26 struct scrollbar_msg_data; 27 struct content_html_iframe; 28 struct content_html_frames; 29 30 /** 31 * Create and open iframes for a browser window. 32 * 33 * \param bw The browser window to create iframes for. 34 * \param iframe The iframes to create from. 35 * \return NSERROR_OK or error code on faliure. 36 */ 37 nserror browser_window_create_iframes(struct browser_window *bw, 38 struct content_html_iframe *iframe); 39 void browser_window_recalculate_iframes(struct browser_window *bw); 40 41 /** 42 * Create and open a frameset for a browser window. 43 * 44 * \param[in,out] bw The browser window to create the frameset for 45 * \param[in] frameset The frameset to create 46 * \return NSERROR_OK or error code on faliure 47 */ 48 nserror browser_window_create_frameset(struct browser_window *bw, 49 struct content_html_frames *frameset); 50 51 void browser_window_recalculate_frameset(struct browser_window *bw); 52 bool browser_window_frame_resize_start(struct browser_window *bw, 53 browser_mouse_state mouse, int x, int y, 54 browser_pointer_shape *pointer); 55 void browser_window_resize_frame(struct browser_window *bw, int x, int y); 56 57 void browser_window_scroll_callback(void *client_data, 58 struct scrollbar_msg_data *scrollbar_data); 59 60 61 /** 62 * Create, remove, and update browser window scrollbars 63 * 64 * \param bw The browser window 65 */ 66 void browser_window_handle_scrollbars(struct browser_window *bw); 67 68 #endif 69