diff options
-rw-r--r-- | include/libcss/stylesheet.h | 5 | ||||
-rw-r--r-- | src/stylesheet.c | 36 |
2 files changed, 39 insertions, 2 deletions
diff --git a/include/libcss/stylesheet.h b/include/libcss/stylesheet.h index 2f433a6..30be5ae 100644 --- a/include/libcss/stylesheet.h +++ b/include/libcss/stylesheet.h @@ -27,12 +27,13 @@ css_error css_stylesheet_append_data(css_stylesheet *sheet, const uint8_t *data, size_t len); css_error css_stylesheet_data_done(css_stylesheet *sheet); -/** \todo Need api for setting/clearing disabled flag */ - css_error css_stylesheet_get_url(css_stylesheet *sheet, const char **url); css_error css_stylesheet_get_title(css_stylesheet *sheet, const char **title); css_error css_stylesheet_get_origin(css_stylesheet *sheet, css_origin *origin); css_error css_stylesheet_get_media(css_stylesheet *sheet, uint32_t *media); +css_error css_stylesheet_get_disabled(css_stylesheet *sheet, bool *disabled); +css_error css_stylesheet_set_disabled(css_stylesheet *sheet, bool disabled); + #endif diff --git a/src/stylesheet.c b/src/stylesheet.c index 159c7a0..b61bb56 100644 --- a/src/stylesheet.c +++ b/src/stylesheet.c @@ -199,6 +199,42 @@ css_error css_stylesheet_get_media(css_stylesheet *sheet, uint32_t *media) return CSS_OK; } +/** + * Get disabled status of a stylesheet + * + * \param sheet The stylesheet to consider + * \param disabled Pointer to location to receive disabled state + * \return CSS_OK on success, appropriate error otherwise + */ +css_error css_stylesheet_get_disabled(css_stylesheet *sheet, bool *disabled) +{ + if (sheet == NULL || disabled == NULL) + return CSS_BADPARM; + + *disabled = sheet->disabled; + + return CSS_OK; +} + +/** + * Set a stylesheet's disabled state + * + * \param sheet The stylesheet to modify + * \param disabled The new disabled state + * \return CSS_OK on success, appropriate error otherwise + */ +css_error css_stylesheet_set_disabled(css_stylesheet *sheet, bool disabled) +{ + if (sheet == NULL) + return CSS_BADPARM; + + sheet->disabled = disabled; + + /** \todo needs to trigger some event announcing styles have changed */ + + return CSS_OK; +} + /****************************************************************************** * Private API below here * ******************************************************************************/ |