From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 21 二月 2025 11:13:51 +0800
Subject: [PATCH] 新增可忽略的维修时间
---
web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-markers.js | 62 +++++++++++++++---------------
1 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-markers.js b/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-markers.js
index 4024203..1b3d9e1 100644
--- a/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-markers.js
+++ b/web/public/SVGOrigin/Method-Draw-master/editor/extensions/ext-markers.js
@@ -3,26 +3,26 @@
*
* Licensed under the Apache License, Version 2
*
- * Copyright(c) 2010 Will Schleter
+ * Copyright(c) 2010 Will Schleter
* based on ext-arrows.js by Copyright(c) 2010 Alexis Deveria
*
* This extension provides for the addition of markers to the either end
- * or the middle of a line, polyline, path, polygon.
- *
+ * or the middle of a line, polyline, path, polygon.
+ *
* Markers may be either a graphic or arbitary text
- *
+ *
* to simplify the coding and make the implementation as robust as possible,
* markers are not shared - every object has its own set of markers.
* this relationship is maintained by a naming convention between the
* ids of the markers and the ids of the object
- *
+ *
* The following restrictions exist for simplicty of use and programming
* objects and their markers to have the same color
* marker size is fixed
* text marker font, size, and attributes are fixed
* an application specific attribute - se_type - is added to each marker element
* to store the type of marker
- *
+ *
* TODO:
* remove some of the restrictions above
* add option for keeping text aligned to horizontal
@@ -39,15 +39,15 @@
var marker_prefix = 'se_marker_';
var id_prefix = 'mkr_';
-
+
// note - to add additional marker types add them below with a unique id
// and add the associated icon(s) to marker-icons.svg
// the geometry is normallized to a 100x100 box with the origin at lower left
// Safari did not like negative values for low left of viewBox
// remember that the coordinate system has +y downward
var marker_types = {
- nomarker: {},
- leftarrow:
+ nomarker: {},
+ leftarrow:
{element:'path', attr:{d:'M0,50 L100,90 L70,50 L100,10 Z'}},
rightarrow:
{element:'path', attr:{d:'M100,50 L0,90 L30,50 L0,10 Z'}},
@@ -71,8 +71,8 @@
mcircle:
{element:'circle', attr:{r:30, cx:50, cy:50}}
}
-
-
+
+
var lang_list = {
"en":[
{id: "start_marker_list", title: "Select start marker type" },
@@ -104,7 +104,7 @@
$.each(['leftarrow','rightarrow','box','star','mcircle','triangle'],function(i,v) {
marker_types[v+'_o'] = marker_types[v];
});
-
+
// elem = a graphic element will have an attribute like marker-start
// attr - marker-start, marker-mid, or marker-end
// returns the marker element that is linked to the graphic element
@@ -149,24 +149,24 @@
txtbox.hide() // hide text box
}
}
- txtbox.val(val);
+ txtbox.val(val);
setIcon(pos,ci);
})
}
- }
+ }
function addMarker(id, val) {
var txt_box_bg = '#ffffff';
var txt_box_border = 'none';
var txt_box_stroke_width = 0;
-
+
var marker = S.getElem(id);
if (marker) return;
if (val=='' || val=='\\nomarker') return;
- var el = selElems[0];
+ var el = selElems[0];
var color = el.getAttribute('stroke');
//NOTE: Safari didn't like a negative value in viewBox
//so we use a standardized 0 0 100 100
@@ -181,7 +181,7 @@
else se_type='textmarker';
if (!marker_types[se_type]) return; // an unknown type!
-
+
// create a generic marker
marker = addElem({
"element": "marker",
@@ -239,7 +239,7 @@
marker.setAttribute("orient",0);
marker.appendChild(box);
marker.appendChild(text);
- }
+ }
marker.setAttribute("viewBox",viewBox);
marker.setAttribute("markerWidth", markerWidth);
@@ -305,11 +305,11 @@
var m = elem.getAttribute(nam);
if (m) pline.setAttribute(nam,elem.getAttribute(nam));
});
-
+
var batchCmd = new S.BatchCommand();
batchCmd.addSubCommand(new S.RemoveElementCommand(elem, elem.parentNode));
batchCmd.addSubCommand(new S.InsertElementCommand(pline));
-
+
$(elem).after(pline).remove();
svgCanvas.clearSelection();
pline.id = id;
@@ -367,14 +367,14 @@
//if (val.substr(0,1)=='\\') txtbox.hide();
//else txtbox.show();
}
-
+
function setIcon(pos,id) {
if (id.substr(0,1)!='\\') id='\\textmarker'
var ci = '#'+id_prefix+pos+'_'+id.substr(1);
methodDraw.setIcon('#cur_' + pos +'_marker_list', $(ci).children());
$(ci).addClass('current').siblings().removeClass('current');
}
-
+
function setMarkerSet(obj) {
var parts = this.id.split('_');
var set = parts[2];
@@ -396,28 +396,28 @@
break;
}
}
-
+
function showTextPrompt(pos) {
var def = $('#'+pos+'_marker').val();
if (def.substr(0,1)=='\\') def='';
$.prompt('Enter text for ' + pos + ' marker', def , function(txt) { if (txt) triggerTextEntry(pos,txt); });
}
-
+
// callback function for a toolbar button click
function setArrowFromButton(obj) {
-
+
var parts = this.id.split('_');
var pos = parts[1];
var val = parts[2];
if (parts[3]) val+='_'+parts[3];
-
+
if (val!='textmarker') {
triggerTextEntry(pos,'\\'+val);
} else {
showTextPrompt(pos);
}
}
-
+
function getTitle(lang,id) {
var list = lang_list[lang];
for (var i in list) {
@@ -425,8 +425,8 @@
}
return id;
}
-
-
+
+
// build the toolbar button array from the marker definitions
// TODO: need to incorporate language specific titles
function buildButtonList() {
@@ -530,7 +530,7 @@
} ],
callback: function() {
$('#marker_panel').addClass('toolset').hide();
-
+
},
addLangData: function(lang) {
return { data: lang_list[lang] };
@@ -558,7 +558,7 @@
}
},
- elementChanged: function(opts) {
+ elementChanged: function(opts) {
//console.log('elementChanged',opts);
var elem = opts.elems[0];
if(elem && (
--
Gitblit v1.9.1