25 #include <oslib/wimp.h> 42 #define ICON_SSL_PANE 1 43 #define ICON_SSL_REJECT 3 44 #define ICON_SSL_ACCEPT 4 84 error = xwimp_delete_window(certw->
wh);
86 NSLOG(netsurf, INFO,
"xwimp_delete_window: 0x%x:%s",
87 error->errnum, error->errmess);
90 error = xwimp_delete_window(certw->
core.
wh);
92 NSLOG(netsurf, INFO,
"xwimp_delete_window: 0x%x:%s",
93 error->errnum, error->errmess);
161 wimp_window_state wstate;
162 wimp_window_info winfo;
163 wimp_icon_state istate;
167 error = xwimp_get_window_info_header_only(&winfo);
169 NSLOG(netsurf, INFO,
"xwimp_get_window_info: 0x%x: %s",
170 error->errnum, error->errmess);
175 error = xwimp_get_window_state(&wstate);
177 NSLOG(netsurf, INFO,
"xwimp_get_window_state: 0x%x: %s",
178 error->errnum, error->errmess);
184 error = xwimp_get_icon_state(&istate);
186 NSLOG(netsurf, INFO,
"xwimp_get_icon_state: 0x%x: %s",
187 error->errnum, error->errmess);
192 wstate.visible.x1 = wstate.visible.x0 + istate.icon.extent.x1 - 20 -
ro_get_vscroll_width(pane);
193 wstate.visible.x0 += istate.icon.extent.x0 + 20;
195 wstate.visible.y1 += istate.icon.extent.y1 - 32;
199 if ((winfo.extent.x1 - winfo.extent.x0) <
200 (wstate.visible.x1 - wstate.visible.x0)) {
202 winfo.extent.x1 = wstate.visible.x1 - wstate.visible.x0;
205 if ((winfo.extent.y1 - winfo.extent.y0) <
206 (wstate.visible.y1 - wstate.visible.y0)) {
208 winfo.extent.x1 = wstate.visible.y0 - wstate.visible.y1;
213 error = xwimp_set_extent(pane, &(winfo.extent));
215 NSLOG(netsurf, INFO,
"xwimp_set_extent: 0x%x: %s",
216 error->errnum, error->errmess);
221 error = xwimp_open_window_nested(
224 wimp_CHILD_LINKS_PARENT_VISIBLE_BOTTOM_OR_LEFT << wimp_CHILD_XORIGIN_SHIFT |
225 wimp_CHILD_LINKS_PARENT_VISIBLE_TOP_OR_RIGHT << wimp_CHILD_YORIGIN_SHIFT |
226 wimp_CHILD_LINKS_PARENT_VISIBLE_BOTTOM_OR_LEFT << wimp_CHILD_LS_EDGE_SHIFT |
227 wimp_CHILD_LINKS_PARENT_VISIBLE_BOTTOM_OR_LEFT << wimp_CHILD_RS_EDGE_SHIFT);
229 NSLOG(netsurf, INFO,
"xwimp_open_window_nested: 0x%x: %s",
230 error->errnum, error->errmess);
253 .background_images =
true,
316 nserror (*cb)(
bool proceed,
void *pw),
339 NSLOG(netsurf, INFO,
"xwimp_create_window: 0x%x: %s",
340 error->errnum, error->errmess);
348 NSLOG(netsurf, INFO,
"xwimp_create_window: 0x%x: %s",
349 error->errnum, error->errmess);
367 (
struct core_window *)ncwin,
410 wimp_WINDOW_BACK_ICON |
411 wimp_WINDOW_CLOSE_ICON |
412 wimp_WINDOW_TITLE_ICON |
413 wimp_WINDOW_SIZE_ICON |
414 wimp_WINDOW_TOGGLE_ICON);
void ro_gui_cert_initialise(void)
Load and initialise the certificate window template.
Target independent plotting interface.
nserror sslcert_viewer_create_session_data(struct nsurl *url, nserror(*cb)(bool proceed, void *pw), void *cbpw, const struct cert_chain *chain, struct sslcert_session_data **ssl_d)
Create ssl certificate viewer session data.
static nserror cert_attach_pane(wimp_w parent, wimp_w pane)
Attach tree window as a pane to ssl window.
nserror gui_cert_verify(nsurl *url, const struct cert_chain *chain, nserror(*cb)(bool proceed, void *pw), void *cbpw)
Prompt the user to verify a certificate with issuse.
const struct plotter_table ro_plotters
RISC OS plotter operation table.
browser_mouse_state
Mouse state.
Functionality is not implemented.
static wimp_window * cert_tree_template
riscos template for certificate tree pane.
#define PTR_WIMP_OPEN(pstate)
nserror sslcert_viewer_accept(struct sslcert_session_data *ssl_d)
Accept a certificate chain.
static void ro_gui_cert_reject(wimp_pointer *pointer)
Handle rejection of certificate via event callback.
static nserror cert_mouse(struct ro_corewindow *ro_cw, browser_mouse_state mouse_state, int x, int y)
callback for mouse event on ro certificate viewer window
static void ro_gui_cert_close_window(wimp_w w)
Callback to handle the closure of the SSL dialogue by other means.
nserror ro_corewindow_fini(struct ro_corewindow *ro_cw)
finalise elements of ro core window.
RISC OS core window interface.
void ro_gui_dialog_close(wimp_w close)
Close a dialog box.
Automated RISC OS WIMP event handling (interface).
bool ro_gui_wimp_event_register_close_window(wimp_w w, void(*callback)(wimp_w w))
Register a function to be called after the window has been closed.
struct sslcert_session_data * ssl_data
SSL certificate viewer context data.
RISC OS SSL certificate viewer interface.
void sslcert_viewer_redraw(struct sslcert_session_data *ssl_d, int x, int y, struct rect *clip, const struct redraw_context *ctx)
Redraw the ssl certificate viewer.
bool sslcert_viewer_keypress(struct sslcert_session_data *ssl_d, uint32_t key)
Key press handling.
bool interactive
Redraw to show interactive features.
nserror sslcert_viewer_init(struct core_window_callback_table *cw_t, void *core_window_handle, struct sslcert_session_data *ssl_d)
Initialise a ssl certificate viewer from session data.
nserror
Enumeration of error codes.
wimp_window * ro_gui_dialog_load_template(const char *template_name)
Load a template without creating a window.
#define NSLOG(catname, level, logmsg, args...)
void * ro_gui_wimp_event_get_user_data(wimp_w w)
Gets the user data associated with a window.
nserror(* draw)(struct ro_corewindow *ro_cw, int originx, int originy, struct rect *r)
callback to draw on drawable area of ro core window
nserror ro_corewindow_init(struct ro_corewindow *ro_cw, const struct button_bar_buttons *tb_buttons, char *tb_order, theme_style tb_style, const char *tb_help)
initialise elements of riscos core window.
SSL Certificate verification UI interface.
bool ro_gui_wimp_event_set_user_data(wimp_w w, void *user)
Sets the user data associated with a window.
static void ro_gui_cert_accept(wimp_pointer *pointer)
Handle acceptance of certificate via event callback.
int ro_get_hscroll_height(wimp_w w)
Gets the horizontal scrollbar height.
nserror(* key)(struct ro_corewindow *ro_cw, uint32_t nskey)
callback for keypress on ro core window
nserror sslcert_viewer_fini(struct sslcert_session_data *ssl_d)
Finalise a ssl certificate viewer.
nserror(* mouse)(struct ro_corewindow *ro_cw, browser_mouse_state mouse_state, int x, int y)
callback for mouse event on ro core window
static wimp_window * dialog_cert_template
riscos dialog template for certificate viewer window.
void ro_gui_dialog_open_persistent(wimp_w parent, wimp_w w, bool pointer)
Open a persistent dialog box relative to the pointer.
static nserror cert_key(struct ro_corewindow *ro_cw, uint32_t nskey)
callback for keypress on ro certificate viewer window
General RISC OS WIMP/OS library functions (interface).
static void ro_gui_cert_release_window(struct ro_cert_window *certw)
Handle closing of the RISC OS certificate verification dialog.
struct ro_corewindow core
static nserror cert_draw(struct ro_corewindow *ro_cw, int originx, int originy, struct rect *r)
Callback to draw on drawable area of ro certificate viewer window.
struct core_window_callback_table * cb_table
table of callbacks for core window operations
int ro_get_vscroll_width(wimp_w w)
Gets the vertical scrollbar width.
RISC OS certificate viewer context.
nserror sslcert_viewer_reject(struct sslcert_session_data *ssl_d)
Reject a certificate chain.
void ro_gui_wimp_event_finalise(wimp_w w)
Free any resources associated with a window.
ssl certificate verification context.
A collection of grubby utilities for working with OSLib's wimp API.
NetSurf URL handling (interface).
void sslcert_viewer_mouse_action(struct sslcert_session_data *ssl_d, browser_mouse_state mouse, int x, int y)
Handles all kinds of mouse action.
struct nsurl nsurl
NetSurf URL object.
bool ro_gui_wimp_event_register_button(wimp_w w, wimp_i i, void(*callback)(wimp_pointer *pointer))
Register a function to be called when a particular button is pressed.
wimp_w wh
certificate view window handle