summaryrefslogtreecommitdiff
path: root/rsvg-styles.h
Commit message (Collapse)AuthorAgeFilesLines
* Move the C part of the library to a librsvg/ subdirectoryFederico Mena Quintero2018-02-221-292/+0
| | | | Avoid having everything in the toplevel. Modified source files to
* rsvg_state_reinherit() - Rename to state_reinherit(); make it a static functionFederico Mena Quintero2018-02-201-2/+0
|
* rsvg_state_inherit() - Rename to state_inherit(); make it a static functionFederico Mena Quintero2018-02-201-2/+0
|
* Rename rsvg_parse_style_pairs() -> rsvg_parse_presentation_attributes()Federico Mena Quintero2018-02-201-1/+1
| | | | | | | Because that's what it is intended to do. In the style parsing code, we'll make a distinction between key/value pairs coming from CSS styles or the "style" attribute in SVG elements, and presentation attributes in SVG elements.
* Replace "RsvgHandle *ctx" for "RsvgHandle *handle" everywhereFederico Mena Quintero2018-02-081-2/+2
| | | | | | Hopefully reduce the confusion between "RsvgHandle *ctx" and "RsvgDrawingCtx *ctx" - the Rust code is already uses handle vs. ctx like this.
* Remove unused argument from rsvg_parse_style()Federico Mena Quintero2018-02-081-1/+1
|
* rsvg_parse_stroke_dasharray(): New function, implemented in RustFederico Mena Quintero2018-01-301-6/+12
| | | | | | We use this now instead of the shitty C parser for the stroke-dasharray attribute. We still need to handle errors and inheritance.
* RsvgVpathDash: Rename internal fields to what we will refactorFederico Mena Quintero2018-01-301-2/+2
| | | | The new names will be those from the Rustified version
* RsvgState: store the dash_offset here, not in the dasharray structFederico Mena Quintero2018-01-301-1/+1
|
* Bind state::get_font_decor() to RustFederico Mena Quintero2017-12-151-0/+1
|
* New accessor rsvg_state_get_font_decor()Federico Mena Quintero2017-12-151-0/+3
|
* TextDecoration: Make this a struct of booleans, not a bitfieldFederico Mena Quintero2017-12-151-8/+5
|
* Bind rsvg_state_get_letter_spacing()Federico Mena Quintero2017-12-151-0/+2
|
* Bindings for text_gravity, font_family, font_style, font_weight, font_stretchFederico Mena Quintero2017-12-151-0/+19
|
* Add rsvg_state_get_unicode_bidi(), rsvg_state_get_text_dir(); bind them to RustFederico Mena Quintero2017-12-151-0/+6
|
* rsvg_state_get_language(): New accessorFederico Mena Quintero2017-12-141-0/+4
|
* Provide and bind rsvg_state_set_cond_true() to RustFederico Mena Quintero2017-12-051-0/+3
|
* rsvg_state_get_stop_opacity(): New function to expose this property to RustFederico Mena Quintero2017-05-311-0/+3
|
* rsvg_css_parse_opacity(): Move entirely to Rust. Yay!Federico Mena Quintero2017-05-311-14/+0
| | | | | We also move RsvgOpacitySpec and RsvgOpacityKind to rsvg-css.h, to keep them together with RsvgColorSpec/Kind.
* StopOpacity: Rename to RsvgOpacitySpecFederico Mena Quintero2017-05-311-7/+7
| | | | To be consistent with RsvgColorSpec
* StopOpacity: Turn into a struct; put both the "kind" enum and the actual ↵Federico Mena Quintero2017-05-301-5/+10
| | | | | | opacity value here This makes the stop-opacity property be similar to the stop-color one.
* rsvg_state_get_current_color(): Expose to RustFederico Mena Quintero2017-05-301-0/+3
|
* rsvg_state_get_stop_color(): New helper function to expose state->stop_color ↵Federico Mena Quintero2017-05-301-0/+3
| | | | to Rust
* Remove redundant STOP_OPACITY_UNSPECIFIEDFederico Mena Quintero2017-05-301-1/+0
| | | | | | | | | We use state->has_stop_opacity for that. I am really not liking the way rsvg_state_inherit_run() has the logic for whether a particular attribute is inherited or not. This should be at the "stop" element level --- the attributes *are* cascaded as expected for other elements.
* StopColor: Remove unused enumFederico Mena Quintero2017-05-301-7/+0
|
* Make RsvgState.stop_color be an RsvgCssColorSpec; don't have an auxiliary ↵Federico Mena Quintero2017-05-221-3/+2
| | | | StopColorMode anymore
* Sanitize the indentation specifiers for Emacs/VimFederico Mena Quintero2017-05-181-2/+2
| | | | | | Tabs are 8 spaces! Indentantion is 4 spaces!
* Export rsvg_state_has_overflow() to RustFederico Mena Quintero2017-05-161-0/+3
|
* rsvg_parse_style_pairs(): remove unused "ctx" argumentFederico Mena Quintero2017-03-221-1/+1
|
* transform.rs: Implement rsvg_parse_transform() fully in RustFederico Mena Quintero2017-03-221-0/+1
| | | | And remove it from rsvg-styles.c. Yay!
* Check the result on all uses of rsvg_parse_transform() and propagate errorsFederico Mena Quintero2017-03-211-1/+1
|
* Add a C getter for rsvg_state_get_cond_true()Federico Mena Quintero2017-03-161-0/+3
| | | | ... and wrap it in Rust; we'll need it there.
* rsvg_parse_style_attrs(): Take a full RsvgNode, not an RsvgStateFederico Mena Quintero2017-03-161-1/+1
|
* New helper function rsvg_state_is_overflow()Federico Mena Quintero2017-02-271-0/+3
| | | | To be used from the Rust code.
* Be explicit about how stop-color and stop-opacity are inheritedFederico Mena Quintero2016-12-131-0/+15
| | | | | | | | | | | | | | | | | | | | These can live in the <stop> element attributes, or in its style="..." attribute. Neither of them inherits by default; they have to be explicitly specified as "inherit" to do that. Inheritance is from the gradient's parent element, not from where it is referenced, hence the call to rsvg_state_reconstruct(). Also, stop-color can be currentColor. We now have explicit enums to indicate all of these cases. Previously, all the meanings were overloaded into state->has_stop_color and state->has_stop_opacity, and those didn't handle all cases correctly. Added the hexchat.svg icon to the tests, which is how I caught the lack of proper handling for style="stop-color: ...;".
* Make viewport_percentage() internal to rsvg-css.cFederico Mena Quintero2016-11-161-5/+0
| | | | | | This is only used in _rsvg_css_normalize_length() anyway. Also, remove an unused function.
* Make rsvg_state_override() staticFederico Mena Quintero2016-11-091-2/+1
| | | | It is only used within rsvg-styles.c
* Make rsvg_state_dominate() staticFederico Mena Quintero2016-11-091-2/+0
| | | | It's only used within rsvg-styles.c
* Make rsvg_state_new() / rsvg_state_free() the only way of getting new statesFederico Mena Quintero2016-11-091-3/+2
| | | | | | | | Previously they were allocated on the stack, allocated by hand on the heap, allocated with g_slice by rsvg_state_push()... Make all of that consistent; rsvg_state_new() is the only way to get a new state now.
* Move the get_*_marker functions to take an RsvgDrawingCtx, not a RsvgStateFederico Mena Quintero2016-11-081-7/+0
| | | | | That is, following the "fish out stuff from the current state" pattern from rsvg_get_normalized_stroke_width().
* rsvg-styles: New accessor functions for the state struct's markersFederico Mena Quintero2016-11-081-0/+7
| | | | We will use these from the Rust code to render markers
* bgo#340047 - Add support for the "baseline-shift" text attributeMenner2016-01-051-0/+2
| | | | | | | | This commit adds support for the baseline-shift attribute for tags "sub/super/baseline". We don't support percentages of the font size or explicit lengths yet. https://bugzilla.gnome.org/show_bug.cgi?id=340047
* state: Remove unused adobe blend mode supportBenjamin Otte2015-10-221-1/+0
| | | | There's no need to keep a variable around when nobody ever looks at it.
* marker: Resolve lazilyBenjamin Otte2015-10-221-3/+3
| | | | | | | | | | | And that concludes our rework of reference cylce detection. All code that references other objects via IRIs will now call rsvg_acquire_node() which itself avoids giving out the same node a second time until rsvg_release_node() has been called. This also means that rsvg_defs_lookup() is only used in two places now: (1) by rsvg_acquire_node() (2) by public API that allows operating on objects by id.
* state: Resolve filters lazilyBenjamin Otte2015-10-221-1/+1
| | | | We're almost there resolving everything lazily...
* state: Look up clip path lazilyBenjamin Otte2015-10-221-1/+1
|
* state: Store mask as referenceBenjamin Otte2015-10-221-1/+1
| | | | | Instead of immediately looking up the mask, store the reference and look it up on use.
* Mark non-exported functions with G_GNUC_INTERNALChristian Persch2012-01-261-0/+23
| | | | And regenerate librsvg.def.
* Split IO handling to rsvg-io.[ch]Christian Persch2012-01-131-1/+0
| | | | Add rsvg-io.[ch], move the code there, clean it up, and adapt the callers.
* Support basic vertical writing (Gnome Bug #664533)KUROSAWA Takeshi2011-11-281-0/+2
| | | | | | | | | | Support vertical writing text (writing-mode: tb-rl | tb) http://www.w3.org/TR/SVG11/text.html#SettingInlineProgressionDirection Bump pango dependency to 1.16.0 to use its vertical text APIs. Currently, we ignore both glyph-orientation-vertical and glyph-orientation-horizontal.