summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Purge side bits. These cause more trouble than they're worth, and it's not ↵John Mark Bell2009-02-105-177/+455
| | | | | | as if there's a dearth of opcode space. svn path=/trunk/libcss/; revision=6410
* Much API cleanup.John Mark Bell2009-02-102-23/+1660
| | | | | | | | Dispatch property handling through a table. Implement cascade_style. All property handlers are stubs at present. svn path=/trunk/libcss/; revision=6409
* Distinguish between pseudo classes and pseudo elementsJohn Mark Bell2009-02-105-11/+53
| | | | svn path=/trunk/libcss/; revision=6406
* Musings about a potential optimisationJohn Mark Bell2009-02-091-0/+6
| | | | svn path=/trunk/libcss/; revision=6405
* Match detailsJohn Mark Bell2009-02-091-5/+42
| | | | svn path=/trunk/libcss/; revision=6404
* This is more likely to handle universal simple_selectors correctly.John Mark Bell2009-02-091-41/+143
| | | | | | | | Refactor stuff while we're at it. Selector chains containing universal simple components are expensive to match/reject, as they require matching details on every previous sibling/ancestor (depending on the combinator type). Thus, we aim to handle the universal case last, to have the best chance of avoiding it. svn path=/trunk/libcss/; revision=6403
* Match selector chains. Universal selectors will probably break this.John Mark Bell2009-02-091-6/+107
| | | | svn path=/trunk/libcss/; revision=6402
* Beginnings of a handler function table.John Mark Bell2009-02-091-8/+11
| | | | svn path=/trunk/libcss/; revision=6401
* Iterate over the selectors in a stylesheet which match the current node's name.John Mark Bell2009-02-091-3/+76
| | | | svn path=/trunk/libcss/; revision=6400
* Traverse stylesheet tree iteratively.John Mark Bell2009-02-091-22/+60
| | | | svn path=/trunk/libcss/; revision=6399
* Further tweaks. We need to know the <sheet,rule> pair from which a property ↵John Mark Bell2009-02-071-2/+8
| | | | | | got set so that we can determine whether a subsequently defined rule overrides it. svn path=/trunk/libcss/; revision=6395
* Beginnings of a style selection algorithm.John Mark Bell2009-02-071-10/+76
| | | | svn path=/trunk/libcss/; revision=6392
* Fix build.John Mark Bell2009-02-071-1/+18
| | | | | | Sketch out a struct containing the state needed during selection. We need to know the specificity, origin, and importance of the source of the current property value. We also need to know whether the property has been set at all (as this is not available by simply inspecting the computed style struct). svn path=/trunk/libcss/; revision=6391
* Oh look, I've changed my mind again.John Mark Bell2009-02-073-21/+6
| | | | | | It's far better that the client creates computed style objects which we then populate. This will allow more efficient composition of styles as, in the most common case, it won't require any memory allocation. svn path=/trunk/libcss/; revision=6390
* More API changes.John Mark Bell2009-02-074-3/+150
| | | | | | | Make css_computed_style_create() private. Implement css_computed_style_[create,destroy](). svn path=/trunk/libcss/; revision=6389
* Mutators for computed styleJohn Mark Bell2009-02-072-1/+1628
| | | | svn path=/trunk/libcss/; revision=6388
* Fill in members of css_computed_{style,uncommon}John Mark Bell2009-02-051-0/+1
| | | | | | Add a couple of types to types.h -- the fixed point stuff needs thinking about. svn path=/trunk/libcss/; revision=6365
* Fiddle around with css_select_style()'s API. Add some documentation.John Mark Bell2009-01-271-2/+23
| | | | svn path=/trunk/libcss/; revision=6285
* Introduce ability to create/destroy selection contexts.John Mark Bell2009-01-262-1/+221
| | | | svn path=/trunk/libcss/; revision=6284
* Use a chaining hash for selectors -- permits easy sorting of hash entries by ↵John Mark Bell2009-01-262-125/+111
| | | | | | specificity/rule index. svn path=/trunk/libcss/; revision=6280
* Propagate specificity of simple selectors to the head of each combinator chain.John Mark Bell2009-01-261-0/+3
| | | | | | This saves us having to calculate the specificity every time we want it. svn path=/trunk/libcss/; revision=6278
* Assert preconditions, rather than returning runtime errors.John Mark Bell2009-01-251-19/+22
| | | | | | Squash leakage of selectors array in selector/page rules. svn path=/trunk/libcss/; revision=6274
* Implement css_stylesheet_{add,remove}_rule, thus (de)populating the selector ↵John Mark Bell2009-01-251-7/+191
| | | | | | hash. svn path=/trunk/libcss/; revision=6273
* Add ability to delete items from the selector hash (we use lazy deletion, as ↵John Mark Bell2009-01-252-3/+50
| | | | | | it's simpler) svn path=/trunk/libcss/; revision=6272
* Clean up rules when destroying sheetJohn Mark Bell2009-01-251-1/+12
| | | | svn path=/trunk/libcss/; revision=6271
* Remove redundant fieldsJohn Mark Bell2009-01-251-6/+0
| | | | svn path=/trunk/libcss/; revision=6270
* Destroy rulesJohn Mark Bell2009-01-251-4/+81
| | | | svn path=/trunk/libcss/; revision=6269
* Destroy selectorsJohn Mark Bell2009-01-251-5/+17
| | | | svn path=/trunk/libcss/; revision=6268
* Beginnings of specificity. John Mark Bell2009-01-252-2/+32
| | | | | | | | Note that we store the specificity on each simple selector. Thus the total specificity for a combinator chain is obtained by summing the specificity of each chain member. TODO: distinguish between pseudo classes and elements. svn path=/trunk/libcss/; revision=6267
* Simplify API of css_stylesheet_selector_create -- it's always used to create ↵John Mark Bell2009-01-253-13/+7
| | | | | | element selectors. Everything else is handled via detail. svn path=/trunk/libcss/; revision=6266
* Destroy style objectsJohn Mark Bell2009-01-251-3/+3
| | | | svn path=/trunk/libcss/; revision=6265
* Destroy parser on completion of parse, rather than keeping it around until ↵John Mark Bell2009-01-251-11/+26
| | | | | | we destroy the sheet. svn path=/trunk/libcss/; revision=6264
* Selector hash.John Mark Bell2009-01-255-4/+388
| | | | svn path=/trunk/libcss/; revision=6263
* Width values must be positiveJohn Mark Bell2009-01-251-0/+4
| | | | svn path=/trunk/libcss/; revision=6259
* Range check volume valuesJohn Mark Bell2009-01-251-0/+8
| | | | svn path=/trunk/libcss/; revision=6258
* Make negative speech-rate values invalidJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6245
* Range check richness valuesJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6243
* Ensure pitch values are positiveJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6242
* Range check pitch-rangeJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6240
* Make pause-after and pause-before treat negative values as illegalJohn Mark Bell2009-01-241-0/+8
| | | | svn path=/trunk/libcss/; revision=6239
* Ensure padding values are positiveJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6233
* hidden is an invalid outline style.John Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6232
* Have orphans and widows treat negative values as illegal. The spec doesn't ↵John Mark Bell2009-01-241-0/+8
| | | | | | explicitly outlaw this, but it's clearly nonsensical. svn path=/trunk/libcss/; revision=6230
* Ensure max-width and min-width values are positiveJohn Mark Bell2009-01-241-0/+8
| | | | svn path=/trunk/libcss/; revision=6229
* Ensure max-height and min-height values are positiveJohn Mark Bell2009-01-241-0/+8
| | | | svn path=/trunk/libcss/; revision=6228
* Ensure line-height values are positiveJohn Mark Bell2009-01-241-0/+8
| | | | svn path=/trunk/libcss/; revision=6227
* Ensure height values are positiveJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6226
* Fix handling of max -ve numbersAdrian Lees2009-01-241-9/+26
| | | | svn path=/trunk/libcss/; revision=6214
* Fix assertion failure when EOF is encountered in block-content.John Mark Bell2009-01-241-6/+23
| | | | | | Fix assertion failure when the first token within a ruleset isn't an IDENT. svn path=/trunk/libcss/; revision=6213
* Font size values must be positiveJohn Mark Bell2009-01-241-0/+4
| | | | svn path=/trunk/libcss/; revision=6211