Improvements in Draft Snap

+ fixed bug in parallel/extension button
+ added button for passive snap
+ fixed snap toolbar appearing outside the FreeCAD window
This commit is contained in:
Yorik van Havre 2012-03-16 18:29:56 -03:00
parent 13e5e28625
commit 8bb7636bd7
4 changed files with 445 additions and 65 deletions

View File

@ -73,6 +73,8 @@ class Snapper:
self.trackLine = None
self.lastSnappedObject = None
self.active = True
self.polarAngles = [90,45]
# the snapmarker has "dot","circle" and "square" available styles
self.mk = {'passive':'circle',
@ -86,7 +88,7 @@ class Snapper:
'center':'dot',
'ortho':'dot',
'intersection':'dot'}
self.cursors = {'passive':None,
self.cursors = {'passive':':/icons/Snap_Near.svg',
'extension':':/icons/Snap_Extension.svg',
'parallel':':/icons/Snap_Parallel.svg',
'grid':':/icons/Snap_Grid.svg',
@ -282,7 +284,7 @@ class Snapper:
if self.radius:
dv = point.sub(winner[2])
if (dv.Length > self.radius):
if not oldActive:
if (not oldActive) and self.isEnabled("passive"):
winner = self.snapToVertex(info)
# setting the cursors
@ -304,18 +306,19 @@ class Snapper:
def snapToExtensions(self,point,last,constrain,eline):
"returns a point snapped to extension or parallel line to last object, if any"
tsnap = self.snapToExtOrtho(last,constrain,eline)
if tsnap:
if (tsnap[0].sub(point)).Length < self.radius:
if self.tracker:
self.tracker.setCoords(tsnap[2])
self.tracker.setMarker(self.mk[tsnap[1]])
self.tracker.on()
if self.extLine:
self.extLine.p2(tsnap[2])
self.extLine.on()
self.setCursor(tsnap[1])
return tsnap[2],eline
if self.isEnabled("extension"):
tsnap = self.snapToExtOrtho(last,constrain,eline)
if tsnap:
if (tsnap[0].sub(point)).Length < self.radius:
if self.tracker:
self.tracker.setCoords(tsnap[2])
self.tracker.setMarker(self.mk[tsnap[1]])
self.tracker.on()
if self.extLine:
self.extLine.p2(tsnap[2])
self.extLine.on()
self.setCursor(tsnap[1])
return tsnap[2],eline
for o in [self.lastObj[1],self.lastObj[0]]:
if o:
@ -329,40 +332,41 @@ class Snapper:
np = self.getPerpendicular(e,point)
if not fcgeo.isPtOnEdge(np,e):
if (np.sub(point)).Length < self.radius:
if np != e.Vertexes[0].Point:
if self.tracker:
self.tracker.setCoords(np)
self.tracker.setMarker(self.mk['extension'])
self.tracker.on()
if self.extLine:
self.extLine.p1(e.Vertexes[0].Point)
self.extLine.p2(np)
self.extLine.on()
self.setCursor('extension')
return np,Part.Line(e.Vertexes[0].Point,np).toShape()
else:
if last:
de = Part.Line(last,last.add(fcgeo.vec(e))).toShape()
np = self.getPerpendicular(de,point)
if (np.sub(point)).Length < self.radius:
if self.isEnabled('extension'):
if np != e.Vertexes[0].Point:
if self.tracker:
self.tracker.setCoords(np)
self.tracker.setMarker(self.mk['parallel'])
self.tracker.setMarker(self.mk['extension'])
self.tracker.on()
if self.extLine:
self.extLine.p1(e.Vertexes[0].Point)
self.extLine.p2(np)
self.extLine.on()
self.setCursor('extension')
return np,de
return np,Part.Line(e.Vertexes[0].Point,np).toShape()
else:
if self.isEnabled('parallel'):
if last:
de = Part.Line(last,last.add(fcgeo.vec(e))).toShape()
np = self.getPerpendicular(de,point)
if (np.sub(point)).Length < self.radius:
if self.tracker:
self.tracker.setCoords(np)
self.tracker.setMarker(self.mk['parallel'])
self.tracker.on()
self.setCursor('parallel')
return np,de
return point,eline
def snapToPolar(self,point,last):
"snaps to polar lines from the given point"
if self.isEnabled('ortho'):
polarAngles = [90,45]
if self.isEnabled('ortho'):
if last:
vecs = []
ax = [FreeCAD.DraftWorkingPlane.u,
FreeCAD.DraftWorkingPlane.v,
FreeCAD.DraftWorkingPlane.axis]
for a in polarAngles:
for a in self.polarAngles:
if a == 90:
vecs.extend([ax[0],fcvec.neg(ax[0])])
vecs.extend([ax[1],fcvec.neg(ax[1])])
@ -544,8 +548,10 @@ class Snapper:
return [p,'endpoint',p]
else:
return []
else:
elif self.isEnabled("passive"):
return [p,'passive',p]
else:
return []
def getScreenDist(self,dist,cursor):
"returns a distance in 3D space from a screen pixels distance"
@ -787,7 +793,6 @@ class Snapper:
self.toolbar.hide()
def toggle(self,checked=None):
print "checked",checked
if hasattr(self,"toolbarButtons"):
if checked == None:
self.masterbutton.toggle()
@ -811,11 +816,13 @@ class Snapper:
def show(self):
"shows the toolbar"
if hasattr(self,"toolbar"):
self.toolbar.show()
else:
if not hasattr(self,"toolbar"):
self.makeSnapToolBar()
self.toolbar.show()
mw = getMainWindow()
bt = mw.findChild(QtGui.QToolBar,"Draft Snap")
if not bt:
mw.addToolBar(self.toolbar)
self.toolbar.show()
if not hasattr(FreeCADGui,"Snapper"):
FreeCADGui.Snapper = Snapper()

View File

@ -2,7 +2,7 @@
# Resource object code
#
# Created: Tue Mar 13 18:19:12 2012
# Created: Fri Mar 16 17:36:21 2012
# by: The Resource Compiler for PyQt (Qt v4.7.4)
#
# WARNING! All changes made in this file will be lost!
@ -29840,6 +29840,261 @@ qt_resource_data = "\
\x37\x86\x80\x57\xa6\x87\x7c\x67\x4c\x1e\xde\xa8\x39\x6c\x93\xe4\
\xc2\x80\xb9\xb8\x23\xb2\x12\x54\x8d\x96\xe1\xc5\x92\x34\x5d\x01\
\xb7\xa5\x6a\xde\x87\xd9\x3f\xeb\x1f\x07\xd5\
\x00\x00\x0f\xce\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\
\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\
\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\
\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\
\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\
\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\
\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x64\
\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
\x72\x67\x2f\x64\x63\x2f\x65\x6c\x65\x6d\x65\x6e\x74\x73\x2f\x31\
\x2e\x31\x2f\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x63\x63\
\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x63\x72\x65\x61\x74\x69\x76\
\x65\x63\x6f\x6d\x6d\x6f\x6e\x73\x2e\x6f\x72\x67\x2f\x6e\x73\x23\
\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x72\x64\x66\x3d\x22\
\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\
\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\x32\x2d\x72\x64\x66\
\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\x22\x0a\x20\x20\x20\
\x78\x6d\x6c\x6e\x73\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\
\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\
\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\
\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\
\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\
\x39\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x22\x0a\x20\x20\x20\x78\x6d\
\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\
\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\
\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\
\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\
\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\
\x61\x70\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
\x69\x6e\x6b\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\
\x65\x73\x70\x61\x63\x65\x73\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\
\x22\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\x36\x34\x70\x78\
\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\x34\x70\
\x78\x22\x0a\x20\x20\x20\x69\x64\x3d\x22\x73\x76\x67\x32\x37\x32\
\x36\x22\x0a\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x76\
\x65\x72\x73\x69\x6f\x6e\x3d\x22\x30\x2e\x33\x32\x22\x0a\x20\x20\
\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\
\x6e\x3d\x22\x30\x2e\x34\x38\x2e\x31\x20\x72\x39\x37\x36\x30\x22\
\x0a\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x64\x6f\x63\
\x6e\x61\x6d\x65\x3d\x22\x53\x6e\x61\x70\x5f\x50\x61\x72\x61\x6c\
\x6c\x65\x6c\x2e\x73\x76\x67\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\
\x63\x61\x70\x65\x3a\x6f\x75\x74\x70\x75\x74\x5f\x65\x78\x74\x65\
\x6e\x73\x69\x6f\x6e\x3d\x22\x6f\x72\x67\x2e\x69\x6e\x6b\x73\x63\
\x61\x70\x65\x2e\x6f\x75\x74\x70\x75\x74\x2e\x73\x76\x67\x2e\x69\
\x6e\x6b\x73\x63\x61\x70\x65\x22\x0a\x20\x20\x20\x76\x65\x72\x73\
\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x3e\x0a\x20\x20\x3c\x64\x65\
\x66\x73\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\
\x32\x37\x32\x38\x22\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x6b\x73\
\x63\x61\x70\x65\x3a\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\
\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\x70\x6f\x64\x69\
\x3a\x74\x79\x70\x65\x3d\x22\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
\x70\x65\x72\x73\x70\x33\x64\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x78\x3d\x22\x30\
\x20\x3a\x20\x33\x32\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\
\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\x70\x5f\x79\x3d\
\x22\x30\x20\x3a\x20\x31\x30\x30\x30\x20\x3a\x20\x30\x22\x0a\x20\
\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x76\
\x70\x5f\x7a\x3d\x22\x36\x34\x20\x3a\x20\x33\x32\x20\x3a\x20\x31\
\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
\x65\x3a\x70\x65\x72\x73\x70\x33\x64\x2d\x6f\x72\x69\x67\x69\x6e\
\x3d\x22\x33\x32\x20\x3a\x20\x32\x31\x2e\x33\x33\x33\x33\x33\x33\
\x20\x3a\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
\x22\x70\x65\x72\x73\x70\x65\x63\x74\x69\x76\x65\x32\x37\x33\x34\
\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x72\x61\x64\x69\x61\x6c\
\x47\x72\x61\x64\x69\x65\x6e\x74\x0a\x20\x20\x20\x20\x20\x20\x20\
\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\x6c\x6c\x65\x63\x74\
\x3d\x22\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\x20\x20\x20\x20\x20\
\x20\x78\x6c\x69\x6e\x6b\x3a\x68\x72\x65\x66\x3d\x22\x23\x6c\x69\
\x6e\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x33\x31\x34\x34\
\x2d\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x72\
\x61\x64\x69\x61\x6c\x47\x72\x61\x64\x69\x65\x6e\x74\x33\x38\x35\
\x30\x2d\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x67\x72\x61\x64\
\x69\x65\x6e\x74\x55\x6e\x69\x74\x73\x3d\x22\x75\x73\x65\x72\x53\
\x70\x61\x63\x65\x4f\x6e\x55\x73\x65\x22\x0a\x20\x20\x20\x20\x20\
\x20\x20\x67\x72\x61\x64\x69\x65\x6e\x74\x54\x72\x61\x6e\x73\x66\
\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x31\x2c\x30\x2c\
\x30\x2c\x30\x2e\x36\x39\x38\x35\x32\x39\x34\x2c\x30\x2c\x32\x30\
\x32\x2e\x38\x32\x38\x36\x33\x29\x22\x0a\x20\x20\x20\x20\x20\x20\
\x20\x63\x78\x3d\x22\x32\x32\x35\x2e\x32\x36\x34\x30\x32\x22\x0a\
\x20\x20\x20\x20\x20\x20\x20\x63\x79\x3d\x22\x36\x37\x32\x2e\x37\
\x39\x37\x33\x36\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x66\x78\x3d\
\x22\x32\x32\x35\x2e\x32\x36\x34\x30\x32\x22\x0a\x20\x20\x20\x20\
\x20\x20\x20\x66\x79\x3d\x22\x36\x37\x32\x2e\x37\x39\x37\x33\x36\
\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x72\x3d\x22\x33\x34\x2e\x33\
\x34\x35\x31\x38\x38\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x6c\
\x69\x6e\x65\x61\x72\x47\x72\x61\x64\x69\x65\x6e\x74\x0a\x20\x20\
\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x6f\
\x6c\x6c\x65\x63\x74\x3d\x22\x61\x6c\x77\x61\x79\x73\x22\x0a\x20\
\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x69\x6e\x65\x61\x72\
\x47\x72\x61\x64\x69\x65\x6e\x74\x33\x31\x34\x34\x2d\x34\x22\x3e\
\x0a\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x6f\x70\x0a\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x73\x74\x6f\
\x70\x2d\x63\x6f\x6c\x6f\x72\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\
\x73\x74\x6f\x70\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x22\
\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x66\x66\x73\x65\x74\
\x3d\x22\x30\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
\x3d\x22\x73\x74\x6f\x70\x33\x31\x34\x36\x2d\x32\x22\x20\x2f\x3e\
\x0a\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x6f\x70\x0a\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x73\x74\x6f\
\x70\x2d\x63\x6f\x6c\x6f\x72\x3a\x23\x66\x66\x66\x66\x66\x66\x3b\
\x73\x74\x6f\x70\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x30\x3b\x22\
\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6f\x66\x66\x73\x65\x74\
\x3d\x22\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\
\x3d\x22\x73\x74\x6f\x70\x33\x31\x34\x38\x2d\x30\x22\x20\x2f\x3e\
\x0a\x20\x20\x20\x20\x3c\x2f\x6c\x69\x6e\x65\x61\x72\x47\x72\x61\
\x64\x69\x65\x6e\x74\x3e\x0a\x20\x20\x3c\x2f\x64\x65\x66\x73\x3e\
\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\x61\x6d\
\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\
\x62\x61\x73\x65\x22\x0a\x20\x20\x20\x20\x20\x70\x61\x67\x65\x63\
\x6f\x6c\x6f\x72\x3d\x22\x23\x66\x66\x66\x66\x66\x66\x22\x0a\x20\
\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x63\x6f\x6c\x6f\x72\x3d\
\x22\x23\x36\x36\x36\x36\x36\x36\x22\x0a\x20\x20\x20\x20\x20\x62\
\x6f\x72\x64\x65\x72\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x31\x2e\
\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
\x3a\x70\x61\x67\x65\x6f\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\
\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
\x3a\x70\x61\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\
\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x7a\x6f\
\x6f\x6d\x3d\x22\x33\x2e\x38\x38\x39\x30\x38\x37\x33\x22\x0a\x20\
\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x78\x3d\
\x22\x32\x38\x2e\x31\x31\x37\x31\x32\x36\x22\x0a\x20\x20\x20\x20\
\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x79\x3d\x22\x35\x33\
\x2e\x36\x36\x35\x37\x37\x36\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\
\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\x65\x6e\x74\x2d\x6c\
\x61\x79\x65\x72\x3d\x22\x67\x34\x32\x38\x39\x22\x0a\x20\x20\x20\
\x20\x20\x73\x68\x6f\x77\x67\x72\x69\x64\x3d\x22\x74\x72\x75\x65\
\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\
\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\
\x65\x3a\x67\x72\x69\x64\x2d\x62\x62\x6f\x78\x3d\x22\x74\x72\x75\
\x65\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\
\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\
\x32\x38\x30\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\
\x3d\x22\x37\x35\x35\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\
\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x30\
\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\
\x77\x69\x6e\x64\x6f\x77\x2d\x79\x3d\x22\x32\x32\x22\x0a\x20\x20\
\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\
\x6f\x77\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\
\x20\x2f\x3e\x0a\x20\x20\x3c\x6d\x65\x74\x61\x64\x61\x74\x61\x0a\
\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6d\x65\x74\x61\x64\x61\x74\
\x61\x32\x37\x33\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x72\x64\x66\
\x3a\x52\x44\x46\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x63\x63\x3a\
\x57\x6f\x72\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x64\
\x66\x3a\x61\x62\x6f\x75\x74\x3d\x22\x22\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x20\x20\x3c\x64\x63\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x69\
\x6d\x61\x67\x65\x2f\x73\x76\x67\x2b\x78\x6d\x6c\x3c\x2f\x64\x63\
\x3a\x66\x6f\x72\x6d\x61\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\
\x20\x3c\x64\x63\x3a\x74\x79\x70\x65\x0a\x20\x20\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x72\x64\x66\x3a\x72\x65\x73\x6f\x75\x72\x63\
\x65\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x70\x75\x72\x6c\x2e\x6f\
\x72\x67\x2f\x64\x63\x2f\x64\x63\x6d\x69\x74\x79\x70\x65\x2f\x53\
\x74\x69\x6c\x6c\x49\x6d\x61\x67\x65\x22\x20\x2f\x3e\x0a\x20\x20\
\x20\x20\x20\x20\x20\x20\x3c\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\
\x3c\x2f\x64\x63\x3a\x74\x69\x74\x6c\x65\x3e\x0a\x20\x20\x20\x20\
\x20\x20\x3c\x2f\x63\x63\x3a\x57\x6f\x72\x6b\x3e\x0a\x20\x20\x20\
\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\x3e\x0a\x20\x20\x3c\x2f\
\x6d\x65\x74\x61\x64\x61\x74\x61\x3e\x0a\x20\x20\x3c\x67\x0a\x20\
\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\x79\x65\x72\x31\x22\x0a\
\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x6c\x61\
\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\x72\x20\x31\x22\x0a\x20\x20\
\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x67\x72\x6f\x75\
\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\x79\x65\x72\x22\x3e\x0a\x20\
\x20\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\
\x22\x67\x34\x32\x38\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x74\
\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\
\x28\x30\x2e\x31\x36\x32\x31\x32\x38\x32\x2c\x30\x2c\x30\x2c\x30\
\x2e\x31\x36\x32\x31\x32\x38\x32\x2c\x36\x2e\x33\x36\x30\x35\x39\
\x38\x36\x2c\x2d\x36\x36\x2e\x31\x30\x38\x38\x30\x36\x29\x22\x3e\
\x0a\x20\x20\x20\x20\x20\x20\x3c\x72\x65\x63\x74\x0a\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x30\x30\x30\x30\x30\x30\x3b\x66\x69\x6c\x6c\x3a\
\x23\x30\x30\x62\x32\x38\x36\x3b\x66\x69\x6c\x6c\x2d\x6f\x70\x61\
\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\x6c\x6c\x2d\x72\x75\x6c\x65\
\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\x73\x74\x72\x6f\x6b\x65\x3a\
\x23\x30\x30\x32\x65\x32\x65\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x77\
\x69\x64\x74\x68\x3a\x32\x37\x2e\x38\x34\x35\x32\x33\x30\x31\x3b\
\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3a\x62\
\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\
\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\x73\x74\x72\x6f\x6b\x65\
\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3a\x34\x3b\x73\x74\
\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x73\
\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\x61\x72\x72\x61\x79\x3a\
\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\
\x6f\x66\x66\x73\x65\x74\x3a\x30\x3b\x6d\x61\x72\x6b\x65\x72\x3a\
\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\x69\x6c\x69\x74\x79\x3a\
\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\x73\x70\x6c\x61\x79\x3a\
\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\x72\x66\x6c\x6f\x77\x3a\
\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\x61\x62\x6c\x65\x2d\x62\
\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\x61\x63\x63\x75\x6d\x75\
\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\
\x64\x3d\x22\x72\x65\x63\x74\x33\x39\x34\x32\x2d\x34\x2d\x39\x2d\
\x39\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\
\x68\x3d\x22\x32\x39\x33\x2e\x35\x32\x34\x39\x36\x22\x0a\x20\x20\
\x20\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x36\
\x32\x2e\x33\x37\x32\x36\x35\x22\x0a\x20\x20\x20\x20\x20\x20\x20\
\x20\x20\x78\x3d\x22\x2d\x36\x31\x33\x2e\x39\x39\x39\x36\x39\x22\
\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x79\x3d\x22\x2d\x35\x31\
\x34\x2e\x31\x33\x39\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\
\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\
\x69\x78\x28\x2d\x30\x2e\x38\x34\x31\x33\x32\x37\x36\x31\x2c\x2d\
\x30\x2e\x35\x34\x30\x35\x32\x35\x35\x33\x2c\x30\x2e\x35\x33\x33\
\x35\x39\x39\x30\x36\x2c\x2d\x30\x2e\x38\x34\x35\x37\x33\x37\x35\
\x38\x2c\x30\x2c\x30\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x20\
\x20\x3c\x70\x61\x74\x68\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x74\x79\x70\x65\x3d\x22\x61\
\x72\x63\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x30\x30\x30\x30\x30\
\x30\x3b\x66\x69\x6c\x6c\x3a\x23\x30\x30\x62\x32\x38\x36\x3b\x66\
\x69\x6c\x6c\x2d\x6f\x70\x61\x63\x69\x74\x79\x3a\x31\x3b\x66\x69\
\x6c\x6c\x2d\x72\x75\x6c\x65\x3a\x6e\x6f\x6e\x7a\x65\x72\x6f\x3b\
\x73\x74\x72\x6f\x6b\x65\x3a\x23\x30\x30\x32\x65\x32\x65\x3b\x73\
\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x33\x2e\x39\x31\
\x37\x39\x38\x38\x33\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\
\x65\x63\x61\x70\x3a\x62\x75\x74\x74\x3b\x73\x74\x72\x6f\x6b\x65\
\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3a\x72\x6f\x75\x6e\x64\x3b\
\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
\x74\x3a\x34\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x6f\x70\x61\x63\x69\
\x74\x79\x3a\x31\x3b\x73\x74\x72\x6f\x6b\x65\x2d\x64\x61\x73\x68\
\x61\x72\x72\x61\x79\x3a\x6e\x6f\x6e\x65\x3b\x73\x74\x72\x6f\x6b\
\x65\x2d\x64\x61\x73\x68\x6f\x66\x66\x73\x65\x74\x3a\x30\x3b\x6d\
\x61\x72\x6b\x65\x72\x3a\x6e\x6f\x6e\x65\x3b\x76\x69\x73\x69\x62\
\x69\x6c\x69\x74\x79\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x64\x69\
\x73\x70\x6c\x61\x79\x3a\x69\x6e\x6c\x69\x6e\x65\x3b\x6f\x76\x65\
\x72\x66\x6c\x6f\x77\x3a\x76\x69\x73\x69\x62\x6c\x65\x3b\x65\x6e\
\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3a\
\x61\x63\x63\x75\x6d\x75\x6c\x61\x74\x65\x22\x0a\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x32\x39\x39\
\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\x69\
\x70\x6f\x64\x69\x3a\x63\x78\x3d\x22\x33\x32\x2e\x30\x31\x32\x36\
\x35\x33\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\x64\
\x69\x70\x6f\x64\x69\x3a\x63\x79\x3d\x22\x32\x36\x2e\x35\x38\x37\
\x36\x32\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x6f\
\x64\x69\x70\x6f\x64\x69\x3a\x72\x78\x3d\x22\x38\x2e\x38\x37\x30\
\x39\x37\x36\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\
\x6f\x64\x69\x70\x6f\x64\x69\x3a\x72\x79\x3d\x22\x38\x2e\x38\x37\
\x30\x39\x37\x36\x34\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\
\x64\x3d\x22\x6d\x20\x34\x30\x2e\x38\x38\x33\x36\x33\x2c\x32\x36\
\x2e\x35\x38\x37\x36\x32\x34\x20\x61\x20\x38\x2e\x38\x37\x30\x39\
\x37\x36\x34\x2c\x38\x2e\x38\x37\x30\x39\x37\x36\x34\x20\x30\x20\
\x31\x20\x31\x20\x2d\x31\x37\x2e\x37\x34\x31\x39\x35\x33\x2c\x30\
\x20\x38\x2e\x38\x37\x30\x39\x37\x36\x34\x2c\x38\x2e\x38\x37\x30\
\x39\x37\x36\x34\x20\x30\x20\x31\x20\x31\x20\x31\x37\x2e\x37\x34\
\x31\x39\x35\x33\x2c\x30\x20\x7a\x22\x0a\x20\x20\x20\x20\x20\x20\
\x20\x20\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x6d\x61\
\x74\x72\x69\x78\x28\x36\x2e\x31\x36\x37\x39\x35\x38\x34\x2c\x30\
\x2c\x30\x2c\x36\x2e\x31\x36\x37\x39\x35\x38\x34\x2c\x33\x33\x2e\
\x37\x32\x32\x35\x30\x36\x2c\x33\x34\x35\x2e\x39\x30\x33\x37\x31\
\x29\x22\x20\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x67\x3e\x0a\x20\
\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x0b\x6e\
\x00\
\x00\x2d\x39\x78\x9c\xed\x5a\x6d\x6f\xdb\xc8\x11\xfe\x9e\x5f\xc1\
@ -34473,6 +34728,10 @@ qt_resource_name = "\
\x03\xfe\xc1\x67\
\x00\x53\
\x00\x6e\x00\x61\x00\x70\x00\x5f\x00\x4f\x00\x72\x00\x74\x00\x68\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x0d\
\x0f\x15\x93\x27\
\x00\x53\
\x00\x6e\x00\x61\x00\x70\x00\x5f\x00\x4e\x00\x65\x00\x61\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x11\
\x0d\x09\x0b\xe7\
\x00\x44\
@ -34571,8 +34830,8 @@ qt_resource_name = "\
qt_resource_struct = "\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x01\
\x00\x00\x00\x10\x00\x02\x00\x00\x00\x02\x00\x00\x00\x4d\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x33\x00\x00\x00\x1a\
\x00\x00\x00\x10\x00\x02\x00\x00\x00\x02\x00\x00\x00\x4e\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x34\x00\x00\x00\x1a\
\x00\x00\x00\x38\x00\x02\x00\x00\x00\x05\x00\x00\x00\x15\
\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x10\x00\x00\x00\x05\
\x00\x00\x02\x72\x00\x01\x00\x00\x00\x01\x00\x05\x98\x94\
@ -34598,55 +34857,56 @@ qt_resource_struct = "\
\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x03\x12\
\x00\x00\x05\xe6\x00\x01\x00\x00\x00\x01\x00\x06\xbf\xb3\
\x00\x00\x03\x94\x00\x00\x00\x00\x00\x01\x00\x06\x11\x60\
\x00\x00\x07\xfc\x00\x01\x00\x00\x00\x01\x00\x07\x63\xab\
\x00\x00\x0a\x1e\x00\x01\x00\x00\x00\x01\x00\x08\x17\xe3\
\x00\x00\x08\x1c\x00\x01\x00\x00\x00\x01\x00\x07\x73\x7d\
\x00\x00\x0a\x3e\x00\x01\x00\x00\x00\x01\x00\x08\x27\xb5\
\x00\x00\x04\x9e\x00\x01\x00\x00\x00\x01\x00\x06\x5c\x47\
\x00\x00\x06\x2e\x00\x00\x00\x00\x00\x01\x00\x06\xdc\xfd\
\x00\x00\x07\x42\x00\x01\x00\x00\x00\x01\x00\x07\x35\x9b\
\x00\x00\x06\xa2\x00\x00\x00\x00\x00\x01\x00\x07\x06\xcc\
\x00\x00\x08\x96\x00\x01\x00\x00\x00\x01\x00\x07\x9d\x3a\
\x00\x00\x0a\x6e\x00\x01\x00\x00\x00\x01\x00\x08\x33\xf3\
\x00\x00\x08\xb6\x00\x01\x00\x00\x00\x01\x00\x07\xad\x0c\
\x00\x00\x0a\x8e\x00\x01\x00\x00\x00\x01\x00\x08\x43\xc5\
\x00\x00\x03\xda\x00\x01\x00\x00\x00\x01\x00\x06\x2a\x82\
\x00\x00\x07\x68\x00\x01\x00\x00\x00\x01\x00\x07\x3b\x5f\
\x00\x00\x06\x08\x00\x00\x00\x00\x00\x01\x00\x06\xca\x67\
\x00\x00\x03\xfe\x00\x00\x00\x00\x00\x01\x00\x06\x30\x01\
\x00\x00\x06\x76\x00\x01\x00\x00\x00\x01\x00\x06\xf5\xc2\
\x00\x00\x03\xb6\x00\x01\x00\x00\x00\x01\x00\x06\x20\x16\
\x00\x00\x09\xa8\x00\x00\x00\x00\x00\x01\x00\x07\xfa\x29\
\x00\x00\x09\xc8\x00\x00\x00\x00\x00\x01\x00\x08\x09\xfb\
\x00\x00\x03\x14\x00\x01\x00\x00\x00\x01\x00\x05\xeb\xaa\
\x00\x00\x04\xee\x00\x01\x00\x00\x00\x01\x00\x06\x77\x66\
\x00\x00\x09\x60\x00\x01\x00\x00\x00\x01\x00\x07\xe6\x33\
\x00\x00\x09\x82\x00\x01\x00\x00\x00\x01\x00\x07\xf0\x95\
\x00\x00\x09\x80\x00\x01\x00\x00\x00\x01\x00\x07\xf6\x05\
\x00\x00\x09\xa2\x00\x01\x00\x00\x00\x01\x00\x08\x00\x67\
\x00\x00\x04\xcc\x00\x00\x00\x00\x00\x01\x00\x06\x65\x4d\
\x00\x00\x02\xe2\x00\x01\x00\x00\x00\x01\x00\x05\xe3\xf1\
\x00\x00\x07\xb2\x00\x01\x00\x00\x00\x01\x00\x07\x4c\x81\
\x00\x00\x08\xf0\x00\x00\x00\x00\x00\x01\x00\x07\xad\x82\
\x00\x00\x07\xd2\x00\x01\x00\x00\x00\x01\x00\x07\x5c\x53\
\x00\x00\x09\x10\x00\x00\x00\x00\x00\x01\x00\x07\xbd\x54\
\x00\x00\x05\x42\x00\x01\x00\x00\x00\x01\x00\x06\x88\xd6\
\x00\x00\x09\x14\x00\x00\x00\x00\x00\x01\x00\x07\xc4\x35\
\x00\x00\x09\x34\x00\x00\x00\x00\x00\x01\x00\x07\xd4\x07\
\x00\x00\x06\xfc\x00\x00\x00\x00\x00\x01\x00\x07\x1d\x6e\
\x00\x00\x04\x50\x00\x01\x00\x00\x00\x01\x00\x06\x4b\x69\
\x00\x00\x0a\x3e\x00\x00\x00\x00\x00\x01\x00\x08\x22\x7d\
\x00\x00\x0a\x5e\x00\x00\x00\x00\x00\x01\x00\x08\x32\x4f\
\x00\x00\x05\x9c\x00\x00\x00\x00\x00\x01\x00\x06\xa0\x15\
\x00\x00\x03\x40\x00\x00\x00\x00\x00\x01\x00\x05\xf3\xb1\
\x00\x00\x0a\x9e\x00\x00\x00\x00\x00\x01\x00\x08\x3f\xcc\
\x00\x00\x09\x38\x00\x00\x00\x00\x00\x01\x00\x07\xd7\x0c\
\x00\x00\x0a\xbe\x00\x00\x00\x00\x00\x01\x00\x08\x4f\x9e\
\x00\x00\x09\x58\x00\x00\x00\x00\x00\x01\x00\x07\xe6\xde\
\x00\x00\x03\x64\x00\x01\x00\x00\x00\x01\x00\x06\x08\xd1\
\x00\x00\x08\x1e\x00\x01\x00\x00\x00\x01\x00\x07\x6c\x54\
\x00\x00\x09\xce\x00\x00\x00\x00\x00\x01\x00\x08\x02\xb6\
\x00\x00\x08\x3e\x00\x01\x00\x00\x00\x01\x00\x07\x7c\x26\
\x00\x00\x09\xee\x00\x00\x00\x00\x00\x01\x00\x08\x12\x88\
\x00\x00\x05\xc4\x00\x01\x00\x00\x00\x01\x00\x06\xb2\x54\
\x00\x00\x06\xd4\x00\x01\x00\x00\x00\x01\x00\x07\x13\xbd\
\x00\x00\x08\x74\x00\x00\x00\x00\x00\x01\x00\x07\x88\xa9\
\x00\x00\x08\x94\x00\x00\x00\x00\x00\x01\x00\x07\x98\x7b\
\x00\x00\x04\x74\x00\x01\x00\x00\x00\x01\x00\x06\x52\x06\
\x00\x00\x07\x22\x00\x01\x00\x00\x00\x01\x00\x07\x2f\x26\
\x00\x00\x05\x22\x00\x01\x00\x00\x00\x01\x00\x06\x83\x57\
\x00\x00\x08\xc0\x00\x01\x00\x00\x00\x01\x00\x07\xa3\xaf\
\x00\x00\x07\x8a\x00\x01\x00\x00\x00\x01\x00\x07\x41\x0f\
\x00\x00\x07\xd4\x00\x01\x00\x00\x00\x01\x00\x07\x53\xd5\
\x00\x00\x09\xf4\x00\x01\x00\x00\x00\x01\x00\x08\x0d\x61\
\x00\x00\x08\xe0\x00\x01\x00\x00\x00\x01\x00\x07\xb3\x81\
\x00\x00\x07\xaa\x00\x01\x00\x00\x00\x01\x00\x07\x50\xe1\
\x00\x00\x07\xf4\x00\x01\x00\x00\x00\x01\x00\x07\x63\xa7\
\x00\x00\x0a\x14\x00\x01\x00\x00\x00\x01\x00\x08\x1d\x33\
\x00\x00\x04\x20\x00\x01\x00\x00\x00\x01\x00\x06\x43\x20\
\x00\x00\x07\x8a\x00\x00\x00\x00\x00\x01\x00\x07\x41\x0f\
\x00\x00\x05\x70\x00\x00\x00\x00\x00\x01\x00\x06\x90\xbb\
\x00\x00\x06\x56\x00\x01\x00\x00\x00\x01\x00\x06\xec\x4e\
\x00\x00\x08\x42\x00\x00\x00\x00\x00\x01\x00\x07\x73\xa5\
\x00\x00\x08\x62\x00\x00\x00\x00\x00\x01\x00\x07\x83\x77\
\x00\x00\x02\x8e\x00\x01\x00\x00\x00\x01\x00\x05\xcc\x17\
\x00\x00\x02\xba\x00\x01\x00\x00\x00\x01\x00\x05\xd5\x2b\
"

View File

@ -51,6 +51,7 @@
<file>icons/Snap_Center.svg</file>
<file>icons/Snap_Extension.svg</file>
<file>icons/Snap_Ortho.svg</file>
<file>icons/Snap_Near.svg</file>
<file>patterns/concrete.svg</file>
<file>patterns/cross.svg</file>
<file>patterns/line.svg</file>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64px"
height="64px"
id="svg2726"
sodipodi:version="0.32"
inkscape:version="0.48.1 r9760"
sodipodi:docname="Snap_Parallel.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<defs
id="defs2728">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 32 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="64 : 32 : 1"
inkscape:persp3d-origin="32 : 21.333333 : 1"
id="perspective2734" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3144-4"
id="radialGradient3850-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.6985294,0,202.82863)"
cx="225.26402"
cy="672.79736"
fx="225.26402"
fy="672.79736"
r="34.345188" />
<linearGradient
inkscape:collect="always"
id="linearGradient3144-4">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3146-2" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3148-0" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.8890873"
inkscape:cx="28.117126"
inkscape:cy="53.665776"
inkscape:current-layer="g4289"
showgrid="true"
inkscape:document-units="px"
inkscape:grid-bbox="true"
inkscape:window-width="1280"
inkscape:window-height="755"
inkscape:window-x="0"
inkscape:window-y="22"
inkscape:window-maximized="1" />
<metadata
id="metadata2731">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g4289"
transform="matrix(0.1621282,0,0,0.1621282,6.3605986,-66.108806)">
<rect
style="color:#000000;fill:#00b286;fill-opacity:1;fill-rule:nonzero;stroke:#002e2e;stroke-width:27.8452301;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3942-4-9-9"
width="293.52496"
height="62.37265"
x="-613.99969"
y="-514.1391"
transform="matrix(-0.84132761,-0.54052553,0.53359906,-0.84573758,0,0)" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#00b286;fill-opacity:1;fill-rule:nonzero;stroke:#002e2e;stroke-width:3.9179883;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path2998"
sodipodi:cx="32.012653"
sodipodi:cy="26.587624"
sodipodi:rx="8.8709764"
sodipodi:ry="8.8709764"
d="m 40.88363,26.587624 a 8.8709764,8.8709764 0 1 1 -17.741953,0 8.8709764,8.8709764 0 1 1 17.741953,0 z"
transform="matrix(6.1679584,0,0,6.1679584,33.722506,345.90371)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB