1
0
Fork 0
Commit graph

21 commits

Author SHA1 Message Date
Torsten Dreyer
f3058a3f2e Canvas: add support for stroke-linejoin 2014-08-26 00:06:59 +02:00
Thomas Geymayer
2bce958f39 parsesvg: Improved clip and error handling.
- Ignore and warn for unsupported/invalid clip regions.
 - Correctly handle clip 'none'.
 - Use printlog everywhere instead of debug.dump and others.
2014-08-24 13:59:36 +02:00
Thomas Geymayer
8aabd3726a parsesvg: support for rectangular clip/mask. 2014-07-19 21:44:38 +02:00
Thomas Geymayer
bab393aa0c Canvas/SVG parser: fix bounding box and rotation center.
- Calculate bounding box after adding all children.
 - Apply rotation after all SVG defined rotations to use correct
   center of rotation (as defined in Inkscape)

This (together with the SimGear and FlightGear commits) fixes
the core problems of #1333.
2014-02-08 00:43:13 +01:00
Thomas Geymayer
748f1d4d29 parsesvg: rename canvas.num to canvas.evalCSSNum 2013-12-01 14:05:12 +01:00
Tomash Brechko
2e6ba5f8c0 SVG parser: Add num() wrapper for <rect> attributes. 2013-12-01 14:05:11 +01:00
Gijs de Rooy
a9576e8c8d Canvas Navigational Display:
- get rid of global variables and use instance variables
- identified all important drawing routines and move them into *.draw files
- changed to dynamic loading of *.draw *.model and *.layer files
- implemented poor-man's controller hash to move use-case specific conditionals out of the draw files, and back into the instantiation, i.e. Gijs' EFIS class
- started identifying stuff that is not specific to drawing, but to what is to be drawn, i.e. Model stuff - such as positioned queries, moved those out into *.model files
- some more work on supporting more than a single ND MFD instance per aircraft
- renamed a handful of SVG identifiers to avoid naming conflicts and to simplify usage of SVG IDs as member fields
- moved all of the setlistener setup out of the fdm-initialized stub right into the ctor of the Efis class (actually that's controller stuff...)
- initial MapStructure framework
- aircraft-agnostic NavDisplay class
- preparations for deprecating map.nas
- additions to canvas.map
- preparations for making NDStyles configurable via XML
2013-12-01 13:36:23 +01:00
Thomas Geymayer
7e0797b1be svg parser: read line-height 2013-10-20 23:41:19 +02:00
Philosopher
24ab67fa32 Use resolvepath() for canvas SVGs 2013-10-06 11:52:30 -05:00
Thomas Geymayer
68efae1cd8 canvas.parsesvg: fix handling text without tspan or empty text. 2013-07-20 00:54:42 +02:00
Thomas Geymayer
ce4d7964f6 canvas.parsesvg: Be more tolerant instead of failing.
- Remove 'px' suffix from numbers to be used as valid numbers.
 - Automatically update the rotation center if it the according
   values are present.
 - Fix text only partially set if containing xml entities.
2013-07-15 22:37:05 +02:00
Thomas Geymayer
7027c604de Tweak SVG parser id handling of text elements 2013-02-23 20:05:13 +01:00
Thomas Geymayer
71f3f878c6 SVG rect rounded corner and refactor rect helper 2013-02-23 19:19:53 +01:00
Thomas Geymayer
5d54d3c504 Improve SVG/Inkscape text parsing/interpretation 2013-02-23 18:27:35 +01:00
Thomas Geymayer
95109b7b0c Fix parsing multiple SVG transforms and implement scale and rotation 2013-02-23 14:46:26 +01:00
Thomas Geymayer
4374ab0ce8 Use new built-in string functions 2013-01-31 22:56:43 +01:00
Thomas Geymayer
ef95c4cf10 parsesvg: fix checking for relative/absolute path 2013-01-11 19:56:42 +01:00
Thomas Geymayer
73fcf429d0 Canvas/SVG fix calculating transformation center (Group) 2013-01-09 12:14:31 +01:00
Thomas Geymayer
52b89ed372 Canvas: Update API for core changes.
- Use only one node for colors and dash-array
 - Update some property names to better match SVG/CSS
2012-08-23 21:05:52 +02:00
Thomas Geymayer
7e641735cb Canvas: Improve API and SVG parser.
- API:
  * Rename setSize to setFontSize
  * Add method getElementById to Group
  * Rename name of element to id to show more prominent
    that it should be unique.
  * Add methods for hide/show elements.
  * Fix: set correct id for cloned elements (parsesvg)
  * Fix: retrieving group with getElementById failed.
  * Parse SVG inkscape:transform-center-[xy]
  * Allow rotation around given point (use values from inkscape
    by default for SVG files)
  * Use breadth-first search instead of depth-first search for
    Element::getElementById (large speedup :))
  * Add more convenience functions for path drawing.
  * Add version check (useful if API files manually copied)

 - SVG:
  * Support <use> element
  * Parse font-size
  * Parse stroke-linecap
2012-08-02 01:40:00 +02:00
Thomas Geymayer
007e9bc33a Canvas: Add a basic SVG parser.
- Add basic std::string implementation to a Nasal submodule named
   std.
 - Add basic SVG parser parsing its results into a canvas group
   element.
2012-08-02 01:39:59 +02:00