kopia lustrzana https://github.com/inkstitch/inkstitch
simulator: add button to toggle crosshair (#3616)
rodzic
fdd308fde1
commit
dd63ef0935
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 1.5 KiB |
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="256"
|
||||||
|
height="256"
|
||||||
|
viewBox="0 0 256 256"
|
||||||
|
id="svg8375"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="cursor.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs8377" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="2.1965384"
|
||||||
|
inkscape:cx="154.56138"
|
||||||
|
inkscape:cy="137.94432"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
units="mm"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1131"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata8380">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
d="M 210.6054,116.73562 Q 216.02899,116.73562 216.02899,122.1592 V 137.17837 Q 216.02899,142.60196 210.6054,142.60196 H 143.01916 Q 140.93317,142.60196 140.93317,144.68795 V 210.60539 Q 140.93317,216.02898 135.50958,216.02898 H 120.49042 Q 115.06683,216.02898 115.06683,210.60539 V 144.68795 Q 115.06683,142.60196 112.98084,142.60196 H 45.394597 Q 39.97101,142.60196 39.97101,137.17837 V 122.1592 Q 39.97101,116.73562 45.394597,116.73562 H 112.98084 Q 115.06683,116.73562 115.06683,114.64962 V 45.394588 Q 115.06683,39.971 120.49042,39.971 H 135.50958 Q 140.93317,39.971 140.93317,45.394588 V 114.64962 Q 140.93317,116.73562 143.01916,116.73562 Z"
|
||||||
|
id="text1"
|
||||||
|
style="font-size:417.199px;font-family:Barlow;-inkscape-font-specification:Barlow;text-align:center;letter-spacing:2.03385px;word-spacing:0px;text-anchor:middle;stroke-width:2.13543;stroke-linejoin:round"
|
||||||
|
aria-label="+" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
Po Szerokość: | Wysokość: | Rozmiar: 2.5 KiB |
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 1.4 KiB |
|
@ -200,7 +200,7 @@ class DrawingPanel(wx.Panel):
|
||||||
last_stitch = stitches[-1]
|
last_stitch = stitches[-1]
|
||||||
break
|
break
|
||||||
|
|
||||||
if last_stitch:
|
if last_stitch and self.view_panel.btnCursor.GetValue():
|
||||||
self.draw_crosshair(last_stitch[0], last_stitch[1], canvas, transform)
|
self.draw_crosshair(last_stitch[0], last_stitch[1], canvas, transform)
|
||||||
|
|
||||||
canvas.EndLayer()
|
canvas.EndLayer()
|
||||||
|
|
|
@ -33,6 +33,7 @@ class ViewPanel(ScrolledPanel):
|
||||||
self.stop_button_status = global_settings['stop_button_status']
|
self.stop_button_status = global_settings['stop_button_status']
|
||||||
self.color_change_button_status = global_settings['color_change_button_status']
|
self.color_change_button_status = global_settings['color_change_button_status']
|
||||||
self.toggle_page_button_status = global_settings['toggle_page_button_status']
|
self.toggle_page_button_status = global_settings['toggle_page_button_status']
|
||||||
|
self.display_crosshair_status = global_settings['display_crosshair']
|
||||||
|
|
||||||
self.btnNpp = wx.BitmapToggleButton(self, -1, style=self.button_style)
|
self.btnNpp = wx.BitmapToggleButton(self, -1, style=self.button_style)
|
||||||
self.btnNpp.SetBitmap(self.control_panel.load_icon('npp'))
|
self.btnNpp.SetBitmap(self.control_panel.load_icon('npp'))
|
||||||
|
@ -77,6 +78,12 @@ class ViewPanel(ScrolledPanel):
|
||||||
self.btnBackgroundColor.SetToolTip(_("Change background color"))
|
self.btnBackgroundColor.SetToolTip(_("Change background color"))
|
||||||
self.btnBackgroundColor.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_update_background_color)
|
self.btnBackgroundColor.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_update_background_color)
|
||||||
|
|
||||||
|
self.btnCursor = wx.BitmapToggleButton(self, -1, style=self.button_style)
|
||||||
|
self.btnCursor.SetToolTip(_('Show crosshair'))
|
||||||
|
self.btnCursor.SetBitmap(self.control_panel.load_icon('cursor'))
|
||||||
|
self.btnCursor.SetValue(self.display_crosshair_status)
|
||||||
|
self.btnCursor.Bind(wx.EVT_TOGGLEBUTTON, self.on_cursor_button)
|
||||||
|
|
||||||
if not self.detach_callback:
|
if not self.detach_callback:
|
||||||
self.btnPage = wx.BitmapToggleButton(self, -1, style=self.button_style)
|
self.btnPage = wx.BitmapToggleButton(self, -1, style=self.button_style)
|
||||||
self.btnPage.Bind(wx.EVT_TOGGLEBUTTON, self.toggle_page)
|
self.btnPage.Bind(wx.EVT_TOGGLEBUTTON, self.toggle_page)
|
||||||
|
@ -122,6 +129,7 @@ class ViewPanel(ScrolledPanel):
|
||||||
settings_sizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, _("Settings")), wx.VERTICAL)
|
settings_sizer = wx.StaticBoxSizer(wx.StaticBox(self, wx.ID_ANY, _("Settings")), wx.VERTICAL)
|
||||||
settings_inner_sizer = wx.BoxSizer(wx.VERTICAL)
|
settings_inner_sizer = wx.BoxSizer(wx.VERTICAL)
|
||||||
settings_inner_sizer.Add(self.btnBackgroundColor, 0, wx.EXPAND | wx.ALL, 2)
|
settings_inner_sizer.Add(self.btnBackgroundColor, 0, wx.EXPAND | wx.ALL, 2)
|
||||||
|
settings_inner_sizer.Add(self.btnCursor, 0, wx.EXPAND | wx.ALL, 2)
|
||||||
if not self.detach_callback:
|
if not self.detach_callback:
|
||||||
settings_inner_sizer.Add(self.btnPage, 0, wx.EXPAND | wx.ALL, 2)
|
settings_inner_sizer.Add(self.btnPage, 0, wx.EXPAND | wx.ALL, 2)
|
||||||
settings_inner_sizer.Add(self.btnSettings, 0, wx.EXPAND | wx.ALL, 2)
|
settings_inner_sizer.Add(self.btnSettings, 0, wx.EXPAND | wx.ALL, 2)
|
||||||
|
@ -152,6 +160,10 @@ class ViewPanel(ScrolledPanel):
|
||||||
self.drawing_panel.Refresh()
|
self.drawing_panel.Refresh()
|
||||||
global_settings['npp_button_status'] = self.btnNpp.GetValue()
|
global_settings['npp_button_status'] = self.btnNpp.GetValue()
|
||||||
|
|
||||||
|
def on_cursor_button(self, event):
|
||||||
|
self.drawing_panel.Refresh()
|
||||||
|
global_settings['display_crosshair'] = self.btnCursor.GetValue()
|
||||||
|
|
||||||
def toggle_page(self, event):
|
def toggle_page(self, event):
|
||||||
debug.log("toggle page")
|
debug.log("toggle page")
|
||||||
value = self.btnPage.GetValue()
|
value = self.btnPage.GetValue()
|
||||||
|
|
|
@ -26,6 +26,7 @@ DEFAULT_SETTINGS = {
|
||||||
"stop_button_status": False,
|
"stop_button_status": False,
|
||||||
"color_change_button_status": False,
|
"color_change_button_status": False,
|
||||||
"toggle_page_button_status": True,
|
"toggle_page_button_status": True,
|
||||||
|
"display_crosshair": True,
|
||||||
# apply palette
|
# apply palette
|
||||||
"last_applied_palette": "",
|
"last_applied_palette": "",
|
||||||
# sew stack editor
|
# sew stack editor
|
||||||
|
|
Ładowanie…
Reference in New Issue