netsurf/css/hints.h
Michael Drake e42afd9b32 Change hints handling to use new libcss API.
Collect hints and provide them up front.

Note this implementation is minimal effort, and quite inefficient.
We can be faster about it by walking the element's attributes, and
caching things set on ancestor elements which apply to the current
element.  (Mostly table, and body stuff.)
2016-02-05 10:49:58 +00:00

50 lines
1.4 KiB
C

/*
* Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
*
* NetSurf is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* NetSurf is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef NETSURF_CSS_HINTS_H_
#define NETSURF_CSS_HINTS_H_
#include <stdint.h>
#include "css/css.h"
nserror css_hint_init(void);
void css_hint_fini(void);
/**
* Callback to retrieve presentational hints for a node
*
* \param pw HTML document
* \param node DOM node
* \param property CSS property to retrieve
* \param hint Pointer to hint object to populate
* \return CSS_OK on success,
* CSS_PROPERTY_NOT_SET if there is no hint for the requested property,
* CSS_NOMEM on memory exhaustion.
*/
css_error node_presentational_hint(
void *pw,
void *node,
uint32_t *nhints,
css_hint **hints);
bool nscss_parse_colour(const char *data, css_color *result);
#endif