summaryrefslogtreecommitdiff
path: root/src/stylesheet.h
Commit message (Collapse)AuthorAgeFilesLines
* Optimise css_stylesheet_add_rule by the cunning approach of not iterating ↵John Mark Bell2008-11-281-0/+1
| | | | | | through a singly linked list to find the end every time we want to insert a rule. This doubles parsing speed. svn path=/trunk/libcss/; revision=5811
* Change the way in which css_rules are defined. This is more compact than the ↵John Mark Bell2008-11-281-39/+56
| | | | | | previous approach. Space requirements for rule objects alone is now 447,120 bytes as opposed to 819,270 bytes previously. This reduces the space requirements for allzengarden.css to 2,041,712 bytes, which is 45% the size of what we had originally. svn path=/trunk/libcss/; revision=5810
* css_string is now the same as a parserutils_dict_entry. This allows us to ↵John Mark Bell2008-11-271-13/+23
| | | | | | | | | | use dict entries directly as strings. iChange the way in which selectors are represented. This significantly reduces memory requirements -- reducing the approximate usage count (excludes the string dictionary, which is about 360k) of allzengarden.css from 4,535,400 bytes to 2,414,312 bytes on a 64bit platform. The string dictionary is now created and owned by the stylesheet object. The parser is just given access to this so that it can store strings in it. svn path=/trunk/libcss/; revision=5809
* Make stylesheet component constructors/destructors report errorsJohn Mark Bell2008-11-091-7/+9
| | | | svn path=/trunk/libcss/; revision=5675
* Something approximating a parser for clear.John Mark Bell2008-10-231-1/+7
| | | | | | Provide API to create/destroy css_styles and append them to css_rules. svn path=/trunk/libcss/; revision=5625
* Parse common part of declarations.John Mark Bell2008-10-221-3/+6
| | | | | | Stub out handlers for properties. svn path=/trunk/libcss/; revision=5620
* Style information for selector rulesets can be shared between the individual ↵John Mark Bell2008-10-201-2/+1
| | | | | | selectors in the ruleset. Therefore, hang it off the css_rule object, rather than having a separate copy for every selector in the ruleset. Selectors know which css_rule they belong to so can easily find the applicable style information. svn path=/trunk/libcss/; revision=5609
* Provide an internal mechanism for dumping stylesheets to a file handle.John Mark Bell2008-10-191-0/+3
| | | | | | Make the css21 test driver call this so we can see if it's working. svn path=/trunk/libcss/; revision=5602
* Finish selector list parsingJohn Mark Bell2008-10-191-1/+2
| | | | svn path=/trunk/libcss/; revision=5599
* Create a parser instance for a stylesheet. Also create a level-specific ↵John Mark Bell2008-09-251-0/+6
| | | | | | frontend. This probably wants reworking as we don't really want to be switching on the language level every time we want to interact with the parser frontend. svn path=/trunk/libcss/; revision=5437
* Public stylesheet API & stubbed out implementations.John Mark Bell2008-09-251-0/+5
| | | | | | Make public headers use libcss_ as their guard macro prefix. svn path=/trunk/libcss/; revision=5433
* Implement a bunch of css_stylesheet_*John Mark Bell2008-09-201-0/+4
| | | | svn path=/trunk/libcss/; revision=5376
* More API munging. Also stub out implementations of new APIs.John Mark Bell2008-09-131-0/+3
| | | | svn path=/trunk/libcss/; revision=5306
* Some idle API poking.John Mark Bell2008-09-121-7/+27
| | | | svn path=/trunk/libcss/; revision=5305
* Turn internal representation outline into a header file.John Mark Bell2008-08-081-0/+138
svn path=/trunk/libcss/; revision=4964