summaryrefslogtreecommitdiff
path: root/include/libcss/select.h
Commit message (Collapse)AuthorAgeFilesLines
* @font-face support. Credit: James MontgomerieJohn Mark Bell2011-12-041-1/+20
| | | | | | Things missing: parser tests; the following descriptors: font-feature-settings, font-stretch, font-variant, unicode-range. svn path=/trunk/libcss/; revision=13244
* Add structure versioning for client inputJohn Mark Bell2011-03-131-0/+7
| | | | svn path=/trunk/libcss/; revision=12007
* CSS3 NamespacesJohn Mark Bell2011-03-121-15/+13
| | | | svn path=/trunk/libcss/; revision=11972
* CSS3 SelectorsJohn Mark Bell2011-01-311-1/+22
| | | | svn path=/trunk/libcss/; revision=11557
* Turns out, we know the size of the styles block up-front.John Mark Bell2011-01-051-1/+1
| | | | svn path=/trunk/libcss/; revision=11214
* Simultaneously select styles for base + pseudo elements.John Mark Bell2011-01-051-7/+28
| | | | svn path=/trunk/libcss/; revision=11211
* Sprinkle some C++ scoping aroundJohn Mark Bell2010-10-231-0/+9
| | | | svn path=/trunk/libcss/; revision=10901
* Fix libcss to use new libwapcaplet behaviour.Daniel Silverstone2010-03-271-3/+3
| | | | | | | TODO: update the tests to include a refcounting proof svn path=/trunk/libcss/; revision=10162
* Origin and media are not properties of the stylesheet. John Mark Bell2010-01-121-2/+4
| | | | | | | | | They are properties of the context in which the stylesheet is used. Therefore, for top-level sheets, this information must be provided at selection time. For child sheets, the origin is inherited from their parent and the applicable media types are specified on the linking mechanism. svn path=/trunk/libcss/; revision=9802
* Change selector hash to segregate:John Mark Bell2009-07-291-0/+5
| | | | | | | | | | | | | 1) element selectors 2) universal selectors with class names 3) universal selectors with ids 4) universal selectors Only bother looking for matching selectors in 2 & 3 if the node being selected for has class names or an id, respectively. In theory, this should speed up style selection somewhat. svn path=/trunk/libcss/; revision=8882
* Remove pointless parameterJohn Mark Bell2009-07-211-1/+1
| | | | svn path=/trunk/libcss/; revision=8653
* Change mechanism for handling case sensitivity of element names. Now has ↵John Mark Bell2009-07-171-0/+2
| | | | | | | | another selection handler callback for this. Change selector hash to use an ASCII case-insensitive hash function. svn path=/trunk/libcss/; revision=8602
* Add a flag to the font size computation callback to indicate that the ↵John Mark Bell2009-07-161-1/+1
| | | | | | resultant absolute font size should not be clamped to a fixed minimum (e.g. if the client has a minimum permissible font size) svn path=/trunk/libcss/; revision=8586
* Add callback to make client compute the font size.John Mark Bell2009-07-041-2/+3
| | | | | | Some progress towards computing absolute values. svn path=/trunk/libcss/; revision=8311
* Query client for initial values of color, font-family, quotes, and ↵John Mark Bell2009-07-041-0/+5
| | | | | | voice-family properties. svn path=/trunk/libcss/; revision=8306
* Support for parsing inline stylesJohn Mark Bell2009-06-261-0/+1
| | | | svn path=/trunk/libcss/; revision=8024
* Completely change the approach used for presentational hints.John Mark Bell2009-03-231-1/+4
| | | | | | | | This one stands a chance of working sanely. While this compiles, please don't expect it to link. svn path=/trunk/libcss/; revision=6820
* Sketch out something for presentational hints.John Mark Bell2009-03-221-1/+2
| | | | | | | The client will have to maintain some state to be able to calculate this struct for every node selection, but that shouldn't be overly onerous. Also, the mess surrounding centering can only be sensibly solved through the addition of a new, prefixed, property. svn path=/trunk/libcss/; revision=6816
* Port libcss to libwapcaplet.Daniel Silverstone2009-02-141-22/+14
| | | | | | | | | It passes the tests, perhaps we need more of them. Lifetimes of lwc_string objects really need attention before we can consider this finished. svn path=/trunk/libcss/; revision=6517
* Drop css_error_handler and rename css_alloc to css_allocator_fnDaniel Silverstone2009-02-141-1/+1
| | | | svn path=/trunk/libcss/; revision=6482
* Pseudo classes are now matched by callbacks to the client. This is far ↵John Mark Bell2009-02-141-18/+15
| | | | | | | | | saner, as any node may match a pseudo class, not just the immediate target of the selection. Munge test data to no longer expect :active to match -- there's currently no way to specify which node(s) in the tree have which pseudo classes applying to them. The pseudo classes on @page are no longer supported (namely, :left, :right, :first). These, and @page itself, probably want a dedicated API, as they are nothing to do with normal selection. Probably something like css_error css_select_page_margins(ctx, CSS_PAGE_LEFT, &computed); svn path=/trunk/libcss/; revision=6476
* Handle :first-child within libcssJohn Mark Bell2009-02-141-10/+11
| | | | svn path=/trunk/libcss/; revision=6474
* Enumerate pseudo classes and elementsJohn Mark Bell2009-02-101-0/+20
| | | | svn path=/trunk/libcss/; revision=6407
* Match detailsJohn Mark Bell2009-02-091-0/+22
| | | | svn path=/trunk/libcss/; revision=6404
* This is more likely to handle universal simple_selectors correctly.John Mark Bell2009-02-091-3/+6
| | | | | | | | 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-1/+9
| | | | svn path=/trunk/libcss/; revision=6402
* Beginnings of a handler function table.John Mark Bell2009-02-091-1/+9
| | | | svn path=/trunk/libcss/; revision=6401
* Oh look, I've changed my mind again.John Mark Bell2009-02-071-1/+1
| | | | | | 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-071-1/+1
| | | | | | | Make css_computed_style_create() private. Implement css_computed_style_[create,destroy](). svn path=/trunk/libcss/; revision=6389
* Create header containing computed style representation. This isn't remotely ↵John Mark Bell2009-01-271-6/+0
| | | | | | complete. svn path=/trunk/libcss/; revision=6289
* I guess it helps if you commit the header, too.John Mark Bell2009-01-271-2/+6
| | | | svn path=/trunk/libcss/; revision=6286
* Introduce ability to create/destroy selection contexts.John Mark Bell2009-01-261-0/+36
svn path=/trunk/libcss/; revision=6284