@@ -1,5 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
["@babel/preset-env"]
|
||||
]
|
||||
}
|
||||
@@ -7,10 +7,16 @@ dist
|
||||
docs/jsdoc
|
||||
archive
|
||||
|
||||
src/svgedit-config-es.js
|
||||
src/svgedit-config-iife.js
|
||||
jsconfig.json
|
||||
mochawesome-report
|
||||
releases
|
||||
!.eslintrc.js
|
||||
!.ncurc.js
|
||||
|
||||
es-dev-server.config.js
|
||||
nyc.config.js
|
||||
|
||||
svgedit-custom.css
|
||||
src/xdomain-svgedit-config-iife.js
|
||||
|
||||
# Vendor/minified files
|
||||
src/editor/jquery.min.js
|
||||
@@ -22,17 +28,5 @@ src/editor/js-hotkeys
|
||||
src/editor/jspdf/jspdf.min.js
|
||||
src/editor/jspdf/underscore-min.js
|
||||
|
||||
src/editor/extensions/mathjax
|
||||
src/editor/extensions/ext-mathjax/mathjax
|
||||
|
||||
# Todo: We should at least check `compat/compat` in our other files, however
|
||||
## Two "external" items are modified locally, so we undo their ignoring
|
||||
src/external/**/*
|
||||
!src/external/dom-polyfill
|
||||
src/external/dom-polyfill/*
|
||||
!src/external/dom-polyfill/dom-polyfill.js
|
||||
!src/external/dynamic-import-polyfill
|
||||
|
||||
mochawesome-report
|
||||
releases
|
||||
!.eslintrc.js
|
||||
!.ncurc.js
|
||||
|
||||
@@ -122,14 +122,15 @@ module.exports = {
|
||||
'consistent-this': 'off',
|
||||
'import/no-anonymous-default-export': 'off',
|
||||
'node/no-unsupported-features/node-builtins': 'warn',
|
||||
'prefer-exponentiation-operator': 'warn'
|
||||
'prefer-exponentiation-operator': 'warn',
|
||||
'node/no-unsupported-features/es-syntax': 'off'
|
||||
},
|
||||
overrides: [
|
||||
// Locales have no need for importing outside of SVG-Edit
|
||||
// and translations may need a longer line length
|
||||
{
|
||||
files: [
|
||||
'src/editor/locale/lang.*.js', 'src/editor/extensions/ext-locale/**',
|
||||
'src/editor/locale/lang.*.js', 'src/editor/extensions/*/locale/**',
|
||||
'docs/tutorials/ExtensionDocs.md'
|
||||
],
|
||||
rules: {
|
||||
@@ -140,12 +141,10 @@ module.exports = {
|
||||
// These browser files don't do importing or requiring
|
||||
{
|
||||
files: [
|
||||
'src/editor/svgpathseg.js',
|
||||
'src/editor/touch.js',
|
||||
'src/editor/typedefs.js',
|
||||
'src/editor/redirect-on-no-module-support.js',
|
||||
'src/editor/extensions/imagelib/index.js',
|
||||
'src/external/dom-polyfill/dom-polyfill.js',
|
||||
'src/editor/extensions/ext-imagelib/index.js',
|
||||
'screencasts/svgopen2010/script.js'
|
||||
],
|
||||
rules: {
|
||||
|
||||
1
.gitignore
vendored
@@ -18,3 +18,4 @@ mochawesome.json
|
||||
|
||||
.vscode
|
||||
.eslintcache
|
||||
.DS_Store
|
||||
|
||||
84
.gitmodules
vendored
@@ -1,84 +0,0 @@
|
||||
[submodule "releases/svg-edit-2.8"]
|
||||
path = releases/svg-edit-2.8
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v2.8
|
||||
[submodule "releases/svg-edit-2.8.1"]
|
||||
path = releases/svg-edit-2.8.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v2.8.1
|
||||
[submodule "releases/svg-edit-3.0.0-alpha.1"]
|
||||
path = releases/svg-edit-3.0.0-alpha.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-alpha.1
|
||||
[submodule "releases/svg-edit-3.0.0-alpha.2"]
|
||||
path = releases/svg-edit-3.0.0-alpha.2
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-alpha.2
|
||||
[submodule "releases/svg-edit-3.0.0-alpha.3"]
|
||||
path = releases/svg-edit-3.0.0-alpha.3
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-alpha.3
|
||||
[submodule "releases/svg-edit-3.0.0-alpha.4"]
|
||||
path = releases/svg-edit-3.0.0-alpha.4
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-alpha.4
|
||||
[submodule "releases/svg-edit-3.0.0-rc.1"]
|
||||
path = releases/svg-edit-3.0.0-rc.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-rc.1
|
||||
[submodule "releases/svg-edit-3.0.0-rc.2"]
|
||||
path = releases/svg-edit-3.0.0-rc.2
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-rc.2
|
||||
[submodule "releases/svg-edit-3.0.0-rc.3"]
|
||||
path = releases/svg-edit-3.0.0-rc.3
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0-rc.3
|
||||
[submodule "releases/svg-edit-3.0.0"]
|
||||
path = releases/svg-edit-3.0.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.0
|
||||
[submodule "releases/svg-edit-3.0.1"]
|
||||
path = releases/svg-edit-3.0.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.0.1
|
||||
[submodule "releases/svg-edit-3.1.0"]
|
||||
path = releases/svg-edit-3.1.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.1.0
|
||||
[submodule "releases/svg-edit-3.1.1"]
|
||||
path = releases/svg-edit-3.1.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.1.1
|
||||
[submodule "releases/svg-edit-3.2.0"]
|
||||
path = releases/svg-edit-3.2.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v3.2.0
|
||||
[submodule "releases/svg-edit-4.0.0"]
|
||||
path = releases/svg-edit-4.0.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v4.0.0
|
||||
[submodule "releases/svg-edit-4.0.1"]
|
||||
path = releases/svg-edit-4.0.1
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v4.0.1
|
||||
[submodule "releases/svg-edit-4.1.0"]
|
||||
path = releases/svg-edit-4.1.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v4.1.0
|
||||
[submodule "releases/svg-edit-4.2.0"]
|
||||
path = releases/svg-edit-4.2.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v4.2.0
|
||||
[submodule "releases/svg-edit-4.3.0"]
|
||||
path = releases/svg-edit-4.3.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v4.3.0
|
||||
[submodule "releases/svg-edit-5.0.0"]
|
||||
path = releases/svg-edit-5.0.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v5.0.0
|
||||
[submodule "releases/svg-edit-5.1.0"]
|
||||
path = releases/svg-edit-5.1.0
|
||||
url = https://github.com/SVG-Edit/svgedit.git
|
||||
branch = release-v5.1.0
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"title-require": false
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
reject: [
|
||||
// Todo: Old copy with jspdf which needs updating: https://github.com/SVG-Edit/svgedit/issues/51
|
||||
'underscore'
|
||||
]
|
||||
};
|
||||
@@ -5,7 +5,6 @@ screencasts
|
||||
gh-disabled-workflows
|
||||
build
|
||||
lgtm.yml
|
||||
.travis.yml
|
||||
|
||||
cypress/**
|
||||
cypress.env.json
|
||||
|
||||
25
.travis.yml
@@ -1,25 +0,0 @@
|
||||
os: linux
|
||||
dist: xenial
|
||||
language: node_js
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
git:
|
||||
submodules: false
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- language: ruby
|
||||
rvm:
|
||||
- 2.3
|
||||
script:
|
||||
- bundle exec jekyll build
|
||||
- language: node_js
|
||||
node_js:
|
||||
- 14
|
||||
# Reenable later if doing more than linting (i.e., testing)
|
||||
# - 12
|
||||
# - 10
|
||||
script:
|
||||
- npm run eslint
|
||||
76
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team. All complaints will be reviewed and
|
||||
investigated and will result in a response that is deemed necessary and
|
||||
appropriate to the circumstances. The project team is obligated to maintain
|
||||
confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
||||
@@ -1,6 +1,6 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
github: [brettz9] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
|
||||
30
README.md
@@ -44,24 +44,19 @@ to join the project.
|
||||
|
||||
## Demo
|
||||
|
||||
### [Try SVG-edit here](https://svg-edit.github.io/svgedit/src/editor/svg-editor.html)
|
||||
### [Try SVG-edit here](https://svg-edit.github.io/svgedit/dist/editor/index.html)
|
||||
|
||||
<!-- See the [latest release](https://svg-edit.github.io/svgedit/releases/latest/editor/svg-editor.html)
|
||||
(or its [ES6-Module](https://svg-edit.github.io/svgedit/releases/latest/editor/svg-editor-es.html)
|
||||
version, which requires a modern browser).
|
||||
-->
|
||||
See a working editor on [`master`](https://svg-edit.github.io/svgedit/src/editor/svg-editor.html) (or its [ES6-Module](https://svg-edit.github.io/svgedit/src/editor/svg-editor-es.html)
|
||||
See a working editor on [`master`](https://svg-edit.github.io/svgedit/src/editor/index.html)
|
||||
version, which requires a modern browser).
|
||||
|
||||
You may also try it at <https://unpkg.com/svgedit/editor/svg-editor.html>
|
||||
(which redirects to a versioned URL).
|
||||
We also build a systemJS version at [`master`](https://svg-edit.github.io/svgedit/dist/editor/system/index.html)
|
||||
|
||||
You may also obtain URLs for specific [releases](https://github.com/SVG-Edit/svgedit/releases).
|
||||
|
||||
You may test the [latest version in `master`](https://svg-edit.github.io/svgedit/src/editor/svg-editor-es.html)
|
||||
which is the ESM version. (The [non-ESM version](https://svg-edit.github.io/svgedit/src/editor/svg-editor.html)
|
||||
on `master` may be updated less frequently.)
|
||||
|
||||
## Installation
|
||||
|
||||
### Quick install
|
||||
@@ -203,14 +198,15 @@ incorporating SVGEdit. You will need to have Node.js/npm installed.
|
||||
|
||||
## Supported browsers
|
||||
|
||||
The following browsers had been tested for 2.6 or earlier and will
|
||||
probably continue to work with 3.0.
|
||||
- Opera 59+,
|
||||
- IE 12+,
|
||||
- Chrome 75+,
|
||||
- FireFox 68+,
|
||||
- Safari 10+
|
||||
|
||||
- Firefox 1.5+
|
||||
- Opera 9.50+
|
||||
- Safari 4+
|
||||
- Chrome 1+
|
||||
- IE 9+ and Edge
|
||||
Support for old browsers may require to use an older version of the package. However,
|
||||
please open an issue if you need support for a specific version of your browser so
|
||||
the project team can decide if we should support with the latest version.
|
||||
|
||||
## Further reading and more information
|
||||
|
||||
@@ -223,3 +219,7 @@ probably continue to work with 3.0.
|
||||
* Join the [svg-edit mailing list](https://groups.google.com/forum/#!forum/svg-edit).
|
||||
* Join us on `#svg-edit` on `freenode.net` (or use the
|
||||
[web client](https://webchat.freenode.net/?channels=svg-edit)).
|
||||
|
||||
# Hosting
|
||||
SVGedit versions are deployed to:
|
||||
[](https://www.netlify.com/img/global/badges/netlify-color-accent.svg)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
@@ -1,156 +0,0 @@
|
||||
# To-do: Change to a sample service-worker
|
||||
|
||||
CACHE MANIFEST
|
||||
@@ -153,4 +154,4 @@ extensions/ext-shapes.js
|
||||
extensions/ext-star.js
|
||||
extensions/ext-storage.js
|
||||
extensions/ext-webappfind.js
|
||||
extensions/ext-xdomain-messaging.js
|
||||
extensions/ext-xdomain-messaging.js
|
||||
11
babel.config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"@babel/env",
|
||||
{
|
||||
"useBuiltIns": "usage",
|
||||
"corejs": "3.6.5"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="428" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="green" stroke="#000" d="M0 0h120v20H0zM120 0h109v20H120zM229 0h87v20h-87zM316 0h112v20H316z"/><path fill="url(#smooth)" d="M0 0h428v20H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">Statements 45.57%</text><text class="high" x="5" y="14">Statements 45.57%</text><text class="shadow" x="125.5" y="15">Branches 34.06%</text><text class="high" x="125" y="14">Branches 34.06%</text><text class="shadow" x="234.5" y="15">Lines 46.73%</text><text class="high" x="234" y="14">Lines 46.73%</text><text class="shadow" x="321.5" y="15">Functions 51.69%</text><text class="high" x="321" y="14">Functions 51.69%</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="428" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="green" stroke="#000" d="M0 0h120v20H0zM120 0h109v20H120zM229 0h87v20h-87zM316 0h112v20H316z"/><path fill="url(#smooth)" d="M0 0h428v20H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">Statements 51.13%</text><text class="high" x="5" y="14">Statements 51.13%</text><text class="shadow" x="125.5" y="15">Branches 40.85%</text><text class="high" x="125" y="14">Branches 40.85%</text><text class="shadow" x="234.5" y="15">Lines 51.84%</text><text class="high" x="234" y="14">Lines 51.84%</text><text class="shadow" x="321.5" y="15">Functions 58.67%</text><text class="high" x="321" y="14">Functions 58.67%</text></g></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="161" height="56"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="navy" d="M0 0h88v56H0z"/><path fill="green" d="M88 0h73v56H88z"/><path fill="url(#smooth)" d="M0 0h161v56H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">License types</text><text class="high" x="5" y="14">License types</text><text class="shadow" x="5.5" y="27">(all devDeps)</text><text class="high" x="5" y="26">(all devDeps)</text><text class="shadow" x="93.5" y="15">Permissive</text><text class="high" x="93" y="14">Permissive</text><text class="shadow" x="93.5" y="39">1. ISC</text><text class="high" x="93" y="38">1. ISC</text><text class="shadow" x="93.5" y="51">2. MIT</text><text class="high" x="93" y="50">2. MIT</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="581" height="188"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="navy" d="M0 0h88v188H0z"/><path fill="#006400" d="M88 0h131v188H88z"/><path fill="green" d="M219 0h189v188H219z"/><path fill="#d3d3d3" d="M408 0h173v188H408z"/><path fill="url(#smooth)" d="M0 0h581v188H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">License types</text><text class="high" x="5" y="14">License types</text><text class="shadow" x="5.5" y="27">(all devDeps)</text><text class="high" x="5" y="26">(all devDeps)</text><text class="shadow" x="93.5" y="15">Public</text><text class="high" x="93" y="14">Public</text><text class="shadow" x="93.5" y="27">domain</text><text class="high" x="93" y="26">domain</text><text class="shadow" x="93.5" y="51">1. (MIT OR CC0-1.0)</text><text class="high" x="93" y="50">1. (MIT OR CC0-1.0)</text><text class="shadow" x="93.5" y="63">2. CC0-1.0</text><text class="high" x="93" y="62">2. CC0-1.0</text><text class="shadow" x="93.5" y="75">3. Unlicense</text><text class="high" x="93" y="74">3. Unlicense</text><text class="shadow" x="224.5" y="15">Permissive</text><text class="high" x="224" y="14">Permissive</text><text class="shadow" x="224.5" y="39">1. (AFL-2.1 OR BSD-3-Clause)</text><text class="high" x="224" y="38">1. (AFL-2.1 OR BSD-3-Clause)</text><text class="shadow" x="224.5" y="51">2. (WTFPL OR ISC)</text><text class="high" x="224" y="50">2. (WTFPL OR ISC)</text><text class="shadow" x="224.5" y="63">3. 0BSD</text><text class="high" x="224" y="62">3. 0BSD</text><text class="shadow" x="224.5" y="75">4. Apache-2.0</text><text class="high" x="224" y="74">4. Apache-2.0</text><text class="shadow" x="224.5" y="87">5. BSD</text><text class="high" x="224" y="86">5. BSD</text><text class="shadow" x="224.5" y="99">6. BSD-2-Clause</text><text class="high" x="224" y="98">6. BSD-2-Clause</text><text class="shadow" x="224.5" y="111">7. BSD-3-Clause</text><text class="high" x="224" y="110">7. BSD-3-Clause</text><text class="shadow" x="224.5" y="123">8. CC-BY-3.0</text><text class="high" x="224" y="122">8. CC-BY-3.0</text><text class="shadow" x="224.5" y="135">9. CC-BY-4.0</text><text class="high" x="224" y="134">9. CC-BY-4.0</text><text class="shadow" x="224.5" y="147">10. ISC</text><text class="high" x="224" y="146">10. ISC</text><text class="shadow" x="224.5" y="159">11. MIT</text><text class="high" x="224" y="158">11. MIT</text><text class="shadow" x="224.5" y="171">12. WTFPL</text><text class="high" x="224" y="170">12. WTFPL</text><text class="shadow" x="224.5" y="183">13. Zlib</text><text class="high" x="224" y="182">13. Zlib</text><text class="shadow" x="413.5" y="15">Missing</text><text class="high" x="413" y="14">Missing</text><text class="shadow" x="413.5" y="39">1. better-assert (1.0.2)</text><text class="high" x="413" y="38">1. better-assert (1.0.2)</text><text class="shadow" x="413.5" y="51">2. callsite (1.0.0)</text><text class="high" x="413" y="50">2. callsite (1.0.0)</text><text class="shadow" x="413.5" y="63">3. component-bind (1.0.0)</text><text class="high" x="413" y="62">3. component-bind (1.0.0)</text><text class="shadow" x="413.5" y="75">4. component-inherit (0.0.3)</text><text class="high" x="413" y="74">4. component-inherit (0.0.3)</text><text class="shadow" x="413.5" y="87">5. exif-parser (0.1.12)</text><text class="high" x="413" y="86">5. exif-parser (0.1.12)</text><text class="shadow" x="413.5" y="99">6. indexof (0.0.1)</text><text class="high" x="413" y="98">6. indexof (0.0.1)</text><text class="shadow" x="413.5" y="111">7. object-component (0.0.3)</text><text class="high" x="413" y="110">7. object-component (0.0.3)</text><text class="shadow" x="413.5" y="123">8. process (0.5.2)</text><text class="high" x="413" y="122">8. process (0.5.2)</text></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 4.1 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="445" height="80"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="navy" d="M0 0h227v80H0z"/><path fill="green" d="M227 0h90v80h-90z"/><path fill="#cc0" d="M317 0h128v80H317z"/><path fill="url(#smooth)" d="M0 0h445v80H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">License types</text><text class="high" x="5" y="14">License types</text><text class="shadow" x="5.5" y="27">(project, deps, and bundled devDeps)</text><text class="high" x="5" y="26">(project, deps, and bundled devDeps)</text><text class="shadow" x="232.5" y="15">Permissive</text><text class="high" x="232" y="14">Permissive</text><text class="shadow" x="232.5" y="39">1. Apache-2.0</text><text class="high" x="232" y="38">1. Apache-2.0</text><text class="shadow" x="232.5" y="51">2. ISC</text><text class="high" x="232" y="50">2. ISC</text><text class="shadow" x="232.5" y="63">3. MIT</text><text class="high" x="232" y="62">3. MIT</text><text class="shadow" x="232.5" y="75">4. X11</text><text class="high" x="232" y="74">4. X11</text><text class="shadow" x="322.5" y="15">Weakly</text><text class="high" x="322" y="14">Weakly</text><text class="shadow" x="322.5" y="27">protective</text><text class="high" x="322" y="26">protective</text><text class="shadow" x="322.5" y="51">1. LGPL-3.0-or-later</text><text class="high" x="322" y="50">1. LGPL-3.0-or-later</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1077" height="116"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="navy" d="M0 0h227v116H0z"/><path fill="green" d="M227 0h265v116H227z"/><path fill="#cc0" d="M492 0h128v116H492z"/><path fill="#a9a9a9" d="M620 0h243v116H620z"/><path fill="#d3d3d3" d="M863 0h214v116H863z"/><path fill="url(#smooth)" d="M0 0h1077v116H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">License types</text><text class="high" x="5" y="14">License types</text><text class="shadow" x="5.5" y="27">(project, deps, and bundled devDeps)</text><text class="high" x="5" y="26">(project, deps, and bundled devDeps)</text><text class="shadow" x="232.5" y="15">Permissive</text><text class="high" x="232" y="14">Permissive</text><text class="shadow" x="232.5" y="39">1. (MIT OR Apache-2.0)</text><text class="high" x="232" y="38">1. (MIT OR Apache-2.0)</text><text class="shadow" x="232.5" y="51">2. (MPL-2.0 OR Apache-2.0)</text><text class="high" x="232" y="50">2. (MPL-2.0 OR Apache-2.0)</text><text class="shadow" x="232.5" y="63">3. Apache-2.0</text><text class="high" x="232" y="62">3. Apache-2.0</text><text class="shadow" x="232.5" y="75">4. ISC</text><text class="high" x="232" y="74">4. ISC</text><text class="shadow" x="232.5" y="87">5. MIT</text><text class="high" x="232" y="86">5. MIT</text><text class="shadow" x="232.5" y="99">6. MIT OR SEE LICENSE IN FEEL-FREE.md</text><text class="high" x="232" y="98">6. MIT OR SEE LICENSE IN FEEL-FREE.md</text><text class="shadow" x="232.5" y="111">7. X11</text><text class="high" x="232" y="110">7. X11</text><text class="shadow" x="497.5" y="15">Weakly</text><text class="high" x="497" y="14">Weakly</text><text class="shadow" x="497.5" y="27">protective</text><text class="high" x="497" y="26">protective</text><text class="shadow" x="497.5" y="51">1. LGPL-3.0-or-later</text><text class="high" x="497" y="50">1. LGPL-3.0-or-later</text><text class="shadow" x="625.5" y="15">Uncategorized</text><text class="high" x="625" y="14">Uncategorized</text><text class="shadow" x="625.5" y="39">1. Chromium's License (pathseg (1.2.0))</text><text class="high" x="625" y="38">1. Chromium's License (pathseg (1.2.0))</text><text class="shadow" x="868.5" y="15">Missing</text><text class="high" x="868" y="14">Missing</text><text class="shadow" x="868.5" y="39">1. null (base64-arraybuffer (0.2.0))</text><text class="high" x="868" y="38">1. null (base64-arraybuffer (0.2.0))</text></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.8 KiB |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="97" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="#696969" d="M0 0h41v20H0z"/><path fill="#4c1" d="M41 0h56v20H41z"/><path fill="url(#smooth)" d="M0 0h97v20H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">Tests</text><text class="high" x="5" y="14">Tests</text><text class="shadow" x="46.5" y="15">132/132</text><text class="high" x="46" y="14">132/132</text></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="97" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="#696969" d="M0 0h41v20H0z"/><path fill="#4c1" d="M41 0h56v20H41z"/><path fill="url(#smooth)" d="M0 0h97v20H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">Tests</text><text class="high" x="5" y="14">Tests</text><text class="shadow" x="46.5" y="15">139/139</text><text class="high" x="46" y="14">139/139</text></g></svg>
|
||||
|
Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 820 B |
@@ -1,148 +0,0 @@
|
||||
/* eslint-env node */
|
||||
import fs from 'promise-fs';
|
||||
|
||||
const filesAndReplacements = [
|
||||
{
|
||||
input: 'src/editor/svg-editor-es.html',
|
||||
output: 'src/editor/xdomain-svg-editor-es.html',
|
||||
replacements: [
|
||||
[
|
||||
'<script type="module" src="../svgedit-config-es.js"></script>',
|
||||
'<script type="module" src="xdomain-svgedit-config-es.js"></script>'
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
input: 'src/editor/xdomain-svg-editor-es.html',
|
||||
output: 'src/editor/xdomain-svg-editor.html',
|
||||
replacements: [
|
||||
[
|
||||
'<!DOCTYPE html>',
|
||||
`<!DOCTYPE html>
|
||||
<!-- AUTO-GENERATED FROM xdomain-svg-editor-es.html; DO NOT EDIT; use build/build-html.js to build -->`
|
||||
],
|
||||
[
|
||||
'<script type="module" src="redirect-on-lacking-support.js"></script>',
|
||||
'<script defer="defer" src="../../dist/redirect-on-lacking-support.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script type="module" src="xdomain-svgedit-config-es.js"></script>',
|
||||
'<script defer="defer" src="xdomain-svgedit-config-iife.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script src="../external/dom-polyfill/dom-polyfill.js"></script>',
|
||||
'<script src="../../dist/dom-polyfill.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script nomodule="" src="redirect-on-no-module-support.js"></script>',
|
||||
''
|
||||
]
|
||||
]
|
||||
},
|
||||
// Now that file has copied, we can replace the DOCTYPE in xdomain
|
||||
{
|
||||
input: 'src/editor/xdomain-svg-editor-es.html',
|
||||
output: 'src/editor/xdomain-svg-editor-es.html',
|
||||
replacements: [
|
||||
[
|
||||
'<!DOCTYPE html>',
|
||||
`<!DOCTYPE html>
|
||||
<!-- AUTO-GENERATED FROM svg-editor-es.html; DO NOT EDIT; use build/build-html.js to build -->`
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
input: 'src/editor/svg-editor-es.html',
|
||||
output: 'src/editor/svg-editor.html',
|
||||
replacements: [
|
||||
[
|
||||
'<!DOCTYPE html>',
|
||||
`<!DOCTYPE html>
|
||||
<!-- AUTO-GENERATED FROM svg-editor-es.html; DO NOT EDIT; use build/build-html.js to build -->`
|
||||
],
|
||||
[
|
||||
'<script type="module" src="redirect-on-lacking-support.js"></script>',
|
||||
'<script defer="defer" src="../../dist/redirect-on-lacking-support.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script type="module" src="../svgedit-config-es.js"></script>',
|
||||
'<script defer="defer" src="../svgedit-config-iife.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script src="../external/dom-polyfill/dom-polyfill.js"></script>',
|
||||
'<script src="../../dist/dom-polyfill.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script nomodule="" src="redirect-on-no-module-support.js"></script>',
|
||||
''
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
input: 'src/editor/extensions/imagelib/openclipart-es.html',
|
||||
output: 'src/editor/extensions/imagelib/openclipart.html',
|
||||
replacements: [
|
||||
[
|
||||
'<!DOCTYPE html>',
|
||||
`<!DOCTYPE html>
|
||||
<!-- AUTO-GENERATED FROM imagelib/openclipart-es.html; DO NOT EDIT; use build/build-html.js to build -->`
|
||||
],
|
||||
[
|
||||
'<script src="../../external/dom-polyfill/dom-polyfill.js"></script>',
|
||||
'<script src="../../../../dist/dom-polyfill.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script type="module" src="openclipart.js"></script>',
|
||||
'<script defer="defer" src="../../../../dist/extensions/imagelib/openclipart.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script nomodule="" src="redirect-on-no-module-support.js"></script>',
|
||||
''
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
input: 'src/editor/extensions/imagelib/index-es.html',
|
||||
output: 'src/editor/extensions/imagelib/index.html',
|
||||
replacements: [
|
||||
[
|
||||
'<!DOCTYPE html>',
|
||||
`<!DOCTYPE html>
|
||||
<!-- AUTO-GENERATED FROM imagelib/index-es.html; DO NOT EDIT; use build/build-html.js to build -->`
|
||||
],
|
||||
[
|
||||
'<script type="module" src="index.js"></script>',
|
||||
'<script defer="defer" src="../../../../dist/extensions/imagelib/index.js"></script>'
|
||||
],
|
||||
[
|
||||
'<script nomodule="" src="redirect-on-no-module-support.js"></script>',
|
||||
''
|
||||
]
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
(async () => {
|
||||
await filesAndReplacements.reduce(async (p, {input, output, replacements}) => {
|
||||
await p;
|
||||
let data;
|
||||
try {
|
||||
data = await fs.readFile(input, 'utf8');
|
||||
} catch (err) {
|
||||
console.log(`Error reading ${input} file`, err); // eslint-disable-line no-console
|
||||
}
|
||||
|
||||
data = replacements.reduce((s, [fnd, replacement]) => {
|
||||
return s.replace(fnd, replacement);
|
||||
}, data);
|
||||
|
||||
try {
|
||||
await fs.writeFile(output, data);
|
||||
} catch (err) {
|
||||
console.log(`Error writing file: ${err}`, err); // eslint-disable-line no-console
|
||||
return;
|
||||
}
|
||||
console.log(`Completed file ${input} rewriting!`); // eslint-disable-line no-console
|
||||
}, Promise.resolve());
|
||||
console.log('Finished!'); // eslint-disable-line no-console
|
||||
})();
|
||||
@@ -4,5 +4,14 @@
|
||||
"video": false,
|
||||
"reporterOptions": {
|
||||
"configFile": "mocha-multi-reporters.json"
|
||||
},
|
||||
"ignoreTestFiles": ["**/__snapshots__/*", "**/__image_snapshots__/*"],
|
||||
"defaultCommandTimeout": 10000,
|
||||
"pageLoadTimeout": 120000,
|
||||
"cypress-plugin-snapshots": {
|
||||
"autoCleanUp": true,
|
||||
"prettier": true,
|
||||
"updateSnapshots": false,
|
||||
"diffLines": 5
|
||||
}
|
||||
}
|
||||
|
||||
364
cypress/integration/ui/__snapshots__/scenario.js.snap
Normal file
@@ -0,0 +1,364 @@
|
||||
exports[`use various parts of svg-edit > check tool_source #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
></rect>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check tool_fhpath #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check tool_text #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
style="pointer-events: inherit; cursor: text;"
|
||||
x="116"
|
||||
y="87"
|
||||
id="svg_1"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check tool_clone #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="116"
|
||||
y="87"
|
||||
id="svg_1"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="136"
|
||||
y="107"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
id="svg_2"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check tool_italic #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="116"
|
||||
y="87"
|
||||
id="svg_1"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
font-style="italic"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="136"
|
||||
y="107"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
id="svg_2"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check tool_bold #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="116"
|
||||
y="87"
|
||||
id="svg_1"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
font-style="italic"
|
||||
font-weight="bold"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="136"
|
||||
y="107"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
id="svg_2"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
|
||||
exports[`use various parts of svg-edit > check change color #0`] = `
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="640"
|
||||
height="480"
|
||||
id="svgcontent"
|
||||
overflow="visible"
|
||||
x="640"
|
||||
y="480"
|
||||
viewBox="0 0 640 480"
|
||||
>
|
||||
<g class="layer" style="pointer-events:all">
|
||||
<title style="pointer-events:inherit">Layer 1</title>
|
||||
<rect
|
||||
id="rect"
|
||||
fill="#FF0000"
|
||||
height="70"
|
||||
stroke="#000000"
|
||||
stroke-width="5"
|
||||
width="94"
|
||||
x="69.5"
|
||||
y="51.5"
|
||||
style="pointer-events:inherit"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
></rect>
|
||||
<text
|
||||
fill="#ffff00"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="116"
|
||||
y="87"
|
||||
id="svg_1"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
font-style="italic"
|
||||
font-weight="bold"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
<text
|
||||
fill="#000000"
|
||||
stroke="#000000"
|
||||
stroke-width="0"
|
||||
x="136"
|
||||
y="107"
|
||||
font-size="24"
|
||||
font-family="serif"
|
||||
text-anchor="middle"
|
||||
xml:space="preserve"
|
||||
fill-opacity="1"
|
||||
stroke-opacity="1"
|
||||
id="svg_2"
|
||||
>
|
||||
B
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
`;
|
||||
@@ -1,6 +1,6 @@
|
||||
describe('UI - Accessibility', function () {
|
||||
beforeEach(() => {
|
||||
cy.visit('/instrumented/editor/svg-editor-es.html');
|
||||
cy.visit('/instrumented/editor/index.html');
|
||||
cy.injectAxe();
|
||||
});
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ describe('UI - Control Points', function () {
|
||||
cy.get('#tool_source_save').click();
|
||||
cy.get('#svg_1').click().click();
|
||||
|
||||
cy.get('#pathpointgrip_0').trigger('mousedown', {which: 1})
|
||||
cy.get('#pathpointgrip_0').trigger('mousedown', {which: 1, force: true})
|
||||
.trigger('mousemove', randomOffset(), randomOffset(), {force: true})
|
||||
.trigger('mouseup', {force: true});
|
||||
cy.get('#pathpointgrip_1').trigger('mousedown', {which: 1})
|
||||
cy.get('#pathpointgrip_1').trigger('mousedown', {which: 1, force: true})
|
||||
.trigger('mousemove', randomOffset(), randomOffset(), {force: true})
|
||||
.trigger('mouseup', {force: true});
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ describe('UI - Export tests', function () {
|
||||
|
||||
it('Editor - No parameters: Export button clicking; dialog opens', () => {
|
||||
openMainMenu();
|
||||
cy.get('#tool_export').click();
|
||||
cy.get('#tool_export').click({force: true});
|
||||
cy.get('#dialog_content select');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,13 +11,13 @@ describe('Fix issue 359', function () {
|
||||
it('can undo without throwing', function () {
|
||||
cy.get('#tool_source').click();
|
||||
cy.get('#svg_source_textarea')
|
||||
.type('{selectall}')
|
||||
.type('{selectall}', {force: true})
|
||||
.type(`<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg">
|
||||
<g class="layer">
|
||||
<title>Layer 1</title>
|
||||
<rect fill="#ffff00" height="70" width="165" x="179.5" y="146.5"/>
|
||||
</g>
|
||||
</svg>`, {parseSpecialCharSequences: false});
|
||||
</svg>`, {parseSpecialCharSequences: false, force: true});
|
||||
cy.get('#tool_source_save').click();
|
||||
cy.get('#tool_undo').click();
|
||||
cy.get('#tool_redo').click(); // test also redo to make the test more comprehensive
|
||||
|
||||
@@ -9,8 +9,10 @@ describe('Issue 364; IE errorwith rectangle selection by click', function () {
|
||||
});
|
||||
|
||||
it('should set rectangle selection after click', function () {
|
||||
// eslint-disable-next-line cypress/no-unnecessary-waiting
|
||||
cy.get('#tools_rect_show')
|
||||
.trigger('mousedown', {force: true})
|
||||
.wait(100) // this delay seems necessary
|
||||
.trigger('mouseup', {force: true})
|
||||
.should((button) => {
|
||||
expect(button).to.have.class('tool_button_current');
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('Fix issue 407', function () {
|
||||
it('can enter edit on text child', function () {
|
||||
cy.get('#tool_source').click();
|
||||
cy.get('#svg_source_textarea')
|
||||
.type('{selectall}')
|
||||
.type('{selectall}', {force: true})
|
||||
.type(`<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg">
|
||||
<g class="layer">
|
||||
<title>Layer 1</title>
|
||||
@@ -24,7 +24,12 @@ describe('Fix issue 407', function () {
|
||||
cy.get('#tool_source_save').click();
|
||||
cy.get('#svg_1').click().dblclick();
|
||||
cy.get('#a_text').should('exist');
|
||||
cy.get('#a_text').trigger('mousedown', {which: 1}).trigger('mouseup').dblclick().type('1234');
|
||||
cy.get('#a_text')
|
||||
.trigger('mousedown', {which: 1, force: true})
|
||||
.trigger('mouseup', {force: true})
|
||||
.dblclick({force: true});
|
||||
// svgedit use the #text text field to capture the text
|
||||
cy.get('#text').type('1234', {force: true});
|
||||
cy.get('#a_text').should('have.text', 'he1234llo');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('Fix issue 423', function () {
|
||||
it('should not throw when undoing the move', function () {
|
||||
cy.get('#tool_source').click();
|
||||
cy.get('#svg_source_textarea')
|
||||
.type('{selectall}')
|
||||
.type('{selectall}', {force: true})
|
||||
.type(`<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g class="layer">
|
||||
<title>Layer 1</title>
|
||||
@@ -22,12 +22,12 @@ describe('Fix issue 423', function () {
|
||||
<rect clip-path="url(#svg_2)" fill="#0033b5" height="174.9" id="TANK1" width="78" x="77.5" y="29"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>`, {parseSpecialCharSequences: false});
|
||||
cy.get('#tool_source_save').click();
|
||||
</svg>`, {parseSpecialCharSequences: false, force: true});
|
||||
cy.get('#tool_source_save').click({force: true});
|
||||
cy.get('#TANK1')
|
||||
.trigger('mousedown', {force: true})
|
||||
.trigger('mousemove', 50, 0, {force: true})
|
||||
.trigger('mouseup', {force: true});
|
||||
cy.get('#tool_undo').click();
|
||||
cy.get('#tool_undo').click({force: true});
|
||||
});
|
||||
});
|
||||
|
||||
76
cypress/integration/ui/scenario.js
Normal file
@@ -0,0 +1,76 @@
|
||||
import {
|
||||
visitAndApproveStorage
|
||||
} from '../../support/ui-test-helper.js';
|
||||
|
||||
const testSnapshot = () => {
|
||||
// cy.get('#tool_source').click({force: true});
|
||||
// cy.get('#svg_source_textarea').invoke('val').toMatchSnapshot();
|
||||
// cy.get('#tool_source_save').click({force: true});
|
||||
cy.get('#svgcontent').toMatchSnapshot();
|
||||
};
|
||||
|
||||
describe('use various parts of svg-edit', function () {
|
||||
before(() => {
|
||||
visitAndApproveStorage();
|
||||
});
|
||||
|
||||
it('check tool_source', function () {
|
||||
cy.get('#tool_source').click({force: true});
|
||||
cy.get('#svg_source_textarea')
|
||||
.type('{selectall}', {force: true})
|
||||
.type(`<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g class="layer">
|
||||
<title>Layer 1</title>
|
||||
<rect id="rect" fill="#FF0000" height="70" stroke="#000000" stroke-width="5" width="94" x="69.5" y="51.5"/>
|
||||
</g>
|
||||
</svg>`, {parseSpecialCharSequences: false});
|
||||
cy.get('#tool_source_save').click({force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
it('check tool_fhpath', function () {
|
||||
cy.get('#tool_fhpath')
|
||||
.click({force: true});
|
||||
cy.get('#rect')
|
||||
.trigger('mousemove', 200, 200, {force: true})
|
||||
.trigger('mousedown', 200, 200, {force: true})
|
||||
.trigger('mousemove', 20, 20, {force: true})
|
||||
.trigger('mouseup', {force: true});
|
||||
cy.get('#svgcontent').toMatchSnapshot();
|
||||
});
|
||||
it('check tool_text', function () {
|
||||
cy.get('#tool_text')
|
||||
.click({force: true});
|
||||
cy.get('#rect')
|
||||
.trigger('mousedown', 'center', {force: true})
|
||||
.trigger('mouseup', {force: true});
|
||||
// svgedit use the #text text field to capture the text
|
||||
// cy.get('#text').type('1234', {force: true});
|
||||
cy.get('#text').type('B', {force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
|
||||
it('check tool_clone', function () {
|
||||
cy.get('#svg_1').click({force: true});
|
||||
cy.get('#tool_clone')
|
||||
.click({force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
it('check tool_italic', function () {
|
||||
cy.get('#svg_1').click({force: true});
|
||||
cy.get('#tool_italic')
|
||||
.click({force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
it('check tool_bold', function () {
|
||||
cy.get('#svg_1').click({force: true});
|
||||
cy.get('#tool_bold')
|
||||
.click({force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
it('check change color', function () {
|
||||
cy.get('#svg_1').click({force: true});
|
||||
cy.get('[data-rgb="#ffff00"]')
|
||||
.click({force: true});
|
||||
testSnapshot();
|
||||
});
|
||||
});
|
||||
@@ -1,7 +1,8 @@
|
||||
/* globals SVGPathSeg */
|
||||
import 'pathseg';
|
||||
|
||||
import '../../../instrumented/editor/jquery.min.js';
|
||||
|
||||
import '../../../instrumented/common/svgpathseg.js';
|
||||
import {NS} from '../../../instrumented/common/namespaces.js';
|
||||
import * as utilities from '../../../instrumented/common/utilities.js';
|
||||
import * as pathModule from '../../../instrumented/svgcanvas/path.js';
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
import '../../../instrumented/editor/jquery.min.js';
|
||||
import '../../../instrumented/editor/jquery-ui/jquery-ui-1.8.17.custom.min.js';
|
||||
|
||||
import '../../../instrumented/common/svgpathseg.js';
|
||||
import SvgCanvas from '../../../instrumented/svgcanvas/svgcanvas.js';
|
||||
|
||||
// import '../../../instrumented/'
|
||||
|
||||
describe('Basic Module', function () {
|
||||
// helper functions
|
||||
/*
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
/* eslint-disable max-len */
|
||||
import 'pathseg';
|
||||
|
||||
import '../../../instrumented/editor/jquery.min.js';
|
||||
|
||||
import '../../../instrumented/common/svgpathseg.js';
|
||||
import {NS} from '../../../instrumented/common/namespaces.js';
|
||||
import * as utilities from '../../../instrumented/common/utilities.js';
|
||||
import * as transformlist from '../../../instrumented/common/svgtransformlist.js';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable max-len */
|
||||
import 'pathseg';
|
||||
import '../../../instrumented/editor/jquery.min.js';
|
||||
|
||||
import '../../../instrumented/common/svgpathseg.js';
|
||||
import {NS} from '../../../instrumented/common/namespaces.js';
|
||||
import * as utilities from '../../../instrumented/common/utilities.js';
|
||||
import * as transformlist from '../../../instrumented/common/svgtransformlist.js';
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// the project's config changing)
|
||||
|
||||
import codeCoverageTask from '@cypress/code-coverage/task.js';
|
||||
import {initPlugin} from 'cypress-plugin-snapshots/plugin.js';
|
||||
|
||||
export default (on, config) => {
|
||||
// `on` is used to hook into various events Cypress emits
|
||||
@@ -12,5 +13,6 @@ export default (on, config) => {
|
||||
|
||||
// https://docs.cypress.io/guides/tooling/code-coverage.html#Install-the-plugin
|
||||
codeCoverageTask(on, config);
|
||||
initPlugin(on, config);
|
||||
return config;
|
||||
};
|
||||
|
||||
@@ -42,3 +42,10 @@ import '@cypress/code-coverage/support.js';
|
||||
* @see https://www.npmjs.com/package/cypress-axe
|
||||
*/
|
||||
import 'cypress-axe';
|
||||
|
||||
/*****
|
||||
* SNAPSHOTS
|
||||
* @see https://www.npmjs.com/package/cypress-plugin-snapshots
|
||||
*/
|
||||
|
||||
import 'cypress-plugin-snapshots/commands.js';
|
||||
|
||||
@@ -4,7 +4,7 @@ export const approveStorage = () => {
|
||||
};
|
||||
|
||||
export const visitAndApproveStorage = () => {
|
||||
cy.visit('/instrumented/editor/svg-editor-es.html');
|
||||
cy.visit('/instrumented/editor/index.html');
|
||||
approveStorage();
|
||||
};
|
||||
|
||||
|
||||
4915
dist/canvg.js
vendored
165
dist/dom-polyfill.js
vendored
@@ -1,165 +0,0 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
|
||||
function _typeof(obj) {
|
||||
"@babel/helpers - typeof";
|
||||
|
||||
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
||||
_typeof = function (obj) {
|
||||
return typeof obj;
|
||||
};
|
||||
} else {
|
||||
_typeof = function (obj) {
|
||||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
||||
};
|
||||
}
|
||||
|
||||
return _typeof(obj);
|
||||
}
|
||||
|
||||
// From https://github.com/inexorabletash/polyfill/blob/master/dom.js
|
||||
|
||||
/**
|
||||
* @module DOMPolyfill
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Node} o
|
||||
* @param {module:DOMPolyfill~ParentNode|module:DOMPolyfill~ChildNode} ps
|
||||
* @returns {void}
|
||||
*/
|
||||
function mixin(o, ps) {
|
||||
if (!o) return;
|
||||
Object.keys(ps).forEach(function (p) {
|
||||
if (p in o || p in o.prototype) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
Object.defineProperty(o.prototype, p, Object.getOwnPropertyDescriptor(ps, p));
|
||||
} catch (ex) {
|
||||
// Throws in IE8; just copy it
|
||||
o[p] = ps[p];
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param {Node[]} nodes
|
||||
* @returns {Node}
|
||||
*/
|
||||
|
||||
|
||||
function convertNodesIntoANode(nodes) {
|
||||
nodes = nodes.map(function (node) {
|
||||
var isNode = node && _typeof(node) === 'object' && 'nodeType' in node;
|
||||
return isNode ? node : document.createTextNode(node);
|
||||
});
|
||||
|
||||
if (nodes.length === 1) {
|
||||
return nodes[0];
|
||||
}
|
||||
|
||||
var node = document.createDocumentFragment();
|
||||
nodes.forEach(function (n) {
|
||||
// // eslint-disable-next-line unicorn/prefer-node-append
|
||||
node.appendChild(n);
|
||||
});
|
||||
return node;
|
||||
}
|
||||
|
||||
var ParentNode = {
|
||||
prepend: function prepend() {
|
||||
for (var _len = arguments.length, nodes = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||
nodes[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
nodes = convertNodesIntoANode(nodes);
|
||||
this.insertBefore(nodes, this.firstChild);
|
||||
},
|
||||
append: function append() {
|
||||
for (var _len2 = arguments.length, nodes = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
||||
nodes[_key2] = arguments[_key2];
|
||||
}
|
||||
|
||||
nodes = convertNodesIntoANode(nodes); // // eslint-disable-next-line unicorn/prefer-node-append
|
||||
|
||||
this.appendChild(nodes);
|
||||
}
|
||||
};
|
||||
mixin(Document || HTMLDocument, ParentNode); // HTMLDocument for IE8
|
||||
|
||||
mixin(DocumentFragment, ParentNode);
|
||||
mixin(Element, ParentNode); // Mixin ChildNode
|
||||
// https://dom.spec.whatwg.org/#interface-childnode
|
||||
|
||||
var ChildNode = {
|
||||
before: function before() {
|
||||
var parent = this.parentNode;
|
||||
if (!parent) return;
|
||||
var viablePreviousSibling = this.previousSibling;
|
||||
|
||||
for (var _len3 = arguments.length, nodes = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
||||
nodes[_key3] = arguments[_key3];
|
||||
}
|
||||
|
||||
while (nodes.includes(viablePreviousSibling)) {
|
||||
viablePreviousSibling = viablePreviousSibling.previousSibling;
|
||||
}
|
||||
|
||||
var node = convertNodesIntoANode(nodes);
|
||||
parent.insertBefore(node, viablePreviousSibling ? viablePreviousSibling.nextSibling : parent.firstChild);
|
||||
},
|
||||
after: function after() {
|
||||
var parent = this.parentNode;
|
||||
if (!parent) return;
|
||||
var viableNextSibling = this.nextSibling;
|
||||
|
||||
for (var _len4 = arguments.length, nodes = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
||||
nodes[_key4] = arguments[_key4];
|
||||
}
|
||||
|
||||
while (nodes.includes(viableNextSibling)) {
|
||||
viableNextSibling = viableNextSibling.nextSibling;
|
||||
}
|
||||
|
||||
var node = convertNodesIntoANode(nodes); // eslint-disable-next-line unicorn/prefer-modern-dom-apis
|
||||
|
||||
parent.insertBefore(node, viableNextSibling);
|
||||
},
|
||||
replaceWith: function replaceWith() {
|
||||
var parent = this.parentNode;
|
||||
if (!parent) return;
|
||||
var viableNextSibling = this.nextSibling;
|
||||
|
||||
for (var _len5 = arguments.length, nodes = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
||||
nodes[_key5] = arguments[_key5];
|
||||
}
|
||||
|
||||
while (nodes.includes(viableNextSibling)) {
|
||||
viableNextSibling = viableNextSibling.nextSibling;
|
||||
}
|
||||
|
||||
var node = convertNodesIntoANode(nodes);
|
||||
|
||||
if (this.parentNode === parent) {
|
||||
parent.replaceChild(node, this);
|
||||
} else {
|
||||
// eslint-disable-next-line unicorn/prefer-modern-dom-apis
|
||||
parent.insertBefore(node, viableNextSibling);
|
||||
}
|
||||
},
|
||||
remove: function remove() {
|
||||
if (!this.parentNode) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.parentNode.removeChild(this); // eslint-disable-line unicorn/prefer-node-remove
|
||||
}
|
||||
};
|
||||
mixin(DocumentType, ChildNode);
|
||||
mixin(Element, ChildNode);
|
||||
mixin(CharacterData, ChildNode);
|
||||
|
||||
}());
|
||||
54
dist/editor/browser-not-supported.html
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1"/>
|
||||
<link rel="icon" type="image/png" href="images/logo.png"/>
|
||||
<link rel="stylesheet" href="svgedit.css"/>
|
||||
<title>Browser does not support SVG | SVG-edit</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
p {
|
||||
font-size: 0.8em;
|
||||
font-family: Verdana, Helvetica, Arial;
|
||||
color: #000;
|
||||
padding: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
#logo {
|
||||
float: left;
|
||||
padding: 10px;
|
||||
}
|
||||
#caniuse {
|
||||
position: absolute;
|
||||
top: 7em;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#caniuse > iframe {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<img id="logo" src="images/logo.png" width="48" height="48" alt="SVG-edit logo" />
|
||||
<p>Sorry, but your browser does not support SVG. Below is a list of
|
||||
alternate browsers and versions that support SVG and SVG-edit
|
||||
(from <a href="https://caniuse.com/#cats=SVG">caniuse.com</a>).
|
||||
</p>
|
||||
<p>Try the latest version of
|
||||
<a href="https://www.getfirefox.com">Firefox</a>,
|
||||
<a href="https://www.google.com/chrome/">Chrome</a>,
|
||||
<a href="https://www.apple.com/safari/">Safari</a>,
|
||||
<a href="https://www.opera.com/download">Opera</a> or
|
||||
<a href="https://support.microsoft.com/en-us/help/17621/internet-explorer-downloads">Internet Explorer</a>.
|
||||
</p>
|
||||
<div id="caniuse">
|
||||
<iframe src="https://caniuse.com/#cats=SVG"></iframe>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
17
dist/editor/embedapi.html
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Embed API</title>
|
||||
<link rel="icon" type="image/png" href="images/logo.png"/>
|
||||
<script src="jquery.min.js"></script>
|
||||
<script type="module" src="embedapi-dom.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<button id="load">Load example</button>
|
||||
<button id="save">Save data</button>
|
||||
<button id="exportPNG">Export data to PNG</button>
|
||||
<button id="exportPDF">Export data to PDF</button>
|
||||
<br/>
|
||||
</body>
|
||||
</html>
|
||||
395
dist/editor/embedapi.js
vendored
Normal file
@@ -0,0 +1,395 @@
|
||||
/**
|
||||
* Handles underlying communication between the embedding window and the
|
||||
* editor frame.
|
||||
* @module EmbeddedSVGEdit
|
||||
*/
|
||||
|
||||
let cbid = 0;
|
||||
|
||||
/**
|
||||
* @callback module:EmbeddedSVGEdit.CallbackSetter
|
||||
* @param {GenericCallback} newCallback Callback to be stored (signature dependent on function)
|
||||
* @returns {void}
|
||||
*/
|
||||
/**
|
||||
* @callback module:EmbeddedSVGEdit.CallbackSetGetter
|
||||
* @param {...any} args Signature dependent on the function
|
||||
* @returns {module:EmbeddedSVGEdit.CallbackSetter}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {string} funcName
|
||||
* @returns {module:EmbeddedSVGEdit.CallbackSetGetter}
|
||||
*/
|
||||
function getCallbackSetter (funcName) {
|
||||
return function (...args) {
|
||||
const that = this, // New callback
|
||||
callbackID = this.send(funcName, args, function () { /* */ }); // The callback (currently it's nothing, but will be set later)
|
||||
|
||||
return function (newCallback) {
|
||||
that.callbacks[callbackID] = newCallback; // Set callback
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Having this separate from messageListener allows us to
|
||||
* avoid using JSON parsing (and its limitations) in the case
|
||||
* of same domain control.
|
||||
* @param {module:EmbeddedSVGEdit.EmbeddedSVGEdit} t The `this` value
|
||||
* @param {PlainObject} data
|
||||
* @param {JSON} data.result
|
||||
* @param {string} data.error
|
||||
* @param {Integer} data.id
|
||||
* @returns {void}
|
||||
*/
|
||||
function addCallback (t, {result, error, id: callbackID}) {
|
||||
if (typeof callbackID === 'number' && t.callbacks[callbackID]) {
|
||||
// These should be safe both because we check `cbid` is numeric and
|
||||
// because the calls are from trusted origins
|
||||
if (result) {
|
||||
t.callbacks[callbackID](result); // lgtm [js/unvalidated-dynamic-method-call]
|
||||
} else {
|
||||
t.callbacks[callbackID](error, 'error'); // lgtm [js/unvalidated-dynamic-method-call]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Event} e
|
||||
* @returns {void}
|
||||
*/
|
||||
function messageListener (e) {
|
||||
// We accept and post strings as opposed to objects for the sake of IE9 support; this
|
||||
// will most likely be changed in the future
|
||||
if (!e.data || !['string', 'object'].includes(typeof e.data)) {
|
||||
return;
|
||||
}
|
||||
const {allowedOrigins} = this,
|
||||
data = typeof e.data === 'object' ? e.data : JSON.parse(e.data);
|
||||
if (!data || typeof data !== 'object' || data.namespace !== 'svg-edit' ||
|
||||
e.source !== this.frame.contentWindow ||
|
||||
(!allowedOrigins.includes('*') && !allowedOrigins.includes(e.origin))
|
||||
) {
|
||||
// eslint-disable-next-line no-console -- Info for developers
|
||||
console.error(
|
||||
`The origin ${e.origin} was not whitelisted as an origin from ` +
|
||||
`which responses may be received by this ${window.origin} script.`
|
||||
);
|
||||
return;
|
||||
}
|
||||
addCallback(this, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @callback module:EmbeddedSVGEdit.MessageListener
|
||||
* @param {MessageEvent} e
|
||||
* @returns {void}
|
||||
*/
|
||||
/**
|
||||
* @param {module:EmbeddedSVGEdit.EmbeddedSVGEdit} t The `this` value
|
||||
* @returns {module:EmbeddedSVGEdit.MessageListener} Event listener
|
||||
*/
|
||||
function getMessageListener (t) {
|
||||
return function (e) {
|
||||
messageListener.call(t, e);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Embedded SVG-edit API.
|
||||
* General usage:
|
||||
* - Have an iframe somewhere pointing to a version of svg-edit > r1000.
|
||||
* @example
|
||||
// Initialize the magic with:
|
||||
const svgCanvas = new EmbeddedSVGEdit(window.frames.svgedit);
|
||||
|
||||
// Pass functions in this format:
|
||||
svgCanvas.setSvgString('string');
|
||||
|
||||
// Or if a callback is needed:
|
||||
svgCanvas.setSvgString('string')(function (data, error) {
|
||||
if (error) {
|
||||
// There was an error
|
||||
} else {
|
||||
// Handle data
|
||||
}
|
||||
});
|
||||
|
||||
// Everything is done with the same API as the real svg-edit,
|
||||
// and all documentation is unchanged.
|
||||
|
||||
// However, this file depends on the postMessage API which
|
||||
// can only support JSON-serializable arguments and
|
||||
// return values, so, for example, arguments whose value is
|
||||
// 'undefined', a function, a non-finite number, or a built-in
|
||||
// object like Date(), RegExp(), etc. will most likely not behave
|
||||
// as expected. In such a case one may need to host
|
||||
// the SVG editor on the same domain and reference the
|
||||
// JavaScript methods on the frame itself.
|
||||
|
||||
// The only other difference is when handling returns:
|
||||
// the callback notation is used instead.
|
||||
const blah = new EmbeddedSVGEdit(window.frames.svgedit);
|
||||
blah.clearSelection('woot', 'blah', 1337, [1, 2, 3, 4, 5, 'moo'], -42, {
|
||||
a: 'tree', b: 6, c: 9
|
||||
})(function () { console.log('GET DATA', args); });
|
||||
*
|
||||
* @memberof module:EmbeddedSVGEdit
|
||||
*/
|
||||
class EmbeddedSVGEdit {
|
||||
/**
|
||||
* @param {HTMLIFrameElement} frame
|
||||
* @param {string[]} [allowedOrigins=[]] Array of origins from which incoming
|
||||
* messages will be allowed when same origin is not used; defaults to none.
|
||||
* If supplied, it should probably be the same as svgEditor's allowedOrigins
|
||||
*/
|
||||
constructor (frame, allowedOrigins) {
|
||||
const that = this;
|
||||
this.allowedOrigins = allowedOrigins || [];
|
||||
// Initialize communication
|
||||
this.frame = frame;
|
||||
this.callbacks = {};
|
||||
// List of functions extracted with this:
|
||||
// Run in firebug on http://svg-edit.googlecode.com/svn/trunk/docs/files/svgcanvas-js.html
|
||||
|
||||
// for (const i=0,q=[],f = document.querySelectorAll('div.CFunction h3.CTitle a'); i < f.length; i++) { q.push(f[i].name); }; q
|
||||
// const functions = ['clearSelection', 'addToSelection', 'removeFromSelection', 'open', 'save', 'getSvgString', 'setSvgString',
|
||||
// 'createLayer', 'deleteCurrentLayer', 'setCurrentLayer', 'renameCurrentLayer', 'setCurrentLayerPosition', 'setLayerVisibility',
|
||||
// 'moveSelectedToLayer', 'clear'];
|
||||
|
||||
// Newer, well, it extracts things that aren't documented as well. All functions accessible through the normal thingy can now be accessed though the API
|
||||
// const {svgCanvas} = frame.contentWindow;
|
||||
// const l = [];
|
||||
// for (const i in svgCanvas) { if (typeof svgCanvas[i] === 'function') { l.push(i);} };
|
||||
// alert("['" + l.join("', '") + "']");
|
||||
// Run in svgedit itself
|
||||
const functions = [
|
||||
'addExtension',
|
||||
'addSVGElementFromJson',
|
||||
'addToSelection',
|
||||
'alignSelectedElements',
|
||||
'assignAttributes',
|
||||
'bind',
|
||||
'call',
|
||||
'changeSelectedAttribute',
|
||||
'cleanupElement',
|
||||
'clear',
|
||||
'clearSelection',
|
||||
'clearSvgContentElement',
|
||||
'cloneLayer',
|
||||
'cloneSelectedElements',
|
||||
'convertGradients',
|
||||
'convertToGroup',
|
||||
'convertToNum',
|
||||
'convertToPath',
|
||||
'copySelectedElements',
|
||||
'createLayer',
|
||||
'cutSelectedElements',
|
||||
'cycleElement',
|
||||
'deleteCurrentLayer',
|
||||
'deleteSelectedElements',
|
||||
'embedImage',
|
||||
'exportPDF',
|
||||
'findDefs',
|
||||
'getBBox',
|
||||
'getBlur',
|
||||
'getBold',
|
||||
'getColor',
|
||||
'getContentElem',
|
||||
'getCurrentDrawing',
|
||||
'getDocumentTitle',
|
||||
'getEditorNS',
|
||||
'getElem',
|
||||
'getFillOpacity',
|
||||
'getFontColor',
|
||||
'getFontFamily',
|
||||
'getFontSize',
|
||||
'getHref',
|
||||
'getId',
|
||||
'getIntersectionList',
|
||||
'getItalic',
|
||||
'getMode',
|
||||
'getMouseTarget',
|
||||
'getNextId',
|
||||
'getOffset',
|
||||
'getOpacity',
|
||||
'getPaintOpacity',
|
||||
'getPrivateMethods',
|
||||
'getRefElem',
|
||||
'getResolution',
|
||||
'getRootElem',
|
||||
'getRotationAngle',
|
||||
'getSelectedElems',
|
||||
'getStrokeOpacity',
|
||||
'getStrokeWidth',
|
||||
'getStrokedBBox',
|
||||
'getStyle',
|
||||
'getSvgString',
|
||||
'getText',
|
||||
'getTitle',
|
||||
'getTransformList',
|
||||
'getUIStrings',
|
||||
'getUrlFromAttr',
|
||||
'getVersion',
|
||||
'getVisibleElements',
|
||||
'getVisibleElementsAndBBoxes',
|
||||
'getZoom',
|
||||
'groupSelectedElements',
|
||||
'groupSvgElem',
|
||||
'hasMatrixTransform',
|
||||
'identifyLayers',
|
||||
'importSvgString',
|
||||
'leaveContext',
|
||||
'linkControlPoints',
|
||||
'makeHyperlink',
|
||||
'matrixMultiply',
|
||||
'mergeAllLayers',
|
||||
'mergeLayer',
|
||||
'moveSelectedElements',
|
||||
'moveSelectedToLayer',
|
||||
'moveToBottomSelectedElement',
|
||||
'moveToTopSelectedElement',
|
||||
'moveUpDownSelected',
|
||||
'open',
|
||||
'pasteElements',
|
||||
'prepareSvg',
|
||||
'pushGroupProperties',
|
||||
'randomizeIds',
|
||||
'rasterExport',
|
||||
'ready',
|
||||
'recalculateAllSelectedDimensions',
|
||||
'recalculateDimensions',
|
||||
'remapElement',
|
||||
'removeFromSelection',
|
||||
'removeHyperlink',
|
||||
'removeUnusedDefElems',
|
||||
'renameCurrentLayer',
|
||||
'round',
|
||||
'runExtensions',
|
||||
'sanitizeSvg',
|
||||
'save',
|
||||
'selectAllInCurrentLayer',
|
||||
'selectOnly',
|
||||
'setBBoxZoom',
|
||||
'setBackground',
|
||||
'setBlur',
|
||||
'setBlurNoUndo',
|
||||
'setBlurOffsets',
|
||||
'setBold',
|
||||
'setColor',
|
||||
'setConfig',
|
||||
'setContext',
|
||||
'setCurrentLayer',
|
||||
'setCurrentLayerPosition',
|
||||
'setDocumentTitle',
|
||||
'setFillPaint',
|
||||
'setFontColor',
|
||||
'setFontFamily',
|
||||
'setFontSize',
|
||||
'setGoodImage',
|
||||
'setGradient',
|
||||
'setGroupTitle',
|
||||
'setHref',
|
||||
'setIdPrefix',
|
||||
'setImageURL',
|
||||
'setItalic',
|
||||
'setLayerVisibility',
|
||||
'setLinkURL',
|
||||
'setMode',
|
||||
'setOpacity',
|
||||
'setPaint',
|
||||
'setPaintOpacity',
|
||||
'setRectRadius',
|
||||
'setResolution',
|
||||
'setRotationAngle',
|
||||
'setSegType',
|
||||
'setStrokeAttr',
|
||||
'setStrokePaint',
|
||||
'setStrokeWidth',
|
||||
'setSvgString',
|
||||
'setTextContent',
|
||||
'setUiStrings',
|
||||
'setUseData',
|
||||
'setZoom',
|
||||
'svgCanvasToString',
|
||||
'svgToString',
|
||||
'transformListToTransform',
|
||||
'ungroupSelectedElement',
|
||||
'uniquifyElems',
|
||||
'updateCanvas',
|
||||
'zoomChanged'
|
||||
];
|
||||
|
||||
// TODO: rewrite the following, it's pretty scary.
|
||||
for (const func of functions) {
|
||||
this[func] = getCallbackSetter(func);
|
||||
}
|
||||
|
||||
// Older IE may need a polyfill for addEventListener, but so it would for SVG
|
||||
window.addEventListener('message', getMessageListener(this));
|
||||
window.addEventListener('keydown', (e) => {
|
||||
const {type, key} = e;
|
||||
if (key === 'Backspace') {
|
||||
e.preventDefault();
|
||||
const keyboardEvent = new KeyboardEvent(type, {key});
|
||||
that.frame.contentDocument.dispatchEvent(keyboardEvent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} name
|
||||
* @param {ArgumentsArray} args Signature dependent on function
|
||||
* @param {GenericCallback} callback (This may be better than a promise in case adding an event.)
|
||||
* @returns {Integer}
|
||||
*/
|
||||
send (name, args, callback) { // eslint-disable-line promise/prefer-await-to-callbacks
|
||||
const that = this;
|
||||
cbid++;
|
||||
|
||||
this.callbacks[cbid] = callback;
|
||||
setTimeout((function (callbackID) {
|
||||
return function () { // Delay for the callback to be set in case its synchronous
|
||||
/*
|
||||
* Todo: Handle non-JSON arguments and return values (undefined,
|
||||
* nonfinite numbers, functions, and built-in objects like Date,
|
||||
* RegExp), etc.? Allow promises instead of callbacks? Review
|
||||
* SVG-Edit functions for whether JSON-able parameters can be
|
||||
* made compatile with all API functionality
|
||||
*/
|
||||
// We accept and post strings for the sake of IE9 support
|
||||
let sameOriginWithGlobal = false;
|
||||
try {
|
||||
sameOriginWithGlobal = window.location.origin === that.frame.contentWindow.location.origin &&
|
||||
that.frame.contentWindow.svgEditor.canvas;
|
||||
} catch (err) {}
|
||||
|
||||
if (sameOriginWithGlobal) {
|
||||
// Although we do not really need this API if we are working same
|
||||
// domain, it could allow us to write in a way that would work
|
||||
// cross-domain as well, assuming we stick to the argument limitations
|
||||
// of the current JSON-based communication API (e.g., not passing
|
||||
// callbacks). We might be able to address these shortcomings; see
|
||||
// the todo elsewhere in this file.
|
||||
const message = {id: callbackID},
|
||||
{svgEditor: {canvas: svgCanvas}} = that.frame.contentWindow;
|
||||
try {
|
||||
message.result = svgCanvas[name](...args);
|
||||
} catch (err) {
|
||||
message.error = err.message;
|
||||
}
|
||||
addCallback(that, message);
|
||||
} else { // Requires the ext-xdomain-messaging.js extension
|
||||
that.frame.contentWindow.postMessage(JSON.stringify({
|
||||
namespace: 'svgCanvas', id: callbackID, name, args
|
||||
}), '*');
|
||||
}
|
||||
};
|
||||
}(cbid)), 0);
|
||||
|
||||
return cbid;
|
||||
}
|
||||
}
|
||||
|
||||
export default EmbeddedSVGEdit;
|
||||
10
dist/editor/extensions/ext-arrows/ext-arrows.js
vendored
Normal file
1
dist/editor/extensions/ext-arrows/ext-arrows.js.map
vendored
Normal file
10
dist/editor/extensions/ext-closepath/ext-closepath.js
vendored
Normal file
1
dist/editor/extensions/ext-closepath/ext-closepath.js.map
vendored
Normal file
10
dist/editor/extensions/ext-connector/ext-connector.js
vendored
Normal file
1
dist/editor/extensions/ext-connector/ext-connector.js.map
vendored
Normal file
10
dist/editor/extensions/ext-eyedropper/ext-eyedropper.js
vendored
Normal file
1
dist/editor/extensions/ext-eyedropper/ext-eyedropper.js.map
vendored
Normal file
10
dist/editor/extensions/ext-foreignobject/ext-foreignobject.js
vendored
Normal file
1
dist/editor/extensions/ext-foreignobject/ext-foreignobject.js.map
vendored
Normal file
10
dist/editor/extensions/ext-grid/ext-grid.js
vendored
Normal file
1
dist/editor/extensions/ext-grid/ext-grid.js.map
vendored
Normal file
10
dist/editor/extensions/ext-helloworld/ext-helloworld.js
vendored
Normal file
1
dist/editor/extensions/ext-helloworld/ext-helloworld.js.map
vendored
Normal file
10
dist/editor/extensions/ext-imagelib/ext-imagelib.js
vendored
Normal file
1
dist/editor/extensions/ext-imagelib/ext-imagelib.js.map
vendored
Normal file
32
dist/editor/extensions/ext-markers/ext-markers.js
vendored
Normal file
1
dist/editor/extensions/ext-markers/ext-markers.js.map
vendored
Normal file
10
dist/editor/extensions/ext-mathjax/ext-mathjax.js
vendored
Normal file
1
dist/editor/extensions/ext-mathjax/ext-mathjax.js.map
vendored
Normal file
11
dist/editor/extensions/ext-overview_window/ext-overview_window.js
vendored
Normal file
1
dist/editor/extensions/ext-overview_window/ext-overview_window.js.map
vendored
Normal file
10
dist/editor/extensions/ext-panning/ext-panning.js
vendored
Normal file
1
dist/editor/extensions/ext-panning/ext-panning.js.map
vendored
Normal file
2
dist/editor/extensions/ext-placemark/ext-placemark.js
vendored
Normal file
1
dist/editor/extensions/ext-placemark/ext-placemark.js.map
vendored
Normal file
2
dist/editor/extensions/ext-polygon/ext-polygon.js
vendored
Normal file
1
dist/editor/extensions/ext-polygon/ext-polygon.js.map
vendored
Normal file
2
dist/editor/extensions/ext-server_moinsave/ext-server_moinsave.js
vendored
Normal file
1
dist/editor/extensions/ext-server_moinsave/ext-server_moinsave.js.map
vendored
Normal file
2
dist/editor/extensions/ext-server_opensave/ext-server_opensave.js
vendored
Normal file
1
dist/editor/extensions/ext-server_opensave/ext-server_opensave.js.map
vendored
Normal file
10
dist/editor/extensions/ext-shapes/ext-shapes.js
vendored
Normal file
1
dist/editor/extensions/ext-shapes/ext-shapes.js.map
vendored
Normal file
2
dist/editor/extensions/ext-star/ext-star.js
vendored
Normal file
1
dist/editor/extensions/ext-star/ext-star.js.map
vendored
Normal file
22
dist/editor/extensions/ext-storage/ext-storage.js
vendored
Normal file
1
dist/editor/extensions/ext-storage/ext-storage.js.map
vendored
Normal file
9
dist/editor/extensions/ext-webappfind/ext-webappfind.js
vendored
Normal file
1
dist/editor/extensions/ext-webappfind/ext-webappfind.js.map
vendored
Normal file
2
dist/editor/extensions/ext-xdomain-messaging/ext-xdomain-messaging.js
vendored
Normal file
1
dist/editor/extensions/ext-xdomain-messaging/ext-xdomain-messaging.js.map
vendored
Normal file
60
dist/editor/images/README.txt
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
filename origin
|
||||
|
||||
align-bottom.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.png
|
||||
align-bottom.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.svg
|
||||
align-center.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.png
|
||||
align-center.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.svg
|
||||
align-left.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.png
|
||||
align-left.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.svg
|
||||
align-middle.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.png
|
||||
align-middle.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.svg
|
||||
align-right.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.png
|
||||
align-right.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.svg
|
||||
align-top.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.png
|
||||
align-top.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.svg
|
||||
bold.png
|
||||
cancel.png
|
||||
circle.png
|
||||
clear.png
|
||||
clone.png
|
||||
copy.png
|
||||
cut.png
|
||||
delete.png
|
||||
document-properties.png
|
||||
dropdown.gif
|
||||
ellipse.png
|
||||
eye.png
|
||||
flyouth.png
|
||||
flyup.gif
|
||||
freehand-circle.png
|
||||
freehand-square.png
|
||||
go-down.png
|
||||
go-up.png
|
||||
image.png
|
||||
italic.png
|
||||
line.png
|
||||
logo.png
|
||||
logo.svg
|
||||
move_bottom.png
|
||||
move_top.png
|
||||
none.png
|
||||
open.png
|
||||
paste.png
|
||||
path.png
|
||||
polygon.png https://github.com/SVG-Edit/svgedit/issues/377
|
||||
polygon.svg https://github.com/SVG-Edit/svgedit/issues/377
|
||||
rect.png
|
||||
redo.png
|
||||
rotate.png
|
||||
save.png
|
||||
select.png
|
||||
sep.png
|
||||
shape_group_elements.png
|
||||
shape_ungroup.png
|
||||
source.png
|
||||
square.png
|
||||
text.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.png
|
||||
text.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.svg
|
||||
undo.png
|
||||
view-refresh.png
|
||||
zoom.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/page-magnifier.png
|
||||
BIN
dist/editor/images/add_subpath.png
vendored
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
dist/editor/images/align-bottom.png
vendored
Normal file
|
After Width: | Height: | Size: 161 B |
277
dist/editor/images/align-bottom.svg
vendored
Normal file
@@ -0,0 +1,277 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg5741"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-bottom-vertical.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-bottom-vertical.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:modified="true">
|
||||
<defs
|
||||
id="defs5743">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient6938"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient6936"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient6934"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient6932"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient6930"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient6928"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient6926"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient6924"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.197802"
|
||||
inkscape:cx="8"
|
||||
inkscape:cy="9.8019802"
|
||||
inkscape:current-layer="g6828"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="1078"
|
||||
inkscape:window-height="786"
|
||||
inkscape:window-x="243"
|
||||
inkscape:window-y="71" />
|
||||
<metadata
|
||||
id="metadata5746">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g6828"
|
||||
transform="translate(30.00011,90.000366)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g6838"
|
||||
transform="translate(-30.00009,-1.0002798)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3052"
|
||||
width="12"
|
||||
height="7"
|
||||
x="69.500122"
|
||||
y="12.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect3054"
|
||||
width="10"
|
||||
height="5.0000305"
|
||||
x="70.500122"
|
||||
y="13.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
rx="0"
|
||||
ry="0"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
id="g3056"
|
||||
transform="translate(-127,-559)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect3058"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect3060"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3294"
|
||||
transform="translate(-187,-560)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3296"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:url(#linearGradient6932);fill-opacity:1;stroke:url(#linearGradient6934);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
|
||||
id="path3298"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:url(#linearGradient6936);fill-opacity:1;stroke:url(#linearGradient6938);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
|
||||
id="path3300"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.8 KiB |
BIN
dist/editor/images/align-center.png
vendored
Normal file
|
After Width: | Height: | Size: 221 B |
252
dist/editor/images/align-center.svg
vendored
Normal file
@@ -0,0 +1,252 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg10958"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-horisontal-center.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-center.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:modified="true">
|
||||
<defs
|
||||
id="defs10960">
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient4708"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-395.9999,-981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient4706"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-395.9999,-981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient4704"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient4702"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="11.460711"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="797"
|
||||
inkscape:window-height="628"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="47" />
|
||||
<metadata
|
||||
id="metadata10963">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g4044"
|
||||
transform="matrix(0,-1,1,0,-59.999911,-168.00002)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
id="rect3851"
|
||||
width="12"
|
||||
height="7"
|
||||
x="-76.499878"
|
||||
y="-177.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
transform="translate(-317,-410)"
|
||||
id="g3853"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect3855"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect3857"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
id="rect3859"
|
||||
width="10"
|
||||
height="5.0000305"
|
||||
x="-75.499878"
|
||||
y="-176.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
rx="0"
|
||||
ry="0"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
id="g3861"
|
||||
transform="translate(-377,-420)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="186.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3863"
|
||||
style="fill:url(#linearGradient4702);fill-opacity:1;stroke:url(#linearGradient4704);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="191.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3865"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3867"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="201.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3869"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
transform="scale(-1,-1)"
|
||||
y="-491.5"
|
||||
x="-209.49998"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3871"
|
||||
style="fill:url(#linearGradient4706);fill-opacity:1;stroke:url(#linearGradient4708);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.1 KiB |
BIN
dist/editor/images/align-left.png
vendored
Normal file
|
After Width: | Height: | Size: 175 B |
235
dist/editor/images/align-left.svg
vendored
Normal file
@@ -0,0 +1,235 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg11272"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-horisontal-left.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-left.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:modified="true">
|
||||
<defs
|
||||
id="defs11274">
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient4716"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient4714"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient4712"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient4710"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="14.269093"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="797"
|
||||
inkscape:window-height="628"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="47" />
|
||||
<metadata
|
||||
id="metadata11277">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g4065"
|
||||
transform="matrix(0,-1,1,0,8.9287758e-5,51.99998)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<g
|
||||
id="g3883"
|
||||
transform="translate(-127,-473)"
|
||||
style="fill:#d3d7cf;stroke:#888a85;display:inline"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
transform="matrix(0,1,1,0,0,0)"
|
||||
y="169.5"
|
||||
x="475.50012"
|
||||
height="7"
|
||||
width="12"
|
||||
id="rect3885"
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
ry="0"
|
||||
rx="0"
|
||||
transform="matrix(0,1,1,0,0,0)"
|
||||
y="170.5"
|
||||
x="476.50012"
|
||||
height="5.0000305"
|
||||
width="10"
|
||||
id="rect3887"
|
||||
style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3889"
|
||||
transform="translate(-97,-469)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect3891"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect3893"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3903"
|
||||
transform="translate(-157,-488)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3905"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4710);fill-opacity:1;stroke:url(#linearGradient4712);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
|
||||
id="path3907"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4714);fill-opacity:1;stroke:url(#linearGradient4716);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
|
||||
id="path3909"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
BIN
dist/editor/images/align-middle.png
vendored
Normal file
|
After Width: | Height: | Size: 194 B |
250
dist/editor/images/align-middle.svg
vendored
Normal file
@@ -0,0 +1,250 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg10625"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-vertical-center.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-center.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:modified="true">
|
||||
<defs
|
||||
id="defs10627">
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient6962"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-395.9999,-981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient6960"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(-395.9999,-981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient6958"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient6956"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="797"
|
||||
inkscape:window-height="628"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="47" />
|
||||
<metadata
|
||||
id="metadata10630">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g6849"
|
||||
transform="translate(-29.999893,91.000089)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1933"
|
||||
width="12"
|
||||
height="7"
|
||||
x="73.500122"
|
||||
y="42.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
transform="translate(-97,-560)"
|
||||
id="g2063"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect1935"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect1937"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1939"
|
||||
width="10"
|
||||
height="5.0000305"
|
||||
x="74.500122"
|
||||
y="43.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
rx="0"
|
||||
ry="0"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
id="g2992"
|
||||
transform="translate(-157,-570)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="186.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect2994"
|
||||
style="fill:url(#linearGradient6956);fill-opacity:1;stroke:url(#linearGradient6958);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="191.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect2996"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect2998"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="489.5"
|
||||
x="201.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3000"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
transform="scale(-1,-1)"
|
||||
y="-491.5"
|
||||
x="-209.49998"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3002"
|
||||
style="fill:url(#linearGradient6960);fill-opacity:1;stroke:url(#linearGradient6962);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.0 KiB |
BIN
dist/editor/images/align-right.png
vendored
Normal file
|
After Width: | Height: | Size: 173 B |
233
dist/editor/images/align-right.svg
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg11187"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-horisontal-right.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="TRUE"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-right.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs11189">
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient4732"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient4730"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient4728"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient4726"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="797"
|
||||
inkscape:window-height="628"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="47" />
|
||||
<metadata
|
||||
id="metadata11192">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g4025"
|
||||
transform="matrix(0,-1,1,0,-60.999914,-198.00011)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
id="rect3873"
|
||||
width="12"
|
||||
height="7"
|
||||
x="-80.499878"
|
||||
y="-207.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<rect
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
id="rect3875"
|
||||
width="10"
|
||||
height="5.0000305"
|
||||
x="-79.499878"
|
||||
y="-206.5"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
rx="0"
|
||||
ry="0"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
<g
|
||||
id="g3877"
|
||||
transform="translate(-347,-409)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect3879"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect3881"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3919"
|
||||
transform="translate(-407,-410)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
style="display:inline">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3921"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4726);fill-opacity:1;stroke:url(#linearGradient4728);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
|
||||
id="path3923"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:url(#linearGradient4730);fill-opacity:1;stroke:url(#linearGradient4732);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
|
||||
id="path3925"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.4 KiB |
BIN
dist/editor/images/align-top.png
vendored
Normal file
|
After Width: | Height: | Size: 165 B |
233
dist/editor/images/align-top.svg
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
<?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://web.resource.org/cc/"
|
||||
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="22"
|
||||
height="22"
|
||||
id="svg10699"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.44+devel"
|
||||
version="1.0"
|
||||
sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"
|
||||
sodipodi:docname="align-vertical-bottom.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-bottom.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:modified="true">
|
||||
<defs
|
||||
id="defs10701">
|
||||
<linearGradient
|
||||
id="linearGradient2968"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2970"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2972"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2968"
|
||||
id="linearGradient6954"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2974"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2976"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2978"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2974"
|
||||
id="linearGradient6952"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1,0,0,-1,395.9999,981)"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
<linearGradient
|
||||
id="linearGradient2986"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2988"
|
||||
offset="0"
|
||||
style="stop-color:#ce5c00;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2990"
|
||||
offset="1"
|
||||
style="stop-color:#ce5c00;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2986"
|
||||
id="linearGradient6950"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.60938"
|
||||
y1="489.35938"
|
||||
x2="186.93732"
|
||||
y2="489.35938" />
|
||||
<linearGradient
|
||||
id="linearGradient2980"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop2982"
|
||||
offset="0"
|
||||
style="stop-color:#fcaf3e;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop2984"
|
||||
offset="1"
|
||||
style="stop-color:#fcaf3e;stop-opacity:0" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient2980"
|
||||
id="linearGradient6948"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="187.81554"
|
||||
y1="489.54688"
|
||||
x2="187.1716"
|
||||
y2="489.54688" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="11.197802"
|
||||
inkscape:cx="16"
|
||||
inkscape:cy="16"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:grid-bbox="true"
|
||||
inkscape:document-units="px"
|
||||
width="22px"
|
||||
height="22px"
|
||||
inkscape:window-width="797"
|
||||
inkscape:window-height="628"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="47" />
|
||||
<metadata
|
||||
id="metadata10704">
|
||||
<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
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g6862"
|
||||
transform="translate(-59.99998,90)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<g
|
||||
id="g3084"
|
||||
transform="translate(-97,-563)"
|
||||
style="fill:#d3d7cf;stroke:#888a85"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
transform="matrix(0,1,1,0,0,0)"
|
||||
y="169.5"
|
||||
x="475.50012"
|
||||
height="7"
|
||||
width="12"
|
||||
id="rect3086"
|
||||
style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
ry="0"
|
||||
rx="0"
|
||||
transform="matrix(0,1,1,0,0,0)"
|
||||
y="170.5"
|
||||
x="476.50012"
|
||||
height="5.0000305"
|
||||
width="10"
|
||||
id="rect3088"
|
||||
style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
id="g3090"
|
||||
transform="translate(-67,-559)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="129.49626"
|
||||
x="-489.49979"
|
||||
height="7.0035982"
|
||||
width="17.999748"
|
||||
id="rect3092"
|
||||
style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />
|
||||
<rect
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
y="130.50006"
|
||||
x="-488.50009"
|
||||
height="4.9998937"
|
||||
width="15.999757"
|
||||
id="rect3094"
|
||||
style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g3262"
|
||||
transform="translate(-127,-578)"
|
||||
inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<rect
|
||||
y="489.5"
|
||||
x="196.49989"
|
||||
height="1.9999999"
|
||||
width="3.0000916"
|
||||
id="rect3264"
|
||||
style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:url(#linearGradient6948);fill-opacity:1;stroke:url(#linearGradient6950);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"
|
||||
id="path3266"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:url(#linearGradient6952);fill-opacity:1;stroke:url(#linearGradient6954);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"
|
||||
id="path3268"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.3 KiB |
BIN
dist/editor/images/align.png
vendored
Normal file
|
After Width: | Height: | Size: 149 B |
BIN
dist/editor/images/angle.png
vendored
Normal file
|
After Width: | Height: | Size: 487 B |
BIN
dist/editor/images/arrow_right.png
vendored
Normal file
|
After Width: | Height: | Size: 2.1 KiB |