UNPKG

svgedit

Version:

Powerful SVG-Editor for your browser

11 lines (10 loc) 5.62 kB
/** * @file ext-shapes.js * * @license MIT * * @copyright 2010 Christian Tzurcanu, 2010 Alexis Deveria * */ const e="shapes",loadExtensionTranslation=async function(t){let i;const c=t.configObj.pref("lang");try{i=await function __variableDynamicImportRuntime0__(e){switch(e){case"./locale/en.js":return Promise.resolve().then((function(){return a}));case"./locale/fr.js":return Promise.resolve().then((function(){return l}));case"./locale/sv.js":return Promise.resolve().then((function(){return o}));case"./locale/tr.js":return Promise.resolve().then((function(){return r}));case"./locale/uk.js":return Promise.resolve().then((function(){return s}));case"./locale/zh-CN.js":return Promise.resolve().then((function(){return n}));default:return new Promise((function(t,a){("function"==typeof queueMicrotask?queueMicrotask:setTimeout)(a.bind(null,new Error("Unknown variable dynamic import: "+e)))}))}}(`./locale/${c}.js`)}catch(t){console.warn(`Missing translation (${c}) for ${e} - using 'en'`),i=await Promise.resolve().then((function(){return a}))}t.i18next.addResourceBundle(c,e,i.default)};var t={name:e,async init(){const t=this,a=t.svgCanvas,{$id:l,$click:o}=a,r=a.getSvgRoot();let s={};await loadExtensionTranslation(t);const n="shapelib",i={};let c,m,u;return{callback(){if(null===l("tool_shapelib")){const r=t.configObj.curConfig.extPath,s=`\n <se-explorerbutton id="tool_shapelib" title="${t.i18next.t(`${e}:buttons.0.title`)}" lib="${r}/ext-shapes/shapelib/"\n src="shapelib.svg"></se-explorerbutton>\n `;a.insertChildAtIndex(l("tools_left"),s,9),o(l("tool_shapelib"),(()=>{this.leftPanel.updateLeftPanel("tool_shapelib")&&a.setMode(n)}))}},mouseDown(e){if(a.getMode()!==n)return;const t=document.getElementById("tool_shapelib").dataset.draw;m=e.start_x;const l=m;u=e.start_y;const o=u,r=a.getStyle();return i.x=e.event.clientX,i.y=e.event.clientY,c=a.addSVGElementsFromJson({element:"path",curStyles:!0,attr:{d:t,id:a.getNextId(),opacity:r.opacity/2,style:"pointer-events:none"}}),c.setAttribute("transform","translate("+l+","+o+") scale(0.005) translate("+-l+","+-o+")"),a.recalculateDimensions(c),s=c.getBBox(),{started:!0}},mouseMove(e){if(a.getMode()!==n)return;const t=a.getZoom(),l=e.event,o=e.mouse_x/t,i=e.mouse_y/t,h=c.transform.baseVal,b=c.getBBox(),p=b.x,g=b.y,d=Math.abs(o-m),_=Math.abs(i-u);let f=d/s.width||1,j=_/s.height||1,y=0;o<m&&(y=s.width);let w=0;i<u&&(w=s.height);const v=r.createSVGTransform(),k=r.createSVGTransform(),M=r.createSVGTransform();if(v.setTranslate(-(p+y),-(g+w)),!l.shiftKey){const e=Math.min(Math.abs(f),Math.abs(j));f=e*(f<0?-1:1),j=e*(j<0?-1:1)}k.setScale(f,j),M.setTranslate(p+y,g+w),h.appendItem(M),h.appendItem(k),h.appendItem(v),a.recalculateDimensions(c),s=c.getBBox()},mouseUp(e){if(a.getMode()!==n)return;return{keep:e.event.clientX!==i.x&&e.event.clientY!==i.y,element:c,started:!1}}}}},a=Object.freeze({__proto__:null,default:{loading:"Loading...",categories:{basic:"Basic",object:"Objects",symbol:"Symbols",arrow:"Arrows",flowchart:"Flowchart",animal:"Animals",game:"Cards & Chess",dialog_balloon:"Dialog balloons",electronics:"Electronics",math:"Mathematical",music:"Music",misc:"Miscellaneous",raphael_1:"raphaeljs.com set 1",raphael_2:"raphaeljs.com set 2"},buttons:[{title:"Shape library"}]}}),l=Object.freeze({__proto__:null,default:{loading:"Chargement...",categories:{basic:"Basique",object:"Objets",symbol:"Symboles",arrow:"Flèches",flowchart:"Flowchart",animal:"Animaux",game:"Cartes & Echecs",dialog_balloon:"Dialog balloons",electronics:"Electronique",math:"Mathematiques",music:"Musique",misc:"Divers",raphael_1:"raphaeljs.com set 1",raphael_2:"raphaeljs.com set 2"},buttons:[{title:"Bibliothèque d'images"}]}}),o=Object.freeze({__proto__:null,default:{loading:"Läser in...",categories:{basic:"Grundläggande",object:"Objekt",symbol:"Symboler",arrow:"Pilar",flowchart:"Flödesschema",animal:"Djur",game:"Kort & schack",dialog_balloon:"Dialogballonger",electronics:"Elektronik",math:"Matematisk",music:"Musik",misc:"Diverse",raphael_1:"raphaeljs.com uppsättning 1",raphael_2:"raphaeljs.com uppsättning 2"},buttons:[{title:"Formbibliotek"}]}}),r=Object.freeze({__proto__:null,default:{loading:"Yükleniyor...",categories:{basic:"Temel",object:"Nesneler",symbol:"Semboller",arrow:"Oklar",flowchart:"Akış Şemaları",animal:"Hayvanlar",game:"Kartlar & Satranç",dialog_balloon:"Diyalog baloncukları",electronics:"Elektronikler",math:"Matematikseller",music:"Müzik",misc:"Diğerleri",raphael_1:"raphaeljs.com set 1",raphael_2:"raphaeljs.com set 2"},buttons:[{title:"Şekil kütüphanesi"}]}}),s=Object.freeze({__proto__:null,default:{loading:"Завантаження...",categories:{basic:"Основні",object:"Об’єкти",symbol:"Символи",arrow:"Стрілки",flowchart:"Блок-схеми",animal:"Тварини",game:"Карти та Шахи",dialog_balloon:"Хмаринки діалогів",electronics:"Електроніка",math:"Математичні",music:"Музика",misc:"Різне",raphael_1:"raphaeljs.com набір 1",raphael_2:"raphaeljs.com набір 2"},buttons:[{title:"Спільна Бібліотека"}]}}),n=Object.freeze({__proto__:null,default:{loading:"正在加载...",categories:{basic:"基本",object:"对象",symbol:"符号",arrow:"箭头",flowchart:"工作流",animal:"动物",game:"棋牌",dialog_balloon:"会话框",electronics:"电子",math:"数学",music:"音乐",misc:"其他",raphael_1:"raphaeljs.com 集合 1",raphael_2:"raphaeljs.com 集合 2"},buttons:[{title:"图元库"}]}});export{t as default}; //# sourceMappingURL=ext-shapes.js.map