Howto:Serializing a Canvas to SVG: Difference between revisions

Jump to navigation Jump to search
m
Line 33: Line 33:
This is referencing 5 different splash screen textures found in $FG_ROOT/Textures.
This is referencing 5 different splash screen textures found in $FG_ROOT/Textures.


When the patches svg module parses the SVG file, it comes up with a property hierarchy according to this:
When the patched svg module parses the SVG file, it comes up with a property hierarchy according to this (using props.dump() ):
[[File:Canvas2svg-serialization.png|thumb|Screenshot showing how the [[Howto:Extend_the_Canvas_SVG_module|patched svg.nas module]] turns svg/image tags into the corresponding canvas properties, showing two [[Property browser]] dialogs illustrating the internal representation, which can be used to help with [[Howto:Serializing a Canvas to SVG]].]]
[[File:Canvas2svg-serialization.png|thumb|Screenshot showing how the [[Howto:Extend_the_Canvas_SVG_module|patched svg.nas module]] turns svg/image tags into the corresponding canvas properties, showing two [[Property browser]] dialogs illustrating the internal representation, which can be used to help with [[Howto:Serializing a Canvas to SVG]].]]


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">group {NONE} = nil
group/image {NONE} = nil
group/image/source {NONE} = nil
group/image/source/normalized {BOOL} = 1
group/image/source/right {FLOAT} = 1
group/image/source/bottom {FLOAT} = 1
group/image/tf[1] {NONE} = nil
group/image/tf[1]/m {DOUBLE} = 1
group/image/tf[1]/m[1] {DOUBLE} = 0
group/image/tf[1]/m[2] {DOUBLE} = 0
group/image/tf[1]/m[3] {DOUBLE} = 1
group/image/tf[1]/m[4] {DOUBLE} = 20
group/image/tf[1]/m[5] {DOUBLE} = 20
group/image/size {STRING} = 80
group/image/size[1] {STRING} = 80
group/image/src {STRING} = Textures/Splash1.png
group/image/update {BOOL} = 1
group/image/center {DOUBLE} = 60
group/image/center[1] {DOUBLE} = 60
group/image/tf[2] {NONE} = nil
group/image/tf[2]/m {DOUBLE} = 1
group/image/tf[2]/m[1] {DOUBLE} = 0
group/image/tf[2]/m[2] {DOUBLE} = 0
group/image/tf[2]/m[3] {DOUBLE} = 1
group/image/tf[2]/m[4] {DOUBLE} = 0
group/image/tf[2]/m[5] {DOUBLE} = 0
group/image/tf-rot-index {DOUBLE} = 2
group/image[1] {NONE} = nil
group/image[1]/source {NONE} = nil
group/image[1]/source/normalized {BOOL} = 1
group/image[1]/source/right {FLOAT} = 1
group/image[1]/source/bottom {FLOAT} = 1
group/image[1]/tf[1] {NONE} = nil
group/image[1]/tf[1]/m {DOUBLE} = 1
group/image[1]/tf[1]/m[1] {DOUBLE} = 0
group/image[1]/tf[1]/m[2] {DOUBLE} = 0
group/image[1]/tf[1]/m[3] {DOUBLE} = 1
group/image[1]/tf[1]/m[4] {DOUBLE} = 120
group/image[1]/tf[1]/m[5] {DOUBLE} = 20
group/image[1]/size {STRING} = 80
group/image[1]/size[1] {STRING} = 80
group/image[1]/src {STRING} = Textures/Splash2.png
group/image[1]/update {BOOL} = 1
group/image[1]/center {DOUBLE} = 160
group/image[1]/center[1] {DOUBLE} = 60
group/image[1]/tf[2] {NONE} = nil
group/image[1]/tf[2]/m {DOUBLE} = 1
group/image[1]/tf[2]/m[1] {DOUBLE} = 0
group/image[1]/tf[2]/m[2] {DOUBLE} = 0
group/image[1]/tf[2]/m[3] {DOUBLE} = 1
group/image[1]/tf[2]/m[4] {DOUBLE} = 0
group/image[1]/tf[2]/m[5] {DOUBLE} = 0
group/image[1]/tf-rot-index {DOUBLE} = 2
group/image[2] {NONE} = nil
group/image[2]/source {NONE} = nil
group/image[2]/source/normalized {BOOL} = 1
group/image[2]/source/right {FLOAT} = 1
group/image[2]/source/bottom {FLOAT} = 1
group/image[2]/tf[1] {NONE} = nil
group/image[2]/tf[1]/m {DOUBLE} = 1
group/image[2]/tf[1]/m[1] {DOUBLE} = 0
group/image[2]/tf[1]/m[2] {DOUBLE} = 0
group/image[2]/tf[1]/m[3] {DOUBLE} = 1
group/image[2]/tf[1]/m[4] {DOUBLE} = 220
group/image[2]/tf[1]/m[5] {DOUBLE} = 20
group/image[2]/size {STRING} = 80
group/image[2]/size[1] {STRING} = 80
group/image[2]/src {STRING} = Textures/Splash3.png
group/image[2]/update {BOOL} = 1
group/image[2]/center {DOUBLE} = 260
group/image[2]/center[1] {DOUBLE} = 60
group/image[2]/tf[2] {NONE} = nil
group/image[2]/tf[2]/m {DOUBLE} = 1
group/image[2]/tf[2]/m[1] {DOUBLE} = 0
group/image[2]/tf[2]/m[2] {DOUBLE} = 0
group/image[2]/tf[2]/m[3] {DOUBLE} = 1
group/image[2]/tf[2]/m[4] {DOUBLE} = 0
group/image[2]/tf[2]/m[5] {DOUBLE} = 0
group/image[2]/tf-rot-index {DOUBLE} = 2
group/image[3] {NONE} = nil
group/image[3]/source {NONE} = nil
group/image[3]/source/normalized {BOOL} = 1
group/image[3]/source/right {FLOAT} = 1
group/image[3]/source/bottom {FLOAT} = 1
group/image[3]/tf[1] {NONE} = nil
group/image[3]/tf[1]/m {DOUBLE} = 1
group/image[3]/tf[1]/m[1] {DOUBLE} = 0
group/image[3]/tf[1]/m[2] {DOUBLE} = 0
group/image[3]/tf[1]/m[3] {DOUBLE} = 1
group/image[3]/tf[1]/m[4] {DOUBLE} = 20
group/image[3]/tf[1]/m[5] {DOUBLE} = 120
group/image[3]/size {STRING} = 80
group/image[3]/size[1] {STRING} = 80
group/image[3]/src {STRING} = Textures/Splash4.png
group/image[3]/update {BOOL} = 1
group/image[3]/center {DOUBLE} = 60
group/image[3]/center[1] {DOUBLE} = 160
group/image[3]/tf[2] {NONE} = nil
group/image[3]/tf[2]/m {DOUBLE} = 1
group/image[3]/tf[2]/m[1] {DOUBLE} = 0
group/image[3]/tf[2]/m[2] {DOUBLE} = 0
group/image[3]/tf[2]/m[3] {DOUBLE} = 1
group/image[3]/tf[2]/m[4] {DOUBLE} = 0
group/image[3]/tf[2]/m[5] {DOUBLE} = 0
group/image[3]/tf-rot-index {DOUBLE} = 2
group/image[4] {NONE} = nil
group/image[4]/source {NONE} = nil
group/image[4]/source/normalized {BOOL} = 1
group/image[4]/source/right {FLOAT} = 1
group/image[4]/source/bottom {FLOAT} = 1
group/image[4]/tf[1] {NONE} = nil
group/image[4]/tf[1]/m {DOUBLE} = 1
group/image[4]/tf[1]/m[1] {DOUBLE} = 0
group/image[4]/tf[1]/m[2] {DOUBLE} = 0
group/image[4]/tf[1]/m[3] {DOUBLE} = 1
group/image[4]/tf[1]/m[4] {DOUBLE} = 120
group/image[4]/tf[1]/m[5] {DOUBLE} = 120
group/image[4]/size {STRING} = 80
group/image[4]/size[1] {STRING} = 80
group/image[4]/src {STRING} = Textures/Splash5.png
group/image[4]/update {BOOL} = 1
group/image[4]/center {DOUBLE} = 160
group/image[4]/center[1] {DOUBLE} = 160
group/image[4]/tf[2] {NONE} = nil
group/image[4]/tf[2]/m {DOUBLE} = 1
group/image[4]/tf[2]/m[1] {DOUBLE} = 0
group/image[4]/tf[2]/m[2] {DOUBLE} = 0
group/image[4]/tf[2]/m[3] {DOUBLE} = 1
group/image[4]/tf[2]/m[4] {DOUBLE} = 0
group/image[4]/tf[2]/m[5] {DOUBLE} = 0
group/image[4]/tf-rot-index {DOUBLE} = 2
 
</syntaxhighlight>
</syntaxhighlight>


Navigation menu