Switch to SVG topology diagrams

* We need to custom paint the SVG at the right devicepixelratio because
  Qt seems to be busted at scaling up - nothing I can see causes the
  SVG to be rendered at higher than it's default resolution, so you end
  up with plain bilinear upscale.
* Since we're doing custom palette swap anyway, it's not much harm to
  just render ourselves, as we already basically had a dependency on
  QtSvg - just need to add the include files to the dependencies.
This commit is contained in:
baldurk
2017-07-28 10:37:12 +01:00
parent 9434b622a1
commit 89945f711d
28 changed files with 62 additions and 41 deletions
+10 -10
View File
@@ -76,16 +76,16 @@
RESOURCE_DEF(wireframe_mesh, "wireframe_mesh.png") \
RESOURCE_DEF(wrench, "wrench.png") \
RESOURCE_DEF(zoom, "zoom.png") \
RESOURCE_DEF(topo_linelist, "topologies/topo_linelist.png") \
RESOURCE_DEF(topo_linelist_adj, "topologies/topo_linelist_adj.png") \
RESOURCE_DEF(topo_linestrip, "topologies/topo_linestrip.png") \
RESOURCE_DEF(topo_linestrip_adj, "topologies/topo_linestrip_adj.png") \
RESOURCE_DEF(topo_patch, "topologies/topo_patch.png") \
RESOURCE_DEF(topo_pointlist, "topologies/topo_pointlist.png") \
RESOURCE_DEF(topo_trilist, "topologies/topo_trilist.png") \
RESOURCE_DEF(topo_trilist_adj, "topologies/topo_trilist_adj.png") \
RESOURCE_DEF(topo_tristrip, "topologies/topo_tristrip.png") \
RESOURCE_DEF(topo_tristrip_adj, "topologies/topo_tristrip_adj.png") \
RESOURCE_DEF(topo_linelist, "topologies/topo_linelist.svg") \
RESOURCE_DEF(topo_linelist_adj, "topologies/topo_linelist_adj.svg") \
RESOURCE_DEF(topo_linestrip, "topologies/topo_linestrip.svg") \
RESOURCE_DEF(topo_linestrip_adj, "topologies/topo_linestrip_adj.svg") \
RESOURCE_DEF(topo_patch, "topologies/topo_patch.svg") \
RESOURCE_DEF(topo_pointlist, "topologies/topo_pointlist.svg") \
RESOURCE_DEF(topo_trilist, "topologies/topo_trilist.svg") \
RESOURCE_DEF(topo_trilist_adj, "topologies/topo_trilist_adj.svg") \
RESOURCE_DEF(topo_tristrip, "topologies/topo_tristrip.svg") \
RESOURCE_DEF(topo_tristrip_adj, "topologies/topo_tristrip_adj.svg") \
RESOURCE_DEF(action, "action.png") \
RESOURCE_DEF(action_hover, "action_hover.png")
+10 -10
View File
@@ -3,16 +3,16 @@
<file>glsl.xml</file>
<file>hlsl.xml</file>
<file>logo.svg</file>
<file>topologies/topo_linelist.png</file>
<file>topologies/topo_linelist_adj.png</file>
<file>topologies/topo_linestrip.png</file>
<file>topologies/topo_linestrip_adj.png</file>
<file>topologies/topo_patch.png</file>
<file>topologies/topo_pointlist.png</file>
<file>topologies/topo_trilist.png</file>
<file>topologies/topo_trilist_adj.png</file>
<file>topologies/topo_tristrip.png</file>
<file>topologies/topo_tristrip_adj.png</file>
<file>topologies/topo_linelist.svg</file>
<file>topologies/topo_linelist_adj.svg</file>
<file>topologies/topo_linestrip.svg</file>
<file>topologies/topo_linestrip_adj.svg</file>
<file>topologies/topo_patch.svg</file>
<file>topologies/topo_pointlist.svg</file>
<file>topologies/topo_trilist.svg</file>
<file>topologies/topo_trilist_adj.svg</file>
<file>topologies/topo_tristrip.svg</file>
<file>topologies/topo_tristrip_adj.svg</file>
<file>action.png</file>
<file>action@2x.png</file>
<file>action_hover.png</file>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="265px" height="105px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 12 92 L 81.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 90.42 13.58 L 86.18 26.31 L 77.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 92 L 161.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 170.42 13.58 L 166.18 26.31 L 157.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 92 L 241.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 250.42 13.58 L 246.18 26.31 L 237.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="317px" height="157px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 38 118 L 107.93 48.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 116.42 39.58 L 112.18 52.31 L 103.69 43.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 118 118 L 187.93 48.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 196.42 39.58 L 192.18 52.31 L 183.69 43.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 198 118 L 267.93 48.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 276.42 39.58 L 272.18 52.31 L 263.69 43.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 118 38 L 142.18 13.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 146.42 9.58 L 143.59 18.07 L 142.18 13.82 L 137.93 12.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 198 38 L 222.18 13.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 226.42 9.58 L 223.59 18.07 L 222.18 13.82 L 217.93 12.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 278 38 L 302.18 13.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 306.42 9.58 L 303.59 18.07 L 302.18 13.82 L 297.93 12.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 8 148 L 32.18 123.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 36.42 119.58 L 33.59 128.07 L 32.18 123.82 L 27.93 122.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 88 148 L 112.18 123.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 116.42 119.58 L 113.59 128.07 L 112.18 123.82 L 107.93 122.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 168 148 L 192.18 123.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 196.42 119.58 L 193.59 128.07 L 192.18 123.82 L 187.93 122.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 930 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="265px" height="105px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 12 92 L 81.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 90.42 13.58 L 86.18 26.31 L 77.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 92 L 161.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 170.42 13.58 L 166.18 26.31 L 157.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 92 L 241.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 250.42 13.58 L 246.18 26.31 L 237.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 12 L 92 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 89.76 L 88 81.76 L 92 83.76 L 96 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 12 L 172 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 89.76 L 168 81.76 L 172 83.76 L 176 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="265px" height="105px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 12 92 L 81.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 90.42 13.58 L 86.18 26.31 L 77.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 92 L 161.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 170.42 13.58 L 166.18 26.31 L 157.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 92 L 241.93 22.07" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 250.42 13.58 L 246.18 26.31 L 237.69 17.82 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 12 L 92 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 92 89.76 L 88 81.76 L 92 83.76 L 96 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 12 L 172 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 172 89.76 L 168 81.76 L 172 83.76 L 176 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 252 12 L 252 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 252 89.76 L 248 81.76 L 252 83.76 L 256 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 12 12 L 12 83.76" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 12 89.76 L 8 81.76 L 12 83.76 L 16 81.76 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="121px" height="166px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 0 60 Q 30 96 60 60 Q 90 24 120 60 L 120 120 Q 90 84 60 120 Q 30 156 0 120 L 0 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><ellipse cx="5" cy="5" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="35" cy="40" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="85" cy="15" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="105" cy="140" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="25" cy="160" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 868 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="141px" height="11px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><ellipse cx="5" cy="5" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="70" cy="5" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/><ellipse cx="135" cy="5" rx="5" ry="5" fill="#ffffff" stroke="#000000" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="221px" height="61px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 0 0 L 60 30 L 0 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,30,30)" pointer-events="none"/><path d="M 80 0 L 140 30 L 80 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,110,30)" pointer-events="none"/><path d="M 160 0 L 220 30 L 160 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,190,30)" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="251px" height="121px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 160 0 L 220 30 L 160 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,190,30)" pointer-events="none"/><path d="M 190 0 L 250 30 L 190 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,220,30)" pointer-events="none"/><path d="M 160 60 L 220 90 L 160 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,190,90)" pointer-events="none"/><path d="M 130 0 L 190 30 L 130 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,160,30)" pointer-events="none"/><path d="M 30 0 L 90 30 L 30 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,60,30)" pointer-events="none"/><path d="M 60 0 L 120 30 L 60 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,90,30)" pointer-events="none"/><path d="M 30 60 L 90 90 L 30 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,60,90)" pointer-events="none"/><path d="M 0 0 L 60 30 L 0 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,30,30)" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="181px" height="61px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 120 0 L 180 30 L 120 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,150,30)" pointer-events="none"/><path d="M 0 0 L 60 30 L 0 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,30,30)" pointer-events="none"/><path d="M 60 0 L 120 30 L 60 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,90,30)" pointer-events="none"/><path d="M 90 0 L 150 30 L 90 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(90,120,30)" pointer-events="none"/><path d="M 30 0 L 90 30 L 30 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(90,60,30)" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="241px" height="181px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 150 60 L 210 90 L 150 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,180,90)" pointer-events="none"/><path d="M 180 60 L 240 90 L 180 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,210,90)" pointer-events="none"/><path d="M 150 120 L 210 150 L 150 180 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,180,150)" pointer-events="none"/><path d="M 30 60 L 90 90 L 30 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,60,90)" pointer-events="none"/><path d="M 90 120 L 150 150 L 90 180 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,120,150)" pointer-events="none"/><path d="M 30 120 L 90 150 L 30 180 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,60,150)" pointer-events="none"/><path d="M 0 60 L 60 90 L 0 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(90,30,90)" pointer-events="none"/><path d="M 60 0 L 120 30 L 60 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(-90,90,30)" pointer-events="none"/><path d="M 120 0 L 180 30 L 120 60 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" transform="rotate(-90,150,30)" pointer-events="none"/><path d="M 90 60 L 150 90 L 90 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(-90,120,90)" pointer-events="none"/><path d="M 120 60 L 180 90 L 120 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(90,150,90)" pointer-events="none"/><path d="M 60 60 L 120 90 L 60 120 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" transform="rotate(90,90,90)" pointer-events="none"/></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -368,7 +368,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.png</pixmap>
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.svg</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -432,7 +432,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.png</pixmap>
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.svg</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -432,7 +432,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.png</pixmap>
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.svg</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -24,6 +24,8 @@
#include "PipelineStateViewer.h"
#include <QMouseEvent>
#include <QPainter>
#include <QSvgRenderer>
#include <QXmlStreamWriter>
#include "3rdparty/toolwindowmanager/ToolWindowManager.h"
#include "Code/Resources.h"
@@ -429,22 +431,30 @@ void PipelineStateViewer::setTopologyDiagram(QLabel *diagram, Topology topo)
if(m_TopoPixmaps[idx].isNull())
{
QImage im;
QSvgRenderer svg;
switch(topo)
{
case Topology::PointList: im = Pixmaps::topo_pointlist(diagram).toImage(); break;
case Topology::LineList: im = Pixmaps::topo_linelist(diagram).toImage(); break;
case Topology::LineStrip: im = Pixmaps::topo_linestrip(diagram).toImage(); break;
case Topology::TriangleList: im = Pixmaps::topo_trilist(diagram).toImage(); break;
case Topology::TriangleStrip: im = Pixmaps::topo_tristrip(diagram).toImage(); break;
case Topology::LineList_Adj: im = Pixmaps::topo_linelist_adj(diagram).toImage(); break;
case Topology::LineStrip_Adj: im = Pixmaps::topo_linestrip_adj(diagram).toImage(); break;
case Topology::TriangleList_Adj: im = Pixmaps::topo_trilist_adj(diagram).toImage(); break;
case Topology::TriangleStrip_Adj: im = Pixmaps::topo_tristrip_adj(diagram).toImage(); break;
default: im = Pixmaps::topo_patch(diagram).toImage(); break;
case Topology::PointList: svg.load(lit(":/topologies/topo_pointlist.svg")); break;
case Topology::LineList: svg.load(lit(":/topologies/topo_linelist.svg")); break;
case Topology::LineStrip: svg.load(lit(":/topologies/topo_linestrip.svg")); break;
case Topology::TriangleList: svg.load(lit(":/topologies/topo_trilist.svg")); break;
case Topology::TriangleStrip: svg.load(lit(":/topologies/topo_tristrip.svg")); break;
case Topology::LineList_Adj: svg.load(lit(":/topologies/topo_linelist_adj.svg")); break;
case Topology::LineStrip_Adj: svg.load(lit(":/topologies/topo_linestrip_adj.svg")); break;
case Topology::TriangleList_Adj: svg.load(lit(":/topologies/topo_trilist_adj.svg")); break;
case Topology::TriangleStrip_Adj: svg.load(lit(":/topologies/topo_tristrip_adj.svg")); break;
default: svg.load(lit(":/topologies/topo_patch.svg")); break;
}
im = im.convertToFormat(QImage::Format_ARGB32);
QRect rect = svg.viewBox();
QImage im(rect.size() * diagram->devicePixelRatio(), QImage::Format_ARGB32);
im.fill(QColor(0, 0, 0, 0));
QPainter p(&im);
svg.render(&p);
// convert the colors - black maps to Text (foreground) and white maps to Base (background)
QColor white = diagram->palette().color(QPalette::Active, QPalette::Base);
@@ -480,6 +490,7 @@ void PipelineStateViewer::setTopologyDiagram(QLabel *diagram, Topology topo)
}
m_TopoPixmaps[idx] = QPixmap::fromImage(im);
m_TopoPixmaps[idx].setDevicePixelRatio(diagram->devicePixelRatioF());
}
diagram->setPixmap(m_TopoPixmaps[idx]);
@@ -432,7 +432,7 @@
<string/>
</property>
<property name="pixmap">
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.png</pixmap>
<pixmap resource="../../Resources/resources.qrc">:/topologies/topo_trilist.svg</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
+5 -5
View File
@@ -88,9 +88,9 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<AdditionalIncludeDirectories>$(ProjectDir);$(IntDir)generated\;$(SolutionDir)\renderdoc\api\replay;3rdparty\python\include;3rdparty\pyside\include\PySide2;3rdparty\pyside\include\PySide2\QtCore;3rdparty\pyside\include\PySide2\QtGui;3rdparty\pyside\include\PySide2\QtWidgets;3rdparty\pyside\include\shiboken2;3rdparty\qt\$(Platform)\include;3rdparty\qt\$(Platform)\include\QtWidgets;3rdparty\qt\$(Platform)\include\QtGui;3rdparty\qt\$(Platform)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ProjectDir);$(IntDir)generated\;$(SolutionDir)\renderdoc\api\replay;3rdparty\python\include;3rdparty\pyside\include\PySide2;3rdparty\pyside\include\PySide2\QtCore;3rdparty\pyside\include\PySide2\QtGui;3rdparty\pyside\include\PySide2\QtWidgets;3rdparty\pyside\include\shiboken2;3rdparty\qt\$(Platform)\include;3rdparty\qt\$(Platform)\include\QtWidgets;3rdparty\qt\$(Platform)\include\QtGui;3rdparty\qt\$(Platform)\include\QtCore;3rdparty\qt\$(Platform)\include\QtSvg;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>/Zc:strictStrings /Zc:throwingNew %(AdditionalOptions)</AdditionalOptions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;PYSIDE2_ENABLED=1;SCINTILLA_QT=1;MAKING_LIBRARY=1;SCI_LEXER=1;QT_NO_CAST_FROM_ASCII;QT_NO_CAST_TO_ASCII;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;WIN64;RENDERDOC_PLATFORM_WIN32;PYSIDE2_ENABLED=1;SCINTILLA_QT=1;MAKING_LIBRARY=1;SCI_LEXER=1;QT_NO_CAST_FROM_ASCII;QT_NO_CAST_TO_ASCII;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_SVG_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DisableSpecificWarnings>4100;4127;4189;4714;4718;4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -100,7 +100,7 @@
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>shiboken2.lib;python36.lib;qtmain.lib;Qt5Widgets.lib;Qt5Gui.lib;Qt5Core.lib;shell32.lib</AdditionalDependencies>
<AdditionalDependencies>shiboken2.lib;python36.lib;qtmain.lib;Qt5Widgets.lib;Qt5Gui.lib;Qt5Core.lib;Qt5Svg.lib;shell32.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>3rdparty\pyside\$(Platform);3rdparty\python\$(Platform);3rdparty\qt\$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<DataExecutionPrevention>true</DataExecutionPrevention>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
@@ -117,7 +117,7 @@
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;RENDERDOC_PLATFORM_WIN32;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;WIN32;RENDERDOC_PLATFORM_WIN32;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB;QT_SVG_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\renderdoc\api\replay</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
@@ -148,7 +148,7 @@
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
<AdditionalDependencies>shiboken2.lib;python36.lib;qtmaind.lib;Qt5Widgetsd.lib;Qt5Guid.lib;Qt5Cored.lib;shell32.lib</AdditionalDependencies>
<AdditionalDependencies>shiboken2.lib;python36.lib;qtmaind.lib;Qt5Widgetsd.lib;Qt5Guid.lib;Qt5Cored.lib;Qt5Svgd.lib;shell32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>