diff options
author | Richard Wilson <rjw@netsurf-browser.org> | 2005-12-01 01:22:23 +0000 |
---|---|---|
committer | Richard Wilson <rjw@netsurf-browser.org> | 2005-12-01 01:22:23 +0000 |
commit | 57948a37464ac988332bb7889fc6de0eeec39daf (patch) | |
tree | eb15929cdf0a10a704d19b7398bb9358c6f51cf1 | |
parent | adc0083ef4a48a5dd814682bab33af3d35877f06 (diff) | |
download | netsurf-57948a37464ac988332bb7889fc6de0eeec39daf.tar.gz netsurf-57948a37464ac988332bb7889fc6de0eeec39daf.tar.bz2 |
[project @ 2005-12-01 01:22:23 by rjw]
Add function to check for specific window furniture
svn path=/import/netsurf/; revision=1889
-rw-r--r-- | riscos/wimp.c | 22 | ||||
-rw-r--r-- | riscos/wimp.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/riscos/wimp.c b/riscos/wimp.c index 6e7624be2..820835b58 100644 --- a/riscos/wimp.c +++ b/riscos/wimp.c @@ -850,3 +850,25 @@ void ro_gui_wimp_update_window_furniture(wimp_w w, wimp_window_flags bic_mask, } } } + + +/** + * Checks whether a piece of window furniture is present for a window. + * + * \param w the window to modify + * \param mask the furniture flags to check + */ +bool ro_gui_wimp_check_window_furniture(wimp_w w, wimp_window_flags mask) { + wimp_window_state state; + os_error *error; + + state.w = w; + error = xwimp_get_window_state(&state); + if (error) { + LOG(("xwimp_get_window_state: 0x%x: %s", + error->errnum, error->errmess)); + warn_user("WimpError", error->errmess); + return false; + } + return state.flags & mask; +} diff --git a/riscos/wimp.h b/riscos/wimp.h index cc587c39b..8ec3ab3bd 100644 --- a/riscos/wimp.h +++ b/riscos/wimp.h @@ -55,5 +55,6 @@ void ro_gui_set_icon_colours(wimp_w window, wimp_i icon, void ro_gui_user_redraw(wimp_draw *redraw, bool user_fill, os_colour user_colour); void ro_gui_wimp_update_window_furniture(wimp_w w, wimp_window_flags bic_mask, wimp_window_flags xor_mask); +bool ro_gui_wimp_check_window_furniture(wimp_w w, wimp_window_flags mask); #endif |