mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
Compare commits
60 Commits
v1.0.0-alp
...
v1.0.0-alp
Author | SHA1 | Date | |
---|---|---|---|
c4e670addf | |||
0aeb54ca2e | |||
eec84fa39e | |||
22f58d5d1c | |||
9046e0d554 | |||
afa5d7cb8e | |||
3881e3cf96 | |||
0aa973ab0d | |||
baaf9b0701 | |||
02de2ee829 | |||
a570f5df74 | |||
38749bc4b6 | |||
e1d6b4c76f | |||
31f2c22477 | |||
6d0cd2d226 | |||
7335984ab7 | |||
78c3c7fc71 | |||
4551976246 | |||
9e04772b42 | |||
54c4002df7 | |||
91641a3746 | |||
c4ba6f795c | |||
0b9f34a5bf | |||
757c32f6c4 | |||
09bab18b48 | |||
7e53b195ea | |||
ab966ff311 | |||
7bb4a6f08f | |||
f50da9718f | |||
3965a0fd40 | |||
77d258f1d8 | |||
261702a693 | |||
cacb9f64e4 | |||
8ef3861a5c | |||
0b74e69611 | |||
c272b2e122 | |||
2d132b85c6 | |||
50608e9cd4 | |||
d87fef11a4 | |||
250208dc99 | |||
2237e8e230 | |||
d3c640088c | |||
8fd616aed2 | |||
d1e870de88 | |||
9bc0fb0bd1 | |||
d83bc0247a | |||
13e80cc635 | |||
b239937e00 | |||
e8a4d775e8 | |||
a6a3c1bd0f | |||
850338a76a | |||
63377d47a4 | |||
1d1c74a74e | |||
ef5c59e26d | |||
8b653f89bc | |||
9db8580b97 | |||
4a09264103 | |||
b8178e92b4 | |||
166cbba7c2 | |||
0c8d38d9c0 |
@ -1,4 +1,5 @@
|
||||
[ignore]
|
||||
.*/www/.*
|
||||
[include]
|
||||
[libs]
|
||||
./flow-typed
|
||||
|
19
.github/ISSUE_TEMPLATE.md
vendored
Normal file
19
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
Please make sure you are testing with the latest [release of html2canvas](https://github.com/niklasvh/html2canvas/releases).
|
||||
Old versions are not supported and issues reported for them will be closed.
|
||||
|
||||
# Please follow the general troubleshooting steps first:
|
||||
|
||||
- [ ] You are using the latest [version](https://github.com/niklasvh/html2canvas/releases)
|
||||
- [ ] You are testing using the non-minified version of html2canvas and checked any potential issues reported in the console
|
||||
|
||||
<!-- You can erase any parts of this template not applicable to your Issue. -->
|
||||
|
||||
### Bug reports:
|
||||
|
||||
Please replace this line with a brief summary of your issue **AND** if possible an example on [jsfiddle](https://jsfiddle.net/).
|
||||
|
||||
### Specifications:
|
||||
|
||||
* html2canvas version tested with:
|
||||
* Browser & version:
|
||||
* Operating system:
|
37
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
37
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
A similar PR may already be submitted!
|
||||
Please search among the [Pull request](https://github.com/niklasvh/html2canvas/pulls) before creating one.
|
||||
|
||||
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:
|
||||
|
||||
Before opening a pull request, please make sure all the tests pass locally by running `npm test`.
|
||||
|
||||
**Summary**
|
||||
|
||||
<!-- Summary of the PR -->
|
||||
|
||||
This PR fixes/implements the following **bugs/features**
|
||||
|
||||
* [ ] Bug 1
|
||||
* [ ] Bug 2
|
||||
* [ ] Feature 1
|
||||
* [ ] Feature 2
|
||||
* [ ] Breaking changes
|
||||
|
||||
<!-- You can skip this if you're fixing a typo or adding an app to the Showcase. -->
|
||||
|
||||
Explain the **motivation** for making this change. What existing problem does the pull request solve?
|
||||
|
||||
<!-- Example: When "Adding a function to do X", explain why it is necessary to have a way to do X. -->
|
||||
|
||||
**Test plan (required)**
|
||||
|
||||
Demonstrate how the issue/feature can be replicated. For most cases, simply adding an appropriate html/css template into the [reftests](https://github.com/niklasvh/html2canvas/tree/master/tests/reftests) should be sufficient. Please see other tests there for reference.
|
||||
|
||||
**Code formatting**
|
||||
|
||||
Please make sure that code adheres to the project code formatting. Running `npm run format` will automatically format your code correctly.
|
||||
|
||||
**Closing issues**
|
||||
|
||||
<!-- Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such). -->
|
||||
Fixes #
|
13
.github/no-response.yml
vendored
Normal file
13
.github/no-response.yml
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Configuration for probot-no-response - https://github.com/probot/no-response
|
||||
|
||||
# Number of days of inactivity before an Issue is closed for lack of response
|
||||
daysUntilClose: 14
|
||||
# Label requiring a response
|
||||
responseRequiredLabel: Needs More Information
|
||||
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
|
||||
closeComment: >
|
||||
This issue has been automatically closed because there has been no response
|
||||
to our request for more information from the original author. With only the
|
||||
information that is currently in the issue, we don't have enough information
|
||||
to take action. Please reach out if you have or find the answers we need so
|
||||
that we can investigate further.
|
@ -1,14 +1,18 @@
|
||||
build/
|
||||
docs/
|
||||
examples/
|
||||
scripts/
|
||||
src/
|
||||
tests/
|
||||
www/
|
||||
.github/
|
||||
*.iml
|
||||
.babelrc
|
||||
.idea/
|
||||
.editorconfig
|
||||
.npmignore
|
||||
.jshintrc
|
||||
.eslintrc
|
||||
.travis.yml
|
||||
karma.js
|
||||
karma.config.js
|
||||
karma.conf.js
|
||||
webpack.config.js
|
||||
|
11
.travis.yml
11
.travis.yml
@ -22,6 +22,7 @@ notifications:
|
||||
on_start: false
|
||||
script:
|
||||
- npm run build
|
||||
- cd www && npm install && npm run build && cd ..
|
||||
- npm test
|
||||
deploy:
|
||||
- provider: npm
|
||||
@ -44,3 +45,13 @@ deploy:
|
||||
tags: true
|
||||
branch: master
|
||||
repo: niklasvh/html2canvas
|
||||
- provider: pages
|
||||
skip_cleanup: true
|
||||
local_dir: www/public
|
||||
target_branch: gh-pages
|
||||
fqdn: html2canvas.hertzen.com
|
||||
github_token:
|
||||
secure: "PowO/Jat660k3gHcjgI6DlJz15RM7pLUu11UPsLCtYJ8ZwodppE6Keg0DfVkSFSIZttZor+UssDwP/WOEqfZNLqmXbcj3Gec4xolohet/GOe0KJKKuF/HgggbcxumopxMX6sMVePlMBpkLpHh7tgEAEHBWTlzC1c1a7Xa48fZ7k="
|
||||
on:
|
||||
branch: master
|
||||
repo: niklasvh/html2canvas
|
||||
|
29
CHANGELOG.md
29
CHANGELOG.md
@ -1,6 +1,33 @@
|
||||
### Changelog ###
|
||||
|
||||
#### v1.0.0-alpha1 - TBD ####
|
||||
#### v1.0.0-alpha6 - 28.12.2017 ####
|
||||
* Fix list-style: none (#1340)
|
||||
* Extend supported values for pseudo element content
|
||||
|
||||
#### v1.0.0-alpha5 - 21.12.2017 ####
|
||||
* Fix underline positioning
|
||||
* Fix canvas rendering on Chrome
|
||||
* Fix overflow: auto
|
||||
* Added support for rendering list-style
|
||||
|
||||
#### v1.0.0-alpha4 - 12.12.2017 ####
|
||||
* Fix rendering with multiple fonts defined (Fix #796)
|
||||
* Add support for radial-gradients
|
||||
* Fix logging option (#1302)
|
||||
* Add support for rendering webgl canvas content (#646)
|
||||
* Fix external SVG loading with proxies (#802)
|
||||
|
||||
#### v1.0.0-alpha3 - 9.12.2017 ####
|
||||
* Disable `foreignObjectRendering` by default (#1295)
|
||||
* Fix background-size when using background-origin and background-size: cover/contain (#1299)
|
||||
* Added support for background-origin: content-box (#1299)
|
||||
|
||||
#### v1.0.0-alpha2 - 7.12.2017 ####
|
||||
* Fix scroll positions for CanvasRenderer (#1259)
|
||||
* Fix `data-html2canvas-ignore` attribute (#1253)
|
||||
* Fix decimal `letter-spacing` values (#1293)
|
||||
|
||||
#### v1.0.0-alpha1 - 5.12.2017 ####
|
||||
* Complete rewrite of library
|
||||
##### Breaking Changes #####
|
||||
* Remove deprecated onrendered callback, calling `html2canvas` returns a `Promise<HTMLCanvasElement>`
|
||||
|
@ -3,7 +3,7 @@ html2canvas
|
||||
|
||||
[Homepage](https://html2canvas.hertzen.com) | [Downloads](https://github.com/niklasvh/html2canvas/releases) | [Questions](http://stackoverflow.com/questions/tagged/html2canvas?sort=newest) | [Donate](https://www.gittip.com/niklasvh/)
|
||||
|
||||
[](https://gitter.im/niklasvh/html2canvas?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [](https://travis-ci.org/niklasvh/html2canvas)
|
||||
[](https://gitter.im/niklasvh/html2canvas?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [](https://travis-ci.org/niklasvh/html2canvas)
|
||||
|
||||
#### JavaScript HTML renderer ####
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
{
|
||||
"name": "html2canvas",
|
||||
"description": "Screenshots with JavaScript",
|
||||
"main": "dist/html2canvas.js",
|
||||
"ignore": [
|
||||
"tests",
|
||||
".travis.yml"
|
||||
]
|
||||
}
|
34
docs/configuration.md
Normal file
34
docs/configuration.md
Normal file
@ -0,0 +1,34 @@
|
||||
---
|
||||
title: "Configuration"
|
||||
description: "Explore the different configuration options available for html2canvas"
|
||||
previousUrl: "/getting-started"
|
||||
previousTitle: "Getting Started"
|
||||
nextUrl: "/features"
|
||||
nextTitle: "Features"
|
||||
---
|
||||
|
||||
These are all of the available configuration options.
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------- | :------: | ----------- |
|
||||
| async | `true` | Whether to parse and render the element asynchronously
|
||||
| allowTaint | `false` | Whether to allow cross-origin images to taint the canvas
|
||||
| backgroundColor | `#ffffff` | Canvas background color, if none is specified in DOM. Set `null` for transparent
|
||||
| canvas | `null` | Existing `canvas` element to use as a base for drawing on
|
||||
| foreignObjectRendering | `false` | Whether to use ForeignObject rendering if the browser supports it
|
||||
| imageTimeout | `15000` | Timeout for loading an image (in milliseconds). Set to `0` to disable timeout.
|
||||
| logging | `true` | Enable logging for debug purposes
|
||||
| proxy | `null` | Url to the [proxy](/proxy/) which is to be used for loading cross-origin images. If left empty, cross-origin images won't be loaded.
|
||||
| removeContainer | `true` | Whether to cleanup the cloned DOM elements html2canvas creates temporarily
|
||||
| scale | `window.devicePixelRatio` | The scale to use for rendering. Defaults to the browsers device pixel ratio.
|
||||
| useCORS | `false` | Whether to attempt to load images from a server using CORS
|
||||
| width | `Element` width | The width of the `canvas`
|
||||
| height | `Element` height | The height of the `canvas`
|
||||
| x | `Element` x-offset | Crop canvas x-coordinate
|
||||
| y | `Element` y-offset| Crop canvas y-coordinate
|
||||
| scrollX | `Element` scrollX | The x-scroll position to used when rendering element, (for example if the Element uses `position: fixed`)
|
||||
| scrollY | `Element` scrollY | The y-scroll position to used when rendering element, (for example if the Element uses `position: fixed`)
|
||||
| windowWidth | `Window.innerWidth` | Window width to use when rendering `Element`, which may affect things like Media queries
|
||||
| windowHeight | `Window.innerHeight` | Window height to use when rendering `Element`, which may affect things like Media queries
|
||||
|
||||
If you wish to exclude certain `Element`s from getting rendered, you can add a `data-html2canvas-ignore` attribute to those elements and html2canvas will exclude them from the rendering.
|
42
docs/documentation.md
Normal file
42
docs/documentation.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "About"
|
||||
description: "Learn about html2canvas, how it works and some of its limitations"
|
||||
nextUrl: "/getting-started"
|
||||
nextTitle: "Getting Started"
|
||||
---
|
||||
|
||||
Before you get started with the script, there are a few things that are good to know regarding the
|
||||
script and some of its limitations.
|
||||
|
||||
## Introduction
|
||||
The script allows you to take "screenshots" of webpages or parts of it, directly on the users browser.
|
||||
The screenshot is based on the DOM and as such may not be 100% accurate to the real representation
|
||||
as it does not make an actual screenshot, but builds the screenshot based on the information
|
||||
available on the page.
|
||||
|
||||
## How it works
|
||||
The script traverses through the DOM of the page it is loaded on. It gathers information on all the elements
|
||||
there, which it then uses to build a representation of the page. In other words, it does not actually take a
|
||||
screenshot of the page, but builds a representation of it based on the properties it reads from the DOM.
|
||||
|
||||
|
||||
As a result, it is only able to render correctly properties that it understands, meaning there are many
|
||||
CSS properties which do not work. For a full list of supported CSS properties, check out the
|
||||
[supported features](/features/) page.
|
||||
|
||||
## Limitations
|
||||
All the images that the script uses need to reside under the [same origin](http://en.wikipedia.org/wiki/Same_origin_policy)
|
||||
for it to be able to read them without the assistance of a [proxy](/proxy/). Similarly, if you have other `canvas`
|
||||
elements on the page, which have been tainted with cross-origin content, they will become dirty and no longer readable by html2canvas.
|
||||
|
||||
The script doesn't render plugin content such as Flash or Java applets.
|
||||
|
||||
## Browser compatibility
|
||||
|
||||
The library should work fine on the following browsers (with `Promise` polyfill):
|
||||
- Firefox 3.5+
|
||||
- Google Chrome
|
||||
- Opera 12+
|
||||
- IE9+
|
||||
- Edge
|
||||
- Safari 6+
|
42
docs/faq.md
Normal file
42
docs/faq.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "FAQ"
|
||||
description: "Explore Frequently Asked Questions regarding html2canvas"
|
||||
---
|
||||
|
||||
## Why aren't my images rendered?
|
||||
html2canvas does not get around content policy restrictions set by your browser. Drawing images that reside outside of
|
||||
the [origin](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) of the current page [taint the
|
||||
canvas](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image#What_is_a_tainted_canvas) that they are drawn upon. If the canvas gets tainted, it cannot be read anymore. As such, html2canvas implements
|
||||
methods to check whether an image would taint the canvas before applying it. If you have set the `allowTaint`
|
||||
[option](/configuration) to `false`, it will not draw the image.
|
||||
|
||||
If you wish to load images that reside outside of your pages origin, you can use a [proxy](/proxy) to load the images.
|
||||
|
||||
## Why is the produced canvas empty or cuts off half way through?
|
||||
Make sure that `canvas` element doesn't hit [browser limitations](https://stackoverflow.com/questions/6081483/maximum-size-of-a-canvas-element) for the `canvas` size.
|
||||
The limitations vary by browser, operating system and system hardware.
|
||||
|
||||
### Chrome
|
||||
> Maximum height/width: 32,767 pixels
|
||||
> Maximum area: 268,435,456 pixels (e.g., 16,384 x 16,384)
|
||||
|
||||
### Firefox
|
||||
> Maximum height/width: 32,767 pixels
|
||||
> Maximum area: 472,907,776 pixels (e.g., 22,528 x 20,992)
|
||||
|
||||
### Internet Explorer
|
||||
> Maximum height/width: 8,192 pixels
|
||||
> Maximum area: N/A
|
||||
|
||||
### iOS
|
||||
> The maximum size for a canvas element is 3 megapixels for devices with less than 256 MB RAM and 5 megapixels for devices with greater or equal than 256 MB RAM
|
||||
|
||||
## Why doesn't CSS property X render correctly or only partially?
|
||||
As each CSS property needs to be manually coded to render correctly, html2canvas will *never* have full CSS support.
|
||||
The library tries to support the most [commonly used CSS properties](/features) to the extent that it can. If some CSS property
|
||||
is missing or incomplete and you feel that it should be part of the library, create test cases for it and a new issue for it.
|
||||
|
||||
## How do I get html2canvas to work in a browser extension?
|
||||
You shouldn't use html2canvas in a browser extension. Most browsers have native support for capturing screenshots from
|
||||
tabs within extensions. Relevant information for [Chrome](https://developer.chrome.com/extensions/tabs#method-captureVisibleTab) and
|
||||
[Firefox](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D#drawWindow()).
|
83
docs/features.md
Normal file
83
docs/features.md
Normal file
@ -0,0 +1,83 @@
|
||||
---
|
||||
title: "Features"
|
||||
description: "Discover the different features supported by html2canvas"
|
||||
---
|
||||
|
||||
Below is a list of all the supported CSS properties and values.
|
||||
|
||||
- background
|
||||
- background-clip (**Does not support `text`**)
|
||||
- background-color
|
||||
- background-image
|
||||
- url()
|
||||
- linear-gradient()
|
||||
- radial-gradient()
|
||||
- background-origin
|
||||
- background-position
|
||||
- background-size
|
||||
- border
|
||||
- border-color
|
||||
- border-radius
|
||||
- border-style (**Only supports `solid`**)
|
||||
- border-width
|
||||
- bottom
|
||||
- box-sizing
|
||||
- content
|
||||
- color
|
||||
- display
|
||||
- flex
|
||||
- float
|
||||
- font
|
||||
- font-family
|
||||
- font-size
|
||||
- font-style
|
||||
- font-variant
|
||||
- font-weight
|
||||
- height
|
||||
- left
|
||||
- letter-spacing
|
||||
- list-style
|
||||
- list-style-image
|
||||
- list-style-position
|
||||
- list-style-type
|
||||
- margin
|
||||
- max-height
|
||||
- max-width
|
||||
- min-height
|
||||
- min-width
|
||||
- opacity
|
||||
- overflow
|
||||
- padding
|
||||
- position
|
||||
- right
|
||||
- text-align
|
||||
- text-decoration
|
||||
- text-decoration-color
|
||||
- text-decoration-line
|
||||
- text-decoration-style (**Only supports `solid`**)
|
||||
- text-shadow
|
||||
- text-transform
|
||||
- top
|
||||
- transform (**Limited support**)
|
||||
- visibility
|
||||
- white-space
|
||||
- width
|
||||
- word-spacing
|
||||
- z-index
|
||||
|
||||
## Unsupported CSS properties
|
||||
These CSS properties are **NOT** currently supported
|
||||
- [background-blend-mode](https://github.com/niklasvh/html2canvas/issues/966)
|
||||
- [border-image](https://github.com/niklasvh/html2canvas/issues/1287)
|
||||
- [box-decoration-break](https://github.com/niklasvh/html2canvas/issues/552)
|
||||
- [box-shadow](https://github.com/niklasvh/html2canvas/pull/1086)
|
||||
- [filter](https://github.com/niklasvh/html2canvas/issues/493)
|
||||
- [font-variant-ligatures](https://github.com/niklasvh/html2canvas/pull/1085)
|
||||
- [mix-blend-mode](https://github.com/niklasvh/html2canvas/issues/580)
|
||||
- [object-fit](https://github.com/niklasvh/html2canvas/issues/1064)
|
||||
- [repeating-linear-gradient()](https://github.com/niklasvh/html2canvas/issues/1162)
|
||||
- word-break
|
||||
- [word-wrap](https://github.com/niklasvh/html2canvas/issues/664)
|
||||
- [writing-mode](https://github.com/niklasvh/html2canvas/issues/1258)
|
||||
- [zoom](https://github.com/niklasvh/html2canvas/issues/732)
|
||||
|
30
docs/getting-started.md
Normal file
30
docs/getting-started.md
Normal file
@ -0,0 +1,30 @@
|
||||
---
|
||||
title: "Getting Started"
|
||||
description: "Learn how to start using html2canvas"
|
||||
previousUrl: "/documentation"
|
||||
previousTitle: "About"
|
||||
nextUrl: "/configuration"
|
||||
nextTitle: "Configuration"
|
||||
---
|
||||
|
||||
## Installing
|
||||
|
||||
You can install `html2canvas` through npm or [download a built release](https://github.com/niklasvh/html2canvas/releases).
|
||||
|
||||
### npm
|
||||
|
||||
npm install html2canvas
|
||||
|
||||
```javascript
|
||||
import html2canvas from 'html2canvas';
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
To render an `element` with html2canvas with some (optional) [options](/configuration/), simply call `html2canvas(element, options);`
|
||||
|
||||
```javascript
|
||||
html2canvas(document.body).then(function(canvas) {
|
||||
document.body.appendChild(canvas);
|
||||
});
|
||||
```
|
12
docs/proxy.md
Normal file
12
docs/proxy.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: "Proxy"
|
||||
description: "Browse different proxies available for supporting CORS content"
|
||||
---
|
||||
|
||||
html2canvas does not get around content policy restrictions set by your browser. Drawing images that reside outside of
|
||||
the origin of the current page taint the canvas that they are drawn upon. If the canvas gets tainted,
|
||||
it cannot be read anymore. If you wish to load images that reside outside of your pages origin, you can use a proxy to load the images.
|
||||
|
||||
## Available proxies
|
||||
|
||||
- [node.js](https://github.com/niklasvh/html2canvas-proxy-nodejs)
|
7326
package-lock.json
generated
Normal file
7326
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
"name": "html2canvas",
|
||||
"description": "Screenshots with JavaScript",
|
||||
"main": "dist/npm/index.js",
|
||||
"version": "1.0.0-alpha.1",
|
||||
"version": "1.0.0-alpha.6",
|
||||
"author": {
|
||||
"name": "Niklas von Hertzen",
|
||||
"email": "niklasvh@gmail.com",
|
||||
@ -65,7 +65,7 @@
|
||||
"build": "rimraf dist/ && node scripts/create-reftest-list && npm run build:npm && npm run build:browser",
|
||||
"build:npm": "babel src/ -d dist/npm/ --plugins=dev-expression,transform-es2015-modules-commonjs && replace-in-file __VERSION__ '\"$npm_package_version\"' dist/npm/index.js",
|
||||
"build:browser": "webpack",
|
||||
"format": "prettier --single-quote --no-bracket-spacing --tab-width 4 --print-width 100 --write \"{src,tests,scripts}/**/*.js\"",
|
||||
"format": "prettier --single-quote --no-bracket-spacing --tab-width 4 --print-width 100 --write \"{src,www,tests,scripts}/**/*.js\"",
|
||||
"flow": "flow",
|
||||
"lint": "eslint src/**",
|
||||
"test": "npm run flow && npm run lint && npm run test:node && npm run karma",
|
||||
|
110
src/Clone.js
110
src/Clone.js
@ -2,6 +2,7 @@
|
||||
'use strict';
|
||||
import type {Bounds} from './Bounds';
|
||||
import type {Options} from './index';
|
||||
import type {PseudoContentData, PseudoContentItem} from './PseudoNodeContent';
|
||||
import type Logger from './Logger';
|
||||
|
||||
import {parseBounds} from './Bounds';
|
||||
@ -10,6 +11,14 @@ import ResourceLoader from './ResourceLoader';
|
||||
import {copyCSSStyles} from './Util';
|
||||
import {parseBackgroundImage} from './parsing/background';
|
||||
import CanvasRenderer from './renderer/CanvasRenderer';
|
||||
import {
|
||||
parseCounterReset,
|
||||
popCounters,
|
||||
resolvePseudoContent,
|
||||
PSEUDO_CONTENT_ITEM_TYPE
|
||||
} from './PseudoNodeContent';
|
||||
|
||||
const IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';
|
||||
|
||||
export class DocumentCloner {
|
||||
scrolledElements: Array<[HTMLElement, number, number]>;
|
||||
@ -22,6 +31,7 @@ export class DocumentCloner {
|
||||
inlineImages: boolean;
|
||||
copyStyles: boolean;
|
||||
renderer: (element: HTMLElement, options: Options, logger: Logger) => Promise<*>;
|
||||
pseudoContentData: PseudoContentData;
|
||||
|
||||
constructor(
|
||||
element: HTMLElement,
|
||||
@ -38,6 +48,10 @@ export class DocumentCloner {
|
||||
this.options = options;
|
||||
this.renderer = renderer;
|
||||
this.resourceLoader = new ResourceLoader(options, logger, window);
|
||||
this.pseudoContentData = {
|
||||
counters: {},
|
||||
quoteDepth: 0
|
||||
};
|
||||
// $FlowFixMe
|
||||
this.documentElement = this.cloneNode(element.ownerDocument.documentElement);
|
||||
}
|
||||
@ -175,10 +189,12 @@ export class DocumentCloner {
|
||||
backgroundColor: '#ffffff',
|
||||
canvas: null,
|
||||
imageTimeout: this.options.imageTimeout,
|
||||
logging: this.options.logging,
|
||||
proxy: this.options.proxy,
|
||||
removeContainer: this.options.removeContainer,
|
||||
scale: this.options.scale,
|
||||
foreignObjectRendering: this.options.foreignObjectRendering,
|
||||
useCORS: this.options.useCORS,
|
||||
target: new CanvasRenderer(),
|
||||
width,
|
||||
height,
|
||||
@ -223,6 +239,11 @@ export class DocumentCloner {
|
||||
: this.createElementClone(node);
|
||||
|
||||
const window = node.ownerDocument.defaultView;
|
||||
const style = node instanceof window.HTMLElement ? window.getComputedStyle(node) : null;
|
||||
const styleBefore =
|
||||
node instanceof window.HTMLElement ? window.getComputedStyle(node, ':before') : null;
|
||||
const styleAfter =
|
||||
node instanceof window.HTMLElement ? window.getComputedStyle(node, ':after') : null;
|
||||
|
||||
if (this.referenceElement === node && clone instanceof window.HTMLElement) {
|
||||
this.clonedReferenceElement = clone;
|
||||
@ -232,22 +253,41 @@ export class DocumentCloner {
|
||||
createPseudoHideStyles(clone);
|
||||
}
|
||||
|
||||
const counters = parseCounterReset(style, this.pseudoContentData);
|
||||
const contentBefore = resolvePseudoContent(node, styleBefore, this.pseudoContentData);
|
||||
|
||||
for (let child = node.firstChild; child; child = child.nextSibling) {
|
||||
if (child.nodeType !== Node.ELEMENT_NODE || child.nodeName !== 'SCRIPT') {
|
||||
if (
|
||||
child.nodeType !== Node.ELEMENT_NODE ||
|
||||
// $FlowFixMe
|
||||
(child.nodeName !== 'SCRIPT' && !child.hasAttribute(IGNORE_ATTRIBUTE))
|
||||
) {
|
||||
if (!this.copyStyles || child.nodeName !== 'STYLE') {
|
||||
clone.appendChild(this.cloneNode(child));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const contentAfter = resolvePseudoContent(node, styleAfter, this.pseudoContentData);
|
||||
popCounters(counters, this.pseudoContentData);
|
||||
|
||||
if (node instanceof window.HTMLElement && clone instanceof window.HTMLElement) {
|
||||
this.inlineAllImages(inlinePseudoElement(node, clone, PSEUDO_BEFORE));
|
||||
this.inlineAllImages(inlinePseudoElement(node, clone, PSEUDO_AFTER));
|
||||
if (this.copyStyles && !(node instanceof HTMLIFrameElement)) {
|
||||
copyCSSStyles(node.ownerDocument.defaultView.getComputedStyle(node), clone);
|
||||
if (styleBefore) {
|
||||
this.inlineAllImages(
|
||||
inlinePseudoElement(node, clone, styleBefore, contentBefore, PSEUDO_BEFORE)
|
||||
);
|
||||
}
|
||||
if (styleAfter) {
|
||||
this.inlineAllImages(
|
||||
inlinePseudoElement(node, clone, styleAfter, contentAfter, PSEUDO_AFTER)
|
||||
);
|
||||
}
|
||||
if (style && this.copyStyles && !(node instanceof HTMLIFrameElement)) {
|
||||
copyCSSStyles(style, clone);
|
||||
}
|
||||
this.inlineAllImages(clone);
|
||||
if (node.scrollTop !== 0 || node.scrollLeft !== 0) {
|
||||
this.scrolledElements.push([node, node.scrollLeft, node.scrollTop]);
|
||||
this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]);
|
||||
}
|
||||
switch (node.nodeName) {
|
||||
case 'CANVAS':
|
||||
@ -340,13 +380,13 @@ const cloneCanvasContents = (canvas: HTMLCanvasElement, clonedCanvas: HTMLCanvas
|
||||
if (clonedCanvas) {
|
||||
clonedCanvas.width = canvas.width;
|
||||
clonedCanvas.height = canvas.height;
|
||||
clonedCanvas
|
||||
.getContext('2d')
|
||||
.putImageData(
|
||||
canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height),
|
||||
0,
|
||||
0
|
||||
);
|
||||
const ctx = canvas.getContext('2d');
|
||||
const clonedCtx = clonedCanvas.getContext('2d');
|
||||
if (ctx) {
|
||||
clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0);
|
||||
} else {
|
||||
clonedCtx.drawImage(canvas, 0, 0);
|
||||
}
|
||||
}
|
||||
} catch (e) {}
|
||||
};
|
||||
@ -354,9 +394,10 @@ const cloneCanvasContents = (canvas: HTMLCanvasElement, clonedCanvas: HTMLCanvas
|
||||
const inlinePseudoElement = (
|
||||
node: HTMLElement,
|
||||
clone: HTMLElement,
|
||||
style: CSSStyleDeclaration,
|
||||
contentItems: ?Array<PseudoContentItem>,
|
||||
pseudoElt: ':before' | ':after'
|
||||
): ?HTMLElement => {
|
||||
const style = node.ownerDocument.defaultView.getComputedStyle(node, pseudoElt);
|
||||
if (
|
||||
!style ||
|
||||
!style.content ||
|
||||
@ -367,20 +408,29 @@ const inlinePseudoElement = (
|
||||
return;
|
||||
}
|
||||
|
||||
const content = stripQuotes(style.content);
|
||||
const image = content.match(URL_REGEXP);
|
||||
const anonymousReplacedElement = clone.ownerDocument.createElement(
|
||||
image ? 'img' : 'html2canvaspseudoelement'
|
||||
);
|
||||
if (image) {
|
||||
// $FlowFixMe
|
||||
anonymousReplacedElement.src = stripQuotes(image[1]);
|
||||
} else {
|
||||
anonymousReplacedElement.textContent = content;
|
||||
}
|
||||
|
||||
const anonymousReplacedElement = clone.ownerDocument.createElement('html2canvaspseudoelement');
|
||||
copyCSSStyles(style, anonymousReplacedElement);
|
||||
|
||||
if (contentItems) {
|
||||
const len = contentItems.length;
|
||||
for (var i = 0; i < len; i++) {
|
||||
const item = contentItems[i];
|
||||
switch (item.type) {
|
||||
case PSEUDO_CONTENT_ITEM_TYPE.IMAGE:
|
||||
const img = clone.ownerDocument.createElement('img');
|
||||
img.src = parseBackgroundImage(`url(${item.value})`)[0].args[0];
|
||||
img.style.opacity = '1';
|
||||
anonymousReplacedElement.appendChild(img);
|
||||
break;
|
||||
case PSEUDO_CONTENT_ITEM_TYPE.TEXT:
|
||||
anonymousReplacedElement.appendChild(
|
||||
clone.ownerDocument.createTextNode(item.value)
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
anonymousReplacedElement.className = `${PSEUDO_HIDE_ELEMENT_CLASS_BEFORE} ${PSEUDO_HIDE_ELEMENT_CLASS_AFTER}`;
|
||||
clone.className +=
|
||||
pseudoElt === PSEUDO_BEFORE
|
||||
@ -395,13 +445,6 @@ const inlinePseudoElement = (
|
||||
return anonymousReplacedElement;
|
||||
};
|
||||
|
||||
const stripQuotes = (content: string): string => {
|
||||
const first = content.substr(0, 1);
|
||||
return first === content.substr(content.length - 1) && first.match(/['"]/)
|
||||
? content.substr(1, content.length - 2)
|
||||
: content;
|
||||
};
|
||||
|
||||
const URL_REGEXP = /^url\((.+)\)$/i;
|
||||
const PSEUDO_BEFORE = ':before';
|
||||
const PSEUDO_AFTER = ':after';
|
||||
@ -493,6 +536,7 @@ const createIframeContainer = (
|
||||
cloneIframeContainer.width = bounds.width.toString();
|
||||
cloneIframeContainer.height = bounds.height.toString();
|
||||
cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it
|
||||
cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true');
|
||||
if (!ownerDocument.body) {
|
||||
return Promise.reject(
|
||||
__DEV__ ? `Body element not found in Document that is getting rendered` : ''
|
||||
|
@ -63,9 +63,11 @@ export class FontMetrics {
|
||||
return {baseline, middle};
|
||||
}
|
||||
getMetrics(font: Font) {
|
||||
if (this._data[`${font.fontFamily} ${font.fontSize}`] === undefined) {
|
||||
this._data[`${font.fontFamily} ${font.fontSize}`] = this._parseMetrics(font);
|
||||
const key = `${font.fontFamily} ${font.fontSize}`;
|
||||
if (this._data[key] === undefined) {
|
||||
this._data[key] = this._parseMetrics(font);
|
||||
}
|
||||
return this._data[`${font.fontFamily} ${font.fontSize}`];
|
||||
|
||||
return this._data[key];
|
||||
}
|
||||
}
|
||||
|
451
src/Gradient.js
451
src/Gradient.js
@ -3,14 +3,22 @@
|
||||
|
||||
import type {BackgroundSource} from './parsing/background';
|
||||
import type {Bounds} from './Bounds';
|
||||
import NodeContainer from './NodeContainer';
|
||||
import {parseAngle} from './Angle';
|
||||
import Color from './Color';
|
||||
import Length, {LENGTH_TYPE} from './Length';
|
||||
import Length, {LENGTH_TYPE, calculateLengthFromValueWithUnit} from './Length';
|
||||
import {distance} from './Util';
|
||||
|
||||
const SIDE_OR_CORNER = /^(to )?(left|top|right|bottom)( (left|top|right|bottom))?$/i;
|
||||
const PERCENTAGE_ANGLES = /^([+-]?\d*\.?\d+)% ([+-]?\d*\.?\d+)%$/i;
|
||||
const ENDS_WITH_LENGTH = /(px)|%|( 0)$/i;
|
||||
const FROM_TO = /^(from|to)\((.+)\)$/i;
|
||||
const FROM_TO_COLORSTOP = /^(from|to|color-stop)\((?:([\d.]+)(%)?,\s*)?(.+?)\)$/i;
|
||||
const RADIAL_SHAPE_DEFINITION = /^\s*(circle|ellipse)?\s*((?:([\d.]+)(px|r?em|%)\s*(?:([\d.]+)(px|r?em|%))?)|closest-side|closest-corner|farthest-side|farthest-corner)?\s*(?:at\s*(?:(left|center|right)|([\d.]+)(px|r?em|%))\s+(?:(top|center|bottom)|([\d.]+)(px|r?em|%)))?(?:\s|$)/i;
|
||||
|
||||
export type Point = {
|
||||
x: number,
|
||||
y: number
|
||||
};
|
||||
|
||||
export type Direction = {
|
||||
x0: number,
|
||||
@ -24,46 +32,97 @@ export type ColorStop = {
|
||||
stop: number
|
||||
};
|
||||
|
||||
export type Gradient = {
|
||||
direction: Direction,
|
||||
export interface Gradient {
|
||||
type: GradientType,
|
||||
colorStops: Array<ColorStop>
|
||||
}
|
||||
|
||||
export const GRADIENT_TYPE = {
|
||||
LINEAR_GRADIENT: 0,
|
||||
RADIAL_GRADIENT: 1
|
||||
};
|
||||
|
||||
export type GradientType = $Values<typeof GRADIENT_TYPE>;
|
||||
|
||||
export const RADIAL_GRADIENT_SHAPE = {
|
||||
CIRCLE: 0,
|
||||
ELLIPSE: 1
|
||||
};
|
||||
|
||||
export type RadialGradientShapeType = $Values<typeof RADIAL_GRADIENT_SHAPE>;
|
||||
|
||||
const LENGTH_FOR_POSITION = {
|
||||
left: new Length('0%'),
|
||||
top: new Length('0%'),
|
||||
center: new Length('50%'),
|
||||
right: new Length('100%'),
|
||||
bottom: new Length('100%')
|
||||
};
|
||||
|
||||
export class LinearGradient implements Gradient {
|
||||
type: GradientType;
|
||||
colorStops: Array<ColorStop>;
|
||||
direction: Direction;
|
||||
|
||||
constructor(colorStops: Array<ColorStop>, direction: Direction) {
|
||||
this.type = GRADIENT_TYPE.LINEAR_GRADIENT;
|
||||
this.colorStops = colorStops;
|
||||
this.direction = direction;
|
||||
}
|
||||
}
|
||||
|
||||
export class RadialGradient implements Gradient {
|
||||
type: GradientType;
|
||||
colorStops: Array<ColorStop>;
|
||||
shape: RadialGradientShapeType;
|
||||
center: Point;
|
||||
radius: Point;
|
||||
|
||||
constructor(
|
||||
colorStops: Array<ColorStop>,
|
||||
shape: RadialGradientShapeType,
|
||||
center: Point,
|
||||
radius: Point
|
||||
) {
|
||||
this.type = GRADIENT_TYPE.RADIAL_GRADIENT;
|
||||
this.colorStops = colorStops;
|
||||
this.shape = shape;
|
||||
this.center = center;
|
||||
this.radius = radius;
|
||||
}
|
||||
}
|
||||
|
||||
export const parseGradient = (
|
||||
container: NodeContainer,
|
||||
{args, method, prefix}: BackgroundSource,
|
||||
bounds: Bounds
|
||||
): ?Gradient => {
|
||||
if (method === 'linear-gradient') {
|
||||
return parseLinearGradient(args, bounds);
|
||||
return parseLinearGradient(args, bounds, !!prefix);
|
||||
} else if (method === 'gradient' && args[0] === 'linear') {
|
||||
// TODO handle correct angle
|
||||
return parseLinearGradient(
|
||||
['to bottom'].concat(
|
||||
args
|
||||
.slice(3)
|
||||
.map(color => color.match(FROM_TO))
|
||||
.filter(v => v !== null)
|
||||
// $FlowFixMe
|
||||
.map(v => v[2])
|
||||
),
|
||||
['to bottom'].concat(transformObsoleteColorStops(args.slice(3))),
|
||||
bounds,
|
||||
!!prefix
|
||||
);
|
||||
} else if (method === 'radial-gradient') {
|
||||
return parseRadialGradient(
|
||||
container,
|
||||
prefix === '-webkit-' ? transformWebkitRadialGradientArgs(args) : args,
|
||||
bounds
|
||||
);
|
||||
} else if (method === 'gradient' && args[0] === 'radial') {
|
||||
return parseRadialGradient(
|
||||
container,
|
||||
transformObsoleteColorStops(transformWebkitRadialGradientArgs(args.slice(1))),
|
||||
bounds
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
const parseLinearGradient = (args: Array<string>, bounds: Bounds): Gradient => {
|
||||
const angle = parseAngle(args[0]);
|
||||
const HAS_SIDE_OR_CORNER = SIDE_OR_CORNER.test(args[0]);
|
||||
const HAS_DIRECTION = HAS_SIDE_OR_CORNER || angle !== null || PERCENTAGE_ANGLES.test(args[0]);
|
||||
const direction = HAS_DIRECTION
|
||||
? angle !== null
|
||||
? calculateGradientDirection(angle, bounds)
|
||||
: HAS_SIDE_OR_CORNER
|
||||
? parseSideOrCorner(args[0], bounds)
|
||||
: parsePercentageAngle(args[0], bounds)
|
||||
: calculateGradientDirection(Math.PI, bounds);
|
||||
const parseColorStops = (args: Array<string>, firstColorStopIndex: number, lineLength: number) => {
|
||||
const colorStops = [];
|
||||
const firstColorStopIndex = HAS_DIRECTION ? 1 : 0;
|
||||
|
||||
for (let i = firstColorStopIndex; i < args.length; i++) {
|
||||
const value = args[i];
|
||||
@ -78,21 +137,14 @@ const parseLinearGradient = (args: Array<string>, bounds: Bounds): Gradient => {
|
||||
colorStops.push({color, stop});
|
||||
}
|
||||
|
||||
// TODO: Fix some inaccuracy with color stops with px values
|
||||
const lineLength = Math.min(
|
||||
Math.sqrt(
|
||||
Math.pow(Math.abs(direction.x0) + Math.abs(direction.x1), 2) +
|
||||
Math.pow(Math.abs(direction.y0) + Math.abs(direction.y1), 2)
|
||||
),
|
||||
bounds.width * 2,
|
||||
bounds.height * 2
|
||||
);
|
||||
|
||||
const absoluteValuedColorStops = colorStops.map(({color, stop}) => {
|
||||
const absoluteStop =
|
||||
lineLength === 0 ? 0 : stop ? stop.getAbsoluteValue(lineLength) / lineLength : null;
|
||||
|
||||
return {
|
||||
color,
|
||||
// $FlowFixMe
|
||||
stop: stop ? stop.getAbsoluteValue(lineLength) / lineLength : null
|
||||
stop: absoluteStop
|
||||
};
|
||||
});
|
||||
|
||||
@ -118,10 +170,104 @@ const parseLinearGradient = (args: Array<string>, bounds: Bounds): Gradient => {
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
direction,
|
||||
colorStops: absoluteValuedColorStops
|
||||
return absoluteValuedColorStops;
|
||||
};
|
||||
|
||||
const parseLinearGradient = (
|
||||
args: Array<string>,
|
||||
bounds: Bounds,
|
||||
hasPrefix: boolean
|
||||
): LinearGradient => {
|
||||
const angle = parseAngle(args[0]);
|
||||
const HAS_SIDE_OR_CORNER = SIDE_OR_CORNER.test(args[0]);
|
||||
const HAS_DIRECTION = HAS_SIDE_OR_CORNER || angle !== null || PERCENTAGE_ANGLES.test(args[0]);
|
||||
const direction = HAS_DIRECTION
|
||||
? angle !== null
|
||||
? calculateGradientDirection(
|
||||
// if there is a prefix, the 0° angle points due East (instead of North per W3C)
|
||||
hasPrefix ? angle - Math.PI * 0.5 : angle,
|
||||
bounds
|
||||
)
|
||||
: HAS_SIDE_OR_CORNER
|
||||
? parseSideOrCorner(args[0], bounds)
|
||||
: parsePercentageAngle(args[0], bounds)
|
||||
: calculateGradientDirection(Math.PI, bounds);
|
||||
const firstColorStopIndex = HAS_DIRECTION ? 1 : 0;
|
||||
|
||||
// TODO: Fix some inaccuracy with color stops with px values
|
||||
const lineLength = Math.min(
|
||||
distance(
|
||||
Math.abs(direction.x0) + Math.abs(direction.x1),
|
||||
Math.abs(direction.y0) + Math.abs(direction.y1)
|
||||
),
|
||||
bounds.width * 2,
|
||||
bounds.height * 2
|
||||
);
|
||||
|
||||
return new LinearGradient(parseColorStops(args, firstColorStopIndex, lineLength), direction);
|
||||
};
|
||||
|
||||
const parseRadialGradient = (
|
||||
container: NodeContainer,
|
||||
args: Array<string>,
|
||||
bounds: Bounds
|
||||
): RadialGradient => {
|
||||
const m = args[0].match(RADIAL_SHAPE_DEFINITION);
|
||||
const shape =
|
||||
m &&
|
||||
(m[1] === 'circle' || // explicit shape specification
|
||||
(m[3] !== undefined && m[5] === undefined)) // only one radius coordinate
|
||||
? RADIAL_GRADIENT_SHAPE.CIRCLE
|
||||
: RADIAL_GRADIENT_SHAPE.ELLIPSE;
|
||||
const radius = {};
|
||||
const center = {};
|
||||
|
||||
if (m) {
|
||||
// Radius
|
||||
if (m[3] !== undefined) {
|
||||
radius.x = calculateLengthFromValueWithUnit(container, m[3], m[4]).getAbsoluteValue(
|
||||
bounds.width
|
||||
);
|
||||
}
|
||||
|
||||
if (m[5] !== undefined) {
|
||||
radius.y = calculateLengthFromValueWithUnit(container, m[5], m[6]).getAbsoluteValue(
|
||||
bounds.height
|
||||
);
|
||||
}
|
||||
|
||||
// Position
|
||||
if (m[7]) {
|
||||
center.x = LENGTH_FOR_POSITION[m[7].toLowerCase()];
|
||||
} else if (m[8] !== undefined) {
|
||||
center.x = calculateLengthFromValueWithUnit(container, m[8], m[9]);
|
||||
}
|
||||
|
||||
if (m[10]) {
|
||||
center.y = LENGTH_FOR_POSITION[m[10].toLowerCase()];
|
||||
} else if (m[11] !== undefined) {
|
||||
center.y = calculateLengthFromValueWithUnit(container, m[11], m[12]);
|
||||
}
|
||||
}
|
||||
|
||||
const gradientCenter = {
|
||||
x: center.x === undefined ? bounds.width / 2 : center.x.getAbsoluteValue(bounds.width),
|
||||
y: center.y === undefined ? bounds.height / 2 : center.y.getAbsoluteValue(bounds.height)
|
||||
};
|
||||
const gradientRadius = calculateRadius(
|
||||
(m && m[2]) || 'farthest-corner',
|
||||
shape,
|
||||
gradientCenter,
|
||||
radius,
|
||||
bounds
|
||||
);
|
||||
|
||||
return new RadialGradient(
|
||||
parseColorStops(args, m ? 1 : 0, Math.min(gradientRadius.x, gradientRadius.y)),
|
||||
shape,
|
||||
gradientCenter,
|
||||
gradientRadius
|
||||
);
|
||||
};
|
||||
|
||||
const calculateGradientDirection = (radian: number, bounds: Bounds): Direction => {
|
||||
@ -141,9 +287,7 @@ const calculateGradientDirection = (radian: number, bounds: Bounds): Direction =
|
||||
};
|
||||
|
||||
const parseTopRight = (bounds: Bounds) =>
|
||||
Math.acos(
|
||||
bounds.width / 2 / (Math.sqrt(Math.pow(bounds.width, 2) + Math.pow(bounds.height, 2)) / 2)
|
||||
);
|
||||
Math.acos(bounds.width / 2 / (distance(bounds.width, bounds.height) / 2));
|
||||
|
||||
const parseSideOrCorner = (side: string, bounds: Bounds): Direction => {
|
||||
switch (side) {
|
||||
@ -189,3 +333,226 @@ const parsePercentageAngle = (angle: string, bounds: Bounds): Direction => {
|
||||
|
||||
return calculateGradientDirection(Math.atan(isNaN(ratio) ? 1 : ratio) + Math.PI / 2, bounds);
|
||||
};
|
||||
|
||||
const findCorner = (bounds: Bounds, x: number, y: number, closest: boolean): Point => {
|
||||
var corners = [
|
||||
{x: 0, y: 0},
|
||||
{x: 0, y: bounds.height},
|
||||
{x: bounds.width, y: 0},
|
||||
{x: bounds.width, y: bounds.height}
|
||||
];
|
||||
|
||||
// $FlowFixMe
|
||||
return corners.reduce(
|
||||
(stat, corner) => {
|
||||
const d = distance(x - corner.x, y - corner.y);
|
||||
if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {
|
||||
return {
|
||||
optimumCorner: corner,
|
||||
optimumDistance: d
|
||||
};
|
||||
}
|
||||
|
||||
return stat;
|
||||
},
|
||||
{
|
||||
optimumDistance: closest ? Infinity : -Infinity,
|
||||
optimumCorner: null
|
||||
}
|
||||
).optimumCorner;
|
||||
};
|
||||
|
||||
const calculateRadius = (
|
||||
extent: string,
|
||||
shape: RadialGradientShapeType,
|
||||
center: Point,
|
||||
radius: Point,
|
||||
bounds: Bounds
|
||||
): Point => {
|
||||
const x = center.x;
|
||||
const y = center.y;
|
||||
let rx = 0;
|
||||
let ry = 0;
|
||||
|
||||
switch (extent) {
|
||||
case 'closest-side':
|
||||
// The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.
|
||||
// If the shape is an ellipse, it exactly meets the closest side in each dimension.
|
||||
if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) {
|
||||
rx = ry = Math.min(
|
||||
Math.abs(x),
|
||||
Math.abs(x - bounds.width),
|
||||
Math.abs(y),
|
||||
Math.abs(y - bounds.height)
|
||||
);
|
||||
} else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) {
|
||||
rx = Math.min(Math.abs(x), Math.abs(x - bounds.width));
|
||||
ry = Math.min(Math.abs(y), Math.abs(y - bounds.height));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'closest-corner':
|
||||
// The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.
|
||||
// If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.
|
||||
if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) {
|
||||
rx = ry = Math.min(
|
||||
distance(x, y),
|
||||
distance(x, y - bounds.height),
|
||||
distance(x - bounds.width, y),
|
||||
distance(x - bounds.width, y - bounds.height)
|
||||
);
|
||||
} else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) {
|
||||
// Compute the ratio ry/rx (which is to be the same as for "closest-side")
|
||||
const c =
|
||||
Math.min(Math.abs(y), Math.abs(y - bounds.height)) /
|
||||
Math.min(Math.abs(x), Math.abs(x - bounds.width));
|
||||
const corner = findCorner(bounds, x, y, true);
|
||||
rx = distance(corner.x - x, (corner.y - y) / c);
|
||||
ry = c * rx;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'farthest-side':
|
||||
// Same as closest-side, except the ending shape is sized based on the farthest side(s)
|
||||
if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) {
|
||||
rx = ry = Math.max(
|
||||
Math.abs(x),
|
||||
Math.abs(x - bounds.width),
|
||||
Math.abs(y),
|
||||
Math.abs(y - bounds.height)
|
||||
);
|
||||
} else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) {
|
||||
rx = Math.max(Math.abs(x), Math.abs(x - bounds.width));
|
||||
ry = Math.max(Math.abs(y), Math.abs(y - bounds.height));
|
||||
}
|
||||
break;
|
||||
|
||||
case 'farthest-corner':
|
||||
// Same as closest-corner, except the ending shape is sized based on the farthest corner.
|
||||
// If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.
|
||||
if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) {
|
||||
rx = ry = Math.max(
|
||||
distance(x, y),
|
||||
distance(x, y - bounds.height),
|
||||
distance(x - bounds.width, y),
|
||||
distance(x - bounds.width, y - bounds.height)
|
||||
);
|
||||
} else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) {
|
||||
// Compute the ratio ry/rx (which is to be the same as for "farthest-side")
|
||||
const c =
|
||||
Math.max(Math.abs(y), Math.abs(y - bounds.height)) /
|
||||
Math.max(Math.abs(x), Math.abs(x - bounds.width));
|
||||
const corner = findCorner(bounds, x, y, false);
|
||||
rx = distance(corner.x - x, (corner.y - y) / c);
|
||||
ry = c * rx;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// pixel or percentage values
|
||||
rx = radius.x || 0;
|
||||
ry = radius.y !== undefined ? radius.y : rx;
|
||||
break;
|
||||
}
|
||||
|
||||
return {
|
||||
x: rx,
|
||||
y: ry
|
||||
};
|
||||
};
|
||||
|
||||
export const transformWebkitRadialGradientArgs = (args: Array<string>): Array<string> => {
|
||||
let shape = '';
|
||||
let radius = '';
|
||||
let extent = '';
|
||||
let position = '';
|
||||
let idx = 0;
|
||||
|
||||
const POSITION = /^(left|center|right|\d+(?:px|r?em|%)?)(?:\s+(top|center|bottom|\d+(?:px|r?em|%)?))?$/i;
|
||||
const SHAPE_AND_EXTENT = /^(circle|ellipse)?\s*(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)?$/i;
|
||||
const RADIUS = /^\d+(px|r?em|%)?(?:\s+\d+(px|r?em|%)?)?$/i;
|
||||
|
||||
const matchStartPosition = args[idx].match(POSITION);
|
||||
if (matchStartPosition) {
|
||||
idx++;
|
||||
}
|
||||
|
||||
const matchShapeExtent = args[idx].match(SHAPE_AND_EXTENT);
|
||||
if (matchShapeExtent) {
|
||||
shape = matchShapeExtent[1] || '';
|
||||
extent = matchShapeExtent[2] || '';
|
||||
if (extent === 'contain') {
|
||||
extent = 'closest-side';
|
||||
} else if (extent === 'cover') {
|
||||
extent = 'farthest-corner';
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
|
||||
const matchStartRadius = args[idx].match(RADIUS);
|
||||
if (matchStartRadius) {
|
||||
idx++;
|
||||
}
|
||||
|
||||
const matchEndPosition = args[idx].match(POSITION);
|
||||
if (matchEndPosition) {
|
||||
idx++;
|
||||
}
|
||||
|
||||
const matchEndRadius = args[idx].match(RADIUS);
|
||||
if (matchEndRadius) {
|
||||
idx++;
|
||||
}
|
||||
|
||||
const matchPosition = matchEndPosition || matchStartPosition;
|
||||
if (matchPosition && matchPosition[1]) {
|
||||
position = matchPosition[1] + (/^\d+$/.test(matchPosition[1]) ? 'px' : '');
|
||||
if (matchPosition[2]) {
|
||||
position += ' ' + matchPosition[2] + (/^\d+$/.test(matchPosition[2]) ? 'px' : '');
|
||||
}
|
||||
}
|
||||
|
||||
const matchRadius = matchEndRadius || matchStartRadius;
|
||||
if (matchRadius) {
|
||||
radius = matchRadius[0];
|
||||
if (!matchRadius[1]) {
|
||||
radius += 'px';
|
||||
}
|
||||
}
|
||||
|
||||
if (position && !shape && !radius && !extent) {
|
||||
radius = position;
|
||||
position = '';
|
||||
}
|
||||
|
||||
if (position) {
|
||||
position = `at ${position}`;
|
||||
}
|
||||
|
||||
return [[shape, extent, radius, position].filter(s => !!s).join(' ')].concat(args.slice(idx));
|
||||
};
|
||||
|
||||
const transformObsoleteColorStops = (args: Array<string>): Array<string> => {
|
||||
return (
|
||||
args
|
||||
.map(color => color.match(FROM_TO_COLORSTOP))
|
||||
// $FlowFixMe
|
||||
.map((v: Array<string>, index: number) => {
|
||||
if (!v) {
|
||||
return args[index];
|
||||
}
|
||||
|
||||
switch (v[1]) {
|
||||
case 'from':
|
||||
return `${v[4]} 0%`;
|
||||
case 'to':
|
||||
return `${v[4]} 100%`;
|
||||
case 'color-stop':
|
||||
if (v[3] === '%') {
|
||||
return `${v[4]} ${v[2]}`;
|
||||
}
|
||||
return `${v[4]} ${parseFloat(v[2]) * 100}%`;
|
||||
}
|
||||
})
|
||||
);
|
||||
};
|
||||
|
@ -1,6 +1,10 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
|
||||
import NodeContainer from './NodeContainer';
|
||||
|
||||
const LENGTH_WITH_UNIT = /([\d.]+)(px|r?em|%)/i;
|
||||
|
||||
export const LENGTH_TYPE = {
|
||||
PX: 0,
|
||||
PERCENTAGE: 1
|
||||
@ -34,3 +38,31 @@ export default class Length {
|
||||
return new Length(v);
|
||||
}
|
||||
}
|
||||
|
||||
const getRootFontSize = (container: NodeContainer): number => {
|
||||
const parent = container.parent;
|
||||
return parent ? getRootFontSize(parent) : parseFloat(container.style.font.fontSize);
|
||||
};
|
||||
|
||||
export const calculateLengthFromValueWithUnit = (
|
||||
container: NodeContainer,
|
||||
value: string,
|
||||
unit: string
|
||||
): Length => {
|
||||
switch (unit) {
|
||||
case 'px':
|
||||
case '%':
|
||||
return new Length(value + unit);
|
||||
case 'em':
|
||||
case 'rem':
|
||||
const length = new Length(value);
|
||||
length.value *=
|
||||
unit === 'em'
|
||||
? parseFloat(container.style.font.fontSize)
|
||||
: getRootFontSize(container);
|
||||
return length;
|
||||
default:
|
||||
// TODO: handle correctly if unknown unit is used
|
||||
return new Length('0');
|
||||
}
|
||||
};
|
||||
|
711
src/ListItem.js
Normal file
711
src/ListItem.js
Normal file
@ -0,0 +1,711 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
|
||||
import type ResourceLoader from './ResourceLoader';
|
||||
import type {ListStyleType} from './parsing/listStyle';
|
||||
|
||||
import {copyCSSStyles, contains} from './Util';
|
||||
import NodeContainer from './NodeContainer';
|
||||
import TextContainer from './TextContainer';
|
||||
import {LIST_STYLE_POSITION, LIST_STYLE_TYPE} from './parsing/listStyle';
|
||||
import {fromCodePoint} from './Unicode';
|
||||
|
||||
// Margin between the enumeration and the list item content
|
||||
const MARGIN_RIGHT = 7;
|
||||
|
||||
const ancestorTypes = ['OL', 'UL', 'MENU'];
|
||||
|
||||
export const getListOwner = (container: NodeContainer): ?NodeContainer => {
|
||||
let parent = container.parent;
|
||||
if (!parent) {
|
||||
return null;
|
||||
}
|
||||
|
||||
do {
|
||||
let isAncestor = ancestorTypes.indexOf(parent.tagName) !== -1;
|
||||
if (isAncestor) {
|
||||
return parent;
|
||||
}
|
||||
parent = parent.parent;
|
||||
} while (parent);
|
||||
|
||||
return container.parent;
|
||||
};
|
||||
|
||||
export const inlineListItemElement = (
|
||||
node: HTMLElement,
|
||||
container: NodeContainer,
|
||||
resourceLoader: ResourceLoader
|
||||
): void => {
|
||||
const listStyle = container.style.listStyle;
|
||||
|
||||
if (!listStyle) {
|
||||
return;
|
||||
}
|
||||
|
||||
const style = node.ownerDocument.defaultView.getComputedStyle(node, null);
|
||||
const wrapper = node.ownerDocument.createElement('html2canvaswrapper');
|
||||
copyCSSStyles(style, wrapper);
|
||||
|
||||
wrapper.style.position = 'absolute';
|
||||
wrapper.style.bottom = 'auto';
|
||||
wrapper.style.display = 'block';
|
||||
wrapper.style.letterSpacing = 'normal';
|
||||
|
||||
switch (listStyle.listStylePosition) {
|
||||
case LIST_STYLE_POSITION.OUTSIDE:
|
||||
wrapper.style.left = 'auto';
|
||||
wrapper.style.right = `${node.ownerDocument.defaultView.innerWidth -
|
||||
container.bounds.left -
|
||||
container.style.margin[1].getAbsoluteValue(container.bounds.width) +
|
||||
MARGIN_RIGHT}px`;
|
||||
wrapper.style.textAlign = 'right';
|
||||
break;
|
||||
case LIST_STYLE_POSITION.INSIDE:
|
||||
wrapper.style.left = `${container.bounds.left -
|
||||
container.style.margin[3].getAbsoluteValue(container.bounds.width)}px`;
|
||||
wrapper.style.right = 'auto';
|
||||
wrapper.style.textAlign = 'left';
|
||||
break;
|
||||
}
|
||||
|
||||
let text;
|
||||
const MARGIN_TOP = container.style.margin[0].getAbsoluteValue(container.bounds.width);
|
||||
const styleImage = listStyle.listStyleImage;
|
||||
if (styleImage) {
|
||||
if (styleImage.method === 'url') {
|
||||
const image = node.ownerDocument.createElement('img');
|
||||
image.src = styleImage.args[0];
|
||||
wrapper.style.top = `${container.bounds.top - MARGIN_TOP}px`;
|
||||
wrapper.style.width = 'auto';
|
||||
wrapper.style.height = 'auto';
|
||||
wrapper.appendChild(image);
|
||||
} else {
|
||||
const size = parseFloat(container.style.font.fontSize) * 0.5;
|
||||
wrapper.style.top = `${container.bounds.top -
|
||||
MARGIN_TOP +
|
||||
container.bounds.height -
|
||||
1.5 * size}px`;
|
||||
wrapper.style.width = `${size}px`;
|
||||
wrapper.style.height = `${size}px`;
|
||||
wrapper.style.backgroundImage = style.listStyleImage;
|
||||
}
|
||||
} else if (typeof container.listIndex === 'number') {
|
||||
text = node.ownerDocument.createTextNode(
|
||||
createCounterText(container.listIndex, listStyle.listStyleType, true)
|
||||
);
|
||||
wrapper.appendChild(text);
|
||||
wrapper.style.top = `${container.bounds.top - MARGIN_TOP}px`;
|
||||
}
|
||||
|
||||
// $FlowFixMe
|
||||
const body: HTMLBodyElement = node.ownerDocument.body;
|
||||
body.appendChild(wrapper);
|
||||
|
||||
if (text) {
|
||||
container.childNodes.push(TextContainer.fromTextNode(text, container));
|
||||
body.removeChild(wrapper);
|
||||
} else {
|
||||
// $FlowFixMe
|
||||
container.childNodes.push(new NodeContainer(wrapper, container, resourceLoader, 0));
|
||||
}
|
||||
};
|
||||
|
||||
const ROMAN_UPPER = {
|
||||
integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],
|
||||
values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
|
||||
};
|
||||
|
||||
const ARMENIAN = {
|
||||
integers: [
|
||||
9000,
|
||||
8000,
|
||||
7000,
|
||||
6000,
|
||||
5000,
|
||||
4000,
|
||||
3000,
|
||||
2000,
|
||||
1000,
|
||||
900,
|
||||
800,
|
||||
700,
|
||||
600,
|
||||
500,
|
||||
400,
|
||||
300,
|
||||
200,
|
||||
100,
|
||||
90,
|
||||
80,
|
||||
70,
|
||||
60,
|
||||
50,
|
||||
40,
|
||||
30,
|
||||
20,
|
||||
10,
|
||||
9,
|
||||
8,
|
||||
7,
|
||||
6,
|
||||
5,
|
||||
4,
|
||||
3,
|
||||
2,
|
||||
1
|
||||
],
|
||||
values: [
|
||||
'Ք',
|
||||
'Փ',
|
||||
'Ւ',
|
||||
'Ց',
|
||||
'Ր',
|
||||
'Տ',
|
||||
'Վ',
|
||||
'Ս',
|
||||
'Ռ',
|
||||
'Ջ',
|
||||
'Պ',
|
||||
'Չ',
|
||||
'Ո',
|
||||
'Շ',
|
||||
'Ն',
|
||||
'Յ',
|
||||
'Մ',
|
||||
'Ճ',
|
||||
'Ղ',
|
||||
'Ձ',
|
||||
'Հ',
|
||||
'Կ',
|
||||
'Ծ',
|
||||
'Խ',
|
||||
'Լ',
|
||||
'Ի',
|
||||
'Ժ',
|
||||
'Թ',
|
||||
'Ը',
|
||||
'Է',
|
||||
'Զ',
|
||||
'Ե',
|
||||
'Դ',
|
||||
'Գ',
|
||||
'Բ',
|
||||
'Ա'
|
||||
]
|
||||
};
|
||||
|
||||
const HEBREW = {
|
||||
integers: [
|
||||
10000,
|
||||
9000,
|
||||
8000,
|
||||
7000,
|
||||
6000,
|
||||
5000,
|
||||
4000,
|
||||
3000,
|
||||
2000,
|
||||
1000,
|
||||
400,
|
||||
300,
|
||||
200,
|
||||
100,
|
||||
90,
|
||||
80,
|
||||
70,
|
||||
60,
|
||||
50,
|
||||
40,
|
||||
30,
|
||||
20,
|
||||
19,
|
||||
18,
|
||||
17,
|
||||
16,
|
||||
15,
|
||||
10,
|
||||
9,
|
||||
8,
|
||||
7,
|
||||
6,
|
||||
5,
|
||||
4,
|
||||
3,
|
||||
2,
|
||||
1
|
||||
],
|
||||
values: [
|
||||
'י׳',
|
||||
'ט׳',
|
||||
'ח׳',
|
||||
'ז׳',
|
||||
'ו׳',
|
||||
'ה׳',
|
||||
'ד׳',
|
||||
'ג׳',
|
||||
'ב׳',
|
||||
'א׳',
|
||||
'ת',
|
||||
'ש',
|
||||
'ר',
|
||||
'ק',
|
||||
'צ',
|
||||
'פ',
|
||||
'ע',
|
||||
'ס',
|
||||
'נ',
|
||||
'מ',
|
||||
'ל',
|
||||
'כ',
|
||||
'יט',
|
||||
'יח',
|
||||
'יז',
|
||||
'טז',
|
||||
'טו',
|
||||
'י',
|
||||
'ט',
|
||||
'ח',
|
||||
'ז',
|
||||
'ו',
|
||||
'ה',
|
||||
'ד',
|
||||
'ג',
|
||||
'ב',
|
||||
'א'
|
||||
]
|
||||
};
|
||||
|
||||
const GEORGIAN = {
|
||||
integers: [
|
||||
10000,
|
||||
9000,
|
||||
8000,
|
||||
7000,
|
||||
6000,
|
||||
5000,
|
||||
4000,
|
||||
3000,
|
||||
2000,
|
||||
1000,
|
||||
900,
|
||||
800,
|
||||
700,
|
||||
600,
|
||||
500,
|
||||
400,
|
||||
300,
|
||||
200,
|
||||
100,
|
||||
90,
|
||||
80,
|
||||
70,
|
||||
60,
|
||||
50,
|
||||
40,
|
||||
30,
|
||||
20,
|
||||
10,
|
||||
9,
|
||||
8,
|
||||
7,
|
||||
6,
|
||||
5,
|
||||
4,
|
||||
3,
|
||||
2,
|
||||
1
|
||||
],
|
||||
values: [
|
||||
'ჵ',
|
||||
'ჰ',
|
||||
'ჯ',
|
||||
'ჴ',
|
||||
'ხ',
|
||||
'ჭ',
|
||||
'წ',
|
||||
'ძ',
|
||||
'ც',
|
||||
'ჩ',
|
||||
'შ',
|
||||
'ყ',
|
||||
'ღ',
|
||||
'ქ',
|
||||
'ფ',
|
||||
'ჳ',
|
||||
'ტ',
|
||||
'ს',
|
||||
'რ',
|
||||
'ჟ',
|
||||
'პ',
|
||||
'ო',
|
||||
'ჲ',
|
||||
'ნ',
|
||||
'მ',
|
||||
'ლ',
|
||||
'კ',
|
||||
'ი',
|
||||
'თ',
|
||||
'ჱ',
|
||||
'ზ',
|
||||
'ვ',
|
||||
'ე',
|
||||
'დ',
|
||||
'გ',
|
||||
'ბ',
|
||||
'ა'
|
||||
]
|
||||
};
|
||||
|
||||
const createAdditiveCounter = (
|
||||
value: number,
|
||||
min: number,
|
||||
max: number,
|
||||
symbols,
|
||||
fallback: ListStyleType,
|
||||
suffix: string
|
||||
) => {
|
||||
if (value < min || value > max) {
|
||||
return createCounterText(value, fallback, suffix.length > 0);
|
||||
}
|
||||
|
||||
return (
|
||||
symbols.integers.reduce((string, integer, index) => {
|
||||
while (value >= integer) {
|
||||
value -= integer;
|
||||
string += symbols.values[index];
|
||||
}
|
||||
return string;
|
||||
}, '') + suffix
|
||||
);
|
||||
};
|
||||
|
||||
const createCounterStyleWithSymbolResolver = (
|
||||
value: number,
|
||||
codePointRangeLength: number,
|
||||
isNumeric: boolean,
|
||||
resolver
|
||||
): string => {
|
||||
let string = '';
|
||||
|
||||
do {
|
||||
if (!isNumeric) {
|
||||
value--;
|
||||
}
|
||||
string = resolver(value) + string;
|
||||
value /= codePointRangeLength;
|
||||
} while (value * codePointRangeLength >= codePointRangeLength);
|
||||
|
||||
return string;
|
||||
};
|
||||
|
||||
const createCounterStyleFromRange = (
|
||||
value: number,
|
||||
codePointRangeStart: number,
|
||||
codePointRangeEnd: number,
|
||||
isNumeric: boolean,
|
||||
suffix: string
|
||||
): string => {
|
||||
const codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;
|
||||
|
||||
return (
|
||||
(value < 0 ? '-' : '') +
|
||||
(createCounterStyleWithSymbolResolver(
|
||||
Math.abs(value),
|
||||
codePointRangeLength,
|
||||
isNumeric,
|
||||
codePoint =>
|
||||
fromCodePoint(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart)
|
||||
) +
|
||||
suffix)
|
||||
);
|
||||
};
|
||||
|
||||
const createCounterStyleFromSymbols = (
|
||||
value: number,
|
||||
symbols: string,
|
||||
suffix: string = '. '
|
||||
): string => {
|
||||
const codePointRangeLength = symbols.length;
|
||||
return (
|
||||
createCounterStyleWithSymbolResolver(
|
||||
Math.abs(value),
|
||||
codePointRangeLength,
|
||||
false,
|
||||
codePoint => symbols[Math.floor(codePoint % codePointRangeLength)]
|
||||
) + suffix
|
||||
);
|
||||
};
|
||||
|
||||
const CJK_ZEROS = 1 << 0;
|
||||
const CJK_TEN_COEFFICIENTS = 1 << 1;
|
||||
const CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;
|
||||
const CJK_HUNDRED_COEFFICIENTS = 1 << 3;
|
||||
|
||||
const createCJKCounter = (
|
||||
value: number,
|
||||
numbers: string,
|
||||
multipliers: string,
|
||||
negativeSign: string,
|
||||
suffix: string,
|
||||
flags: number
|
||||
): string => {
|
||||
if (value < -9999 || value > 9999) {
|
||||
return createCounterText(value, LIST_STYLE_TYPE.CJK_DECIMAL, suffix.length > 0);
|
||||
}
|
||||
let tmp = Math.abs(value);
|
||||
let string = suffix;
|
||||
|
||||
if (tmp === 0) {
|
||||
return numbers[0] + string;
|
||||
}
|
||||
|
||||
for (let digit = 0; tmp > 0 && digit <= 4; digit++) {
|
||||
let coefficient = tmp % 10;
|
||||
|
||||
if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {
|
||||
string = numbers[coefficient] + string;
|
||||
} else if (
|
||||
coefficient > 1 ||
|
||||
(coefficient === 1 && digit === 0) ||
|
||||
(coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||
|
||||
(coefficient === 1 &&
|
||||
digit === 1 &&
|
||||
contains(flags, CJK_TEN_HIGH_COEFFICIENTS) &&
|
||||
value > 100) ||
|
||||
(coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))
|
||||
) {
|
||||
string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;
|
||||
} else if (coefficient === 1 && digit > 0) {
|
||||
string = multipliers[digit - 1] + string;
|
||||
}
|
||||
tmp = Math.floor(tmp / 10);
|
||||
}
|
||||
|
||||
return (value < 0 ? negativeSign : '') + string;
|
||||
};
|
||||
|
||||
const CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';
|
||||
const CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';
|
||||
const JAPANESE_NEGATIVE = 'マイナス';
|
||||
const KOREAN_NEGATIVE = '마이너스 ';
|
||||
|
||||
export const createCounterText = (
|
||||
value: number,
|
||||
type: ListStyleType,
|
||||
appendSuffix: boolean
|
||||
): string => {
|
||||
const defaultSuffix = appendSuffix ? '. ' : '';
|
||||
const cjkSuffix = appendSuffix ? '、' : '';
|
||||
const koreanSuffix = appendSuffix ? ', ' : '';
|
||||
switch (type) {
|
||||
case LIST_STYLE_TYPE.DISC:
|
||||
return '•';
|
||||
case LIST_STYLE_TYPE.CIRCLE:
|
||||
return '◦';
|
||||
case LIST_STYLE_TYPE.SQUARE:
|
||||
return '◾';
|
||||
case LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO:
|
||||
const string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
|
||||
return string.length < 4 ? `0${string}` : string;
|
||||
case LIST_STYLE_TYPE.CJK_DECIMAL:
|
||||
return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);
|
||||
case LIST_STYLE_TYPE.LOWER_ROMAN:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
3999,
|
||||
ROMAN_UPPER,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
).toLowerCase();
|
||||
case LIST_STYLE_TYPE.UPPER_ROMAN:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
3999,
|
||||
ROMAN_UPPER,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.LOWER_GREEK:
|
||||
return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.LOWER_ALPHA:
|
||||
return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.UPPER_ALPHA:
|
||||
return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.ARABIC_INDIC:
|
||||
return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.ARMENIAN:
|
||||
case LIST_STYLE_TYPE.UPPER_ARMENIAN:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
9999,
|
||||
ARMENIAN,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.LOWER_ARMENIAN:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
9999,
|
||||
ARMENIAN,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
).toLowerCase();
|
||||
case LIST_STYLE_TYPE.BENGALI:
|
||||
return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.CAMBODIAN:
|
||||
case LIST_STYLE_TYPE.KHMER:
|
||||
return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH:
|
||||
return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);
|
||||
case LIST_STYLE_TYPE.CJK_HEAVENLY_STEM:
|
||||
return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);
|
||||
case LIST_STYLE_TYPE.CJK_IDEOGRAPHIC:
|
||||
case LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零一二三四五六七八九',
|
||||
CHINESE_INFORMAL_MULTIPLIERS,
|
||||
'負',
|
||||
cjkSuffix,
|
||||
CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零壹貳參肆伍陸柒捌玖',
|
||||
CHINESE_FORMAL_MULTIPLIERS,
|
||||
'負',
|
||||
cjkSuffix,
|
||||
CJK_ZEROS |
|
||||
CJK_TEN_COEFFICIENTS |
|
||||
CJK_TEN_HIGH_COEFFICIENTS |
|
||||
CJK_HUNDRED_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零一二三四五六七八九',
|
||||
CHINESE_INFORMAL_MULTIPLIERS,
|
||||
'负',
|
||||
cjkSuffix,
|
||||
CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零壹贰叁肆伍陆柒捌玖',
|
||||
CHINESE_FORMAL_MULTIPLIERS,
|
||||
'负',
|
||||
cjkSuffix,
|
||||
CJK_ZEROS |
|
||||
CJK_TEN_COEFFICIENTS |
|
||||
CJK_TEN_HIGH_COEFFICIENTS |
|
||||
CJK_HUNDRED_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.JAPANESE_INFORMAL:
|
||||
return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);
|
||||
case LIST_STYLE_TYPE.JAPANESE_FORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零壱弐参四伍六七八九',
|
||||
'拾百千万',
|
||||
JAPANESE_NEGATIVE,
|
||||
cjkSuffix,
|
||||
CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'영일이삼사오육칠팔구',
|
||||
'십백천만',
|
||||
KOREAN_NEGATIVE,
|
||||
koreanSuffix,
|
||||
CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL:
|
||||
return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);
|
||||
case LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL:
|
||||
return createCJKCounter(
|
||||
value,
|
||||
'零壹貳參四五六七八九',
|
||||
'拾百千',
|
||||
KOREAN_NEGATIVE,
|
||||
koreanSuffix,
|
||||
CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS
|
||||
);
|
||||
case LIST_STYLE_TYPE.DEVANAGARI:
|
||||
return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.GEORGIAN:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
19999,
|
||||
GEORGIAN,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.GUJARATI:
|
||||
return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.GURMUKHI:
|
||||
return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.HEBREW:
|
||||
return createAdditiveCounter(
|
||||
value,
|
||||
1,
|
||||
10999,
|
||||
HEBREW,
|
||||
LIST_STYLE_TYPE.DECIMAL,
|
||||
defaultSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.HIRAGANA:
|
||||
return createCounterStyleFromSymbols(
|
||||
value,
|
||||
'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん'
|
||||
);
|
||||
case LIST_STYLE_TYPE.HIRAGANA_IROHA:
|
||||
return createCounterStyleFromSymbols(
|
||||
value,
|
||||
'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす'
|
||||
);
|
||||
case LIST_STYLE_TYPE.KANNADA:
|
||||
return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.KATAKANA:
|
||||
return createCounterStyleFromSymbols(
|
||||
value,
|
||||
'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン',
|
||||
cjkSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.KATAKANA_IROHA:
|
||||
return createCounterStyleFromSymbols(
|
||||
value,
|
||||
'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス',
|
||||
cjkSuffix
|
||||
);
|
||||
case LIST_STYLE_TYPE.LAO:
|
||||
return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.MONGOLIAN:
|
||||
return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.MYANMAR:
|
||||
return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.ORIYA:
|
||||
return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.PERSIAN:
|
||||
return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.TAMIL:
|
||||
return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.TELUGU:
|
||||
return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.THAI:
|
||||
return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.TIBETAN:
|
||||
return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);
|
||||
case LIST_STYLE_TYPE.DECIMAL:
|
||||
default:
|
||||
return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);
|
||||
}
|
||||
};
|
@ -2,21 +2,23 @@
|
||||
'use strict';
|
||||
|
||||
export default class Logger {
|
||||
enabled: boolean;
|
||||
start: number;
|
||||
id: ?string;
|
||||
|
||||
constructor(id: ?string, start: ?number) {
|
||||
constructor(enabled: boolean, id: ?string, start: ?number) {
|
||||
this.enabled = enabled;
|
||||
this.start = start ? start : Date.now();
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
child(id: string) {
|
||||
return new Logger(id, this.start);
|
||||
return new Logger(this.enabled, id, this.start);
|
||||
}
|
||||
|
||||
// eslint-disable-next-line flowtype/no-weak-types
|
||||
log(...args: any) {
|
||||
if (window.console && window.console.log) {
|
||||
if (this.enabled && window.console && window.console.log) {
|
||||
Function.prototype.bind
|
||||
.call(window.console.log, window.console)
|
||||
.apply(
|
||||
@ -31,7 +33,7 @@ export default class Logger {
|
||||
|
||||
// eslint-disable-next-line flowtype/no-weak-types
|
||||
error(...args: any) {
|
||||
if (window.console && window.console.error) {
|
||||
if (this.enabled && window.console && window.console.error) {
|
||||
Function.prototype.bind
|
||||
.call(window.console.error, window.console)
|
||||
.apply(
|
||||
|
@ -7,6 +7,8 @@ import type {BorderRadius} from './parsing/borderRadius';
|
||||
import type {DisplayBit} from './parsing/display';
|
||||
import type {Float} from './parsing/float';
|
||||
import type {Font} from './parsing/font';
|
||||
import type {ListStyle} from './parsing/listStyle';
|
||||
import type {Margin} from './parsing/margin';
|
||||
import type {Overflow} from './parsing/overflow';
|
||||
import type {Padding} from './parsing/padding';
|
||||
import type {Position} from './parsing/position';
|
||||
@ -32,6 +34,8 @@ import {parseDisplay, DISPLAY} from './parsing/display';
|
||||
import {parseCSSFloat, FLOAT} from './parsing/float';
|
||||
import {parseFont} from './parsing/font';
|
||||
import {parseLetterSpacing} from './parsing/letterSpacing';
|
||||
import {parseListStyle} from './parsing/listStyle';
|
||||
import {parseMargin} from './parsing/margin';
|
||||
import {parseOverflow, OVERFLOW} from './parsing/overflow';
|
||||
import {parsePadding} from './parsing/padding';
|
||||
import {parsePosition, POSITION} from './parsing/position';
|
||||
@ -50,6 +54,7 @@ import {
|
||||
getInputBorderRadius,
|
||||
reformatInputBounds
|
||||
} from './Input';
|
||||
import {getListOwner} from './ListItem';
|
||||
|
||||
type StyleDeclaration = {
|
||||
background: Background,
|
||||
@ -60,6 +65,8 @@ type StyleDeclaration = {
|
||||
float: Float,
|
||||
font: Font,
|
||||
letterSpacing: number,
|
||||
listStyle: ListStyle | null,
|
||||
margin: Margin,
|
||||
opacity: number,
|
||||
overflow: Overflow,
|
||||
padding: Padding,
|
||||
@ -79,10 +86,14 @@ export default class NodeContainer {
|
||||
parent: ?NodeContainer;
|
||||
style: StyleDeclaration;
|
||||
childNodes: Array<TextContainer | Path>;
|
||||
listItems: Array<NodeContainer>;
|
||||
listIndex: ?number;
|
||||
listStart: ?number;
|
||||
bounds: Bounds;
|
||||
curvedBounds: BoundCurves;
|
||||
image: ?string;
|
||||
index: number;
|
||||
tagName: string;
|
||||
|
||||
constructor(
|
||||
node: HTMLElement | SVGSVGElement,
|
||||
@ -91,8 +102,13 @@ export default class NodeContainer {
|
||||
index: number
|
||||
) {
|
||||
this.parent = parent;
|
||||
this.tagName = node.tagName;
|
||||
this.index = index;
|
||||
this.childNodes = [];
|
||||
this.listItems = [];
|
||||
if (typeof node.start === 'number') {
|
||||
this.listStart = node.start;
|
||||
}
|
||||
const defaultView = node.ownerDocument.defaultView;
|
||||
const scrollX = defaultView.pageXOffset;
|
||||
const scrollY = defaultView.pageYOffset;
|
||||
@ -117,6 +133,8 @@ export default class NodeContainer {
|
||||
float: parseCSSFloat(style.float),
|
||||
font: parseFont(style),
|
||||
letterSpacing: parseLetterSpacing(style.letterSpacing),
|
||||
listStyle: display === DISPLAY.LIST_ITEM ? parseListStyle(style) : null,
|
||||
margin: parseMargin(style),
|
||||
opacity: parseFloat(style.opacity),
|
||||
overflow:
|
||||
INPUT_TAGS.indexOf(node.tagName) === -1
|
||||
@ -137,6 +155,20 @@ export default class NodeContainer {
|
||||
node.style.transform = 'matrix(1,0,0,1,0,0)';
|
||||
}
|
||||
|
||||
if (display === DISPLAY.LIST_ITEM) {
|
||||
const listOwner = getListOwner(this);
|
||||
if (listOwner) {
|
||||
const listIndex = listOwner.listItems.length;
|
||||
listOwner.listItems.push(this);
|
||||
this.listIndex =
|
||||
node.hasAttribute('value') && typeof node.value === 'number'
|
||||
? node.value
|
||||
: listIndex === 0
|
||||
? typeof listOwner.listStart === 'number' ? listOwner.listStart : 1
|
||||
: listOwner.listItems[listIndex - 1].listIndex + 1;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO move bound retrieval for all nodes to a later stage?
|
||||
if (node.tagName === 'IMG') {
|
||||
node.addEventListener('load', () => {
|
||||
@ -170,8 +202,7 @@ export default class NodeContainer {
|
||||
}
|
||||
getClipPaths(): Array<Path> {
|
||||
const parentClips = this.parent ? this.parent.getClipPaths() : [];
|
||||
const isClipped =
|
||||
this.style.overflow === OVERFLOW.HIDDEN || this.style.overflow === OVERFLOW.SCROLL;
|
||||
const isClipped = this.style.overflow !== OVERFLOW.VISIBLE;
|
||||
|
||||
return isClipped
|
||||
? parentClips.concat([calculatePaddingBoxPath(this.curvedBounds)])
|
||||
|
@ -6,6 +6,8 @@ import StackingContext from './StackingContext';
|
||||
import NodeContainer from './NodeContainer';
|
||||
import TextContainer from './TextContainer';
|
||||
import {inlineInputElement, inlineTextAreaElement, inlineSelectElement} from './Input';
|
||||
import {inlineListItemElement} from './ListItem';
|
||||
import {LIST_STYLE_TYPE} from './parsing/listStyle';
|
||||
|
||||
export const NodeParser = (
|
||||
node: HTMLElement,
|
||||
@ -71,6 +73,11 @@ const parseNodeTree = (
|
||||
} else if (childNode.tagName === 'SELECT') {
|
||||
// $FlowFixMe
|
||||
inlineSelectElement(childNode, container);
|
||||
} else if (
|
||||
container.style.listStyle &&
|
||||
container.style.listStyle.listStyleType !== LIST_STYLE_TYPE.NONE
|
||||
) {
|
||||
inlineListItemElement(childNode, container, resourceLoader);
|
||||
}
|
||||
|
||||
const SHOULD_TRAVERSE_CHILDREN = childNode.tagName !== 'TEXTAREA';
|
||||
|
341
src/PseudoNodeContent.js
Normal file
341
src/PseudoNodeContent.js
Normal file
@ -0,0 +1,341 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
|
||||
import {createCounterText} from './ListItem';
|
||||
import {parseListStyleType} from './parsing/listStyle';
|
||||
|
||||
export const PSEUDO_CONTENT_ITEM_TYPE = {
|
||||
TEXT: 0,
|
||||
IMAGE: 1
|
||||
};
|
||||
|
||||
export const TOKEN_TYPE = {
|
||||
STRING: 0,
|
||||
ATTRIBUTE: 1,
|
||||
URL: 2,
|
||||
COUNTER: 3,
|
||||
COUNTERS: 4,
|
||||
OPENQUOTE: 5,
|
||||
CLOSEQUOTE: 6
|
||||
};
|
||||
|
||||
export type PseudoContentData = {
|
||||
counters: {[string]: Array<number>},
|
||||
quoteDepth: number
|
||||
};
|
||||
|
||||
export type PseudoContentItem = {
|
||||
type: $Values<typeof PSEUDO_CONTENT_ITEM_TYPE>,
|
||||
value: string
|
||||
};
|
||||
|
||||
export type Token = {
|
||||
type: $Values<typeof TOKEN_TYPE>,
|
||||
value?: string,
|
||||
name?: string,
|
||||
format?: string,
|
||||
glue?: string
|
||||
};
|
||||
|
||||
export const parseCounterReset = (
|
||||
style: ?CSSStyleDeclaration,
|
||||
data: PseudoContentData
|
||||
): Array<string> => {
|
||||
if (!style || !style.counterReset || style.counterReset === 'none') {
|
||||
return [];
|
||||
}
|
||||
|
||||
const counterNames: Array<string> = [];
|
||||
const counterResets = style.counterReset.split(/\s*,\s*/);
|
||||
const lenCounterResets = counterResets.length;
|
||||
|
||||
for (let i = 0; i < lenCounterResets; i++) {
|
||||
const [counterName, initialValue] = counterResets[i].split(/\s+/);
|
||||
counterNames.push(counterName);
|
||||
let counter = data.counters[counterName];
|
||||
if (!counter) {
|
||||
counter = data.counters[counterName] = [];
|
||||
}
|
||||
counter.push(parseInt(initialValue || 0, 10));
|
||||
}
|
||||
|
||||
return counterNames;
|
||||
};
|
||||
|
||||
export const popCounters = (counterNames: Array<string>, data: PseudoContentData): void => {
|
||||
const lenCounters = counterNames.length;
|
||||
for (let i = 0; i < lenCounters; i++) {
|
||||
data.counters[counterNames[i]].pop();
|
||||
}
|
||||
};
|
||||
|
||||
export const resolvePseudoContent = (
|
||||
node: Node,
|
||||
style: ?CSSStyleDeclaration,
|
||||
data: PseudoContentData
|
||||
): ?Array<PseudoContentItem> => {
|
||||
if (
|
||||
!style ||
|
||||
!style.content ||
|
||||
style.content === 'none' ||
|
||||
style.content === '-moz-alt-content' ||
|
||||
style.display === 'none'
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const tokens = parseContent(style.content);
|
||||
|
||||
const len = tokens.length;
|
||||
const contentItems: Array<PseudoContentItem> = [];
|
||||
let s = '';
|
||||
|
||||
// increment the counter (if there is a "counter-increment" declaration)
|
||||
const counterIncrement = style.counterIncrement;
|
||||
if (counterIncrement && counterIncrement !== 'none') {
|
||||
const [counterName, incrementValue] = counterIncrement.split(/\s+/);
|
||||
const counter = data.counters[counterName];
|
||||
if (counter) {
|
||||
counter[counter.length - 1] +=
|
||||
incrementValue === undefined ? 1 : parseInt(incrementValue, 10);
|
||||
}
|
||||
}
|
||||
|
||||
// build the content string
|
||||
for (let i = 0; i < len; i++) {
|
||||
const token = tokens[i];
|
||||
switch (token.type) {
|
||||
case TOKEN_TYPE.STRING:
|
||||
s += token.value || '';
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.ATTRIBUTE:
|
||||
if (node instanceof HTMLElement && token.value) {
|
||||
s += node.getAttribute(token.value) || '';
|
||||
}
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.COUNTER:
|
||||
const counter = data.counters[token.name || ''];
|
||||
if (counter) {
|
||||
s += formatCounterValue([counter[counter.length - 1]], '', token.format);
|
||||
}
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.COUNTERS:
|
||||
const counters = data.counters[token.name || ''];
|
||||
if (counters) {
|
||||
s += formatCounterValue(counters, token.glue, token.format);
|
||||
}
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.OPENQUOTE:
|
||||
s += getQuote(style, true, data.quoteDepth);
|
||||
data.quoteDepth++;
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.CLOSEQUOTE:
|
||||
data.quoteDepth--;
|
||||
s += getQuote(style, false, data.quoteDepth);
|
||||
break;
|
||||
|
||||
case TOKEN_TYPE.URL:
|
||||
if (s) {
|
||||
contentItems.push({type: PSEUDO_CONTENT_ITEM_TYPE.TEXT, value: s});
|
||||
s = '';
|
||||
}
|
||||
contentItems.push({type: PSEUDO_CONTENT_ITEM_TYPE.IMAGE, value: token.value || ''});
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (s) {
|
||||
contentItems.push({type: PSEUDO_CONTENT_ITEM_TYPE.TEXT, value: s});
|
||||
}
|
||||
|
||||
return contentItems;
|
||||
};
|
||||
|
||||
export const parseContent = (content: string, cache?: {[string]: Array<Token>}): Array<Token> => {
|
||||
if (cache && cache[content]) {
|
||||
return cache[content];
|
||||
}
|
||||
|
||||
const tokens: Array<Token> = [];
|
||||
const len = content.length;
|
||||
|
||||
let isString = false;
|
||||
let isEscaped = false;
|
||||
let isFunction = false;
|
||||
let str = '';
|
||||
let functionName = '';
|
||||
let args = [];
|
||||
|
||||
for (let i = 0; i < len; i++) {
|
||||
const c = content.charAt(i);
|
||||
|
||||
switch (c) {
|
||||
case "'":
|
||||
case '"':
|
||||
if (isEscaped) {
|
||||
str += c;
|
||||
} else {
|
||||
isString = !isString;
|
||||
if (!isFunction && !isString) {
|
||||
tokens.push({type: TOKEN_TYPE.STRING, value: str});
|
||||
str = '';
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case '\\':
|
||||
if (isEscaped) {
|
||||
str += c;
|
||||
isEscaped = false;
|
||||
} else {
|
||||
isEscaped = true;
|
||||
}
|
||||
break;
|
||||
|
||||
case '(':
|
||||
if (isString) {
|
||||
str += c;
|
||||
} else {
|
||||
isFunction = true;
|
||||
functionName = str;
|
||||
str = '';
|
||||
args = [];
|
||||
}
|
||||
break;
|
||||
|
||||
case ')':
|
||||
if (isString) {
|
||||
str += c;
|
||||
} else if (isFunction) {
|
||||
if (str) {
|
||||
args.push(str);
|
||||
}
|
||||
|
||||
switch (functionName) {
|
||||
case 'attr':
|
||||
if (args.length > 0) {
|
||||
tokens.push({type: TOKEN_TYPE.ATTRIBUTE, value: args[0]});
|
||||
}
|
||||
break;
|
||||
|
||||
case 'counter':
|
||||
if (args.length > 0) {
|
||||
const counter: Token = {
|
||||
type: TOKEN_TYPE.COUNTER,
|
||||
name: args[0]
|
||||
};
|
||||
if (args.length > 1) {
|
||||
counter.format = args[1];
|
||||
}
|
||||
tokens.push(counter);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'counters':
|
||||
if (args.length > 0) {
|
||||
const counters: Token = {
|
||||
type: TOKEN_TYPE.COUNTERS,
|
||||
name: args[0]
|
||||
};
|
||||
if (args.length > 1) {
|
||||
counters.glue = args[1];
|
||||
}
|
||||
if (args.length > 2) {
|
||||
counters.format = args[2];
|
||||
}
|
||||
tokens.push(counters);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'url':
|
||||
if (args.length > 0) {
|
||||
tokens.push({type: TOKEN_TYPE.URL, value: args[0]});
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
isFunction = false;
|
||||
str = '';
|
||||
}
|
||||
break;
|
||||
|
||||
case ',':
|
||||
if (isString) {
|
||||
str += c;
|
||||
} else if (isFunction) {
|
||||
args.push(str);
|
||||
str = '';
|
||||
}
|
||||
break;
|
||||
|
||||
case ' ':
|
||||
case '\t':
|
||||
if (isString) {
|
||||
str += c;
|
||||
} else if (str) {
|
||||
addOtherToken(tokens, str);
|
||||
str = '';
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
str += c;
|
||||
}
|
||||
|
||||
if (c !== '\\') {
|
||||
isEscaped = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (str) {
|
||||
addOtherToken(tokens, str);
|
||||
}
|
||||
|
||||
if (cache) {
|
||||
cache[content] = tokens;
|
||||
}
|
||||
|
||||
return tokens;
|
||||
};
|
||||
|
||||
const addOtherToken = (tokens: Array<Token>, identifier: string): void => {
|
||||
switch (identifier) {
|
||||
case 'open-quote':
|
||||
tokens.push({type: TOKEN_TYPE.OPENQUOTE});
|
||||
break;
|
||||
case 'close-quote':
|
||||
tokens.push({type: TOKEN_TYPE.CLOSEQUOTE});
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
const getQuote = (style: CSSStyleDeclaration, isOpening: boolean, quoteDepth: number): string => {
|
||||
const quotes = style.quotes ? style.quotes.split(/\s+/) : ["'\"'", "'\"'"];
|
||||
let idx = quoteDepth * 2;
|
||||
if (idx >= quotes.length) {
|
||||
idx = quotes.length - 2;
|
||||
}
|
||||
if (!isOpening) {
|
||||
++idx;
|
||||
}
|
||||
return quotes[idx].replace(/^["']|["']$/g, '');
|
||||
};
|
||||
|
||||
const formatCounterValue = (counter, glue: ?string, format: ?string): string => {
|
||||
const len = counter.length;
|
||||
let result = '';
|
||||
|
||||
for (let i = 0; i < len; i++) {
|
||||
if (i > 0) {
|
||||
result += glue || '';
|
||||
}
|
||||
result += createCounterText(counter[i], parseListStyleType(format || 'decimal'), false);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
@ -14,29 +14,24 @@ import type {TextShadow} from './parsing/textShadow';
|
||||
import type {Matrix} from './parsing/transform';
|
||||
|
||||
import type {BoundCurves} from './Bounds';
|
||||
import type {Gradient} from './Gradient';
|
||||
import type {LinearGradient, RadialGradient} from './Gradient';
|
||||
import type {ResourceStore, ImageElement} from './ResourceLoader';
|
||||
import type NodeContainer from './NodeContainer';
|
||||
import type StackingContext from './StackingContext';
|
||||
import type {TextBounds} from './TextBounds';
|
||||
|
||||
import {
|
||||
Bounds,
|
||||
parsePathForBorder,
|
||||
calculateContentBox,
|
||||
calculatePaddingBox,
|
||||
calculatePaddingBoxPath
|
||||
} from './Bounds';
|
||||
import {Bounds, parsePathForBorder, calculateContentBox, calculatePaddingBoxPath} from './Bounds';
|
||||
import {FontMetrics} from './Font';
|
||||
import {parseGradient} from './Gradient';
|
||||
import {parseGradient, GRADIENT_TYPE} from './Gradient';
|
||||
import TextContainer from './TextContainer';
|
||||
|
||||
import {
|
||||
BACKGROUND_ORIGIN,
|
||||
calculateBackgroungPositioningArea,
|
||||
calculateBackgroungPaintingArea,
|
||||
calculateBackgroundPosition,
|
||||
calculateBackgroundRepeatPath,
|
||||
calculateBackgroundSize
|
||||
calculateBackgroundSize,
|
||||
calculateGradientBackgroundSize
|
||||
} from './parsing/background';
|
||||
import {BORDER_STYLE} from './parsing/border';
|
||||
|
||||
@ -67,7 +62,9 @@ export interface RenderTarget<Output> {
|
||||
|
||||
render(options: RenderOptions): void,
|
||||
|
||||
renderLinearGradient(bounds: Bounds, gradient: Gradient): void,
|
||||
renderLinearGradient(bounds: Bounds, gradient: LinearGradient): void,
|
||||
|
||||
renderRadialGradient(bounds: Bounds, gradient: RadialGradient): void,
|
||||
|
||||
renderRepeat(
|
||||
path: Path,
|
||||
@ -208,12 +205,8 @@ export default class Renderer {
|
||||
container.style.background.backgroundImage.slice(0).reverse().forEach(backgroundImage => {
|
||||
if (backgroundImage.source.method === 'url' && backgroundImage.source.args.length) {
|
||||
this.renderBackgroundRepeat(container, backgroundImage);
|
||||
} else {
|
||||
const gradient = parseGradient(backgroundImage.source, container.bounds);
|
||||
if (gradient) {
|
||||
const bounds = container.bounds;
|
||||
this.target.renderLinearGradient(bounds, gradient);
|
||||
}
|
||||
} else if (/gradient/i.test(backgroundImage.source.method)) {
|
||||
this.renderBackgroundGradient(container, backgroundImage);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -221,16 +214,17 @@ export default class Renderer {
|
||||
renderBackgroundRepeat(container: NodeContainer, background: BackgroundImage) {
|
||||
const image = this.options.imageStore.get(background.source.args[0]);
|
||||
if (image) {
|
||||
const bounds = container.bounds;
|
||||
const paddingBox = calculatePaddingBox(bounds, container.style.border);
|
||||
const backgroundImageSize = calculateBackgroundSize(background, image, bounds);
|
||||
|
||||
// TODO support CONTENT_BOX
|
||||
const backgroundPositioningArea =
|
||||
container.style.background.backgroundOrigin === BACKGROUND_ORIGIN.BORDER_BOX
|
||||
? bounds
|
||||
: paddingBox;
|
||||
|
||||
const backgroundPositioningArea = calculateBackgroungPositioningArea(
|
||||
container.style.background.backgroundOrigin,
|
||||
container.bounds,
|
||||
container.style.padding,
|
||||
container.style.border
|
||||
);
|
||||
const backgroundImageSize = calculateBackgroundSize(
|
||||
background,
|
||||
image,
|
||||
backgroundPositioningArea
|
||||
);
|
||||
const position = calculateBackgroundPosition(
|
||||
background.position,
|
||||
backgroundImageSize,
|
||||
@ -241,15 +235,53 @@ export default class Renderer {
|
||||
position,
|
||||
backgroundImageSize,
|
||||
backgroundPositioningArea,
|
||||
bounds
|
||||
container.bounds
|
||||
);
|
||||
|
||||
const offsetX = Math.round(paddingBox.left + position.x);
|
||||
const offsetY = Math.round(paddingBox.top + position.y);
|
||||
const offsetX = Math.round(backgroundPositioningArea.left + position.x);
|
||||
const offsetY = Math.round(backgroundPositioningArea.top + position.y);
|
||||
this.target.renderRepeat(path, image, backgroundImageSize, offsetX, offsetY);
|
||||
}
|
||||
}
|
||||
|
||||
renderBackgroundGradient(container: NodeContainer, background: BackgroundImage) {
|
||||
const backgroundPositioningArea = calculateBackgroungPositioningArea(
|
||||
container.style.background.backgroundOrigin,
|
||||
container.bounds,
|
||||
container.style.padding,
|
||||
container.style.border
|
||||
);
|
||||
const backgroundImageSize = calculateGradientBackgroundSize(
|
||||
background,
|
||||
backgroundPositioningArea
|
||||
);
|
||||
const position = calculateBackgroundPosition(
|
||||
background.position,
|
||||
backgroundImageSize,
|
||||
backgroundPositioningArea
|
||||
);
|
||||
const gradientBounds = new Bounds(
|
||||
Math.round(backgroundPositioningArea.left + position.x),
|
||||
Math.round(backgroundPositioningArea.top + position.y),
|
||||
backgroundImageSize.width,
|
||||
backgroundImageSize.height
|
||||
);
|
||||
|
||||
const gradient = parseGradient(container, background.source, gradientBounds);
|
||||
if (gradient) {
|
||||
switch (gradient.type) {
|
||||
case GRADIENT_TYPE.LINEAR_GRADIENT:
|
||||
// $FlowFixMe
|
||||
this.target.renderLinearGradient(gradientBounds, gradient);
|
||||
break;
|
||||
case GRADIENT_TYPE.RADIAL_GRADIENT:
|
||||
// $FlowFixMe
|
||||
this.target.renderRadialGradient(gradientBounds, gradient);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
renderBorder(border: Border, side: BorderSide, curvePoints: BoundCurves) {
|
||||
this.target.drawShape(parsePathForBorder(curvePoints, side), border.borderColor);
|
||||
}
|
||||
@ -321,8 +353,8 @@ export default class Renderer {
|
||||
render(stack: StackingContext): Promise<*> {
|
||||
if (this.options.backgroundColor) {
|
||||
this.target.rectangle(
|
||||
0,
|
||||
0,
|
||||
this.options.x,
|
||||
this.options.y,
|
||||
this.options.width,
|
||||
this.options.height,
|
||||
this.options.backgroundColor
|
||||
|
@ -34,16 +34,8 @@ export default class ResourceLoader {
|
||||
return src;
|
||||
}
|
||||
|
||||
if (isSVG(src)) {
|
||||
if (this.options.allowTaint === true || FEATURES.SUPPORT_SVG_DRAWING) {
|
||||
return this.addImage(src, src, false);
|
||||
}
|
||||
} else {
|
||||
if (
|
||||
this.options.allowTaint === true ||
|
||||
isInlineBase64Image(src) ||
|
||||
this.isSameOrigin(src)
|
||||
) {
|
||||
if (!isSVG(src) || FEATURES.SUPPORT_SVG_DRAWING) {
|
||||
if (this.options.allowTaint === true || isInlineImage(src) || this.isSameOrigin(src)) {
|
||||
return this.addImage(src, src, false);
|
||||
} else if (!this.isSameOrigin(src)) {
|
||||
if (typeof this.options.proxy === 'string') {
|
||||
|
32
src/Unicode.js
Normal file
32
src/Unicode.js
Normal file
@ -0,0 +1,32 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
|
||||
export const fromCodePoint = (...codePoints: Array<number>): string => {
|
||||
if (String.fromCodePoint) {
|
||||
return String.fromCodePoint(...codePoints);
|
||||
}
|
||||
|
||||
const length = codePoints.length;
|
||||
if (!length) {
|
||||
return '';
|
||||
}
|
||||
|
||||
const codeUnits = [];
|
||||
|
||||
let index = -1;
|
||||
let result = '';
|
||||
while (++index < length) {
|
||||
let codePoint = codePoints[index];
|
||||
if (codePoint <= 0xffff) {
|
||||
codeUnits.push(codePoint);
|
||||
} else {
|
||||
codePoint -= 0x10000;
|
||||
codeUnits.push((codePoint >> 10) + 0xd800, codePoint % 0x400 + 0xdc00);
|
||||
}
|
||||
if (index + 1 === length || codeUnits.length > 0x4000) {
|
||||
result += String.fromCharCode(...codeUnits);
|
||||
codeUnits.length = 0;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
@ -3,6 +3,8 @@
|
||||
|
||||
export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;
|
||||
|
||||
export const distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);
|
||||
|
||||
export const copyCSSStyles = (style: CSSStyleDeclaration, target: HTMLElement): HTMLElement => {
|
||||
// Edge does not provide value for cssText
|
||||
for (let i = style.length - 1; i >= 0; i--) {
|
||||
|
@ -97,16 +97,6 @@ export const renderElement = (
|
||||
}
|
||||
|
||||
return resourceLoader.ready().then(imageStore => {
|
||||
if (options.removeContainer === true) {
|
||||
if (container.parentNode) {
|
||||
container.parentNode.removeChild(container);
|
||||
} else if (__DEV__) {
|
||||
logger.log(
|
||||
`Cannot detach cloned iframe as it is not in the DOM anymore`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const fontMetrics = new FontMetrics(clonedDocument);
|
||||
if (__DEV__) {
|
||||
logger.log(`Starting renderer`);
|
||||
@ -133,7 +123,18 @@ export const renderElement = (
|
||||
);
|
||||
} else {
|
||||
const renderer = new Renderer(options.target, renderOptions);
|
||||
return renderer.render(stack);
|
||||
const canvas = renderer.render(stack);
|
||||
if (options.removeContainer === true) {
|
||||
if (container.parentNode) {
|
||||
container.parentNode.removeChild(container);
|
||||
} else if (__DEV__) {
|
||||
logger.log(
|
||||
`Cannot detach cloned iframe as it is not in the DOM anymore`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return canvas;
|
||||
}
|
||||
});
|
||||
})
|
||||
|
15
src/index.js
15
src/index.js
@ -15,10 +15,12 @@ export type Options = {
|
||||
canvas: ?HTMLCanvasElement,
|
||||
foreignObjectRendering: boolean,
|
||||
imageTimeout: number,
|
||||
logging: boolean,
|
||||
proxy: ?string,
|
||||
removeContainer: ?boolean,
|
||||
scale: number,
|
||||
target: RenderTarget<*>,
|
||||
useCORS: boolean,
|
||||
width: number,
|
||||
height: number,
|
||||
x: number,
|
||||
@ -37,7 +39,13 @@ const html2canvas = (element: HTMLElement, conf: ?Options): Promise<*> => {
|
||||
}
|
||||
|
||||
const config = conf || {};
|
||||
const logger = new Logger();
|
||||
const logger = new Logger(typeof config.logging === 'boolean' ? config.logging : true);
|
||||
|
||||
if (__DEV__ && typeof config.onrendered === 'function') {
|
||||
logger.error(
|
||||
`onrendered option is deprecated, html2canvas returns a Promise with the canvas as the value`
|
||||
);
|
||||
}
|
||||
|
||||
const ownerDocument = element.ownerDocument;
|
||||
if (!ownerDocument) {
|
||||
@ -57,12 +65,15 @@ const html2canvas = (element: HTMLElement, conf: ?Options): Promise<*> => {
|
||||
const defaultOptions = {
|
||||
async: true,
|
||||
allowTaint: false,
|
||||
backgroundColor: '#ffffff',
|
||||
imageTimeout: 15000,
|
||||
logging: true,
|
||||
proxy: null,
|
||||
removeContainer: true,
|
||||
foreignObjectRendering: true,
|
||||
foreignObjectRendering: false,
|
||||
scale: defaultView.devicePixelRatio || 1,
|
||||
target: new CanvasRenderer(config.canvas),
|
||||
useCORS: false,
|
||||
x: left,
|
||||
y: top,
|
||||
width: Math.ceil(width),
|
||||
|
@ -1,14 +1,22 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
import type {Path} from '../drawing/Path';
|
||||
import type {Bounds, BoundCurves} from '../Bounds';
|
||||
import type {BoundCurves} from '../Bounds';
|
||||
import type ResourceLoader, {ImageElement} from '../ResourceLoader';
|
||||
import type {Border} from './border';
|
||||
import type {Padding} from './padding';
|
||||
|
||||
import Color from '../Color';
|
||||
import Length from '../Length';
|
||||
import Size from '../drawing/Size';
|
||||
import Vector from '../drawing/Vector';
|
||||
import {calculateBorderBoxPath, calculatePaddingBoxPath} from '../Bounds';
|
||||
import {
|
||||
calculateBorderBoxPath,
|
||||
calculatePaddingBoxPath,
|
||||
calculatePaddingBox,
|
||||
Bounds
|
||||
} from '../Bounds';
|
||||
import {PADDING_SIDES} from './padding';
|
||||
|
||||
export type Background = {
|
||||
backgroundImage: Array<BackgroundImage>,
|
||||
@ -115,13 +123,25 @@ export const calculateBackgroundSize = (
|
||||
return new Size(width, height);
|
||||
};
|
||||
|
||||
export const calculateGradientBackgroundSize = (
|
||||
backgroundImage: BackgroundImage,
|
||||
bounds: Bounds
|
||||
): Size => {
|
||||
const size = backgroundImage.size;
|
||||
const width = size[0].value ? size[0].value.getAbsoluteValue(bounds.width) : bounds.width;
|
||||
const height = size[1].value
|
||||
? size[1].value.getAbsoluteValue(bounds.height)
|
||||
: size[0].value ? width : bounds.height;
|
||||
|
||||
return new Size(width, height);
|
||||
};
|
||||
|
||||
const AUTO_SIZE = new BackgroundSize(AUTO);
|
||||
|
||||
export const calculateBackgroungPaintingArea = (
|
||||
curves: BoundCurves,
|
||||
clip: BackgroundClip
|
||||
): Path => {
|
||||
// TODO support CONTENT_BOX
|
||||
switch (clip) {
|
||||
case BACKGROUND_CLIP.BORDER_BOX:
|
||||
return calculateBorderBoxPath(curves);
|
||||
@ -131,6 +151,34 @@ export const calculateBackgroungPaintingArea = (
|
||||
}
|
||||
};
|
||||
|
||||
export const calculateBackgroungPositioningArea = (
|
||||
backgroundOrigin: BackgroundOrigin,
|
||||
bounds: Bounds,
|
||||
padding: Padding,
|
||||
border: Array<Border>
|
||||
): Bounds => {
|
||||
const paddingBox = calculatePaddingBox(bounds, border);
|
||||
|
||||
switch (backgroundOrigin) {
|
||||
case BACKGROUND_ORIGIN.BORDER_BOX:
|
||||
return bounds;
|
||||
case BACKGROUND_ORIGIN.CONTENT_BOX:
|
||||
const paddingLeft = padding[PADDING_SIDES.LEFT].getAbsoluteValue(bounds.width);
|
||||
const paddingRight = padding[PADDING_SIDES.RIGHT].getAbsoluteValue(bounds.width);
|
||||
const paddingTop = padding[PADDING_SIDES.TOP].getAbsoluteValue(bounds.width);
|
||||
const paddingBottom = padding[PADDING_SIDES.BOTTOM].getAbsoluteValue(bounds.width);
|
||||
return new Bounds(
|
||||
paddingBox.left + paddingLeft,
|
||||
paddingBox.top + paddingTop,
|
||||
paddingBox.width - paddingLeft - paddingRight,
|
||||
paddingBox.height - paddingTop - paddingBottom
|
||||
);
|
||||
case BACKGROUND_ORIGIN.PADDING_BOX:
|
||||
default:
|
||||
return paddingBox;
|
||||
}
|
||||
};
|
||||
|
||||
export const calculateBackgroundPosition = (
|
||||
position: [Length, Length],
|
||||
size: Size,
|
||||
|
@ -5,6 +5,6 @@ export const parseLetterSpacing = (letterSpacing: string): number => {
|
||||
if (letterSpacing === 'normal') {
|
||||
return 0;
|
||||
}
|
||||
const value = parseInt(letterSpacing, 10);
|
||||
const value = parseFloat(letterSpacing);
|
||||
return isNaN(value) ? 0 : value;
|
||||
};
|
||||
|
209
src/parsing/listStyle.js
Normal file
209
src/parsing/listStyle.js
Normal file
@ -0,0 +1,209 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
|
||||
import type {BackgroundSource} from './background';
|
||||
import {parseBackgroundImage} from './background';
|
||||
|
||||
export type ListStyle = {
|
||||
listStyleType: ListStyleType,
|
||||
listStyleImage: ?BackgroundSource,
|
||||
listStylePosition: ListStylePosition
|
||||
};
|
||||
|
||||
export const LIST_STYLE_POSITION = {
|
||||
INSIDE: 0,
|
||||
OUTSIDE: 1
|
||||
};
|
||||
|
||||
export const LIST_STYLE_TYPE = {
|
||||
NONE: -1,
|
||||
DISC: 0,
|
||||
CIRCLE: 1,
|
||||
SQUARE: 2,
|
||||
DECIMAL: 3,
|
||||
CJK_DECIMAL: 4,
|
||||
DECIMAL_LEADING_ZERO: 5,
|
||||
LOWER_ROMAN: 6,
|
||||
UPPER_ROMAN: 7,
|
||||
LOWER_GREEK: 8,
|
||||
LOWER_ALPHA: 9,
|
||||
UPPER_ALPHA: 10,
|
||||
ARABIC_INDIC: 11,
|
||||
ARMENIAN: 12,
|
||||
BENGALI: 13,
|
||||
CAMBODIAN: 14,
|
||||
CJK_EARTHLY_BRANCH: 15,
|
||||
CJK_HEAVENLY_STEM: 16,
|
||||
CJK_IDEOGRAPHIC: 17,
|
||||
DEVANAGARI: 18,
|
||||
ETHIOPIC_NUMERIC: 19,
|
||||
GEORGIAN: 20,
|
||||
GUJARATI: 21,
|
||||
GURMUKHI: 22,
|
||||
HEBREW: 22,
|
||||
HIRAGANA: 23,
|
||||
HIRAGANA_IROHA: 24,
|
||||
JAPANESE_FORMAL: 25,
|
||||
JAPANESE_INFORMAL: 26,
|
||||
KANNADA: 27,
|
||||
KATAKANA: 28,
|
||||
KATAKANA_IROHA: 29,
|
||||
KHMER: 30,
|
||||
KOREAN_HANGUL_FORMAL: 31,
|
||||
KOREAN_HANJA_FORMAL: 32,
|
||||
KOREAN_HANJA_INFORMAL: 33,
|
||||
LAO: 34,
|
||||
LOWER_ARMENIAN: 35,
|
||||
MALAYALAM: 36,
|
||||
MONGOLIAN: 37,
|
||||
MYANMAR: 38,
|
||||
ORIYA: 39,
|
||||
PERSIAN: 40,
|
||||
SIMP_CHINESE_FORMAL: 41,
|
||||
SIMP_CHINESE_INFORMAL: 42,
|
||||
TAMIL: 43,
|
||||
TELUGU: 44,
|
||||
THAI: 45,
|
||||
TIBETAN: 46,
|
||||
TRAD_CHINESE_FORMAL: 47,
|
||||
TRAD_CHINESE_INFORMAL: 48,
|
||||
UPPER_ARMENIAN: 49,
|
||||
DISCLOSURE_OPEN: 50,
|
||||
DISCLOSURE_CLOSED: 51
|
||||
};
|
||||
|
||||
export type ListStylePosition = $Values<typeof LIST_STYLE_POSITION>;
|
||||
export type ListStyleType = $Values<typeof LIST_STYLE_TYPE>;
|
||||
|
||||
export const parseListStyleType = (type: string): ListStyleType => {
|
||||
switch (type) {
|
||||
case 'disc':
|
||||
return LIST_STYLE_TYPE.DISC;
|
||||
case 'circle':
|
||||
return LIST_STYLE_TYPE.CIRCLE;
|
||||
case 'square':
|
||||
return LIST_STYLE_TYPE.SQUARE;
|
||||
case 'decimal':
|
||||
return LIST_STYLE_TYPE.DECIMAL;
|
||||
case 'cjk-decimal':
|
||||
return LIST_STYLE_TYPE.CJK_DECIMAL;
|
||||
case 'decimal-leading-zero':
|
||||
return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;
|
||||
case 'lower-roman':
|
||||
return LIST_STYLE_TYPE.LOWER_ROMAN;
|
||||
case 'upper-roman':
|
||||
return LIST_STYLE_TYPE.UPPER_ROMAN;
|
||||
case 'lower-greek':
|
||||
return LIST_STYLE_TYPE.LOWER_GREEK;
|
||||
case 'lower-alpha':
|
||||
return LIST_STYLE_TYPE.LOWER_ALPHA;
|
||||
case 'upper-alpha':
|
||||
return LIST_STYLE_TYPE.UPPER_ALPHA;
|
||||
case 'arabic-indic':
|
||||
return LIST_STYLE_TYPE.ARABIC_INDIC;
|
||||
case 'armenian':
|
||||
return LIST_STYLE_TYPE.ARMENIAN;
|
||||
case 'bengali':
|
||||
return LIST_STYLE_TYPE.BENGALI;
|
||||
case 'cambodian':
|
||||
return LIST_STYLE_TYPE.CAMBODIAN;
|
||||
case 'cjk-earthly-branch':
|
||||
return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;
|
||||
case 'cjk-heavenly-stem':
|
||||
return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;
|
||||
case 'cjk-ideographic':
|
||||
return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;
|
||||
case 'devanagari':
|
||||
return LIST_STYLE_TYPE.DEVANAGARI;
|
||||
case 'ethiopic-numeric':
|
||||
return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;
|
||||
case 'georgian':
|
||||
return LIST_STYLE_TYPE.GEORGIAN;
|
||||
case 'gujarati':
|
||||
return LIST_STYLE_TYPE.GUJARATI;
|
||||
case 'gurmukhi':
|
||||
return LIST_STYLE_TYPE.GURMUKHI;
|
||||
case 'hebrew':
|
||||
return LIST_STYLE_TYPE.HEBREW;
|
||||
case 'hiragana':
|
||||
return LIST_STYLE_TYPE.HIRAGANA;
|
||||
case 'hiragana-iroha':
|
||||
return LIST_STYLE_TYPE.HIRAGANA_IROHA;
|
||||
case 'japanese-formal':
|
||||
return LIST_STYLE_TYPE.JAPANESE_FORMAL;
|
||||
case 'japanese-informal':
|
||||
return LIST_STYLE_TYPE.JAPANESE_INFORMAL;
|
||||
case 'kannada':
|
||||
return LIST_STYLE_TYPE.KANNADA;
|
||||
case 'katakana':
|
||||
return LIST_STYLE_TYPE.KATAKANA;
|
||||
case 'katakana-iroha':
|
||||
return LIST_STYLE_TYPE.KATAKANA_IROHA;
|
||||
case 'khmer':
|
||||
return LIST_STYLE_TYPE.KHMER;
|
||||
case 'korean-hangul-formal':
|
||||
return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;
|
||||
case 'korean-hanja-formal':
|
||||
return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;
|
||||
case 'korean-hanja-informal':
|
||||
return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;
|
||||
case 'lao':
|
||||
return LIST_STYLE_TYPE.LAO;
|
||||
case 'lower-armenian':
|
||||
return LIST_STYLE_TYPE.LOWER_ARMENIAN;
|
||||
case 'malayalam':
|
||||
return LIST_STYLE_TYPE.MALAYALAM;
|
||||
case 'mongolian':
|
||||
return LIST_STYLE_TYPE.MONGOLIAN;
|
||||
case 'myanmar':
|
||||
return LIST_STYLE_TYPE.MYANMAR;
|
||||
case 'oriya':
|
||||
return LIST_STYLE_TYPE.ORIYA;
|
||||
case 'persian':
|
||||
return LIST_STYLE_TYPE.PERSIAN;
|
||||
case 'simp-chinese-formal':
|
||||
return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;
|
||||
case 'simp-chinese-informal':
|
||||
return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;
|
||||
case 'tamil':
|
||||
return LIST_STYLE_TYPE.TAMIL;
|
||||
case 'telugu':
|
||||
return LIST_STYLE_TYPE.TELUGU;
|
||||
case 'thai':
|
||||
return LIST_STYLE_TYPE.THAI;
|
||||
case 'tibetan':
|
||||
return LIST_STYLE_TYPE.TIBETAN;
|
||||
case 'trad-chinese-formal':
|
||||
return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;
|
||||
case 'trad-chinese-informal':
|
||||
return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;
|
||||
case 'upper-armenian':
|
||||
return LIST_STYLE_TYPE.UPPER_ARMENIAN;
|
||||
case 'disclosure-open':
|
||||
return LIST_STYLE_TYPE.DISCLOSURE_OPEN;
|
||||
case 'disclosure-closed':
|
||||
return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;
|
||||
case 'none':
|
||||
default:
|
||||
return LIST_STYLE_TYPE.NONE;
|
||||
}
|
||||
};
|
||||
|
||||
export const parseListStyle = (style: CSSStyleDeclaration): ListStyle => {
|
||||
const listStyleImage = parseBackgroundImage(style.getPropertyValue('list-style-image'));
|
||||
return {
|
||||
listStyleType: parseListStyleType(style.getPropertyValue('list-style-type')),
|
||||
listStyleImage: listStyleImage.length ? listStyleImage[0] : null,
|
||||
listStylePosition: parseListStylePosition(style.getPropertyValue('list-style-position'))
|
||||
};
|
||||
};
|
||||
|
||||
const parseListStylePosition = (position: string): ListStylePosition => {
|
||||
switch (position) {
|
||||
case 'inside':
|
||||
return LIST_STYLE_POSITION.INSIDE;
|
||||
case 'outside':
|
||||
default:
|
||||
return LIST_STYLE_POSITION.OUTSIDE;
|
||||
}
|
||||
};
|
11
src/parsing/margin.js
Normal file
11
src/parsing/margin.js
Normal file
@ -0,0 +1,11 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
import Length from '../Length';
|
||||
|
||||
const SIDES = ['top', 'right', 'bottom', 'left'];
|
||||
|
||||
export type Margin = Array<Length>;
|
||||
|
||||
export const parseMargin = (style: CSSStyleDeclaration): Margin => {
|
||||
return SIDES.map(side => new Length(style.getPropertyValue(`margin-${side}`)));
|
||||
};
|
@ -2,6 +2,13 @@
|
||||
'use strict';
|
||||
import Length from '../Length';
|
||||
|
||||
export const PADDING_SIDES = {
|
||||
TOP: 0,
|
||||
RIGHT: 1,
|
||||
BOTTOM: 2,
|
||||
LEFT: 3
|
||||
};
|
||||
|
||||
const SIDES = ['top', 'right', 'bottom', 'left'];
|
||||
|
||||
export type Padding = Array<Length>;
|
||||
|
@ -13,12 +13,23 @@ import type {Matrix} from '../parsing/transform';
|
||||
|
||||
import type {Bounds} from '../Bounds';
|
||||
import type {ImageElement} from '../ResourceLoader';
|
||||
import type {Gradient} from '../Gradient';
|
||||
import type {LinearGradient, RadialGradient} from '../Gradient';
|
||||
import type {TextBounds} from '../TextBounds';
|
||||
|
||||
import {PATH} from '../drawing/Path';
|
||||
import {TEXT_DECORATION_LINE} from '../parsing/textDecoration';
|
||||
|
||||
const addColorStops = (
|
||||
gradient: LinearGradient | RadialGradient,
|
||||
canvasGradient: CanvasGradient
|
||||
): void => {
|
||||
const maxStop = Math.max.apply(null, gradient.colorStops.map(colorStop => colorStop.stop));
|
||||
const f = 1 / Math.max(1, maxStop);
|
||||
gradient.colorStops.forEach(colorStop => {
|
||||
canvasGradient.addColorStop(f * colorStop.stop, colorStop.color.toString());
|
||||
});
|
||||
};
|
||||
|
||||
export default class CanvasRenderer implements RenderTarget<HTMLCanvasElement> {
|
||||
canvas: HTMLCanvasElement;
|
||||
ctx: CanvasRenderingContext2D;
|
||||
@ -131,7 +142,7 @@ export default class CanvasRenderer implements RenderTarget<HTMLCanvasElement> {
|
||||
this.ctx.fillRect(x, y, width, height);
|
||||
}
|
||||
|
||||
renderLinearGradient(bounds: Bounds, gradient: Gradient) {
|
||||
renderLinearGradient(bounds: Bounds, gradient: LinearGradient) {
|
||||
const linearGradient = this.ctx.createLinearGradient(
|
||||
bounds.left + gradient.direction.x1,
|
||||
bounds.top + gradient.direction.y1,
|
||||
@ -139,14 +150,43 @@ export default class CanvasRenderer implements RenderTarget<HTMLCanvasElement> {
|
||||
bounds.top + gradient.direction.y0
|
||||
);
|
||||
|
||||
gradient.colorStops.forEach(colorStop => {
|
||||
linearGradient.addColorStop(colorStop.stop, colorStop.color.toString());
|
||||
});
|
||||
|
||||
addColorStops(gradient, linearGradient);
|
||||
this.ctx.fillStyle = linearGradient;
|
||||
this.ctx.fillRect(bounds.left, bounds.top, bounds.width, bounds.height);
|
||||
}
|
||||
|
||||
renderRadialGradient(bounds: Bounds, gradient: RadialGradient) {
|
||||
const x = bounds.left + gradient.center.x;
|
||||
const y = bounds.top + gradient.center.y;
|
||||
|
||||
const radialGradient = this.ctx.createRadialGradient(x, y, 0, x, y, gradient.radius.x);
|
||||
if (!radialGradient) {
|
||||
return;
|
||||
}
|
||||
|
||||
addColorStops(gradient, radialGradient);
|
||||
this.ctx.fillStyle = radialGradient;
|
||||
|
||||
if (gradient.radius.x !== gradient.radius.y) {
|
||||
// transforms for elliptical radial gradient
|
||||
const midX = bounds.left + 0.5 * bounds.width;
|
||||
const midY = bounds.top + 0.5 * bounds.height;
|
||||
const f = gradient.radius.y / gradient.radius.x;
|
||||
const invF = 1 / f;
|
||||
|
||||
this.transform(midX, midY, [1, 0, 0, f, 0, 0], () =>
|
||||
this.ctx.fillRect(
|
||||
bounds.left,
|
||||
invF * (bounds.top - midY) + midY,
|
||||
bounds.width,
|
||||
bounds.height * invF
|
||||
)
|
||||
);
|
||||
} else {
|
||||
this.ctx.fillRect(bounds.left, bounds.top, bounds.width, bounds.height);
|
||||
}
|
||||
}
|
||||
|
||||
renderRepeat(
|
||||
path: Path,
|
||||
image: ImageElement,
|
||||
@ -174,9 +214,7 @@ export default class CanvasRenderer implements RenderTarget<HTMLCanvasElement> {
|
||||
font.fontWeight,
|
||||
font.fontSize,
|
||||
font.fontFamily
|
||||
]
|
||||
.join(' ')
|
||||
.split(',')[0];
|
||||
].join(' ');
|
||||
|
||||
textBounds.forEach(text => {
|
||||
this.ctx.fillStyle = color.toString();
|
||||
@ -212,7 +250,7 @@ export default class CanvasRenderer implements RenderTarget<HTMLCanvasElement> {
|
||||
const {baseline} = this.options.fontMetrics.getMetrics(font);
|
||||
this.rectangle(
|
||||
text.bounds.left,
|
||||
Math.round(text.bounds.top + baseline),
|
||||
Math.round(text.bounds.top + text.bounds.height - baseline),
|
||||
text.bounds.width,
|
||||
1,
|
||||
textDecorationColor
|
||||
|
@ -18,7 +18,7 @@ import type {Matrix} from '../parsing/transform';
|
||||
|
||||
import type {Bounds} from '../Bounds';
|
||||
import type {ImageElement} from '../ResourceLoader';
|
||||
import type {Gradient} from '../Gradient';
|
||||
import type {LinearGradient, RadialGradient} from '../Gradient';
|
||||
import type {TextBounds} from '../TextBounds';
|
||||
|
||||
import {TEXT_DECORATION_STYLE, TEXT_DECORATION_LINE} from '../parsing/textDecoration';
|
||||
@ -110,7 +110,7 @@ class RefTestRenderer implements RenderTarget<string> {
|
||||
return `Path (${string})`;
|
||||
}
|
||||
|
||||
renderLinearGradient(bounds: Bounds, gradient: Gradient) {
|
||||
renderLinearGradient(bounds: Bounds, gradient: LinearGradient) {
|
||||
const direction = [
|
||||
`x0: ${Math.round(gradient.direction.x0)}`,
|
||||
`x1: ${Math.round(gradient.direction.x1)}`,
|
||||
@ -129,6 +129,19 @@ class RefTestRenderer implements RenderTarget<string> {
|
||||
);
|
||||
}
|
||||
|
||||
renderRadialGradient(bounds: Bounds, gradient: RadialGradient) {
|
||||
const stops = gradient.colorStops.map(
|
||||
stop => `${stop.color.toString()} ${Math.ceil(stop.stop * 100) / 100}`
|
||||
);
|
||||
|
||||
this.writeLine(
|
||||
`RadialGradient: ${this.formatBounds(bounds)} radial-gradient(${gradient.radius
|
||||
.x} ${gradient.radius.y} at ${gradient.center.x} ${gradient.center.y}, ${stops.join(
|
||||
', '
|
||||
)})`
|
||||
);
|
||||
}
|
||||
|
||||
renderRepeat(
|
||||
path: Path,
|
||||
image: ImageElement,
|
||||
|
151
tests/node/gradient.js
Normal file
151
tests/node/gradient.js
Normal file
@ -0,0 +1,151 @@
|
||||
const Gradient = require('../../dist/npm/Gradient');
|
||||
const assert = require('assert');
|
||||
|
||||
describe('Gradient', () => {
|
||||
describe('transformWebkitRadialGradientArgs', () => {
|
||||
it('white, black', () => {
|
||||
assert.equal(Gradient.transformWebkitRadialGradientArgs(['white', 'black'])[0], '');
|
||||
});
|
||||
|
||||
it('circle, white, black', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs(['circle', 'white', 'black'])[0],
|
||||
'circle'
|
||||
);
|
||||
});
|
||||
|
||||
it('10% 30%, white, black', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs(['10% 30%', 'white', 'black'])[0],
|
||||
'10% 30%'
|
||||
);
|
||||
});
|
||||
|
||||
it('30% 30%, closest-corner, white, black', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'30% 30%',
|
||||
'closest-corner',
|
||||
'white',
|
||||
'black'
|
||||
])[0],
|
||||
'closest-corner at 30% 30%'
|
||||
);
|
||||
});
|
||||
|
||||
it('30% 30%, circle closest-corner, white, black', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'30% 30%',
|
||||
'circle closest-corner',
|
||||
'white',
|
||||
'black'
|
||||
])[0],
|
||||
'circle closest-corner at 30% 30%'
|
||||
);
|
||||
});
|
||||
|
||||
it('center, 5em 40px, white, black', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'center',
|
||||
'5em 40px',
|
||||
'white',
|
||||
'black'
|
||||
])[0],
|
||||
'5em 40px at center'
|
||||
);
|
||||
});
|
||||
|
||||
it('45 45, 10, 52 50, 30, from(#A7D30C), to(red)', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'45 45',
|
||||
'10',
|
||||
'52 50',
|
||||
'30',
|
||||
'from(#A7D30C)'
|
||||
])[0],
|
||||
'30px at 52px 50px'
|
||||
);
|
||||
});
|
||||
|
||||
it('75% 19%, ellipse closest-side, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'75% 19%',
|
||||
'ellipse closest-side',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'ellipse closest-side at 75% 19%'
|
||||
);
|
||||
});
|
||||
|
||||
it('75% 19%, circle contain, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'75% 19%',
|
||||
'circle contain',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'circle closest-side at 75% 19%'
|
||||
);
|
||||
});
|
||||
|
||||
it('75% 19%, circle cover, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'75% 19%',
|
||||
'circle cover',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'circle farthest-corner at 75% 19%'
|
||||
);
|
||||
});
|
||||
|
||||
it('right 19%, ellipse cover, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'right 19%',
|
||||
'ellipse cover',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'ellipse farthest-corner at right 19%'
|
||||
);
|
||||
});
|
||||
|
||||
it('left 19%, ellipse cover, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'left 19%',
|
||||
'ellipse cover',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'ellipse farthest-corner at left 19%'
|
||||
);
|
||||
});
|
||||
|
||||
it('left top, circle cover, #ababab, #0000ff 33%,#991f1f 100%', () => {
|
||||
assert.equal(
|
||||
Gradient.transformWebkitRadialGradientArgs([
|
||||
'left top',
|
||||
'circle cover',
|
||||
'#ababab',
|
||||
'#0000ff 33%',
|
||||
'#991f1f 100%'
|
||||
])[0],
|
||||
'circle farthest-corner at left top'
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
111
tests/node/pseudonodecontent.js
Normal file
111
tests/node/pseudonodecontent.js
Normal file
@ -0,0 +1,111 @@
|
||||
const PseudoNodeContent = require('../../dist/npm/PseudoNodeContent');
|
||||
const assert = require('assert');
|
||||
|
||||
describe('PseudoNodeContent', function() {
|
||||
it('should parse string', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"hello"'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: 'hello'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse string with (,)', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"a,b (c) d"'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: 'a,b (c) d'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse string with escaped quotes', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"3.14\\""'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: '3.14"'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse string with escape', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"a\\) \\\\ b"'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: 'a) \\ b'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse two strings', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"hello" \'world\''), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: 'hello'},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: 'world'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse counter', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('counter(x)'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.COUNTER, name: 'x'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse counters', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('counters(x, "-")'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.COUNTERS, name: 'x', glue: '-'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse strings and counters', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('"["counters(c2, " < ") \']\''), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: '['},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.COUNTERS, name: 'c2', glue: ' < '},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: ']'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse counter with format', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('counter(x, lower-greek)'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.COUNTER, name: 'x', format: 'lower-greek'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse counters with format', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('counters(x, "-", upper-roman)'), [
|
||||
{
|
||||
type: PseudoNodeContent.TOKEN_TYPE.COUNTERS,
|
||||
name: 'x',
|
||||
glue: '-',
|
||||
format: 'upper-roman'
|
||||
}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse strings and counters with format', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent("\"[\"counters(c2, ' < ', disc) ']'"), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: '['},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.COUNTERS, name: 'c2', glue: ' < ', format: 'disc'},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: ']'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse attr', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('attr(id)'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.ATTRIBUTE, value: 'id'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse url', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('url(http://www.abc.de/f/g.png)'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.URL, value: 'http://www.abc.de/f/g.png'}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse open-quote', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('open-quote'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.OPENQUOTE}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse close-quote', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('close-quote'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.CLOSEQUOTE}
|
||||
]);
|
||||
});
|
||||
|
||||
it('should parse open-quote and string', function() {
|
||||
assert.deepEqual(PseudoNodeContent.parseContent('open-quote "!"'), [
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.OPENQUOTE},
|
||||
{type: PseudoNodeContent.TOKEN_TYPE.STRING, value: '!'}
|
||||
]);
|
||||
});
|
||||
});
|
@ -1,145 +0,0 @@
|
||||
Window: [800, 1496]
|
||||
Rectangle: [0, 0, 800, 1496] rgb(255,255,255)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 96, y: 130) > Vector(x: 216, y: 130) > Vector(x: 216, y: 142) > Vector(x: 96, y: 142))
|
||||
Fill: rgb(255,0,0)
|
||||
Repeat: Image ("/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4%2F58BAAT%2FAf9jgNErAAAAAElF") [108, 130] Size (1, 1) Path (Vector(x: 96, y: 130) > Vector(x: 216, y: 130) > Vector(x: 216, y: 142) > Vector(x: 96, y: 142))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 96, y: 130) > Vector(x: 216, y: 130) > Vector(x: 204, y: 130) > Vector(x: 108, y: 130))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 216, y: 130) > Vector(x: 216, y: 142) > Vector(x: 204, y: 142) > Vector(x: 204, y: 130))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 96, y: 238) > Vector(x: 216, y: 238) > Vector(x: 216, y: 250) > Vector(x: 96, y: 250))
|
||||
Fill: rgb(255,255,0)
|
||||
Repeat: Image ("/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9") [108, 238] Size (64, 64) Path (Vector(x: 108, y: 238) > Vector(x: 172, y: 238) > Vector(x: 172, y: 302) > Vector(x: 108, y: 302))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 96, y: 238) > Vector(x: 216, y: 238) > Vector(x: 204, y: 238) > Vector(x: 108, y: 238))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 216, y: 238) > Vector(x: 216, y: 250) > Vector(x: 204, y: 250) > Vector(x: 204, y: 238))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 108, y: 250) > Vector(x: 204, y: 250) > Vector(x: 204, y: 262) > Vector(x: 108, y: 262))
|
||||
Fill: rgb(255,255,0)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 108, y: 250) > Vector(x: 204, y: 250) > Vector(x: 180, y: 250) > Vector(x: 132, y: 250))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 204, y: 250) > Vector(x: 204, y: 262) > Vector(x: 180, y: 262) > Vector(x: 180, y: 250))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 204, y: 262) > Vector(x: 108, y: 262) > Vector(x: 132, y: 262) > Vector(x: 180, y: 262))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 108, y: 262) > Vector(x: 108, y: 250) > Vector(x: 132, y: 250) > Vector(x: 132, y: 262))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 132, y: 262) > Vector(x: 180, y: 262) > Vector(x: 180, y: 274) > Vector(x: 132, y: 274))
|
||||
Fill: rgb(255,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 132, y: 262) > Vector(x: 144, y: 262) > Vector(x: 144, y: 274) > Vector(x: 132, y: 274))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 144, y: 262) > Vector(x: 156, y: 262) > Vector(x: 156, y: 274) > Vector(x: 144, y: 274))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 156, y: 262) > Vector(x: 168, y: 262) > Vector(x: 168, y: 274) > Vector(x: 156, y: 274))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 168, y: 262) > Vector(x: 180, y: 262) > Vector(x: 180, y: 274) > Vector(x: 168, y: 274))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 72, y: 166) > Vector(x: 240, y: 166) > Vector(x: 228, y: 166) > Vector(x: 84, y: 166))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 166) > Vector(x: 240, y: 214) > Vector(x: 228, y: 202) > Vector(x: 228, y: 166))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 214) > Vector(x: 72, y: 214) > Vector(x: 84, y: 202) > Vector(x: 228, y: 202))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 84, y: 166) > Vector(x: 228, y: 166) > Vector(x: 228, y: 214) > Vector(x: 84, y: 214))
|
||||
Fill: rgb(255,255,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 144, y: 178) > Vector(x: 168, y: 178) > Vector(x: 168, y: 202) > Vector(x: 144, y: 202))
|
||||
Fill: rgb(255,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 144, y: 178) > Vector(x: 168, y: 178) > Vector(x: 156, y: 178) > Vector(x: 156, y: 178))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 168, y: 178) > Vector(x: 168, y: 190) > Vector(x: 156, y: 178) > Vector(x: 156, y: 178))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 168, y: 190) > Vector(x: 144, y: 190) > Vector(x: 156, y: 178) > Vector(x: 156, y: 178))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 144, y: 190) > Vector(x: 168, y: 190) > Vector(x: 156, y: 202) > Vector(x: 156, y: 202))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 168, y: 190) > Vector(x: 168, y: 202) > Vector(x: 156, y: 202) > Vector(x: 156, y: 202))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 168, y: 202) > Vector(x: 144, y: 202) > Vector(x: 156, y: 202) > Vector(x: 156, y: 202))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496)) | Path (Vector(x: 48, y: 274) > Vector(x: 788, y: 274) > Vector(x: 788, y: 284) > Vector(x: 48, y: 284))
|
||||
Clip: Path (Vector(x: 48, y: 429) > Vector(x: 112, y: 429) > Vector(x: 112, y: 493) > Vector(x: 48, y: 493))
|
||||
Draw image: Image ("/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAFSDNYfAAAAaklEQVR42u3XQQrAIAwAQeP%2F%2F6wf8CJBJTK9") (source: [0, 0, 64, 64]) (destination: [0, 0, 64, 64])
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 132, y: 108) > Vector(x: 180, y: 108) > Vector(x: 180, y: 126) > Vector(x: 132, y: 126))
|
||||
Fill: rgb(0,0,0)
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 132, y: 108) > Vector(x: 180, y: 108) > Vector(x: 180, y: 108) > Vector(x: 132, y: 108))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 132, y: 144) > Vector(x: 180, y: 144) > Vector(x: 180, y: 157) > Vector(x: 132, y: 157))
|
||||
Fill: rgb(0,0,0)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 132, y: 144) > Vector(x: 180, y: 144) > Vector(x: 180, y: 144) > Vector(x: 132, y: 144))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 108, y: 118) > Vector(x: 204, y: 118) > Vector(x: 180, y: 118) > Vector(x: 132, y: 118))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 204, y: 118) > Vector(x: 204, y: 130) > Vector(x: 180, y: 130) > Vector(x: 180, y: 118))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 132, y: 118) > Vector(x: 180, y: 118) > Vector(x: 180, y: 130) > Vector(x: 132, y: 130))
|
||||
Fill: rgb(255,255,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 228, y: 166) > Vector(x: 84, y: 166))
|
||||
Fill: rgb(255,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 228, y: 166) > Vector(x: 84, y: 166))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 228, y: 142) > Vector(x: 108, y: 142))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 228, y: 166) > Vector(x: 84, y: 166))
|
||||
Repeat: Image ("/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAABnRSTlMAAAAAAABupgeRAAAABmJLR0QA%2FwD%2F") [96, 142] Size (2, 2) Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 228, y: 166) > Vector(x: 84, y: 166))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 84, y: 142) > Vector(x: 228, y: 142) > Vector(x: 216, y: 142) > Vector(x: 96, y: 142))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 228, y: 142) > Vector(x: 228, y: 166) > Vector(x: 216, y: 166) > Vector(x: 216, y: 142))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 84, y: 214) > Vector(x: 228, y: 214) > Vector(x: 228, y: 238) > Vector(x: 84, y: 238))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 96, y: 214) > Vector(x: 216, y: 214) > Vector(x: 216, y: 238) > Vector(x: 96, y: 238))
|
||||
Fill: rgb(0,0,0)
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 96, y: 214) > Vector(x: 216, y: 214) > Vector(x: 204, y: 226) > Vector(x: 108, y: 226))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 216, y: 214) > Vector(x: 216, y: 238) > Vector(x: 204, y: 226) > Vector(x: 204, y: 226))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 216, y: 238) > Vector(x: 96, y: 238) > Vector(x: 108, y: 226) > Vector(x: 204, y: 226))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 96, y: 238) > Vector(x: 96, y: 214) > Vector(x: 108, y: 226) > Vector(x: 108, y: 226))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 108, y: 214) > Vector(x: 204, y: 214) > Vector(x: 204, y: 226) > Vector(x: 108, y: 226))
|
||||
Fill: rgb(0,0,0)
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Shape: rgb(255,255,0) Path (Vector(x: 120, y: 214) > Vector(x: 192, y: 214) > Vector(x: 192, y: 226) > Vector(x: 120, y: 226))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 192, y: 214) > Vector(x: 192, y: 238) > Vector(x: 192, y: 226) > Vector(x: 192, y: 226))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
||||
Clip: Path (Vector(x: 0, y: 0) > Vector(x: 800, y: 0) > Vector(x: 800, y: 1496) > Vector(x: 0, y: 1496))
|
@ -1,29 +0,0 @@
|
||||
Window: [800, 1568]
|
||||
Rectangle: [0, 0, 800, 1568] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 1048) > Vector(x: 8, y: 1048))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 278, y: 18) > Vector(x: 278, y: 258) > Vector(x: 18, y: 258))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [58, 28] Size (75, 75) Path (Vector(x: 18, y: 18) > Vector(x: 278, y: 18) > Vector(x: 278, y: 258) > Vector(x: 18, y: 258))
|
||||
Clip: Path (Vector(x: 338, y: 28) > Vector(x: 538, y: 28) > Vector(x: 538, y: 228) > Vector(x: 338, y: 228))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [338, 28] Size (75, 75) Path (Vector(x: 298, y: 18) > Vector(x: 558, y: 18) > Vector(x: 558, y: 258) > Vector(x: 298, y: 258))
|
||||
Clip: Path (Vector(x: 58, y: 288) > Vector(x: 258, y: 288) > Vector(x: 258, y: 488) > Vector(x: 58, y: 488))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [58, 288] Size (75, 75) Path (Vector(x: 18, y: 278) > Vector(x: 278, y: 278) > Vector(x: 278, y: 518) > Vector(x: 18, y: 518))
|
||||
Clip: Path (Vector(x: 298, y: 278) > Vector(x: 558, y: 278) > Vector(x: 558, y: 518) > Vector(x: 298, y: 518))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [338, 288] Size (75, 75) Path (Vector(x: 298, y: 278) > Vector(x: 558, y: 278) > Vector(x: 558, y: 518) > Vector(x: 298, y: 518))
|
||||
Clip: Path (Vector(x: 18, y: 538) > Vector(x: 278, y: 538) > Vector(x: 278, y: 778) > Vector(x: 18, y: 778))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [58, 548] Size (75, 75) Path (Vector(x: 58, y: 548) > Vector(x: 133, y: 548) > Vector(x: 133, y: 623) > Vector(x: 58, y: 623))
|
||||
Clip: Path (Vector(x: 338, y: 548) > Vector(x: 538, y: 548) > Vector(x: 538, y: 748) > Vector(x: 338, y: 748))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [338, 548] Size (75, 75) Path (Vector(x: 338, y: 538) > Vector(x: 413, y: 538) > Vector(x: 413, y: 778) > Vector(x: 338, y: 778))
|
||||
Clip: Path (Vector(x: 58, y: 808) > Vector(x: 258, y: 808) > Vector(x: 258, y: 1008) > Vector(x: 58, y: 1008))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [58, 808] Size (75, 75) Path (Vector(x: 18, y: 808) > Vector(x: 278, y: 808) > Vector(x: 278, y: 883) > Vector(x: 18, y: 883))
|
||||
Clip: Path (Vector(x: 298, y: 798) > Vector(x: 558, y: 798) > Vector(x: 558, y: 1038) > Vector(x: 298, y: 1038))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [338, 808] Size (75, 75) Path (Vector(x: 338, y: 808) > Vector(x: 413, y: 808) > Vector(x: 413, y: 883) > Vector(x: 338, y: 883))
|
||||
Clip: Path (Vector(x: 18, y: 1058) > Vector(x: 278, y: 1058) > Vector(x: 278, y: 1298) > Vector(x: 18, y: 1298))
|
||||
Fill: rgb(0,128,0)
|
||||
Clip: Path (Vector(x: 338, y: 1068) > Vector(x: 538, y: 1068) > Vector(x: 538, y: 1268) > Vector(x: 338, y: 1268))
|
||||
Fill: rgb(0,128,0)
|
||||
Clip: Path (Vector(x: 58, y: 1328) > Vector(x: 258, y: 1328) > Vector(x: 258, y: 1528) > Vector(x: 58, y: 1528))
|
||||
Fill: rgb(0,128,0)
|
||||
Clip: Path (Vector(x: 298, y: 1318) > Vector(x: 558, y: 1318) > Vector(x: 558, y: 1558) > Vector(x: 298, y: 1558))
|
||||
Fill: rgb(0,128,0)
|
@ -1,11 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 8) > Vector(x: 8, y: 8))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Repeat: Image ("/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4") [19, 19] Size (75, 75) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 219, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 219, y: 219) > Vector(x: 219, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 219, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
@ -1,133 +0,0 @@
|
||||
Window: [820, 1828]
|
||||
Rectangle: [0, 0, 820, 1828] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 230, y: 18) > Vector(x: 230, y: 220) > Vector(x: 18, y: 220))
|
||||
Gradient: [18, 18, 212, 202] linear-gradient(x0: 207, x1: 5, y0: 207, y1: -5 rgb(255,0,0) 0, rgb(0,0,255) 0.34, rgb(186,218,85) 0.67, rgba(0,0,255,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 230, y: 18) > Vector(x: 229, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 18) > Vector(x: 230, y: 220) > Vector(x: 229, y: 219) > Vector(x: 229, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 229, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
||||
Clip: Path (Vector(x: 250, y: 18) > Vector(x: 462, y: 18) > Vector(x: 462, y: 220) > Vector(x: 250, y: 220))
|
||||
Gradient: [250, 18, 212, 202] linear-gradient(x0: 106, x1: 106, y0: 202, y1: 0 rgb(252,252,252) 0, rgb(232,232,232) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 18) > Vector(x: 462, y: 18) > Vector(x: 461, y: 19) > Vector(x: 251, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 18) > Vector(x: 462, y: 220) > Vector(x: 461, y: 219) > Vector(x: 461, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 220) > Vector(x: 250, y: 220) > Vector(x: 251, y: 219) > Vector(x: 461, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 220) > Vector(x: 250, y: 18) > Vector(x: 251, y: 19) > Vector(x: 251, y: 219))
|
||||
Clip: Path (Vector(x: 482, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 220) > Vector(x: 482, y: 220))
|
||||
Gradient: [482, 18, 212, 202] linear-gradient(x0: 212, x1: 0, y0: 101, y1: 101 rgb(255,0,0) 0, rgb(255,255,0) 0.5, rgb(0,255,0) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 18) > Vector(x: 694, y: 18) > Vector(x: 693, y: 19) > Vector(x: 483, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 220) > Vector(x: 693, y: 219) > Vector(x: 693, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 220) > Vector(x: 482, y: 220) > Vector(x: 483, y: 219) > Vector(x: 693, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 220) > Vector(x: 482, y: 18) > Vector(x: 483, y: 19) > Vector(x: 483, y: 219))
|
||||
Clip: Path (Vector(x: 18, y: 240) > Vector(x: 230, y: 240) > Vector(x: 230, y: 442) > Vector(x: 18, y: 442))
|
||||
Gradient: [18, 240, 212, 202] linear-gradient(x0: 212, x1: 0, y0: 101, y1: 101 rgb(206,219,233) 0, rgb(170,197,222) 0.17, rgb(97,153,199) 0.5, rgb(58,132,195) 0.51, rgb(65,154,214) 0.59, rgb(75,184,240) 0.71, rgb(58,139,194) 0.84, rgb(38,85,139) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 240) > Vector(x: 230, y: 240) > Vector(x: 229, y: 241) > Vector(x: 19, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 240) > Vector(x: 230, y: 442) > Vector(x: 229, y: 441) > Vector(x: 229, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 442) > Vector(x: 18, y: 442) > Vector(x: 19, y: 441) > Vector(x: 229, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 442) > Vector(x: 18, y: 240) > Vector(x: 19, y: 241) > Vector(x: 19, y: 441))
|
||||
Clip: Path (Vector(x: 250, y: 240) > Vector(x: 462, y: 240) > Vector(x: 462, y: 442) > Vector(x: 250, y: 442))
|
||||
Gradient: [250, 240, 212, 202] linear-gradient(x0: 106, x1: 106, y0: 202, y1: 0 rgb(240,183,161) 0, rgb(140,51,16) 0.5, rgb(117,34,1) 0.51, rgb(191,110,78) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 240) > Vector(x: 462, y: 240) > Vector(x: 461, y: 241) > Vector(x: 251, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 240) > Vector(x: 462, y: 442) > Vector(x: 461, y: 441) > Vector(x: 461, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 442) > Vector(x: 250, y: 442) > Vector(x: 251, y: 441) > Vector(x: 461, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 442) > Vector(x: 250, y: 240) > Vector(x: 251, y: 241) > Vector(x: 251, y: 441))
|
||||
Clip: Path (Vector(x: 482, y: 240) > Vector(x: 694, y: 240) > Vector(x: 694, y: 442) > Vector(x: 482, y: 442))
|
||||
Gradient: [482, 240, 212, 202] linear-gradient(x0: 212, x1: 0, y0: 101, y1: 101 rgb(206,219,233) 0, rgb(170,197,222) 0.17, rgb(97,153,199) 0.5, rgb(58,132,195) 0.51, rgb(65,154,214) 0.76, rgb(38,85,139) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 240) > Vector(x: 694, y: 240) > Vector(x: 693, y: 241) > Vector(x: 483, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 240) > Vector(x: 694, y: 442) > Vector(x: 693, y: 441) > Vector(x: 693, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 442) > Vector(x: 482, y: 442) > Vector(x: 483, y: 441) > Vector(x: 693, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 442) > Vector(x: 482, y: 240) > Vector(x: 483, y: 241) > Vector(x: 483, y: 441))
|
||||
Clip: Path (Vector(x: 18, y: 462) > Vector(x: 230, y: 462) > Vector(x: 230, y: 664) > Vector(x: 18, y: 664))
|
||||
Gradient: [18, 462, 212, 202] linear-gradient(x0: 106, x1: 106, y0: 202, y1: 0 rgb(204,229,244) 0, rgb(0,38,60) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 462) > Vector(x: 230, y: 462) > Vector(x: 229, y: 463) > Vector(x: 19, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 462) > Vector(x: 230, y: 664) > Vector(x: 229, y: 663) > Vector(x: 229, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 664) > Vector(x: 18, y: 664) > Vector(x: 19, y: 663) > Vector(x: 229, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 664) > Vector(x: 18, y: 462) > Vector(x: 19, y: 463) > Vector(x: 19, y: 663))
|
||||
Clip: Path (Vector(x: 250, y: 462) > Vector(x: 462, y: 462) > Vector(x: 462, y: 664) > Vector(x: 250, y: 664))
|
||||
Gradient: [250, 462, 212, 202] linear-gradient(x0: 5, x1: 207, y0: 207, y1: -5 rgb(255,255,255) 0, rgb(0,38,60) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 462) > Vector(x: 462, y: 462) > Vector(x: 461, y: 463) > Vector(x: 251, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 462) > Vector(x: 462, y: 664) > Vector(x: 461, y: 663) > Vector(x: 461, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 664) > Vector(x: 250, y: 664) > Vector(x: 251, y: 663) > Vector(x: 461, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 664) > Vector(x: 250, y: 462) > Vector(x: 251, y: 463) > Vector(x: 251, y: 663))
|
||||
Clip: Path (Vector(x: 482, y: 462) > Vector(x: 694, y: 462) > Vector(x: 694, y: 664) > Vector(x: 482, y: 664))
|
||||
Gradient: [482, 462, 212, 202] linear-gradient(x0: 5, x1: 207, y0: 207, y1: -5 rgb(0,0,255) 0, rgb(255,0,0) 0.17, rgb(0,128,0) 0.67, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 462) > Vector(x: 694, y: 462) > Vector(x: 693, y: 463) > Vector(x: 483, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 462) > Vector(x: 694, y: 664) > Vector(x: 693, y: 663) > Vector(x: 693, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 664) > Vector(x: 482, y: 664) > Vector(x: 483, y: 663) > Vector(x: 693, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 664) > Vector(x: 482, y: 462) > Vector(x: 483, y: 463) > Vector(x: 483, y: 663))
|
||||
Clip: Path (Vector(x: 18, y: 684) > Vector(x: 230, y: 684) > Vector(x: 230, y: 886) > Vector(x: 18, y: 886))
|
||||
Gradient: [18, 684, 212, 202] linear-gradient(x0: 5, x1: 207, y0: -5, y1: 207 rgb(0,0,255) 0, rgb(255,0,0) 0.17, rgb(0,128,0) 0.67, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 684) > Vector(x: 230, y: 684) > Vector(x: 229, y: 685) > Vector(x: 19, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 684) > Vector(x: 230, y: 886) > Vector(x: 229, y: 885) > Vector(x: 229, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 886) > Vector(x: 18, y: 886) > Vector(x: 19, y: 885) > Vector(x: 229, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 886) > Vector(x: 18, y: 684) > Vector(x: 19, y: 685) > Vector(x: 19, y: 885))
|
||||
Clip: Path (Vector(x: 250, y: 684) > Vector(x: 462, y: 684) > Vector(x: 462, y: 886) > Vector(x: 250, y: 886))
|
||||
Gradient: [250, 684, 212, 202] linear-gradient(x0: 207, x1: 5, y0: 207, y1: -5 rgb(0,0,255) 0, rgb(255,0,0) 0.17, rgb(0,128,0) 0.67, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 684) > Vector(x: 462, y: 684) > Vector(x: 461, y: 685) > Vector(x: 251, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 684) > Vector(x: 462, y: 886) > Vector(x: 461, y: 885) > Vector(x: 461, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 886) > Vector(x: 250, y: 886) > Vector(x: 251, y: 885) > Vector(x: 461, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 886) > Vector(x: 250, y: 684) > Vector(x: 251, y: 685) > Vector(x: 251, y: 885))
|
||||
Clip: Path (Vector(x: 482, y: 684) > Vector(x: 694, y: 684) > Vector(x: 694, y: 886) > Vector(x: 482, y: 886))
|
||||
Gradient: [482, 684, 212, 202] linear-gradient(x0: 207, x1: 5, y0: -5, y1: 207 rgb(0,0,255) 0, rgb(255,0,0) 0.17, rgb(0,128,0) 0.67, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 684) > Vector(x: 694, y: 684) > Vector(x: 693, y: 685) > Vector(x: 483, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 684) > Vector(x: 694, y: 886) > Vector(x: 693, y: 885) > Vector(x: 693, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 886) > Vector(x: 482, y: 886) > Vector(x: 483, y: 885) > Vector(x: 693, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 886) > Vector(x: 482, y: 684) > Vector(x: 483, y: 685) > Vector(x: 483, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 906) > Vector(x: 782, y: 906) > Vector(x: 781, y: 907) > Vector(x: 19, y: 907))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 782, y: 906) > Vector(x: 782, y: 1152) > Vector(x: 781, y: 1151) > Vector(x: 781, y: 907))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 782, y: 1152) > Vector(x: 18, y: 1152) > Vector(x: 19, y: 1151) > Vector(x: 781, y: 1151))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1152) > Vector(x: 18, y: 906) > Vector(x: 19, y: 907) > Vector(x: 19, y: 1151))
|
||||
Clip: Path (Vector(x: 29, y: 917) > Vector(x: 231, y: 917) > Vector(x: 231, y: 1019) > Vector(x: 29, y: 1019))
|
||||
Gradient: [29, 917, 202, 102] linear-gradient(x0: 60, x1: 142, y0: 132, y1: -30 rgb(0,0,255) 0, rgb(255,0,0) 0.25, rgb(0,128,0) 0.98, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 29, y: 917) > Vector(x: 231, y: 917) > Vector(x: 230, y: 918) > Vector(x: 30, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 231, y: 917) > Vector(x: 231, y: 1019) > Vector(x: 230, y: 1018) > Vector(x: 230, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 231, y: 1019) > Vector(x: 29, y: 1019) > Vector(x: 30, y: 1018) > Vector(x: 230, y: 1018))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 29, y: 1019) > Vector(x: 29, y: 917) > Vector(x: 30, y: 918) > Vector(x: 30, y: 1018))
|
||||
Clip: Path (Vector(x: 251, y: 917) > Vector(x: 453, y: 917) > Vector(x: 453, y: 1019) > Vector(x: 251, y: 1019))
|
||||
Gradient: [251, 917, 202, 102] linear-gradient(x0: 60, x1: 142, y0: -30, y1: 132 rgb(0,0,255) 0, rgb(255,0,0) 0.25, rgb(0,128,0) 0.98, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 251, y: 917) > Vector(x: 453, y: 917) > Vector(x: 452, y: 918) > Vector(x: 252, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 453, y: 917) > Vector(x: 453, y: 1019) > Vector(x: 452, y: 1018) > Vector(x: 452, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 453, y: 1019) > Vector(x: 251, y: 1019) > Vector(x: 252, y: 1018) > Vector(x: 452, y: 1018))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 251, y: 1019) > Vector(x: 251, y: 917) > Vector(x: 252, y: 918) > Vector(x: 252, y: 1018))
|
||||
Clip: Path (Vector(x: 473, y: 917) > Vector(x: 675, y: 917) > Vector(x: 675, y: 1019) > Vector(x: 473, y: 1019))
|
||||
Gradient: [473, 917, 202, 102] linear-gradient(x0: 142, x1: 60, y0: 132, y1: -30 rgb(0,0,255) 0, rgb(255,0,0) 0.25, rgb(0,128,0) 0.98, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 473, y: 917) > Vector(x: 675, y: 917) > Vector(x: 674, y: 918) > Vector(x: 474, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 675, y: 917) > Vector(x: 675, y: 1019) > Vector(x: 674, y: 1018) > Vector(x: 674, y: 918))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 675, y: 1019) > Vector(x: 473, y: 1019) > Vector(x: 474, y: 1018) > Vector(x: 674, y: 1018))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 473, y: 1019) > Vector(x: 473, y: 917) > Vector(x: 474, y: 918) > Vector(x: 474, y: 1018))
|
||||
Clip: Path (Vector(x: 29, y: 1039) > Vector(x: 231, y: 1039) > Vector(x: 231, y: 1141) > Vector(x: 29, y: 1141))
|
||||
Gradient: [29, 1039, 202, 102] linear-gradient(x0: 142, x1: 60, y0: -30, y1: 132 rgb(0,0,255) 0, rgb(255,0,0) 0.25, rgb(0,128,0) 0.98, rgba(0,0,0,0.5) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 29, y: 1039) > Vector(x: 231, y: 1039) > Vector(x: 230, y: 1040) > Vector(x: 30, y: 1040))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 231, y: 1039) > Vector(x: 231, y: 1141) > Vector(x: 230, y: 1140) > Vector(x: 230, y: 1040))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 231, y: 1141) > Vector(x: 29, y: 1141) > Vector(x: 30, y: 1140) > Vector(x: 230, y: 1140))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 29, y: 1141) > Vector(x: 29, y: 1039) > Vector(x: 30, y: 1040) > Vector(x: 30, y: 1140))
|
||||
Clip: Path (Vector(x: 18, y: 1172) > Vector(x: 230, y: 1172) > Vector(x: 230, y: 1374) > Vector(x: 18, y: 1374))
|
||||
Gradient: [18, 1172, 212, 202] linear-gradient(x0: 5, x1: 207, y0: -5, y1: 207 rgb(255,255,255) 0, rgb(0,0,0) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1172) > Vector(x: 230, y: 1172) > Vector(x: 229, y: 1173) > Vector(x: 19, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 1172) > Vector(x: 230, y: 1374) > Vector(x: 229, y: 1373) > Vector(x: 229, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 1374) > Vector(x: 18, y: 1374) > Vector(x: 19, y: 1373) > Vector(x: 229, y: 1373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1374) > Vector(x: 18, y: 1172) > Vector(x: 19, y: 1173) > Vector(x: 19, y: 1373))
|
||||
Clip: Path (Vector(x: 250, y: 1172) > Vector(x: 462, y: 1172) > Vector(x: 462, y: 1374) > Vector(x: 250, y: 1374))
|
||||
Gradient: [250, 1172, 212, 202] linear-gradient(x0: 156, x1: 56, y0: -23, y1: 225 rgb(255,255,0) 0, rgb(0,0,255) 0.3, rgb(255,0,0) 0.6, rgb(0,0,255) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 1172) > Vector(x: 462, y: 1172) > Vector(x: 461, y: 1173) > Vector(x: 251, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 1172) > Vector(x: 462, y: 1374) > Vector(x: 461, y: 1373) > Vector(x: 461, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 1374) > Vector(x: 250, y: 1374) > Vector(x: 251, y: 1373) > Vector(x: 461, y: 1373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 250, y: 1374) > Vector(x: 250, y: 1172) > Vector(x: 251, y: 1173) > Vector(x: 251, y: 1373))
|
||||
Clip: Path (Vector(x: 482, y: 1172) > Vector(x: 694, y: 1172) > Vector(x: 694, y: 1374) > Vector(x: 482, y: 1374))
|
||||
Gradient: [482, 1172, 212, 202] linear-gradient(x0: 106, x1: 106, y0: 202, y1: 0 rgb(255,255,0) 0, rgb(255,0,0) 0.6, rgb(0,0,255) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 1172) > Vector(x: 694, y: 1172) > Vector(x: 693, y: 1173) > Vector(x: 483, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 1172) > Vector(x: 694, y: 1374) > Vector(x: 693, y: 1373) > Vector(x: 693, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 1374) > Vector(x: 482, y: 1374) > Vector(x: 483, y: 1373) > Vector(x: 693, y: 1373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 482, y: 1374) > Vector(x: 482, y: 1172) > Vector(x: 483, y: 1173) > Vector(x: 483, y: 1373))
|
||||
Clip: Path (Vector(x: 18, y: 1394) > Vector(x: 230, y: 1394) > Vector(x: 230, y: 1596) > Vector(x: 18, y: 1596))
|
||||
Gradient: [18, 1394, 212, 202] linear-gradient(x0: 219, x1: -7, y0: 92, y1: 110 rgb(255,255,0) 0, rgb(255,165,0) 0.3, rgb(255,0,0) 0.6, rgb(0,0,255) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1394) > Vector(x: 230, y: 1394) > Vector(x: 229, y: 1395) > Vector(x: 19, y: 1395))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 1394) > Vector(x: 230, y: 1596) > Vector(x: 229, y: 1595) > Vector(x: 229, y: 1395))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 230, y: 1596) > Vector(x: 18, y: 1596) > Vector(x: 19, y: 1595) > Vector(x: 229, y: 1595))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1596) > Vector(x: 18, y: 1394) > Vector(x: 19, y: 1395) > Vector(x: 19, y: 1595))
|
||||
Clip: Path (Vector(x: 18, y: 1616) > Vector(x: 820, y: 1616) > Vector(x: 820, y: 1818) > Vector(x: 18, y: 1818))
|
||||
Gradient: [18, 1616, 802, 202] linear-gradient(x0: 346, x1: 456, y0: -96, y1: 298 rgb(255,255,0) 0, rgb(255,0,0) 0.6, rgb(0,0,255) 1)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1616) > Vector(x: 820, y: 1616) > Vector(x: 819, y: 1617) > Vector(x: 19, y: 1617))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 820, y: 1616) > Vector(x: 820, y: 1818) > Vector(x: 819, y: 1817) > Vector(x: 819, y: 1617))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 820, y: 1818) > Vector(x: 18, y: 1818) > Vector(x: 19, y: 1817) > Vector(x: 819, y: 1817))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1818) > Vector(x: 18, y: 1616) > Vector(x: 19, y: 1617) > Vector(x: 19, y: 1817))
|
42
tests/reftests/background/linear-gradient2.html
Normal file
42
tests/reftests/background/linear-gradient2.html
Normal file
@ -0,0 +1,42 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Background attribute tests</title>
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
background-color: blanchedalmond;
|
||||
}
|
||||
|
||||
div {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
padding: 10px;
|
||||
border: 15px solid black;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="background: -webkit-linear-gradient(90deg, blue, red);"></div>
|
||||
<div style="background: linear-gradient(90deg, blue, red);"></div>
|
||||
<div style="background: linear-gradient(45deg, blue, red);"></div>
|
||||
<div style="background: linear-gradient(45deg, blue, red); width:200px;"></div>
|
||||
<div style="background-image: linear-gradient(45deg, blue, red); background-position: 20px 30px; background-size: 60px; background-repeat: no-repeat"></div>
|
||||
<div style="background-image: linear-gradient(45deg, blue, red); background-position: 20px 30px; background-size: 60px;"></div>
|
||||
<div style="background-image: linear-gradient(45deg, blue, red);padding:0"></div>
|
||||
<div style="background: linear-gradient(red, red 60%, blue);"></div>
|
||||
<div style="background: linear-gradient(90deg, red 60%, blue);"></div>
|
||||
<div style="background: linear-gradient(135deg, red, red 60%, blue);"></div>
|
||||
<div style="background: linear-gradient(to right, red, red 60%, blue);"></div>
|
||||
<div style="background: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);"></div>
|
||||
<div style="background: linear-gradient(60deg, yellow 0%, orange 10%, red 50%, blue 90%, cyan 100%);"></div>
|
||||
<div style="background: linear-gradient(45deg, yellow 0%, orange 10%, red 50%, blue 90%, cyan 100%); background-origin: content-box"></div>
|
||||
<div style="background: linear-gradient(90deg, yellow 0%, orange 10%, red 50%, blue 90%, cyan 100%); background-origin: padding-box"></div>
|
||||
<div style="background: linear-gradient(90deg, yellow 0%, orange 10%, red 50%, blue 90%, cyan 100%); background-origin: border-box"></div>
|
||||
<div style="background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); "></div>
|
||||
<div style="background: linear-gradient(90deg, yellow 0%, orange 10%, red 50%, blue 90%, cyan 100%) content-box;"></div>
|
||||
<div style="background: linear-gradient(60deg, hsla(120,80%,50%,0.8) 0%, transparent 50%, rgba(255,100,100,0.5) 100%);"></div>
|
||||
</body>
|
||||
</html>
|
@ -1,26 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 8) > Vector(x: 8, y: 8))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Repeat: Image ("/tests/assets/image2.jpg") [119, 149] Size (75, 75) Path (Vector(x: 18, y: 148) > Vector(x: 220, y: 148) > Vector(x: 220, y: 223) > Vector(x: 18, y: 223))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [69, 69] Size (75, 75) Path (Vector(x: 18, y: 68) > Vector(x: 220, y: 68) > Vector(x: 220, y: 143) > Vector(x: 18, y: 143))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 219, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 219, y: 219) > Vector(x: 219, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 219, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
||||
Clip: Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 240, y: 220))
|
||||
Repeat: Image ("/tests/assets/image2.jpg") [261, -1] Size (75, 75) Path (Vector(x: 240, y: -2) > Vector(x: 442, y: -2) > Vector(x: 442, y: 73) > Vector(x: 240, y: 73))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [291, 69] Size (75, 75) Path (Vector(x: 240, y: 68) > Vector(x: 442, y: 68) > Vector(x: 442, y: 143) > Vector(x: 240, y: 143))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 441, y: 19) > Vector(x: 241, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 441, y: 219) > Vector(x: 441, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 220) > Vector(x: 240, y: 220) > Vector(x: 241, y: 219) > Vector(x: 441, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 220) > Vector(x: 240, y: 18) > Vector(x: 241, y: 19) > Vector(x: 241, y: 219))
|
||||
Clip: Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 462, y: 220))
|
||||
Repeat: Image ("/tests/assets/image2.jpg") [913, 119] Size (75, 75) Path (Vector(x: 462, y: 118) > Vector(x: 664, y: 118) > Vector(x: 664, y: 193) > Vector(x: 462, y: 193))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [513, 69] Size (75, 75) Path (Vector(x: 462, y: 68) > Vector(x: 664, y: 68) > Vector(x: 664, y: 143) > Vector(x: 462, y: 143))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 663, y: 19) > Vector(x: 463, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 663, y: 219) > Vector(x: 663, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 220) > Vector(x: 462, y: 220) > Vector(x: 463, y: 219) > Vector(x: 663, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 220) > Vector(x: 462, y: 18) > Vector(x: 463, y: 19) > Vector(x: 463, y: 219))
|
34
tests/reftests/background/origin.html
Normal file
34
tests/reftests/background/origin.html
Normal file
@ -0,0 +1,34 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
<style>
|
||||
div {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
border: 15px solid blue;
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
background-image: url(../../assets/image.jpg);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="background-repeat: no-repeat; background-origin: content-box"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: padding-box"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: border-box"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: content-box; background-size: cover"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: padding-box; background-size: cover"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: border-box; background-size: cover"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: content-box; background-size: contain"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: padding-box; background-size: contain"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: border-box; background-size: contain"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: content-box; background-position: 15px 20px"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: padding-box; background-position: 15px 20px"></div>
|
||||
<div style="background-repeat: no-repeat; background-origin: border-box; background-position: 15px 20px"></div>
|
||||
<div style="background-repeat: repeat; background-origin: content-box"></div>
|
||||
<div style="background-repeat: repeat; background-origin: padding-box"></div>
|
||||
<div style="background-repeat: repeat; background-origin: border-box"></div>
|
||||
</body>
|
||||
</html>
|
@ -1,77 +0,0 @@
|
||||
Window: [800, 1018]
|
||||
Rectangle: [0, 0, 800, 1018] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 574) > Vector(x: 8, y: 574))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [82, 82] Size (75, 75) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 219, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 219, y: 219) > Vector(x: 219, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 219, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
||||
Clip: Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 240, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [304, 82] Size (75, 75) Path (Vector(x: 240, y: 82) > Vector(x: 442, y: 82) > Vector(x: 442, y: 157) > Vector(x: 240, y: 157))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 441, y: 19) > Vector(x: 241, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 441, y: 219) > Vector(x: 441, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 220) > Vector(x: 240, y: 220) > Vector(x: 241, y: 219) > Vector(x: 441, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 220) > Vector(x: 240, y: 18) > Vector(x: 241, y: 19) > Vector(x: 241, y: 219))
|
||||
Clip: Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 462, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [526, 82] Size (75, 75) Path (Vector(x: 526, y: 18) > Vector(x: 601, y: 18) > Vector(x: 601, y: 220) > Vector(x: 526, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 663, y: 19) > Vector(x: 463, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 663, y: 219) > Vector(x: 663, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 220) > Vector(x: 462, y: 220) > Vector(x: 463, y: 219) > Vector(x: 663, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 220) > Vector(x: 462, y: 18) > Vector(x: 463, y: 19) > Vector(x: 463, y: 219))
|
||||
Clip: Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 18, y: 442))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [82, 304] Size (75, 75) Path (Vector(x: 82, y: 304) > Vector(x: 157, y: 304) > Vector(x: 157, y: 379) > Vector(x: 82, y: 379))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 219, y: 241) > Vector(x: 19, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 219, y: 441) > Vector(x: 219, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 442) > Vector(x: 18, y: 442) > Vector(x: 19, y: 441) > Vector(x: 219, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 442) > Vector(x: 18, y: 240) > Vector(x: 19, y: 241) > Vector(x: 19, y: 441))
|
||||
Clip: Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 18, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [32, 476] Size (75, 75) Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 18, y: 564))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 119, y: 463) > Vector(x: 19, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 119, y: 563) > Vector(x: 119, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 120, y: 564) > Vector(x: 18, y: 564) > Vector(x: 19, y: 563) > Vector(x: 119, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 564) > Vector(x: 18, y: 462) > Vector(x: 19, y: 463) > Vector(x: 19, y: 563))
|
||||
Clip: Path (Vector(x: 140, y: 462) > Vector(x: 242, y: 462) > Vector(x: 242, y: 564) > Vector(x: 140, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [154, 476] Size (75, 75) Path (Vector(x: 140, y: 476) > Vector(x: 242, y: 476) > Vector(x: 242, y: 551) > Vector(x: 140, y: 551))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 140, y: 462) > Vector(x: 242, y: 462) > Vector(x: 241, y: 463) > Vector(x: 141, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 242, y: 462) > Vector(x: 242, y: 564) > Vector(x: 241, y: 563) > Vector(x: 241, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 242, y: 564) > Vector(x: 140, y: 564) > Vector(x: 141, y: 563) > Vector(x: 241, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 140, y: 564) > Vector(x: 140, y: 462) > Vector(x: 141, y: 463) > Vector(x: 141, y: 563))
|
||||
Clip: Path (Vector(x: 262, y: 462) > Vector(x: 364, y: 462) > Vector(x: 364, y: 564) > Vector(x: 262, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [276, 476] Size (75, 75) Path (Vector(x: 276, y: 462) > Vector(x: 351, y: 462) > Vector(x: 351, y: 564) > Vector(x: 276, y: 564))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 262, y: 462) > Vector(x: 364, y: 462) > Vector(x: 363, y: 463) > Vector(x: 263, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 364, y: 462) > Vector(x: 364, y: 564) > Vector(x: 363, y: 563) > Vector(x: 363, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 364, y: 564) > Vector(x: 262, y: 564) > Vector(x: 263, y: 563) > Vector(x: 363, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 262, y: 564) > Vector(x: 262, y: 462) > Vector(x: 263, y: 463) > Vector(x: 263, y: 563))
|
||||
Clip: Path (Vector(x: 384, y: 462) > Vector(x: 486, y: 462) > Vector(x: 486, y: 564) > Vector(x: 384, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [398, 476] Size (75, 75) Path (Vector(x: 398, y: 476) > Vector(x: 473, y: 476) > Vector(x: 473, y: 551) > Vector(x: 398, y: 551))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 384, y: 462) > Vector(x: 486, y: 462) > Vector(x: 485, y: 463) > Vector(x: 385, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 462) > Vector(x: 486, y: 564) > Vector(x: 485, y: 563) > Vector(x: 485, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 564) > Vector(x: 384, y: 564) > Vector(x: 385, y: 563) > Vector(x: 485, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 384, y: 564) > Vector(x: 384, y: 462) > Vector(x: 385, y: 463) > Vector(x: 385, y: 563))
|
||||
Clip: Path (Vector(x: 18, y: 584) > Vector(x: 220, y: 584) > Vector(x: 220, y: 786) > Vector(x: 18, y: 786))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [0, 610] Size (75, 75) Path (Vector(x: 18, y: 584) > Vector(x: 220, y: 584) > Vector(x: 220, y: 786) > Vector(x: 18, y: 786))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 584) > Vector(x: 220, y: 584) > Vector(x: 219, y: 585) > Vector(x: 19, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 584) > Vector(x: 220, y: 786) > Vector(x: 219, y: 785) > Vector(x: 219, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 786) > Vector(x: 18, y: 786) > Vector(x: 19, y: 785) > Vector(x: 219, y: 785))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 786) > Vector(x: 18, y: 584) > Vector(x: 19, y: 585) > Vector(x: 19, y: 785))
|
||||
Clip: Path (Vector(x: 240, y: 584) > Vector(x: 442, y: 584) > Vector(x: 442, y: 786) > Vector(x: 240, y: 786))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [291, 635] Size (75, 75) Path (Vector(x: 240, y: 635) > Vector(x: 442, y: 635) > Vector(x: 442, y: 710) > Vector(x: 240, y: 710))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 584) > Vector(x: 442, y: 584) > Vector(x: 441, y: 585) > Vector(x: 241, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 584) > Vector(x: 442, y: 786) > Vector(x: 441, y: 785) > Vector(x: 441, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 786) > Vector(x: 240, y: 786) > Vector(x: 241, y: 785) > Vector(x: 441, y: 785))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 786) > Vector(x: 240, y: 584) > Vector(x: 241, y: 585) > Vector(x: 241, y: 785))
|
||||
Clip: Path (Vector(x: 462, y: 584) > Vector(x: 664, y: 584) > Vector(x: 664, y: 786) > Vector(x: 462, y: 786))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [513, 635] Size (75, 75) Path (Vector(x: 513, y: 584) > Vector(x: 588, y: 584) > Vector(x: 588, y: 786) > Vector(x: 513, y: 786))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 584) > Vector(x: 664, y: 584) > Vector(x: 663, y: 585) > Vector(x: 463, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 584) > Vector(x: 664, y: 786) > Vector(x: 663, y: 785) > Vector(x: 663, y: 585))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 786) > Vector(x: 462, y: 786) > Vector(x: 463, y: 785) > Vector(x: 663, y: 785))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 786) > Vector(x: 462, y: 584) > Vector(x: 463, y: 585) > Vector(x: 463, y: 785))
|
||||
Clip: Path (Vector(x: 18, y: 806) > Vector(x: 220, y: 806) > Vector(x: 220, y: 1008) > Vector(x: 18, y: 1008))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [69, 857] Size (75, 75) Path (Vector(x: 69, y: 857) > Vector(x: 144, y: 857) > Vector(x: 144, y: 932) > Vector(x: 69, y: 932))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 806) > Vector(x: 220, y: 806) > Vector(x: 219, y: 807) > Vector(x: 19, y: 807))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 806) > Vector(x: 220, y: 1008) > Vector(x: 219, y: 1007) > Vector(x: 219, y: 807))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 1008) > Vector(x: 18, y: 1008) > Vector(x: 19, y: 1007) > Vector(x: 219, y: 1007))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 1008) > Vector(x: 18, y: 806) > Vector(x: 19, y: 807) > Vector(x: 19, y: 1007))
|
@ -1,61 +0,0 @@
|
||||
Window: [800, 896]
|
||||
Rectangle: [0, 0, 800, 896] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 8) > Vector(x: 8, y: 8))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 219, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 219, y: 219) > Vector(x: 219, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 219, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
||||
Clip: Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 240, y: 220))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 441, y: 19) > Vector(x: 241, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 441, y: 219) > Vector(x: 441, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 220) > Vector(x: 240, y: 220) > Vector(x: 241, y: 219) > Vector(x: 441, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 220) > Vector(x: 240, y: 18) > Vector(x: 241, y: 19) > Vector(x: 241, y: 219))
|
||||
Clip: Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 462, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 663, y: 19) > Vector(x: 463, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 663, y: 219) > Vector(x: 663, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 220) > Vector(x: 462, y: 220) > Vector(x: 463, y: 219) > Vector(x: 663, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 220) > Vector(x: 462, y: 18) > Vector(x: 463, y: 19) > Vector(x: 463, y: 219))
|
||||
Clip: Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 18, y: 442))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 219, y: 241) > Vector(x: 19, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 219, y: 441) > Vector(x: 219, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 442) > Vector(x: 18, y: 442) > Vector(x: 19, y: 441) > Vector(x: 219, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 442) > Vector(x: 18, y: 240) > Vector(x: 19, y: 241) > Vector(x: 19, y: 441))
|
||||
Clip: Path (Vector(x: 240, y: 240) > Vector(x: 442, y: 240) > Vector(x: 442, y: 442) > Vector(x: 240, y: 442))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 240) > Vector(x: 442, y: 240) > Vector(x: 441, y: 241) > Vector(x: 241, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 240) > Vector(x: 442, y: 442) > Vector(x: 441, y: 441) > Vector(x: 441, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 442) > Vector(x: 240, y: 442) > Vector(x: 241, y: 441) > Vector(x: 441, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 442) > Vector(x: 240, y: 240) > Vector(x: 241, y: 241) > Vector(x: 241, y: 441))
|
||||
Clip: Path (Vector(x: 462, y: 240) > Vector(x: 664, y: 240) > Vector(x: 664, y: 442) > Vector(x: 462, y: 442))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 240) > Vector(x: 664, y: 240) > Vector(x: 663, y: 241) > Vector(x: 463, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 240) > Vector(x: 664, y: 442) > Vector(x: 663, y: 441) > Vector(x: 663, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 442) > Vector(x: 462, y: 442) > Vector(x: 463, y: 441) > Vector(x: 663, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 442) > Vector(x: 462, y: 240) > Vector(x: 463, y: 241) > Vector(x: 463, y: 441))
|
||||
Clip: Path (Vector(x: 18, y: 462) > Vector(x: 220, y: 462) > Vector(x: 220, y: 664) > Vector(x: 18, y: 664))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 462) > Vector(x: 220, y: 462) > Vector(x: 219, y: 463) > Vector(x: 19, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 462) > Vector(x: 220, y: 664) > Vector(x: 219, y: 663) > Vector(x: 219, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 664) > Vector(x: 18, y: 664) > Vector(x: 19, y: 663) > Vector(x: 219, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 664) > Vector(x: 18, y: 462) > Vector(x: 19, y: 463) > Vector(x: 19, y: 663))
|
||||
Clip: Path (Vector(x: 240, y: 462) > Vector(x: 442, y: 462) > Vector(x: 442, y: 664) > Vector(x: 240, y: 664))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 462) > Vector(x: 442, y: 462) > Vector(x: 441, y: 463) > Vector(x: 241, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 462) > Vector(x: 442, y: 664) > Vector(x: 441, y: 663) > Vector(x: 441, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 664) > Vector(x: 240, y: 664) > Vector(x: 241, y: 663) > Vector(x: 441, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 664) > Vector(x: 240, y: 462) > Vector(x: 241, y: 463) > Vector(x: 241, y: 663))
|
||||
Clip: Path (Vector(x: 462, y: 462) > Vector(x: 664, y: 462) > Vector(x: 664, y: 664) > Vector(x: 462, y: 664))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 462) > Vector(x: 664, y: 462) > Vector(x: 663, y: 463) > Vector(x: 463, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 462) > Vector(x: 664, y: 664) > Vector(x: 663, y: 663) > Vector(x: 663, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 664) > Vector(x: 462, y: 664) > Vector(x: 463, y: 663) > Vector(x: 663, y: 663))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 664) > Vector(x: 462, y: 462) > Vector(x: 463, y: 463) > Vector(x: 463, y: 663))
|
||||
Clip: Path (Vector(x: 18, y: 684) > Vector(x: 220, y: 684) > Vector(x: 220, y: 886) > Vector(x: 18, y: 886))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 684) > Vector(x: 220, y: 684) > Vector(x: 219, y: 685) > Vector(x: 19, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 684) > Vector(x: 220, y: 886) > Vector(x: 219, y: 885) > Vector(x: 219, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 886) > Vector(x: 18, y: 886) > Vector(x: 19, y: 885) > Vector(x: 219, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 886) > Vector(x: 18, y: 684) > Vector(x: 19, y: 685) > Vector(x: 19, y: 885))
|
||||
Clip: Path (Vector(x: 240, y: 684) > Vector(x: 442, y: 684) > Vector(x: 442, y: 886) > Vector(x: 240, y: 886))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 684) > Vector(x: 442, y: 684) > Vector(x: 441, y: 685) > Vector(x: 241, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 684) > Vector(x: 442, y: 886) > Vector(x: 441, y: 885) > Vector(x: 441, y: 685))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 886) > Vector(x: 240, y: 886) > Vector(x: 241, y: 885) > Vector(x: 441, y: 885))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 886) > Vector(x: 240, y: 684) > Vector(x: 241, y: 685) > Vector(x: 241, y: 885))
|
51
tests/reftests/background/radial-gradient2.html
Normal file
51
tests/reftests/background/radial-gradient2.html
Normal file
@ -0,0 +1,51 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Background attribute tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
|
||||
<style>
|
||||
div {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
padding: 10px;
|
||||
margin: 5px;
|
||||
border: 15px solid black;
|
||||
vertical-align: top;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="background: radial-gradient(red, blue)"></div>
|
||||
<div style="background: radial-gradient(circle, red, blue)"></div>
|
||||
<div style="background: radial-gradient(ellipse, red, blue)"></div>
|
||||
<div style="background: radial-gradient(circle, red, blue); width:200px"></div>
|
||||
<div style="background: radial-gradient(ellipse, red, blue); width:200px"></div>
|
||||
<div style="background: radial-gradient(closest-side, red, blue)"></div>
|
||||
<div style="background: radial-gradient(closest-corner, red, blue)"></div>
|
||||
<div style="background: radial-gradient(farthest-side, red, blue)"></div>
|
||||
<div style="background: radial-gradient(farthest-corner, red, blue)"></div>
|
||||
<div style="background: radial-gradient(circle 20px, red, blue)"></div>
|
||||
<div style="background: radial-gradient(ellipse 20px 30px, red, blue)"></div>
|
||||
<div style="font-size: 24px; border: none; padding: 0; width: auto;">
|
||||
<div style="background: radial-gradient(circle 20px at 2em 80px, red, blue)"></div>
|
||||
<div style="background: radial-gradient(circle 20px at 6rem 80px, red, blue)"></div>
|
||||
</div>
|
||||
<div style="background: radial-gradient(circle farthest-side, red, blue)"></div>
|
||||
<div style="background: radial-gradient(at 20px 20px, red, blue)"></div>
|
||||
<div style="background: radial-gradient(ellipse farthest-corner at 45px 45px , #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%);"></div>
|
||||
<div style="background: radial-gradient(16px at 70px 50% , #000000 0%, #000000 14px, rgba(0, 0, 0, 0.3) 18px, rgba(0, 0, 0, 0) 19px);"></div>
|
||||
<div style="background: radial-gradient(16px at 70px 50% , #000000 0%, #000000 87.5%, rgba(0, 0, 0, 0.3) 112.5%, rgba(0, 0, 0, 0) 118.75%);"></div>
|
||||
<div style="background: radial-gradient(19px at 70px 50% , #000000 0%, #000000 73.68%, rgba(0, 0, 0, 0.3) 94.74%, rgba(0, 0, 0, 0) 100%);"></div>
|
||||
<div style="background: radial-gradient(ellipse 60px 30px at 70px 50%, #000000 0%, blue 10%, yellow 15%, red 18%);"></div>
|
||||
<div style="background: radial-gradient(circle farthest-corner at left top, aquamarine, deeppink);"></div>
|
||||
<div style="width: 300px; height: 200px; transform: translate(20px, 30px) rotate(20deg)">
|
||||
<div style="width: 200px; height: 150px; transform: translate(-10px, -20px) rotate(10deg)">
|
||||
<div style="background: radial-gradient(circle, red, blue)"></div>
|
||||
<div style="background: radial-gradient(ellipse, red, blue); width:150px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,53 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(255,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 452) > Vector(x: 8, y: 452))
|
||||
Fill: rgb(0,255,0)
|
||||
Clip: Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [19, 19] Size (75, 75) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 18, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 18) > Vector(x: 220, y: 18) > Vector(x: 219, y: 19) > Vector(x: 19, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 18) > Vector(x: 220, y: 220) > Vector(x: 219, y: 219) > Vector(x: 219, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 220) > Vector(x: 18, y: 220) > Vector(x: 19, y: 219) > Vector(x: 219, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 220) > Vector(x: 18, y: 18) > Vector(x: 19, y: 19) > Vector(x: 19, y: 219))
|
||||
Clip: Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 240, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [241, 19] Size (75, 75) Path (Vector(x: 240, y: 19) > Vector(x: 442, y: 19) > Vector(x: 442, y: 94) > Vector(x: 240, y: 94))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 18) > Vector(x: 442, y: 18) > Vector(x: 441, y: 19) > Vector(x: 241, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 18) > Vector(x: 442, y: 220) > Vector(x: 441, y: 219) > Vector(x: 441, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 442, y: 220) > Vector(x: 240, y: 220) > Vector(x: 241, y: 219) > Vector(x: 441, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 240, y: 220) > Vector(x: 240, y: 18) > Vector(x: 241, y: 19) > Vector(x: 241, y: 219))
|
||||
Clip: Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 462, y: 220))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [463, 19] Size (75, 75) Path (Vector(x: 463, y: 18) > Vector(x: 538, y: 18) > Vector(x: 538, y: 220) > Vector(x: 463, y: 220))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 18) > Vector(x: 664, y: 18) > Vector(x: 663, y: 19) > Vector(x: 463, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 18) > Vector(x: 664, y: 220) > Vector(x: 663, y: 219) > Vector(x: 663, y: 19))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 664, y: 220) > Vector(x: 462, y: 220) > Vector(x: 463, y: 219) > Vector(x: 663, y: 219))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 220) > Vector(x: 462, y: 18) > Vector(x: 463, y: 19) > Vector(x: 463, y: 219))
|
||||
Clip: Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 18, y: 442))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [19, 241] Size (75, 75) Path (Vector(x: 19, y: 241) > Vector(x: 94, y: 241) > Vector(x: 94, y: 316) > Vector(x: 19, y: 316))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 240) > Vector(x: 220, y: 240) > Vector(x: 219, y: 241) > Vector(x: 19, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 240) > Vector(x: 220, y: 442) > Vector(x: 219, y: 441) > Vector(x: 219, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 220, y: 442) > Vector(x: 18, y: 442) > Vector(x: 19, y: 441) > Vector(x: 219, y: 441))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 442) > Vector(x: 18, y: 240) > Vector(x: 19, y: 241) > Vector(x: 19, y: 441))
|
||||
Clip: Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 18, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [19, 463] Size (75, 75) Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 18, y: 564))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 462) > Vector(x: 120, y: 462) > Vector(x: 119, y: 463) > Vector(x: 19, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 120, y: 462) > Vector(x: 120, y: 564) > Vector(x: 119, y: 563) > Vector(x: 119, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 120, y: 564) > Vector(x: 18, y: 564) > Vector(x: 19, y: 563) > Vector(x: 119, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 18, y: 564) > Vector(x: 18, y: 462) > Vector(x: 19, y: 463) > Vector(x: 19, y: 563))
|
||||
Clip: Path (Vector(x: 140, y: 462) > Vector(x: 242, y: 462) > Vector(x: 242, y: 564) > Vector(x: 140, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [141, 463] Size (75, 75) Path (Vector(x: 140, y: 463) > Vector(x: 242, y: 463) > Vector(x: 242, y: 538) > Vector(x: 140, y: 538))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 140, y: 462) > Vector(x: 242, y: 462) > Vector(x: 241, y: 463) > Vector(x: 141, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 242, y: 462) > Vector(x: 242, y: 564) > Vector(x: 241, y: 563) > Vector(x: 241, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 242, y: 564) > Vector(x: 140, y: 564) > Vector(x: 141, y: 563) > Vector(x: 241, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 140, y: 564) > Vector(x: 140, y: 462) > Vector(x: 141, y: 463) > Vector(x: 141, y: 563))
|
||||
Clip: Path (Vector(x: 262, y: 462) > Vector(x: 364, y: 462) > Vector(x: 364, y: 564) > Vector(x: 262, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [263, 463] Size (75, 75) Path (Vector(x: 263, y: 462) > Vector(x: 338, y: 462) > Vector(x: 338, y: 564) > Vector(x: 263, y: 564))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 262, y: 462) > Vector(x: 364, y: 462) > Vector(x: 363, y: 463) > Vector(x: 263, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 364, y: 462) > Vector(x: 364, y: 564) > Vector(x: 363, y: 563) > Vector(x: 363, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 364, y: 564) > Vector(x: 262, y: 564) > Vector(x: 263, y: 563) > Vector(x: 363, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 262, y: 564) > Vector(x: 262, y: 462) > Vector(x: 263, y: 463) > Vector(x: 263, y: 563))
|
||||
Clip: Path (Vector(x: 384, y: 462) > Vector(x: 486, y: 462) > Vector(x: 486, y: 564) > Vector(x: 384, y: 564))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [385, 463] Size (75, 75) Path (Vector(x: 385, y: 463) > Vector(x: 460, y: 463) > Vector(x: 460, y: 538) > Vector(x: 385, y: 538))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 384, y: 462) > Vector(x: 486, y: 462) > Vector(x: 485, y: 463) > Vector(x: 385, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 462) > Vector(x: 486, y: 564) > Vector(x: 485, y: 563) > Vector(x: 485, y: 463))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 564) > Vector(x: 384, y: 564) > Vector(x: 385, y: 563) > Vector(x: 485, y: 563))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 384, y: 564) > Vector(x: 384, y: 462) > Vector(x: 385, y: 463) > Vector(x: 385, y: 563))
|
@ -1,43 +0,0 @@
|
||||
Window: [800, 1010]
|
||||
Rectangle: [0, 0, 800, 1010] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 160, y: 8) > Vector(x: 160, y: 210) > Vector(x: 8, y: 210))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [67, 92] Size (34, 34) Path (Vector(x: 67, y: 92) > Vector(x: 101, y: 92) > Vector(x: 101, y: 126) > Vector(x: 67, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 160, y: 8) > Vector(x: 159, y: 9) > Vector(x: 9, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 160, y: 8) > Vector(x: 160, y: 210) > Vector(x: 159, y: 209) > Vector(x: 159, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 160, y: 210) > Vector(x: 8, y: 210) > Vector(x: 9, y: 209) > Vector(x: 159, y: 209))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 210) > Vector(x: 8, y: 8) > Vector(x: 9, y: 9) > Vector(x: 9, y: 209))
|
||||
Clip: Path (Vector(x: 160, y: 8) > Vector(x: 312, y: 8) > Vector(x: 312, y: 210) > Vector(x: 160, y: 210))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [219, 92] Size (34, 34) Path (Vector(x: 219, y: 8) > Vector(x: 253, y: 8) > Vector(x: 253, y: 210) > Vector(x: 219, y: 210))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 160, y: 8) > Vector(x: 312, y: 8) > Vector(x: 311, y: 9) > Vector(x: 161, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 8) > Vector(x: 312, y: 210) > Vector(x: 311, y: 209) > Vector(x: 311, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 210) > Vector(x: 160, y: 210) > Vector(x: 161, y: 209) > Vector(x: 311, y: 209))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 160, y: 210) > Vector(x: 160, y: 8) > Vector(x: 161, y: 9) > Vector(x: 161, y: 209))
|
||||
Clip: Path (Vector(x: 312, y: 8) > Vector(x: 464, y: 8) > Vector(x: 464, y: 210) > Vector(x: 312, y: 210))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [371, 92] Size (34, 34) Path (Vector(x: 312, y: 92) > Vector(x: 464, y: 92) > Vector(x: 464, y: 126) > Vector(x: 312, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 8) > Vector(x: 464, y: 8) > Vector(x: 463, y: 9) > Vector(x: 313, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 464, y: 8) > Vector(x: 464, y: 210) > Vector(x: 463, y: 209) > Vector(x: 463, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 464, y: 210) > Vector(x: 312, y: 210) > Vector(x: 313, y: 209) > Vector(x: 463, y: 209))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 210) > Vector(x: 312, y: 8) > Vector(x: 313, y: 9) > Vector(x: 313, y: 209))
|
||||
Clip: Path (Vector(x: 464, y: 8) > Vector(x: 616, y: 8) > Vector(x: 616, y: 210) > Vector(x: 464, y: 210))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [426, -5] Size (228, 228) Path (Vector(x: 426, y: -5) > Vector(x: 654, y: -5) > Vector(x: 654, y: 223) > Vector(x: 426, y: 223))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 464, y: 8) > Vector(x: 616, y: 8) > Vector(x: 615, y: 9) > Vector(x: 465, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 616, y: 8) > Vector(x: 616, y: 210) > Vector(x: 615, y: 209) > Vector(x: 615, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 616, y: 210) > Vector(x: 464, y: 210) > Vector(x: 465, y: 209) > Vector(x: 615, y: 209))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 464, y: 210) > Vector(x: 464, y: 8) > Vector(x: 465, y: 9) > Vector(x: 465, y: 209))
|
||||
Clip: Path (Vector(x: 8, y: 210) > Vector(x: 408, y: 210) > Vector(x: 408, y: 310) > Vector(x: 8, y: 310))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [8, 60] Size (400, 400) Path (Vector(x: 8, y: 210) > Vector(x: 408, y: 210) > Vector(x: 408, y: 310) > Vector(x: 8, y: 310))
|
||||
Clip: Path (Vector(x: 8, y: 310) > Vector(x: 408, y: 310) > Vector(x: 408, y: 410) > Vector(x: 8, y: 410))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [158, 310] Size (100, 100) Path (Vector(x: 8, y: 310) > Vector(x: 408, y: 310) > Vector(x: 408, y: 410) > Vector(x: 8, y: 410))
|
||||
Clip: Path (Vector(x: 8, y: 410) > Vector(x: 408, y: 410) > Vector(x: 408, y: 510) > Vector(x: 8, y: 510))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [158, 410] Size (100, 100) Path (Vector(x: 8, y: 410) > Vector(x: 408, y: 410) > Vector(x: 408, y: 510) > Vector(x: 8, y: 510))
|
||||
Clip: Path (Vector(x: 8, y: 510) > Vector(x: 408, y: 510) > Vector(x: 408, y: 610) > Vector(x: 8, y: 610))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [171, 523] Size (75, 75) Path (Vector(x: 8, y: 510) > Vector(x: 408, y: 510) > Vector(x: 408, y: 610) > Vector(x: 8, y: 610))
|
||||
Clip: Path (Vector(x: 592, y: 210) > Vector(x: 792, y: 210) > Vector(x: 792, y: 410) > Vector(x: 592, y: 410))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [592, 210] Size (200, 200) Path (Vector(x: 592, y: 210) > Vector(x: 792, y: 210) > Vector(x: 792, y: 410) > Vector(x: 592, y: 410))
|
||||
Clip: Path (Vector(x: 592, y: 410) > Vector(x: 792, y: 410) > Vector(x: 792, y: 610) > Vector(x: 592, y: 610))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [592, 410] Size (200, 200) Path (Vector(x: 592, y: 410) > Vector(x: 792, y: 410) > Vector(x: 792, y: 610) > Vector(x: 592, y: 610))
|
||||
Clip: Path (Vector(x: 592, y: 610) > Vector(x: 792, y: 610) > Vector(x: 792, y: 810) > Vector(x: 592, y: 810))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [592, 610] Size (200, 200) Path (Vector(x: 592, y: 610) > Vector(x: 792, y: 610) > Vector(x: 792, y: 810) > Vector(x: 592, y: 810))
|
||||
Clip: Path (Vector(x: 592, y: 810) > Vector(x: 792, y: 810) > Vector(x: 792, y: 1010) > Vector(x: 592, y: 1010))
|
||||
Repeat: Image ("/tests/assets/image.jpg") [655, 873] Size (75, 75) Path (Vector(x: 592, y: 810) > Vector(x: 792, y: 810) > Vector(x: 792, y: 1010) > Vector(x: 592, y: 1010))
|
@ -1,27 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 18, y: 229))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 219, y: 28) > Vector(x: 19, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 219, y: 228) > Vector(x: 219, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 229) > Vector(x: 18, y: 229) > Vector(x: 19, y: 228) > Vector(x: 219, y: 228))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 229) > Vector(x: 18, y: 27) > Vector(x: 19, y: 28) > Vector(x: 19, y: 228))
|
||||
Clip: Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 244, y: 231))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 447, y: 28) > Vector(x: 247, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 447, y: 228) > Vector(x: 447, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 231) > Vector(x: 244, y: 231) > Vector(x: 247, y: 228) > Vector(x: 447, y: 228))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 231) > Vector(x: 244, y: 25) > Vector(x: 247, y: 28) > Vector(x: 247, y: 228))
|
||||
Clip: Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 474, y: 238))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 684, y: 28) > Vector(x: 484, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 684, y: 228) > Vector(x: 684, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 238) > Vector(x: 474, y: 238) > Vector(x: 484, y: 228) > Vector(x: 684, y: 228))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 238) > Vector(x: 474, y: 18) > Vector(x: 484, y: 28) > Vector(x: 484, y: 228))
|
||||
Clip: Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 18, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 268, y: 308) > Vector(x: 68, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 268, y: 508) > Vector(x: 268, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 558) > Vector(x: 18, y: 558) > Vector(x: 68, y: 508) > Vector(x: 268, y: 508))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 558) > Vector(x: 18, y: 258) > Vector(x: 68, y: 308) > Vector(x: 68, y: 508))
|
@ -1,27 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 18, y: 229))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 219, y: 28) > Vector(x: 19, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 219, y: 228) > Vector(x: 219, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 229) > Vector(x: 18, y: 229) > Vector(x: 19, y: 228) > Vector(x: 219, y: 228))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 229) > Vector(x: 18, y: 27) > Vector(x: 19, y: 28) > Vector(x: 19, y: 228))
|
||||
Clip: Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 244, y: 231))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 447, y: 28) > Vector(x: 247, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 447, y: 228) > Vector(x: 447, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 231) > Vector(x: 244, y: 231) > Vector(x: 247, y: 228) > Vector(x: 447, y: 228))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 231) > Vector(x: 244, y: 25) > Vector(x: 247, y: 28) > Vector(x: 247, y: 228))
|
||||
Clip: Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 474, y: 238))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 684, y: 28) > Vector(x: 484, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 684, y: 228) > Vector(x: 684, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 238) > Vector(x: 474, y: 238) > Vector(x: 484, y: 228) > Vector(x: 684, y: 228))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 238) > Vector(x: 474, y: 18) > Vector(x: 484, y: 28) > Vector(x: 484, y: 228))
|
||||
Clip: Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 18, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 268, y: 308) > Vector(x: 68, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 268, y: 508) > Vector(x: 268, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 558) > Vector(x: 18, y: 558) > Vector(x: 68, y: 508) > Vector(x: 268, y: 508))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 558) > Vector(x: 18, y: 258) > Vector(x: 68, y: 308) > Vector(x: 68, y: 508))
|
@ -1,27 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 18, y: 229))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 219, y: 28) > Vector(x: 19, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 219, y: 228) > Vector(x: 219, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 229) > Vector(x: 18, y: 229) > Vector(x: 19, y: 228) > Vector(x: 219, y: 228))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 229) > Vector(x: 18, y: 27) > Vector(x: 19, y: 28) > Vector(x: 19, y: 228))
|
||||
Clip: Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 244, y: 231))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 447, y: 28) > Vector(x: 247, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 447, y: 228) > Vector(x: 447, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 231) > Vector(x: 244, y: 231) > Vector(x: 247, y: 228) > Vector(x: 447, y: 228))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 231) > Vector(x: 244, y: 25) > Vector(x: 247, y: 28) > Vector(x: 247, y: 228))
|
||||
Clip: Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 474, y: 238))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 684, y: 28) > Vector(x: 484, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 684, y: 228) > Vector(x: 684, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 238) > Vector(x: 474, y: 238) > Vector(x: 484, y: 228) > Vector(x: 684, y: 228))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 238) > Vector(x: 474, y: 18) > Vector(x: 484, y: 28) > Vector(x: 484, y: 228))
|
||||
Clip: Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 18, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 268, y: 308) > Vector(x: 68, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 268, y: 508) > Vector(x: 268, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 558) > Vector(x: 18, y: 558) > Vector(x: 68, y: 508) > Vector(x: 268, y: 508))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 558) > Vector(x: 18, y: 258) > Vector(x: 68, y: 308) > Vector(x: 68, y: 508))
|
@ -1,40 +0,0 @@
|
||||
Window: [800, 693]
|
||||
Rectangle: [0, 0, 800, 693] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 18, y: 229))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 219, y: 28) > Vector(x: 19, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 219, y: 228) > Vector(x: 219, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 229) > Vector(x: 18, y: 229) > Vector(x: 19, y: 228) > Vector(x: 219, y: 228))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 229) > Vector(x: 18, y: 27) > Vector(x: 19, y: 28) > Vector(x: 19, y: 228))
|
||||
Clip: Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 244, y: 231))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 447, y: 28) > Vector(x: 247, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 447, y: 228) > Vector(x: 447, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 231) > Vector(x: 244, y: 231) > Vector(x: 247, y: 228) > Vector(x: 447, y: 228))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 231) > Vector(x: 244, y: 25) > Vector(x: 247, y: 28) > Vector(x: 247, y: 228))
|
||||
Clip: Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 474, y: 238))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 684, y: 28) > Vector(x: 484, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 684, y: 228) > Vector(x: 684, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 238) > Vector(x: 474, y: 238) > Vector(x: 484, y: 228) > Vector(x: 684, y: 228))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 238) > Vector(x: 474, y: 18) > Vector(x: 484, y: 28) > Vector(x: 484, y: 228))
|
||||
Clip: Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 18, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 268, y: 308) > Vector(x: 68, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 268, y: 508) > Vector(x: 268, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 558) > Vector(x: 18, y: 558) > Vector(x: 68, y: 508) > Vector(x: 268, y: 508))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 558) > Vector(x: 18, y: 258) > Vector(x: 68, y: 308) > Vector(x: 68, y: 508))
|
||||
Clip: Path (Vector(x: 342, y: 258) > Vector(x: 642, y: 258) > Vector(x: 642, y: 558) > Vector(x: 342, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 342, y: 258) > Vector(x: 642, y: 258) > Vector(x: 592, y: 308) > Vector(x: 392, y: 308))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 642, y: 258) > Vector(x: 642, y: 558) > Vector(x: 592, y: 508) > Vector(x: 592, y: 308))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 642, y: 558) > Vector(x: 342, y: 558) > Vector(x: 392, y: 508) > Vector(x: 592, y: 508))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 342, y: 558) > Vector(x: 342, y: 258) > Vector(x: 392, y: 308) > Vector(x: 392, y: 508))
|
||||
Clip: Path (Vector(x: 8, y: 568) > Vector(x: 308, y: 568) > Vector(x: 308, y: 685) > Vector(x: 8, y: 685))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 568) > Vector(x: 308, y: 568) > Vector(x: 258, y: 618) > Vector(x: 58, y: 618))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 308, y: 568) > Vector(x: 308, y: 685) > Vector(x: 258, y: 635) > Vector(x: 258, y: 618))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 308, y: 685) > Vector(x: 8, y: 685) > Vector(x: 58, y: 635) > Vector(x: 258, y: 635))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 685) > Vector(x: 8, y: 568) > Vector(x: 58, y: 618) > Vector(x: 58, y: 635))
|
||||
Clip: Path (Vector(x: 58, y: 618) > Vector(x: 258, y: 618) > Vector(x: 258, y: 635) > Vector(x: 58, y: 635))
|
@ -1,36 +0,0 @@
|
||||
Window: [800, 996]
|
||||
Rectangle: [0, 0, 800, 996] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (BezierCurve(x0: 18, y0: 77, x1: 68, y1: 27, cx0: 18, cy0: 49, cx1: 40, cy1: 27) > BezierCurve(x0: 170, y0: 27, x1: 220, y1: 77, cx0: 198, cy0: 27, cx1: 220, cy1: 49) > BezierCurve(x0: 220, y0: 179, x1: 170, y1: 229, cx0: 220, cy0: 206, cx1: 198, cy1: 229) > BezierCurve(x0: 68, y0: 229, x1: 18, y1: 179, cx0: 40, cy0: 229, cx1: 18, cy1: 206))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (BezierCurve(x0: 33, y0: 41, x1: 68, y1: 27, cx0: 42, cy0: 32, cx1: 54, cy1: 27) > BezierCurve(x0: 170, y0: 27, x1: 205, y1: 41, cx0: 184, cy0: 27, cx1: 196, cy1: 32) > BezierCurve(x0: 205, y0: 42, x1: 170, y1: 28, cx0: 196, cy0: 33, cx1: 184, cy1: 28) > BezierCurve(x0: 68, y0: 28, x1: 33, y1: 42, cx0: 54, cy0: 28, cx1: 42, cy1: 33))
|
||||
Shape: rgb(0,128,0) Path (BezierCurve(x0: 205, y0: 41, x1: 220, y1: 77, cx0: 214, cy0: 50, cx1: 220, cy1: 63) > BezierCurve(x0: 220, y0: 179, x1: 205, y1: 214, cx0: 220, cy0: 193, cx1: 214, cy1: 205) > BezierCurve(x0: 205, y0: 213, x1: 219, y1: 179, cx0: 214, cy0: 205, cx1: 219, cy1: 192) > BezierCurve(x0: 219, y0: 77, x1: 205, y1: 42, cx0: 219, cy0: 63, cx1: 214, cy1: 51))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 205, y0: 214, x1: 170, y1: 229, cx0: 196, cy0: 223, cx1: 184, cy1: 229) > BezierCurve(x0: 68, y0: 229, x1: 33, y1: 214, cx0: 54, cy0: 229, cx1: 42, cy1: 223) > BezierCurve(x0: 33, y0: 213, x1: 68, y1: 228, cx0: 42, cy0: 222, cx1: 54, cy1: 228) > BezierCurve(x0: 170, y0: 228, x1: 205, y1: 213, cx0: 184, cy0: 228, cx1: 196, cy1: 222))
|
||||
Shape: rgb(0,181,226) Path (BezierCurve(x0: 33, y0: 214, x1: 18, y1: 179, cx0: 24, cy0: 205, cx1: 18, cy1: 193) > BezierCurve(x0: 18, y0: 77, x1: 33, y1: 41, cx0: 18, cy0: 63, cx1: 24, cy1: 50) > BezierCurve(x0: 33, y0: 42, x1: 19, y1: 77, cx0: 24, cy0: 51, cx1: 19, cy1: 63) > BezierCurve(x0: 19, y0: 179, x1: 33, y1: 213, cx0: 19, cy0: 192, cx1: 24, cy1: 205))
|
||||
Clip: Path (BezierCurve(x0: 244, y0: 75, x1: 294, y1: 25, cx0: 244, cy0: 47, cx1: 266, cy1: 25) > BezierCurve(x0: 400, y0: 25, x1: 450, y1: 75, cx0: 428, cy0: 25, cx1: 450, cy1: 47) > BezierCurve(x0: 450, y0: 181, x1: 400, y1: 231, cx0: 450, cy0: 208, cx1: 428, cy1: 231) > BezierCurve(x0: 294, y0: 231, x1: 244, y1: 181, cx0: 266, cy0: 231, cx1: 244, cy1: 208))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (BezierCurve(x0: 259, y0: 39, x1: 294, y1: 25, cx0: 268, cy0: 30, cx1: 280, cy1: 25) > BezierCurve(x0: 400, y0: 25, x1: 435, y1: 39, cx0: 414, cy0: 25, cx1: 426, cy1: 30) > BezierCurve(x0: 433, y0: 42, x1: 400, y1: 28, cx0: 425, cy0: 33, cx1: 413, cy1: 28) > BezierCurve(x0: 294, y0: 28, x1: 261, y1: 42, cx0: 281, cy0: 28, cx1: 269, cy1: 33))
|
||||
Shape: rgb(0,128,0) Path (BezierCurve(x0: 435, y0: 39, x1: 450, y1: 75, cx0: 444, cy0: 48, cx1: 450, cy1: 61) > BezierCurve(x0: 450, y0: 181, x1: 435, y1: 216, cx0: 450, cy0: 195, cx1: 444, cy1: 207) > BezierCurve(x0: 433, y0: 214, x1: 447, y1: 181, cx0: 442, cy0: 206, cx1: 447, cy1: 194) > BezierCurve(x0: 447, y0: 75, x1: 433, y1: 42, cx0: 447, cy0: 62, cx1: 442, cy1: 50))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 435, y0: 216, x1: 400, y1: 231, cx0: 426, cy0: 225, cx1: 414, cy1: 231) > BezierCurve(x0: 294, y0: 231, x1: 259, y1: 216, cx0: 280, cy0: 231, cx1: 268, cy1: 225) > BezierCurve(x0: 261, y0: 214, x1: 294, y1: 228, cx0: 269, cy0: 223, cx1: 281, cy1: 228) > BezierCurve(x0: 400, y0: 228, x1: 433, y1: 214, cx0: 413, cy0: 228, cx1: 425, cy1: 223))
|
||||
Shape: rgb(0,181,226) Path (BezierCurve(x0: 259, y0: 216, x1: 244, y1: 181, cx0: 250, cy0: 207, cx1: 244, cy1: 195) > BezierCurve(x0: 244, y0: 75, x1: 259, y1: 39, cx0: 244, cy0: 61, cx1: 250, cy1: 48) > BezierCurve(x0: 261, y0: 42, x1: 247, y1: 75, cx0: 252, cy0: 50, cx1: 247, cy1: 62) > BezierCurve(x0: 247, y0: 181, x1: 261, y1: 214, cx0: 247, cy0: 194, cx1: 252, cy1: 206))
|
||||
Clip: Path (BezierCurve(x0: 474, y0: 68, x1: 524, y1: 18, cx0: 474, cy0: 40, cx1: 496, cy1: 18) > BezierCurve(x0: 644, y0: 18, x1: 694, y1: 68, cx0: 672, cy0: 18, cx1: 694, cy1: 40) > BezierCurve(x0: 694, y0: 188, x1: 644, y1: 238, cx0: 694, cy0: 216, cx1: 672, cy1: 238) > BezierCurve(x0: 524, y0: 238, x1: 474, y1: 188, cx0: 496, cy0: 238, cx1: 474, cy1: 216))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (BezierCurve(x0: 489, y0: 33, x1: 524, y1: 18, cx0: 498, cy0: 24, cx1: 510, cy1: 18) > BezierCurve(x0: 644, y0: 18, x1: 679, y1: 33, cx0: 658, cy0: 18, cx1: 670, cy1: 24) > BezierCurve(x0: 672, y0: 40, x1: 644, y1: 28, cx0: 665, cy0: 32, cx1: 655, cy1: 28) > BezierCurve(x0: 524, y0: 28, x1: 496, y1: 40, cx0: 513, cy0: 28, cx1: 503, cy1: 32))
|
||||
Shape: rgb(0,128,0) Path (BezierCurve(x0: 679, y0: 33, x1: 694, y1: 68, cx0: 688, cy0: 42, cx1: 694, cy1: 54) > BezierCurve(x0: 694, y0: 188, x1: 679, y1: 223, cx0: 694, cy0: 202, cx1: 688, cy1: 214) > BezierCurve(x0: 672, y0: 216, x1: 684, y1: 188, cx0: 680, cy0: 209, cx1: 684, cy1: 199) > BezierCurve(x0: 684, y0: 68, x1: 672, y1: 40, cx0: 684, cy0: 57, cx1: 680, cy1: 47))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 679, y0: 223, x1: 644, y1: 238, cx0: 670, cy0: 232, cx1: 658, cy1: 238) > BezierCurve(x0: 524, y0: 238, x1: 489, y1: 223, cx0: 510, cy0: 238, cx1: 498, cy1: 232) > BezierCurve(x0: 496, y0: 216, x1: 524, y1: 228, cx0: 503, cy0: 224, cx1: 513, cy1: 228) > BezierCurve(x0: 644, y0: 228, x1: 672, y1: 216, cx0: 655, cy0: 228, cx1: 665, cy1: 224))
|
||||
Clip: Path (BezierCurve(x0: 68, y0: 308, x1: 68, y1: 268, cx0: 68, cy0: 286, cx1: 68, cy1: 268) > BezierCurve(x0: 268, y0: 268, x1: 268, y1: 308, cx0: 268, cy0: 268, cx1: 268, cy1: 286) > BezierCurve(x0: 268, y0: 388, x1: 168, y1: 468, cx0: 268, cy0: 432, cx1: 223, cy1: 468) > BezierCurve(x0: 68, y0: 468, x1: 68, y1: 468, cx0: 68, cy0: 468, cx1: 68, cy1: 468))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (BezierCurve(x0: 33, y0: 273, x1: 68, y1: 258, cx0: 42, cy0: 264, cx1: 54, cy1: 258) > BezierCurve(x0: 268, y0: 258, x1: 303, y1: 273, cx0: 282, cy0: 258, cx1: 294, cy1: 264) > BezierCurve(x0: 268, y0: 280, x1: 268, y1: 268, cx0: 268, cy0: 272, cx1: 268, cy1: 268) > BezierCurve(x0: 68, y0: 268, x1: 68, y1: 280, cx0: 68, cy0: 268, cx1: 68, cy1: 272))
|
||||
Shape: rgb(0,128,0) Path (BezierCurve(x0: 303, y0: 273, x1: 318, y1: 308, cx0: 312, cy0: 282, cx1: 318, cy1: 294) > BezierCurve(x0: 318, y0: 388, x1: 274, y1: 480, cx0: 318, cy0: 424, cx1: 301, cy1: 456) > BezierCurve(x0: 239, y0: 445, x1: 268, y1: 388, cx0: 257, cy0: 430, cx1: 268, cy1: 410) > BezierCurve(x0: 268, y0: 308, x1: 268, y1: 280, cx0: 268, cy0: 297, cx1: 268, cy1: 287))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 274, y0: 480, x1: 168, y1: 518, cx0: 247, cy0: 503, cx1: 209, cy1: 518) > BezierCurve(x0: 68, y0: 518, x1: 33, y1: 503, cx0: 54, cy0: 518, cx1: 42, cy1: 512) > BezierCurve(x0: 68, y0: 468, x1: 68, y1: 468, cx0: 68, cy0: 468, cx1: 68, cy1: 468) > BezierCurve(x0: 168, y0: 468, x1: 239, y1: 445, cx0: 196, cy0: 468, cx1: 221, cy1: 459))
|
||||
Clip: Path (BezierCurve(x0: 158, y0: 653, x1: 158, y1: 638, cx0: 158, cy0: 645, cx1: 158, cy1: 638) > BezierCurve(x0: 383, y0: 638, x1: 358, y1: 653, cx0: 369, cy0: 638, cx1: 358, cy1: 645) > BezierCurve(x0: 358, y0: 863, x1: 358, y1: 838, cx0: 358, cy0: 849, cx1: 358, cy1: 838) > BezierCurve(x0: 158, y0: 838, x1: 158, y1: 863, cx0: 158, cy0: 838, cx1: 158, cy1: 849))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (BezierCurve(x0: 115, y0: 635, x1: 133, y1: 628, cx0: 120, cy0: 631, cx1: 126, cy1: 628) > BezierCurve(x0: 383, y0: 628, x1: 401, y1: 635, cx0: 390, cy0: 628, cx1: 396, cy1: 631) > BezierCurve(x0: 365, y0: 642, x1: 383, y1: 638, cx0: 370, cy0: 640, cx1: 376, cy1: 638) > BezierCurve(x0: 158, y0: 638, x1: 158, y1: 642, cx0: 158, cy0: 638, cx1: 158, cy1: 640))
|
||||
Shape: rgb(0,128,0) Path (BezierCurve(x0: 401, y0: 635, x1: 408, y1: 653, cx0: 405, cy0: 640, cx1: 408, cy1: 646) > BezierCurve(x0: 408, y0: 863, x1: 401, y1: 881, cx0: 408, cy0: 870, cx1: 405, cy1: 876) > BezierCurve(x0: 358, y0: 845, x1: 358, y1: 863, cx0: 358, cy0: 850, cx1: 358, cy1: 856) > BezierCurve(x0: 358, y0: 653, x1: 365, y1: 642, cx0: 358, cy0: 649, cx1: 361, cy1: 645))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 401, y0: 881, x1: 383, y1: 888, cx0: 396, cy0: 885, cx1: 390, cy1: 888) > BezierCurve(x0: 133, y0: 888, x1: 115, y1: 881, cx0: 126, cy0: 888, cx1: 120, cy1: 885) > BezierCurve(x0: 158, y0: 845, x1: 158, y1: 838, cx0: 158, cy0: 841, cx1: 158, cy1: 838) > BezierCurve(x0: 358, y0: 838, x1: 358, y1: 845, cx0: 358, cy0: 838, cx1: 358, cy1: 841))
|
||||
Clip: Path (BezierCurve(x0: 522, y0: 738, x1: 623, y1: 637, cx0: 522, cy0: 682, cx1: 567, cy1: 637) > BezierCurve(x0: 623, y0: 637, x1: 724, y1: 738, cx0: 679, cy0: 637, cx1: 724, cy1: 682) > BezierCurve(x0: 724, y0: 738, x1: 623, y1: 839, cx0: 724, cy0: 794, cx1: 679, cy1: 839) > BezierCurve(x0: 623, y0: 839, x1: 522, y1: 738, cx0: 567, cy0: 839, cx1: 522, cy1: 794))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 552, y0: 666, x1: 623, y1: 637, cx0: 570, cy0: 648, cx1: 595, cy1: 637) > BezierCurve(x0: 623, y0: 637, x1: 695, y1: 666, cx0: 651, cy0: 637, cx1: 676, cy1: 648) > BezierCurve(x0: 694, y0: 667, x1: 623, y1: 638, cx0: 676, cy0: 649, cx1: 651, cy1: 638) > BezierCurve(x0: 623, y0: 638, x1: 552, y1: 667, cx0: 596, cy0: 638, cx1: 571, cy1: 649))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 695, y0: 666, x1: 724, y1: 738, cx0: 713, cy0: 685, cx1: 724, cy1: 710) > BezierCurve(x0: 724, y0: 738, x1: 695, y1: 810, cx0: 724, cy0: 766, cx1: 713, cy1: 791) > BezierCurve(x0: 694, y0: 809, x1: 723, y1: 738, cx0: 712, cy0: 791, cx1: 723, cy1: 766) > BezierCurve(x0: 723, y0: 738, x1: 694, y1: 667, cx0: 723, cy0: 710, cx1: 712, cy1: 685))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 695, y0: 810, x1: 623, y1: 839, cx0: 676, cy0: 828, cx1: 651, cy1: 839) > BezierCurve(x0: 623, y0: 839, x1: 552, y1: 810, cx0: 595, cy0: 839, cx1: 570, cy1: 828) > BezierCurve(x0: 552, y0: 809, x1: 623, y1: 838, cx0: 571, cy0: 827, cx1: 596, cy1: 838) > BezierCurve(x0: 623, y0: 838, x1: 694, y1: 809, cx0: 651, cy0: 838, cx1: 676, cy1: 827))
|
||||
Shape: rgb(0,0,0) Path (BezierCurve(x0: 552, y0: 810, x1: 522, y1: 738, cx0: 533, cy0: 791, cx1: 522, cy1: 766) > BezierCurve(x0: 522, y0: 738, x1: 552, y1: 666, cx0: 522, cy0: 710, cx1: 533, cy1: 685) > BezierCurve(x0: 552, y0: 667, x1: 523, y1: 738, cx0: 534, cy0: 685, cx1: 523, cy1: 710) > BezierCurve(x0: 523, y0: 738, x1: 552, y1: 809, cx0: 523, cy0: 766, cx1: 534, cy1: 791))
|
@ -1,27 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgb(58,132,195)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 18, y: 229))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 27) > Vector(x: 220, y: 27) > Vector(x: 219, y: 28) > Vector(x: 19, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 27) > Vector(x: 220, y: 229) > Vector(x: 219, y: 228) > Vector(x: 219, y: 28))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 220, y: 229) > Vector(x: 18, y: 229) > Vector(x: 19, y: 228) > Vector(x: 219, y: 228))
|
||||
Shape: rgb(0,181,226) Path (Vector(x: 18, y: 229) > Vector(x: 18, y: 27) > Vector(x: 19, y: 28) > Vector(x: 19, y: 228))
|
||||
Clip: Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 244, y: 231))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 25) > Vector(x: 450, y: 25) > Vector(x: 447, y: 28) > Vector(x: 247, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 25) > Vector(x: 450, y: 231) > Vector(x: 447, y: 228) > Vector(x: 447, y: 28))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 450, y: 231) > Vector(x: 244, y: 231) > Vector(x: 247, y: 228) > Vector(x: 447, y: 228))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 244, y: 231) > Vector(x: 244, y: 25) > Vector(x: 247, y: 28) > Vector(x: 247, y: 228))
|
||||
Clip: Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 474, y: 238))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 18) > Vector(x: 694, y: 18) > Vector(x: 684, y: 28) > Vector(x: 484, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 18) > Vector(x: 694, y: 238) > Vector(x: 684, y: 228) > Vector(x: 684, y: 28))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 694, y: 238) > Vector(x: 474, y: 238) > Vector(x: 484, y: 228) > Vector(x: 684, y: 228))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 474, y: 238) > Vector(x: 474, y: 18) > Vector(x: 484, y: 28) > Vector(x: 484, y: 228))
|
||||
Clip: Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 18, y: 558))
|
||||
Fill: rgb(111,66,140)
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 258) > Vector(x: 318, y: 258) > Vector(x: 268, y: 308) > Vector(x: 68, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 258) > Vector(x: 318, y: 558) > Vector(x: 268, y: 508) > Vector(x: 268, y: 308))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 318, y: 558) > Vector(x: 18, y: 558) > Vector(x: 68, y: 508) > Vector(x: 268, y: 508))
|
||||
Shape: rgb(0,128,0) Path (Vector(x: 18, y: 558) > Vector(x: 18, y: 258) > Vector(x: 68, y: 308) > Vector(x: 68, y: 508))
|
@ -1,178 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 792, y: 104) > Vector(x: 8, y: 104))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 787, y: 13) > Vector(x: 13, y: 13))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 792, y: 8) > Vector(x: 792, y: 104) > Vector(x: 787, y: 99) > Vector(x: 787, y: 13))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 792, y: 104) > Vector(x: 8, y: 104) > Vector(x: 13, y: 99) > Vector(x: 787, y: 99))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 104) > Vector(x: 8, y: 8) > Vector(x: 13, y: 13) > Vector(x: 13, y: 99))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 13]: Some
|
||||
[59, 13]: inline
|
||||
[101, 13]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[302, 13]: followed
|
||||
[365, 13]: by
|
||||
[387, 13]: more
|
||||
[427, 13]: inline
|
||||
[469, 13]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 81]: Then
|
||||
[54, 81]: more
|
||||
[95, 81]: inline
|
||||
[137, 81]: text.
|
||||
Clip: Path (Vector(x: 13, y: 47) > Vector(x: 787, y: 47) > Vector(x: 787, y: 65) > Vector(x: 13, y: 65))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 47]: Then
|
||||
[54, 47]: a
|
||||
[67, 47]: block
|
||||
[109, 47]: level
|
||||
[147, 47]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[131, 13]: followed
|
||||
[195, 13]: by
|
||||
[216, 13]: text
|
||||
[246, 13]: in
|
||||
[263, 13]: span
|
||||
Clip: Path (Vector(x: 8, y: 104) > Vector(x: 792, y: 104) > Vector(x: 792, y: 200) > Vector(x: 8, y: 200))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 104) > Vector(x: 792, y: 104) > Vector(x: 787, y: 109) > Vector(x: 13, y: 109))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 792, y: 104) > Vector(x: 792, y: 200) > Vector(x: 787, y: 195) > Vector(x: 787, y: 109))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 792, y: 200) > Vector(x: 8, y: 200) > Vector(x: 13, y: 195) > Vector(x: 787, y: 195))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 200) > Vector(x: 8, y: 104) > Vector(x: 13, y: 109) > Vector(x: 13, y: 195))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 109]: Some
|
||||
[59, 109]: inline
|
||||
[101, 109]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[302, 109]: followed
|
||||
[365, 109]: by
|
||||
[387, 109]: more
|
||||
[427, 109]: inline
|
||||
[469, 109]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 177]: Then
|
||||
[54, 177]: more
|
||||
[95, 177]: inline
|
||||
[137, 177]: text.
|
||||
Clip: Path (Vector(x: 13, y: 143) > Vector(x: 787, y: 143) > Vector(x: 787, y: 161) > Vector(x: 13, y: 161))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 143]: Then
|
||||
[54, 143]: a
|
||||
[67, 143]: block
|
||||
[109, 143]: level
|
||||
[147, 143]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[131, 109]: followed
|
||||
[195, 109]: by
|
||||
[216, 109]: text
|
||||
[246, 109]: in
|
||||
[263, 109]: span
|
||||
Clip: Path (Vector(x: 8, y: 200) > Vector(x: 504, y: 200) > Vector(x: 504, y: 296) > Vector(x: 8, y: 296))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 200) > Vector(x: 504, y: 200) > Vector(x: 499, y: 205) > Vector(x: 13, y: 205))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 504, y: 200) > Vector(x: 504, y: 296) > Vector(x: 499, y: 291) > Vector(x: 499, y: 205))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 504, y: 296) > Vector(x: 8, y: 296) > Vector(x: 13, y: 291) > Vector(x: 499, y: 291))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 296) > Vector(x: 8, y: 200) > Vector(x: 13, y: 205) > Vector(x: 13, y: 291))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 205]: Some
|
||||
[59, 205]: inline
|
||||
[101, 205]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[302, 205]: followed
|
||||
[365, 205]: by
|
||||
[387, 205]: more
|
||||
[427, 205]: inline
|
||||
[469, 205]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 273]: Then
|
||||
[54, 273]: more
|
||||
[95, 273]: inline
|
||||
[137, 273]: text.
|
||||
Clip: Path (Vector(x: 13, y: 239) > Vector(x: 499, y: 239) > Vector(x: 499, y: 257) > Vector(x: 13, y: 257))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 239]: Then
|
||||
[54, 239]: a
|
||||
[67, 239]: block
|
||||
[109, 239]: level
|
||||
[147, 239]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[131, 205]: followed
|
||||
[195, 205]: by
|
||||
[216, 205]: text
|
||||
[246, 205]: in
|
||||
[263, 205]: span
|
||||
Clip: Path (Vector(x: 500, y: 250) > Vector(x: 800, y: 250) > Vector(x: 800, y: 364) > Vector(x: 500, y: 364))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 500, y: 250) > Vector(x: 800, y: 250) > Vector(x: 795, y: 255) > Vector(x: 505, y: 255))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 800, y: 250) > Vector(x: 800, y: 364) > Vector(x: 795, y: 359) > Vector(x: 795, y: 255))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 800, y: 364) > Vector(x: 500, y: 364) > Vector(x: 505, y: 359) > Vector(x: 795, y: 359))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 500, y: 364) > Vector(x: 500, y: 250) > Vector(x: 505, y: 255) > Vector(x: 505, y: 359))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[505, 255]: Some
|
||||
[551, 255]: inline
|
||||
[593, 255]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[505, 273]: followed
|
||||
[568, 273]: by
|
||||
[589, 273]: more
|
||||
[630, 273]: inline
|
||||
[672, 273]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[505, 341]: Then
|
||||
[546, 341]: more
|
||||
[587, 341]: inline
|
||||
[629, 341]: text.
|
||||
Clip: Path (Vector(x: 505, y: 307) > Vector(x: 795, y: 307) > Vector(x: 795, y: 325) > Vector(x: 505, y: 325))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[505, 307]: Then
|
||||
[546, 307]: a
|
||||
[559, 307]: block
|
||||
[601, 307]: level
|
||||
[639, 307]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[623, 255]: followed
|
||||
[687, 255]: by
|
||||
[708, 255]: text
|
||||
[738, 255]: in
|
||||
[755, 255]: span
|
||||
Clip: Path (Vector(x: 8, y: 500) > Vector(x: 504, y: 500) > Vector(x: 504, y: 596) > Vector(x: 8, y: 596))
|
||||
Fill: rgb(255,0,0)
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 500) > Vector(x: 504, y: 500) > Vector(x: 499, y: 505) > Vector(x: 13, y: 505))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 504, y: 500) > Vector(x: 504, y: 596) > Vector(x: 499, y: 591) > Vector(x: 499, y: 505))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 504, y: 596) > Vector(x: 8, y: 596) > Vector(x: 13, y: 591) > Vector(x: 499, y: 591))
|
||||
Shape: rgb(0,0,255) Path (Vector(x: 8, y: 596) > Vector(x: 8, y: 500) > Vector(x: 13, y: 505) > Vector(x: 13, y: 591))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 505]: Some
|
||||
[59, 505]: inline
|
||||
[101, 505]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[302, 505]: followed
|
||||
[365, 505]: by
|
||||
[387, 505]: more
|
||||
[427, 505]: inline
|
||||
[469, 505]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 573]: Then
|
||||
[54, 573]: more
|
||||
[95, 573]: inline
|
||||
[137, 573]: text.
|
||||
Clip: Path (Vector(x: 13, y: 539) > Vector(x: 499, y: 539) > Vector(x: 499, y: 557) > Vector(x: 13, y: 557))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 539]: Then
|
||||
[54, 539]: a
|
||||
[67, 539]: block
|
||||
[109, 539]: level
|
||||
[147, 539]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[131, 505]: followed
|
||||
[195, 505]: by
|
||||
[216, 505]: text
|
||||
[246, 505]: in
|
||||
[263, 505]: span
|
@ -1,7 +0,0 @@
|
||||
Window: [812, 824]
|
||||
Rectangle: [0, 0, 812, 824] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 812, y: 8) > Vector(x: 810, y: 10) > Vector(x: 10, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 812, y: 8) > Vector(x: 812, y: 812) > Vector(x: 810, y: 810) > Vector(x: 810, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 812, y: 812) > Vector(x: 8, y: 812) > Vector(x: 10, y: 810) > Vector(x: 810, y: 810))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 812) > Vector(x: 8, y: 8) > Vector(x: 10, y: 10) > Vector(x: 10, y: 810))
|
@ -1,328 +0,0 @@
|
||||
Window: [800, 917]
|
||||
Rectangle: [0, 0, 800, 917] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (BezierCurve(x0: 0, y0: 908, x1: 3, y1: 905, cx0: 0, cy0: 907, cx1: 1, cy1: 905) > BezierCurve(x0: 9, y0: 905, x1: 12, y1: 908, cx0: 11, cy0: 905, cx1: 12, cy1: 907) > BezierCurve(x0: 12, y0: 914, x1: 9, y1: 917, cx0: 12, cy0: 916, cx1: 11, cy1: 917) > BezierCurve(x0: 3, y0: 917, x1: 0, y1: 914, cx0: 1, cy0: 917, cx1: 0, cy1: 916))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 1, y0: 906, x1: 3, y1: 905, cx0: 1, cy0: 906, cx1: 2, cy1: 905) > BezierCurve(x0: 9, y0: 905, x1: 11, y1: 906, cx0: 10, cy0: 905, cx1: 11, cy1: 906) > BezierCurve(x0: 10, y0: 907, x1: 9, y1: 906, cx0: 10, cy0: 906, cx1: 10, cy1: 906) > BezierCurve(x0: 3, y0: 906, x1: 2, y1: 907, cx0: 2, cy0: 906, cx1: 2, cy1: 906))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 906, x1: 12, y1: 908, cx0: 12, cy0: 907, cx1: 12, cy1: 907) > BezierCurve(x0: 12, y0: 914, x1: 11, y1: 916, cx0: 12, cy0: 915, cx1: 12, cy1: 916) > BezierCurve(x0: 10, y0: 916, x1: 11, y1: 914, cx0: 11, cy0: 915, cx1: 11, cy1: 915) > BezierCurve(x0: 11, y0: 908, x1: 10, y1: 907, cx0: 11, cy0: 908, cx1: 11, cy1: 907))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 916, x1: 9, y1: 917, cx0: 11, cy0: 917, cx1: 10, cy1: 917) > BezierCurve(x0: 3, y0: 917, x1: 1, y1: 916, cx0: 2, cy0: 917, cx1: 1, cy1: 917) > BezierCurve(x0: 2, y0: 916, x1: 3, y1: 916, cx0: 2, cy0: 916, cx1: 2, cy1: 916) > BezierCurve(x0: 9, y0: 916, x1: 10, y1: 916, cx0: 10, cy0: 916, cx1: 10, cy1: 916))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 1, y0: 916, x1: 0, y1: 914, cx0: 0, cy0: 916, cx1: 0, cy1: 915) > BezierCurve(x0: 0, y0: 908, x1: 1, y1: 906, cx0: 0, cy0: 907, cx1: 0, cy1: 907) > BezierCurve(x0: 2, y0: 907, x1: 1, y1: 908, cx0: 1, cy0: 907, cx1: 1, cy1: 908) > BezierCurve(x0: 1, y0: 914, x1: 2, y1: 916, cx0: 1, cy0: 915, cx1: 1, cy1: 915))
|
||||
Clip: Path (Vector(x: 0, y: 13) > Vector(x: 158, y: 13) > Vector(x: 158, y: 41) > Vector(x: 0, y: 41))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 13) > Vector(x: 158, y: 13) > Vector(x: 156, y: 15) > Vector(x: 2, y: 15))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 158, y: 13) > Vector(x: 158, y: 41) > Vector(x: 156, y: 39) > Vector(x: 156, y: 15))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 158, y: 41) > Vector(x: 0, y: 41) > Vector(x: 2, y: 39) > Vector(x: 156, y: 39))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 41) > Vector(x: 0, y: 13) > Vector(x: 2, y: 15) > Vector(x: 2, y: 39))
|
||||
Clip: Path (Vector(x: 2, y: 15) > Vector(x: 156, y: 15) > Vector(x: 156, y: 39) > Vector(x: 2, y: 39))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[4, 17]: textbox
|
||||
Clip: Path (Vector(x: 162, y: 13) > Vector(x: 320, y: 13) > Vector(x: 320, y: 41) > Vector(x: 162, y: 41))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 162, y: 13) > Vector(x: 320, y: 13) > Vector(x: 318, y: 15) > Vector(x: 164, y: 15))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 13) > Vector(x: 320, y: 41) > Vector(x: 318, y: 39) > Vector(x: 318, y: 15))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 41) > Vector(x: 162, y: 41) > Vector(x: 164, y: 39) > Vector(x: 318, y: 39))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 162, y: 41) > Vector(x: 162, y: 13) > Vector(x: 164, y: 15) > Vector(x: 164, y: 39))
|
||||
Clip: Path (Vector(x: 164, y: 15) > Vector(x: 318, y: 15) > Vector(x: 318, y: 39) > Vector(x: 164, y: 39))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[166, 17]: •
|
||||
[172, 17]: •
|
||||
[177, 17]: •
|
||||
[183, 17]: •
|
||||
[188, 17]: •
|
||||
[194, 17]: •
|
||||
[200, 17]: •
|
||||
Clip: Path (Vector(x: 324, y: 10) > Vector(x: 488, y: 10) > Vector(x: 488, y: 44) > Vector(x: 324, y: 44))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 324, y: 10) > Vector(x: 488, y: 10) > Vector(x: 483, y: 15) > Vector(x: 329, y: 15))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 488, y: 10) > Vector(x: 488, y: 44) > Vector(x: 483, y: 39) > Vector(x: 483, y: 15))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 488, y: 44) > Vector(x: 324, y: 44) > Vector(x: 329, y: 39) > Vector(x: 483, y: 39))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 324, y: 44) > Vector(x: 324, y: 10) > Vector(x: 329, y: 15) > Vector(x: 329, y: 39))
|
||||
Clip: Path (Vector(x: 329, y: 15) > Vector(x: 483, y: 15) > Vector(x: 483, y: 39) > Vector(x: 329, y: 39))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[331, 17]: textbox
|
||||
Clip: Path (Vector(x: 492, y: 0) > Vector(x: 656, y: 0) > Vector(x: 656, y: 54) > Vector(x: 492, y: 54))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 492, y: 0) > Vector(x: 656, y: 0) > Vector(x: 651, y: 5) > Vector(x: 497, y: 5))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 656, y: 0) > Vector(x: 656, y: 54) > Vector(x: 651, y: 49) > Vector(x: 651, y: 5))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 656, y: 54) > Vector(x: 492, y: 54) > Vector(x: 497, y: 49) > Vector(x: 651, y: 49))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 492, y: 54) > Vector(x: 492, y: 0) > Vector(x: 497, y: 5) > Vector(x: 497, y: 49))
|
||||
Clip: Path (Vector(x: 497, y: 5) > Vector(x: 651, y: 5) > Vector(x: 651, y: 49) > Vector(x: 497, y: 49))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[499, 7]: textbox
|
||||
Clip: Path (Vector(x: 0, y: 54) > Vector(x: 180, y: 54) > Vector(x: 180, y: 124) > Vector(x: 0, y: 124))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 0, y: 54) > Vector(x: 180, y: 54) > Vector(x: 175, y: 59) > Vector(x: 5, y: 59))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 180, y: 54) > Vector(x: 180, y: 124) > Vector(x: 175, y: 119) > Vector(x: 175, y: 59))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 180, y: 124) > Vector(x: 0, y: 124) > Vector(x: 5, y: 119) > Vector(x: 175, y: 119))
|
||||
Shape: rgb(0,0,128) Path (Vector(x: 0, y: 124) > Vector(x: 0, y: 54) > Vector(x: 5, y: 59) > Vector(x: 5, y: 119))
|
||||
Clip: Path (Vector(x: 5, y: 59) > Vector(x: 175, y: 59) > Vector(x: 175, y: 119) > Vector(x: 5, y: 119))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[15, 69]: textbox
|
||||
Clip: Path (Vector(x: 184, y: 67) > Vector(x: 358, y: 67) > Vector(x: 358, y: 111) > Vector(x: 184, y: 111))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 184, y: 67) > Vector(x: 358, y: 67) > Vector(x: 356, y: 69) > Vector(x: 186, y: 69))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 358, y: 67) > Vector(x: 358, y: 111) > Vector(x: 356, y: 109) > Vector(x: 356, y: 69))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 358, y: 111) > Vector(x: 184, y: 111) > Vector(x: 186, y: 109) > Vector(x: 356, y: 109))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 184, y: 111) > Vector(x: 184, y: 67) > Vector(x: 186, y: 69) > Vector(x: 186, y: 109))
|
||||
Clip: Path (Vector(x: 186, y: 69) > Vector(x: 356, y: 69) > Vector(x: 356, y: 109) > Vector(x: 186, y: 109))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[196, 79]: textbox
|
||||
Clip: Path (Vector(x: 362, y: 67) > Vector(x: 536, y: 67) > Vector(x: 536, y: 111) > Vector(x: 362, y: 111))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 362, y: 67) > Vector(x: 536, y: 67) > Vector(x: 534, y: 69) > Vector(x: 364, y: 69))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 536, y: 67) > Vector(x: 536, y: 111) > Vector(x: 534, y: 109) > Vector(x: 534, y: 69))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 536, y: 111) > Vector(x: 362, y: 111) > Vector(x: 364, y: 109) > Vector(x: 534, y: 109))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 362, y: 111) > Vector(x: 362, y: 67) > Vector(x: 364, y: 69) > Vector(x: 364, y: 109))
|
||||
Clip: Path (Vector(x: 364, y: 69) > Vector(x: 534, y: 69) > Vector(x: 534, y: 109) > Vector(x: 364, y: 109))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[472, 79]: textbox
|
||||
Clip: Path (Vector(x: 540, y: 75) > Vector(x: 690, y: 75) > Vector(x: 690, y: 95) > Vector(x: 540, y: 95))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 540, y: 75) > Vector(x: 690, y: 75) > Vector(x: 688, y: 77) > Vector(x: 542, y: 77))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 690, y: 75) > Vector(x: 690, y: 95) > Vector(x: 688, y: 93) > Vector(x: 688, y: 77))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 690, y: 95) > Vector(x: 540, y: 95) > Vector(x: 542, y: 93) > Vector(x: 688, y: 93))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 540, y: 95) > Vector(x: 540, y: 75) > Vector(x: 542, y: 77) > Vector(x: 542, y: 93))
|
||||
Clip: Path (Vector(x: 542, y: 77) > Vector(x: 688, y: 77) > Vector(x: 688, y: 93) > Vector(x: 542, y: 93))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[544, 79]: Value
|
||||
[588, 79]: 1
|
||||
Clip: Path (Vector(x: 0, y: 124) > Vector(x: 150, y: 124) > Vector(x: 150, y: 144) > Vector(x: 0, y: 144))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 124) > Vector(x: 150, y: 124) > Vector(x: 148, y: 126) > Vector(x: 2, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 150, y: 124) > Vector(x: 150, y: 144) > Vector(x: 148, y: 142) > Vector(x: 148, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 150, y: 144) > Vector(x: 0, y: 144) > Vector(x: 2, y: 142) > Vector(x: 148, y: 142))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 144) > Vector(x: 0, y: 124) > Vector(x: 2, y: 126) > Vector(x: 2, y: 142))
|
||||
Clip: Path (Vector(x: 2, y: 126) > Vector(x: 148, y: 126) > Vector(x: 148, y: 142) > Vector(x: 2, y: 142))
|
||||
Clip: Path (Vector(x: 154, y: 124) > Vector(x: 304, y: 124) > Vector(x: 304, y: 144) > Vector(x: 154, y: 144))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 154, y: 124) > Vector(x: 304, y: 124) > Vector(x: 302, y: 126) > Vector(x: 156, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 304, y: 124) > Vector(x: 304, y: 144) > Vector(x: 302, y: 142) > Vector(x: 302, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 304, y: 144) > Vector(x: 154, y: 144) > Vector(x: 156, y: 142) > Vector(x: 302, y: 142))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 154, y: 144) > Vector(x: 154, y: 124) > Vector(x: 156, y: 126) > Vector(x: 156, y: 142))
|
||||
Clip: Path (Vector(x: 156, y: 126) > Vector(x: 302, y: 126) > Vector(x: 302, y: 142) > Vector(x: 156, y: 142))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[158, 128]: 2
|
||||
Clip: Path (Vector(x: 308, y: 124) > Vector(x: 458, y: 124) > Vector(x: 458, y: 144) > Vector(x: 308, y: 144))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 308, y: 124) > Vector(x: 458, y: 124) > Vector(x: 456, y: 126) > Vector(x: 310, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 458, y: 124) > Vector(x: 458, y: 144) > Vector(x: 456, y: 142) > Vector(x: 456, y: 126))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 458, y: 144) > Vector(x: 308, y: 144) > Vector(x: 310, y: 142) > Vector(x: 456, y: 142))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 308, y: 144) > Vector(x: 308, y: 124) > Vector(x: 310, y: 126) > Vector(x: 310, y: 142))
|
||||
Clip: Path (Vector(x: 310, y: 126) > Vector(x: 456, y: 126) > Vector(x: 456, y: 142) > Vector(x: 310, y: 142))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[312, 128]: Value
|
||||
[356, 128]: 2
|
||||
[370, 128]: with
|
||||
[402, 128]: something
|
||||
[481, 128]: else
|
||||
Clip: Path (Vector(x: 462, y: 125) > Vector(x: 612, y: 125) > Vector(x: 612, y: 145) > Vector(x: 462, y: 145))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 125) > Vector(x: 612, y: 125) > Vector(x: 610, y: 127) > Vector(x: 464, y: 127))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 612, y: 125) > Vector(x: 612, y: 145) > Vector(x: 610, y: 143) > Vector(x: 610, y: 127))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 612, y: 145) > Vector(x: 462, y: 145) > Vector(x: 464, y: 143) > Vector(x: 610, y: 143))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 462, y: 145) > Vector(x: 462, y: 125) > Vector(x: 464, y: 127) > Vector(x: 464, y: 143))
|
||||
Clip: Path (Vector(x: 464, y: 127) > Vector(x: 610, y: 127) > Vector(x: 610, y: 143) > Vector(x: 464, y: 143))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[512, 129]: Submit
|
||||
Clip: Path (Vector(x: 616, y: 125) > Vector(x: 766, y: 125) > Vector(x: 766, y: 145) > Vector(x: 616, y: 145))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 616, y: 125) > Vector(x: 766, y: 125) > Vector(x: 764, y: 127) > Vector(x: 618, y: 127))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 766, y: 125) > Vector(x: 766, y: 145) > Vector(x: 764, y: 143) > Vector(x: 764, y: 127))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 766, y: 145) > Vector(x: 616, y: 145) > Vector(x: 618, y: 143) > Vector(x: 764, y: 143))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 616, y: 145) > Vector(x: 616, y: 125) > Vector(x: 618, y: 127) > Vector(x: 618, y: 143))
|
||||
Clip: Path (Vector(x: 618, y: 127) > Vector(x: 764, y: 127) > Vector(x: 764, y: 143) > Vector(x: 618, y: 143))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[668, 129]: Button
|
||||
Clip: Path (Vector(x: 0, y: 159) > Vector(x: 150, y: 159) > Vector(x: 150, y: 179) > Vector(x: 0, y: 179))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 159) > Vector(x: 150, y: 159) > Vector(x: 148, y: 161) > Vector(x: 2, y: 161))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 150, y: 159) > Vector(x: 150, y: 179) > Vector(x: 148, y: 177) > Vector(x: 148, y: 161))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 150, y: 179) > Vector(x: 0, y: 179) > Vector(x: 2, y: 177) > Vector(x: 148, y: 177))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 179) > Vector(x: 0, y: 159) > Vector(x: 2, y: 161) > Vector(x: 2, y: 177))
|
||||
Clip: Path (Vector(x: 2, y: 161) > Vector(x: 148, y: 161) > Vector(x: 148, y: 177) > Vector(x: 2, y: 177))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[54, 163]: Reset
|
||||
Clip: Path (Vector(x: 154, y: 159) > Vector(x: 354, y: 159) > Vector(x: 354, y: 179) > Vector(x: 154, y: 179))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 154, y: 159) > Vector(x: 354, y: 159) > Vector(x: 352, y: 161) > Vector(x: 156, y: 161))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 354, y: 159) > Vector(x: 354, y: 179) > Vector(x: 352, y: 177) > Vector(x: 352, y: 161))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 354, y: 179) > Vector(x: 154, y: 179) > Vector(x: 156, y: 177) > Vector(x: 352, y: 177))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 154, y: 179) > Vector(x: 154, y: 159) > Vector(x: 156, y: 161) > Vector(x: 156, y: 177))
|
||||
Clip: Path (Vector(x: 156, y: 161) > Vector(x: 352, y: 161) > Vector(x: 352, y: 177) > Vector(x: 156, y: 177))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[229, 163]: Submit
|
||||
Clip: Path (Vector(x: 358, y: 147) > Vector(x: 558, y: 147) > Vector(x: 558, y: 197) > Vector(x: 358, y: 197))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 358, y: 147) > Vector(x: 558, y: 147) > Vector(x: 556, y: 149) > Vector(x: 360, y: 149))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 558, y: 147) > Vector(x: 558, y: 197) > Vector(x: 556, y: 195) > Vector(x: 556, y: 149))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 558, y: 197) > Vector(x: 358, y: 197) > Vector(x: 360, y: 195) > Vector(x: 556, y: 195))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 358, y: 197) > Vector(x: 358, y: 147) > Vector(x: 360, y: 149) > Vector(x: 360, y: 195))
|
||||
Clip: Path (Vector(x: 360, y: 149) > Vector(x: 556, y: 149) > Vector(x: 556, y: 195) > Vector(x: 360, y: 195))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[435, 151]: Button
|
||||
Clip: Path (Vector(x: 562, y: 147) > Vector(x: 762, y: 147) > Vector(x: 762, y: 197) > Vector(x: 562, y: 197))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 562, y: 147) > Vector(x: 762, y: 147) > Vector(x: 760, y: 149) > Vector(x: 564, y: 149))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 762, y: 147) > Vector(x: 762, y: 197) > Vector(x: 760, y: 195) > Vector(x: 760, y: 149))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 762, y: 197) > Vector(x: 562, y: 197) > Vector(x: 564, y: 195) > Vector(x: 760, y: 195))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 562, y: 197) > Vector(x: 562, y: 147) > Vector(x: 564, y: 149) > Vector(x: 564, y: 195))
|
||||
Clip: Path (Vector(x: 564, y: 149) > Vector(x: 760, y: 149) > Vector(x: 760, y: 195) > Vector(x: 564, y: 195))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[566, 151]: Reset
|
||||
Clip: Path (Vector(x: 0, y: 213) > Vector(x: 158, y: 213) > Vector(x: 158, y: 241) > Vector(x: 0, y: 241))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 213) > Vector(x: 158, y: 213) > Vector(x: 156, y: 215) > Vector(x: 2, y: 215))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 158, y: 213) > Vector(x: 158, y: 241) > Vector(x: 156, y: 239) > Vector(x: 156, y: 215))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 158, y: 241) > Vector(x: 0, y: 241) > Vector(x: 2, y: 239) > Vector(x: 156, y: 239))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 0, y: 241) > Vector(x: 0, y: 213) > Vector(x: 2, y: 215) > Vector(x: 2, y: 239))
|
||||
Clip: Path (Vector(x: 2, y: 215) > Vector(x: 156, y: 215) > Vector(x: 156, y: 239) > Vector(x: 2, y: 239))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
Clip: Path (Vector(x: 162, y: 197) > Vector(x: 336, y: 197) > Vector(x: 336, y: 241) > Vector(x: 162, y: 241))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 162, y: 197) > Vector(x: 336, y: 197) > Vector(x: 326, y: 207) > Vector(x: 172, y: 207))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 336, y: 197) > Vector(x: 336, y: 241) > Vector(x: 326, y: 231) > Vector(x: 326, y: 207))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 336, y: 241) > Vector(x: 162, y: 241) > Vector(x: 172, y: 231) > Vector(x: 326, y: 231))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 162, y: 241) > Vector(x: 162, y: 197) > Vector(x: 172, y: 207) > Vector(x: 172, y: 231))
|
||||
Clip: Path (Vector(x: 172, y: 207) > Vector(x: 326, y: 207) > Vector(x: 326, y: 231) > Vector(x: 172, y: 231))
|
||||
Clip: Path (Vector(x: 340, y: 213) > Vector(x: 498, y: 213) > Vector(x: 498, y: 241) > Vector(x: 340, y: 241))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 340, y: 213) > Vector(x: 498, y: 213) > Vector(x: 496, y: 215) > Vector(x: 342, y: 215))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 498, y: 213) > Vector(x: 498, y: 241) > Vector(x: 496, y: 239) > Vector(x: 496, y: 215))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 498, y: 241) > Vector(x: 340, y: 241) > Vector(x: 342, y: 239) > Vector(x: 496, y: 239))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 340, y: 241) > Vector(x: 340, y: 213) > Vector(x: 342, y: 215) > Vector(x: 342, y: 239))
|
||||
Clip: Path (Vector(x: 342, y: 215) > Vector(x: 496, y: 215) > Vector(x: 496, y: 239) > Vector(x: 342, y: 239))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[348, 217]: text
|
||||
Clip: Path (Vector(x: 502, y: 197) > Vector(x: 676, y: 197) > Vector(x: 676, y: 241) > Vector(x: 502, y: 241))
|
||||
Fill: rgb(255,255,255)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 502, y: 197) > Vector(x: 676, y: 197) > Vector(x: 666, y: 207) > Vector(x: 512, y: 207))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 676, y: 197) > Vector(x: 676, y: 241) > Vector(x: 666, y: 231) > Vector(x: 666, y: 207))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 676, y: 241) > Vector(x: 502, y: 241) > Vector(x: 512, y: 231) > Vector(x: 666, y: 231))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 502, y: 241) > Vector(x: 502, y: 197) > Vector(x: 512, y: 207) > Vector(x: 512, y: 231))
|
||||
Clip: Path (Vector(x: 512, y: 207) > Vector(x: 666, y: 207) > Vector(x: 666, y: 231) > Vector(x: 512, y: 231))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[514, 209]: text
|
||||
Clip: Path (BezierCurve(x0: 691, y0: 217, x1: 696, y1: 212, cx0: 691, cy0: 214, cx1: 693, cy1: 212) > BezierCurve(x0: 696, y0: 212, x1: 702, y1: 217, cx0: 699, cy0: 212, cx1: 702, cy1: 214) > BezierCurve(x0: 702, y0: 217, x1: 696, y1: 223, cx0: 702, cy0: 220, cx1: 699, cy1: 223) > BezierCurve(x0: 696, y0: 223, x1: 691, y1: 217, cx0: 693, cy0: 223, cx1: 691, cy1: 220))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 692, y0: 213, x1: 696, y1: 211, cx0: 693, cy0: 212, cx1: 695, cy1: 211) > BezierCurve(x0: 696, y0: 211, x1: 701, y1: 213, cx0: 698, cy0: 211, cx1: 700, cy1: 212) > BezierCurve(x0: 700, y0: 213, x1: 696, y1: 212, cx0: 699, cy0: 212, cx1: 698, cy1: 212) > BezierCurve(x0: 696, y0: 212, x1: 693, y1: 213, cx0: 695, cy0: 212, cx1: 694, cy1: 212))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 701, y0: 213, x1: 703, y1: 217, cx0: 702, cy0: 214, cx1: 703, cy1: 215) > BezierCurve(x0: 703, y0: 217, x1: 701, y1: 222, cx0: 703, cy0: 219, cx1: 702, cy1: 221) > BezierCurve(x0: 700, y0: 221, x1: 702, y1: 217, cx0: 701, cy0: 220, cx1: 702, cy1: 219) > BezierCurve(x0: 702, y0: 217, x1: 700, y1: 213, cx0: 702, cy0: 216, cx1: 701, cy1: 214))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 701, y0: 222, x1: 696, y1: 224, cx0: 700, cy0: 223, cx1: 698, cy1: 224) > BezierCurve(x0: 696, y0: 224, x1: 692, y1: 222, cx0: 695, cy0: 224, cx1: 693, cy1: 223) > BezierCurve(x0: 693, y0: 221, x1: 696, y1: 223, cx0: 694, cy0: 222, cx1: 695, cy1: 223) > BezierCurve(x0: 696, y0: 223, x1: 700, y1: 221, cx0: 698, cy0: 223, cx1: 699, cy1: 222))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 692, y0: 222, x1: 690, y1: 217, cx0: 691, cy0: 221, cx1: 690, cy1: 219) > BezierCurve(x0: 690, y0: 217, x1: 692, y1: 213, cx0: 690, cy0: 215, cx1: 691, cy1: 214) > BezierCurve(x0: 693, y0: 213, x1: 691, y1: 217, cx0: 692, cy0: 214, cx1: 691, cy1: 216) > BezierCurve(x0: 691, y0: 217, x1: 693, y1: 221, cx0: 691, cy0: 219, cx1: 692, cy1: 220))
|
||||
Clip: Path (BezierCurve(x0: 691, y0: 217, x1: 696, y1: 212, cx0: 691, cy0: 214, cx1: 693, cy1: 212) > BezierCurve(x0: 696, y0: 212, x1: 702, y1: 217, cx0: 699, cy0: 212, cx1: 702, cy1: 214) > BezierCurve(x0: 702, y0: 217, x1: 696, y1: 223, cx0: 702, cy0: 220, cx1: 699, cy1: 223) > BezierCurve(x0: 696, y0: 223, x1: 691, y1: 217, cx0: 693, cy0: 223, cx1: 691, cy1: 220))
|
||||
Clip: Path (BezierCurve(x0: 765, y0: 217, x1: 770, y1: 212, cx0: 765, cy0: 214, cx1: 767, cy1: 212) > BezierCurve(x0: 770, y0: 212, x1: 775, y1: 217, cx0: 773, cy0: 212, cx1: 775, cy1: 214) > BezierCurve(x0: 775, y0: 217, x1: 770, y1: 223, cx0: 775, cy0: 220, cx1: 773, cy1: 223) > BezierCurve(x0: 770, y0: 223, x1: 765, y1: 217, cx0: 767, cy0: 223, cx1: 765, cy1: 220))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 765, y0: 213, x1: 770, y1: 211, cx0: 767, cy0: 212, cx1: 768, cy1: 211) > BezierCurve(x0: 770, y0: 211, x1: 775, y1: 213, cx0: 772, cy0: 211, cx1: 773, cy1: 212) > BezierCurve(x0: 774, y0: 213, x1: 770, y1: 212, cx0: 773, cy0: 212, cx1: 771, cy1: 212) > BezierCurve(x0: 770, y0: 212, x1: 766, y1: 213, cx0: 769, cy0: 212, cx1: 767, cy1: 212))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 775, y0: 213, x1: 776, y1: 217, cx0: 776, cy0: 214, cx1: 776, cy1: 215) > BezierCurve(x0: 776, y0: 217, x1: 775, y1: 222, cx0: 776, cy0: 219, cx1: 776, cy1: 221) > BezierCurve(x0: 774, y0: 221, x1: 775, y1: 217, cx0: 775, cy0: 220, cx1: 775, cy1: 219) > BezierCurve(x0: 775, y0: 217, x1: 774, y1: 213, cx0: 775, cy0: 216, cx1: 775, cy1: 214))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 775, y0: 222, x1: 770, y1: 224, cx0: 773, cy0: 223, cx1: 772, cy1: 224) > BezierCurve(x0: 770, y0: 224, x1: 765, y1: 222, cx0: 768, cy0: 224, cx1: 767, cy1: 223) > BezierCurve(x0: 766, y0: 221, x1: 770, y1: 223, cx0: 767, cy0: 222, cx1: 769, cy1: 223) > BezierCurve(x0: 770, y0: 223, x1: 774, y1: 221, cx0: 771, cy0: 223, cx1: 773, cy1: 222))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 765, y0: 222, x1: 764, y1: 217, cx0: 764, cy0: 221, cx1: 764, cy1: 219) > BezierCurve(x0: 764, y0: 217, x1: 765, y1: 213, cx0: 764, cy0: 215, cx1: 764, cy1: 214) > BezierCurve(x0: 766, y0: 213, x1: 765, y1: 217, cx0: 765, cy0: 214, cx1: 765, cy1: 216) > BezierCurve(x0: 765, y0: 217, x1: 766, y1: 221, cx0: 765, cy0: 219, cx1: 765, cy1: 220))
|
||||
Clip: Path (BezierCurve(x0: 765, y0: 217, x1: 770, y1: 212, cx0: 765, cy0: 214, cx1: 767, cy1: 212) > BezierCurve(x0: 770, y0: 212, x1: 775, y1: 217, cx0: 773, cy0: 212, cx1: 775, cy1: 214) > BezierCurve(x0: 775, y0: 217, x1: 770, y1: 223, cx0: 775, cy0: 220, cx1: 773, cy1: 223) > BezierCurve(x0: 770, y0: 223, x1: 765, y1: 217, cx0: 767, cy0: 223, cx1: 765, cy1: 220))
|
||||
Shape: rgb(42,42,42) Circle(x: 767, y: 214, r: 3)
|
||||
Clip: Path (BezierCurve(x0: 175, y0: 265, x1: 184, y1: 256, cx0: 175, cy0: 260, cx1: 179, cy1: 256) > BezierCurve(x0: 184, y0: 256, x1: 193, y1: 265, cx0: 189, cy0: 256, cx1: 193, cy1: 260) > BezierCurve(x0: 193, y0: 265, x1: 184, y1: 274, cx0: 193, cy0: 270, cx1: 189, cy1: 274) > BezierCurve(x0: 184, y0: 274, x1: 175, y1: 265, cx0: 179, cy0: 274, cx1: 175, cy1: 270))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 177, y0: 258, x1: 184, y1: 255, cx0: 178, cy0: 256, cx1: 181, cy1: 255) > BezierCurve(x0: 184, y0: 255, x1: 191, y1: 258, cx0: 186, cy0: 255, cx1: 189, cy1: 256) > BezierCurve(x0: 190, y0: 259, x1: 184, y1: 256, cx0: 188, cy0: 257, cx1: 186, cy1: 256) > BezierCurve(x0: 184, y0: 256, x1: 177, y1: 259, cx0: 181, cy0: 256, cx1: 179, cy1: 257))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 191, y0: 258, x1: 194, y1: 265, cx0: 192, cy0: 260, cx1: 194, cy1: 262) > BezierCurve(x0: 194, y0: 265, x1: 191, y1: 272, cx0: 194, cy0: 268, cx1: 192, cy1: 270) > BezierCurve(x0: 190, y0: 272, x1: 193, y1: 265, cx0: 192, cy0: 270, cx1: 193, cy1: 268) > BezierCurve(x0: 193, y0: 265, x1: 190, y1: 259, cx0: 193, cy0: 263, cx1: 192, cy1: 260))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 191, y0: 272, x1: 184, y1: 275, cx0: 189, cy0: 274, cx1: 186, cy1: 275) > BezierCurve(x0: 184, y0: 275, x1: 177, y1: 272, cx0: 181, cy0: 275, cx1: 178, cy1: 274) > BezierCurve(x0: 177, y0: 272, x1: 184, y1: 274, cx0: 179, cy0: 273, cx1: 181, cy1: 274) > BezierCurve(x0: 184, y0: 274, x1: 190, y1: 272, cx0: 186, cy0: 274, cx1: 188, cy1: 273))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 177, y0: 272, x1: 174, y1: 265, cx0: 175, cy0: 270, cx1: 174, cy1: 268) > BezierCurve(x0: 174, y0: 265, x1: 177, y1: 258, cx0: 174, cy0: 262, cx1: 175, cy1: 260) > BezierCurve(x0: 177, y0: 259, x1: 175, y1: 265, cx0: 176, cy0: 260, cx1: 175, cy1: 263) > BezierCurve(x0: 175, y0: 265, x1: 177, y1: 272, cx0: 175, cy0: 268, cx1: 176, cy1: 270))
|
||||
Clip: Path (BezierCurve(x0: 175, y0: 265, x1: 184, y1: 256, cx0: 175, cy0: 260, cx1: 179, cy1: 256) > BezierCurve(x0: 184, y0: 256, x1: 193, y1: 265, cx0: 189, cy0: 256, cx1: 193, cy1: 260) > BezierCurve(x0: 193, y0: 265, x1: 184, y1: 274, cx0: 193, cy0: 270, cx1: 189, cy1: 274) > BezierCurve(x0: 184, y0: 274, x1: 175, y1: 265, cx0: 179, cy0: 274, cx1: 175, cy1: 270))
|
||||
Clip: Path (BezierCurve(x0: 309, y0: 355, x1: 408, y1: 256, cx0: 309, cy0: 301, cx1: 353, cy1: 256) > BezierCurve(x0: 408, y0: 256, x1: 507, y1: 355, cx0: 462, cy0: 256, cx1: 507, cy1: 301) > BezierCurve(x0: 507, y0: 355, x1: 408, y1: 454, cx0: 507, cy0: 410, cx1: 462, cy1: 454) > BezierCurve(x0: 408, y0: 454, x1: 309, y1: 355, cx0: 353, cy0: 454, cx1: 309, cy1: 410))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 337, y0: 284, x1: 408, y1: 255, cx0: 355, cy0: 266, cx1: 380, cy1: 255) > BezierCurve(x0: 408, y0: 255, x1: 478, y1: 284, cx0: 435, cy0: 255, cx1: 460, cy1: 266) > BezierCurve(x0: 478, y0: 285, x1: 408, y1: 256, cx0: 460, cy0: 267, cx1: 435, cy1: 256) > BezierCurve(x0: 408, y0: 256, x1: 338, y1: 285, cx0: 380, cy0: 256, cx1: 356, cy1: 267))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 478, y0: 284, x1: 508, y1: 355, cx0: 496, cy0: 303, cx1: 508, cy1: 328) > BezierCurve(x0: 508, y0: 355, x1: 478, y1: 426, cx0: 508, cy0: 383, cx1: 496, cy1: 408) > BezierCurve(x0: 478, y0: 425, x1: 507, y1: 355, cx0: 496, cy0: 407, cx1: 507, cy1: 383) > BezierCurve(x0: 507, y0: 355, x1: 478, y1: 285, cx0: 507, cy0: 328, cx1: 496, cy1: 303))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 478, y0: 426, x1: 408, y1: 455, cx0: 460, cy0: 444, cx1: 435, cy1: 455) > BezierCurve(x0: 408, y0: 455, x1: 337, y1: 426, cx0: 380, cy0: 455, cx1: 355, cy1: 444) > BezierCurve(x0: 338, y0: 425, x1: 408, y1: 454, cx0: 356, cy0: 443, cx1: 380, cy1: 454) > BezierCurve(x0: 408, y0: 454, x1: 478, y1: 425, cx0: 435, cy0: 454, cx1: 460, cy1: 443))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 337, y0: 426, x1: 308, y1: 355, cx0: 319, cy0: 408, cx1: 308, cy1: 383) > BezierCurve(x0: 308, y0: 355, x1: 337, y1: 284, cx0: 308, cy0: 328, cx1: 319, cy1: 303) > BezierCurve(x0: 338, y0: 285, x1: 309, y1: 355, cx0: 320, cy0: 303, cx1: 309, cy1: 328) > BezierCurve(x0: 309, y0: 355, x1: 338, y1: 425, cx0: 309, cy0: 383, cx1: 320, cy1: 407))
|
||||
Clip: Path (BezierCurve(x0: 309, y0: 355, x1: 408, y1: 256, cx0: 309, cy0: 301, cx1: 353, cy1: 256) > BezierCurve(x0: 408, y0: 256, x1: 507, y1: 355, cx0: 462, cy0: 256, cx1: 507, cy1: 301) > BezierCurve(x0: 507, y0: 355, x1: 408, y1: 454, cx0: 507, cy0: 410, cx1: 462, cy1: 454) > BezierCurve(x0: 408, y0: 454, x1: 309, y1: 355, cx0: 353, cy0: 454, cx1: 309, cy1: 410))
|
||||
Clip: Path (BezierCurve(x0: 533, y0: 355, x1: 632, y1: 256, cx0: 533, cy0: 301, cx1: 577, cy1: 256) > BezierCurve(x0: 632, y0: 256, x1: 731, y1: 355, cx0: 686, cy0: 256, cx1: 731, cy1: 301) > BezierCurve(x0: 731, y0: 355, x1: 632, y1: 454, cx0: 731, cy0: 410, cx1: 686, cy1: 454) > BezierCurve(x0: 632, y0: 454, x1: 533, y1: 355, cx0: 577, cy0: 454, cx1: 533, cy1: 410))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 561, y0: 284, x1: 632, y1: 255, cx0: 579, cy0: 266, cx1: 604, cy1: 255) > BezierCurve(x0: 632, y0: 255, x1: 702, y1: 284, cx0: 659, cy0: 255, cx1: 684, cy1: 266) > BezierCurve(x0: 702, y0: 285, x1: 632, y1: 256, cx0: 684, cy0: 267, cx1: 659, cy1: 256) > BezierCurve(x0: 632, y0: 256, x1: 562, y1: 285, cx0: 604, cy0: 256, cx1: 580, cy1: 267))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 702, y0: 284, x1: 732, y1: 355, cx0: 720, cy0: 303, cx1: 732, cy1: 328) > BezierCurve(x0: 732, y0: 355, x1: 702, y1: 426, cx0: 732, cy0: 383, cx1: 720, cy1: 408) > BezierCurve(x0: 702, y0: 425, x1: 731, y1: 355, cx0: 720, cy0: 407, cx1: 731, cy1: 383) > BezierCurve(x0: 731, y0: 355, x1: 702, y1: 285, cx0: 731, cy0: 328, cx1: 720, cy1: 303))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 702, y0: 426, x1: 632, y1: 455, cx0: 684, cy0: 444, cx1: 659, cy1: 455) > BezierCurve(x0: 632, y0: 455, x1: 561, y1: 426, cx0: 604, cy0: 455, cx1: 579, cy1: 444) > BezierCurve(x0: 562, y0: 425, x1: 632, y1: 454, cx0: 580, cy0: 443, cx1: 604, cy1: 454) > BezierCurve(x0: 632, y0: 454, x1: 702, y1: 425, cx0: 659, cy0: 454, cx1: 684, cy1: 443))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 561, y0: 426, x1: 532, y1: 355, cx0: 543, cy0: 408, cx1: 532, cy1: 383) > BezierCurve(x0: 532, y0: 355, x1: 561, y1: 284, cx0: 532, cy0: 328, cx1: 543, cy1: 303) > BezierCurve(x0: 562, y0: 285, x1: 533, y1: 355, cx0: 544, cy0: 303, cx1: 533, cy1: 328) > BezierCurve(x0: 533, y0: 355, x1: 562, y1: 425, cx0: 533, cy0: 383, cx1: 544, cy1: 407))
|
||||
Clip: Path (BezierCurve(x0: 533, y0: 355, x1: 632, y1: 256, cx0: 533, cy0: 301, cx1: 577, cy1: 256) > BezierCurve(x0: 632, y0: 256, x1: 731, y1: 355, cx0: 686, cy0: 256, cx1: 731, cy1: 301) > BezierCurve(x0: 731, y0: 355, x1: 632, y1: 454, cx0: 731, cy0: 410, cx1: 686, cy1: 454) > BezierCurve(x0: 632, y0: 454, x1: 533, y1: 355, cx0: 577, cy0: 454, cx1: 533, cy1: 410))
|
||||
Shape: rgb(42,42,42) Circle(x: 582, y: 305, r: 50)
|
||||
Clip: Path (BezierCurve(x0: 757, y0: 262, x1: 759, y1: 260, cx0: 757, cy0: 261, cx1: 757, cy1: 260) > BezierCurve(x0: 765, y0: 260, x1: 767, y1: 262, cx0: 767, cy0: 260, cx1: 767, cy1: 261) > BezierCurve(x0: 767, y0: 269, x1: 765, y1: 271, cx0: 767, cy0: 270, cx1: 767, cy1: 271) > BezierCurve(x0: 759, y0: 271, x1: 757, y1: 269, cx0: 757, cy0: 271, cx1: 757, cy1: 270))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 756, y0: 260, x1: 759, y1: 259, cx0: 757, cy0: 259, cx1: 758, cy1: 259) > BezierCurve(x0: 765, y0: 259, x1: 768, y1: 260, cx0: 766, cy0: 259, cx1: 767, cy1: 259) > BezierCurve(x0: 767, y0: 260, x1: 765, y1: 260, cx0: 766, cy0: 260, cx1: 766, cy1: 260) > BezierCurve(x0: 759, y0: 260, x1: 757, y1: 260, cx0: 758, cy0: 260, cx1: 758, cy1: 260))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 768, y0: 260, x1: 768, y1: 262, cx0: 768, cy0: 260, cx1: 768, cy1: 261) > BezierCurve(x0: 768, y0: 269, x1: 768, y1: 271, cx0: 768, cy0: 269, cx1: 768, cy1: 270) > BezierCurve(x0: 767, y0: 270, x1: 767, y1: 269, cx0: 767, cy0: 270, cx1: 767, cy1: 269) > BezierCurve(x0: 767, y0: 262, x1: 767, y1: 260, cx0: 767, cy0: 261, cx1: 767, cy1: 261))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 768, y0: 271, x1: 765, y1: 272, cx0: 767, cy0: 271, cx1: 766, cy1: 272) > BezierCurve(x0: 759, y0: 272, x1: 756, y1: 271, cx0: 758, cy0: 272, cx1: 757, cy1: 271) > BezierCurve(x0: 757, y0: 270, x1: 759, y1: 271, cx0: 758, cy0: 270, cx1: 758, cy1: 271) > BezierCurve(x0: 765, y0: 271, x1: 767, y1: 270, cx0: 766, cy0: 271, cx1: 766, cy1: 270))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 756, y0: 271, x1: 756, y1: 269, cx0: 756, cy0: 270, cx1: 756, cy1: 269) > BezierCurve(x0: 756, y0: 262, x1: 756, y1: 260, cx0: 756, cy0: 261, cx1: 756, cy1: 260) > BezierCurve(x0: 757, y0: 260, x1: 757, y1: 262, cx0: 757, cy0: 261, cx1: 757, cy1: 261) > BezierCurve(x0: 757, y0: 269, x1: 757, y1: 270, cx0: 757, cy0: 269, cx1: 757, cy1: 270))
|
||||
Clip: Path (BezierCurve(x0: 757, y0: 262, x1: 759, y1: 260, cx0: 757, cy0: 261, cx1: 757, cy1: 260) > BezierCurve(x0: 765, y0: 260, x1: 767, y1: 262, cx0: 767, cy0: 260, cx1: 767, cy1: 261) > BezierCurve(x0: 767, y0: 269, x1: 765, y1: 271, cx0: 767, cy0: 270, cx1: 767, cy1: 271) > BezierCurve(x0: 759, y0: 271, x1: 757, y1: 269, cx0: 757, cy0: 271, cx1: 757, cy1: 270))
|
||||
Clip: Path (BezierCurve(x0: 48, y0: 482, x1: 50, y1: 480, cx0: 48, cy0: 481, cx1: 49, cy1: 480) > BezierCurve(x0: 57, y0: 480, x1: 59, y1: 482, cx0: 58, cy0: 480, cx1: 59, cy1: 481) > BezierCurve(x0: 59, y0: 489, x1: 57, y1: 491, cx0: 59, cy0: 490, cx1: 58, cy1: 491) > BezierCurve(x0: 50, y0: 491, x1: 48, y1: 489, cx0: 49, cy0: 491, cx1: 48, cy1: 490))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 48, y0: 480, x1: 50, y1: 479, cx0: 48, cy0: 479, cx1: 49, cy1: 479) > BezierCurve(x0: 57, y0: 479, x1: 59, y1: 480, cx0: 57, cy0: 479, cx1: 58, cy1: 479) > BezierCurve(x0: 58, y0: 480, x1: 57, y1: 480, cx0: 58, cy0: 480, cx1: 57, cy1: 480) > BezierCurve(x0: 50, y0: 480, x1: 48, y1: 480, cx0: 49, cy0: 480, cx1: 49, cy1: 480))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 59, y0: 480, x1: 60, y1: 482, cx0: 59, cy0: 480, cx1: 60, cy1: 481) > BezierCurve(x0: 60, y0: 489, x1: 59, y1: 491, cx0: 60, cy0: 489, cx1: 59, cy1: 490) > BezierCurve(x0: 58, y0: 490, x1: 59, y1: 489, cx0: 58, cy0: 490, cx1: 59, cy1: 489) > BezierCurve(x0: 59, y0: 482, x1: 58, y1: 480, cx0: 59, cy0: 481, cx1: 58, cy1: 481))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 59, y0: 491, x1: 57, y1: 492, cx0: 58, cy0: 491, cx1: 57, cy1: 492) > BezierCurve(x0: 50, y0: 492, x1: 48, y1: 491, cx0: 49, cy0: 492, cx1: 48, cy1: 491) > BezierCurve(x0: 48, y0: 490, x1: 50, y1: 491, cx0: 49, cy0: 490, cx1: 49, cy1: 491) > BezierCurve(x0: 57, y0: 491, x1: 58, y1: 490, cx0: 57, cy0: 491, cx1: 58, cy1: 490))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 48, y0: 491, x1: 47, y1: 489, cx0: 47, cy0: 490, cx1: 47, cy1: 489) > BezierCurve(x0: 47, y0: 482, x1: 48, y1: 480, cx0: 47, cy0: 481, cx1: 47, cy1: 480) > BezierCurve(x0: 48, y0: 480, x1: 48, y1: 482, cx0: 48, cy0: 481, cx1: 48, cy1: 481) > BezierCurve(x0: 48, y0: 489, x1: 48, y1: 490, cx0: 48, cy0: 489, cx1: 48, cy1: 490))
|
||||
Clip: Path (BezierCurve(x0: 48, y0: 482, x1: 50, y1: 480, cx0: 48, cy0: 481, cx1: 49, cy1: 480) > BezierCurve(x0: 57, y0: 480, x1: 59, y1: 482, cx0: 58, cy0: 480, cx1: 59, cy1: 481) > BezierCurve(x0: 59, y0: 489, x1: 57, y1: 491, cx0: 59, cy0: 490, cx1: 58, cy1: 491) > BezierCurve(x0: 50, y0: 491, x1: 48, y1: 489, cx0: 49, cy0: 491, cx1: 48, cy1: 490))
|
||||
Shape: rgb(42,42,42) Path (Vector(x: 52, y: 489) > Vector(x: 49, y: 486) > Vector(x: 50, y: 484) > Vector(x: 52, y: 486) > Vector(x: 56, y: 482) > Vector(x: 58, y: 483) > Vector(x: 52, y: 489))
|
||||
Clip: Path (BezierCurve(x0: 248, y0: 478, x1: 250, y1: 476, cx0: 248, cy0: 477, cx1: 249, cy1: 476) > BezierCurve(x0: 264, y0: 476, x1: 266, y1: 478, cx0: 265, cy0: 476, cx1: 266, cy1: 477) > BezierCurve(x0: 266, y0: 492, x1: 264, y1: 494, cx0: 266, cy0: 493, cx1: 265, cy1: 494) > BezierCurve(x0: 250, y0: 494, x1: 248, y1: 492, cx0: 249, cy0: 494, cx1: 248, cy1: 493))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 248, y0: 476, x1: 250, y1: 475, cx0: 249, cy0: 476, cx1: 249, cy1: 475) > BezierCurve(x0: 264, y0: 475, x1: 266, y1: 476, cx0: 265, cy0: 475, cx1: 266, cy1: 476) > BezierCurve(x0: 266, y0: 477, x1: 264, y1: 476, cx0: 265, cy0: 476, cx1: 265, cy1: 476) > BezierCurve(x0: 250, y0: 476, x1: 249, y1: 477, cx0: 250, cy0: 476, cx1: 249, cy1: 476))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 266, y0: 476, x1: 267, y1: 478, cx0: 267, cy0: 477, cx1: 267, cy1: 477) > BezierCurve(x0: 267, y0: 492, x1: 266, y1: 494, cx0: 267, cy0: 493, cx1: 267, cy1: 494) > BezierCurve(x0: 266, y0: 494, x1: 266, y1: 492, cx0: 266, cy0: 493, cx1: 266, cy1: 493) > BezierCurve(x0: 266, y0: 478, x1: 266, y1: 477, cx0: 266, cy0: 478, cx1: 266, cy1: 477))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 266, y0: 494, x1: 264, y1: 495, cx0: 266, cy0: 495, cx1: 265, cy1: 495) > BezierCurve(x0: 250, y0: 495, x1: 248, y1: 494, cx0: 249, cy0: 495, cx1: 249, cy1: 495) > BezierCurve(x0: 249, y0: 494, x1: 250, y1: 494, cx0: 249, cy0: 494, cx1: 250, cy1: 494) > BezierCurve(x0: 264, y0: 494, x1: 266, y1: 494, cx0: 265, cy0: 494, cx1: 265, cy1: 494))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 248, y0: 494, x1: 247, y1: 492, cx0: 248, cy0: 494, cx1: 247, cy1: 493) > BezierCurve(x0: 247, y0: 478, x1: 248, y1: 476, cx0: 247, cy0: 477, cx1: 248, cy1: 477) > BezierCurve(x0: 249, y0: 477, x1: 248, y1: 478, cx0: 248, cy0: 477, cx1: 248, cy1: 478) > BezierCurve(x0: 248, y0: 492, x1: 249, y1: 494, cx0: 248, cy0: 493, cx1: 248, cy1: 493))
|
||||
Clip: Path (BezierCurve(x0: 248, y0: 478, x1: 250, y1: 476, cx0: 248, cy0: 477, cx1: 249, cy1: 476) > BezierCurve(x0: 264, y0: 476, x1: 266, y1: 478, cx0: 265, cy0: 476, cx1: 266, cy1: 477) > BezierCurve(x0: 266, y0: 492, x1: 264, y1: 494, cx0: 266, cy0: 493, cx1: 265, cy1: 494) > BezierCurve(x0: 250, y0: 494, x1: 248, y1: 492, cx0: 249, cy0: 494, cx1: 248, cy1: 493))
|
||||
Clip: Path (BezierCurve(x0: 382, y0: 478, x1: 384, y1: 476, cx0: 382, cy0: 477, cx1: 383, cy1: 476) > BezierCurve(x0: 578, y0: 476, x1: 580, y1: 478, cx0: 579, cy0: 476, cx1: 580, cy1: 477) > BezierCurve(x0: 580, y0: 672, x1: 578, y1: 674, cx0: 580, cy0: 673, cx1: 579, cy1: 674) > BezierCurve(x0: 384, y0: 674, x1: 382, y1: 672, cx0: 383, cy0: 674, cx1: 382, cy1: 673))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 382, y0: 476, x1: 384, y1: 475, cx0: 383, cy0: 476, cx1: 383, cy1: 475) > BezierCurve(x0: 578, y0: 475, x1: 580, y1: 476, cx0: 579, cy0: 475, cx1: 580, cy1: 476) > BezierCurve(x0: 580, y0: 477, x1: 578, y1: 476, cx0: 579, cy0: 476, cx1: 579, cy1: 476) > BezierCurve(x0: 384, y0: 476, x1: 383, y1: 477, cx0: 384, cy0: 476, cx1: 383, cy1: 476))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 580, y0: 476, x1: 581, y1: 478, cx0: 581, cy0: 477, cx1: 581, cy1: 477) > BezierCurve(x0: 581, y0: 672, x1: 580, y1: 674, cx0: 581, cy0: 673, cx1: 581, cy1: 674) > BezierCurve(x0: 580, y0: 674, x1: 580, y1: 672, cx0: 580, cy0: 673, cx1: 580, cy1: 673) > BezierCurve(x0: 580, y0: 478, x1: 580, y1: 477, cx0: 580, cy0: 478, cx1: 580, cy1: 477))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 580, y0: 674, x1: 578, y1: 675, cx0: 580, cy0: 675, cx1: 579, cy1: 675) > BezierCurve(x0: 384, y0: 675, x1: 382, y1: 674, cx0: 383, cy0: 675, cx1: 383, cy1: 675) > BezierCurve(x0: 383, y0: 674, x1: 384, y1: 674, cx0: 383, cy0: 674, cx1: 384, cy1: 674) > BezierCurve(x0: 578, y0: 674, x1: 580, y1: 674, cx0: 579, cy0: 674, cx1: 579, cy1: 674))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 382, y0: 674, x1: 381, y1: 672, cx0: 382, cy0: 674, cx1: 381, cy1: 673) > BezierCurve(x0: 381, y0: 478, x1: 382, y1: 476, cx0: 381, cy0: 477, cx1: 382, cy1: 477) > BezierCurve(x0: 383, y0: 477, x1: 382, y1: 478, cx0: 382, cy0: 477, cx1: 382, cy1: 478) > BezierCurve(x0: 382, y0: 672, x1: 383, y1: 674, cx0: 382, cy0: 673, cx1: 382, cy1: 673))
|
||||
Clip: Path (BezierCurve(x0: 382, y0: 478, x1: 384, y1: 476, cx0: 382, cy0: 477, cx1: 383, cy1: 476) > BezierCurve(x0: 578, y0: 476, x1: 580, y1: 478, cx0: 579, cy0: 476, cx1: 580, cy1: 477) > BezierCurve(x0: 580, y0: 672, x1: 578, y1: 674, cx0: 580, cy0: 673, cx1: 579, cy1: 674) > BezierCurve(x0: 384, y0: 674, x1: 382, y1: 672, cx0: 383, cy0: 674, cx1: 382, cy1: 673))
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 698, x1: 13, y1: 696, cx0: 11, cy0: 697, cx1: 12, cy1: 696) > BezierCurve(x0: 207, y0: 696, x1: 209, y1: 698, cx0: 208, cy0: 696, cx1: 209, cy1: 697) > BezierCurve(x0: 209, y0: 892, x1: 207, y1: 894, cx0: 209, cy0: 893, cx1: 208, cy1: 894) > BezierCurve(x0: 13, y0: 894, x1: 11, y1: 892, cx0: 12, cy0: 894, cx1: 11, cy1: 893))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 696, x1: 13, y1: 695, cx0: 11, cy0: 696, cx1: 12, cy1: 695) > BezierCurve(x0: 207, y0: 695, x1: 209, y1: 696, cx0: 208, cy0: 695, cx1: 209, cy1: 696) > BezierCurve(x0: 208, y0: 697, x1: 207, y1: 696, cx0: 208, cy0: 696, cx1: 208, cy1: 696) > BezierCurve(x0: 13, y0: 696, x1: 12, y1: 697, cx0: 12, cy0: 696, cx1: 12, cy1: 696))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 209, y0: 696, x1: 210, y1: 698, cx0: 210, cy0: 697, cx1: 210, cy1: 697) > BezierCurve(x0: 210, y0: 892, x1: 209, y1: 894, cx0: 210, cy0: 893, cx1: 210, cy1: 894) > BezierCurve(x0: 208, y0: 894, x1: 209, y1: 892, cx0: 209, cy0: 893, cx1: 209, cy1: 893) > BezierCurve(x0: 209, y0: 698, x1: 208, y1: 697, cx0: 209, cy0: 698, cx1: 209, cy1: 697))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 209, y0: 894, x1: 207, y1: 895, cx0: 209, cy0: 895, cx1: 208, cy1: 895) > BezierCurve(x0: 13, y0: 895, x1: 11, y1: 894, cx0: 12, cy0: 895, cx1: 11, cy1: 895) > BezierCurve(x0: 12, y0: 894, x1: 13, y1: 894, cx0: 12, cy0: 894, cx1: 12, cy1: 894) > BezierCurve(x0: 207, y0: 894, x1: 208, y1: 894, cx0: 208, cy0: 894, cx1: 208, cy1: 894))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 894, x1: 10, y1: 892, cx0: 10, cy0: 894, cx1: 10, cy1: 893) > BezierCurve(x0: 10, y0: 698, x1: 11, y1: 696, cx0: 10, cy0: 697, cx1: 10, cy1: 697) > BezierCurve(x0: 12, y0: 697, x1: 11, y1: 698, cx0: 11, cy0: 697, cx1: 11, cy1: 698) > BezierCurve(x0: 11, y0: 892, x1: 12, y1: 894, cx0: 11, cy0: 893, cx1: 11, cy1: 893))
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 698, x1: 13, y1: 696, cx0: 11, cy0: 697, cx1: 12, cy1: 696) > BezierCurve(x0: 207, y0: 696, x1: 209, y1: 698, cx0: 208, cy0: 696, cx1: 209, cy1: 697) > BezierCurve(x0: 209, y0: 892, x1: 207, y1: 894, cx0: 209, cy0: 893, cx1: 208, cy1: 894) > BezierCurve(x0: 13, y0: 894, x1: 11, y1: 892, cx0: 12, cy0: 894, cx1: 11, cy1: 893))
|
||||
Shape: rgb(42,42,42) Path (Vector(x: 89, y: 853) > Vector(x: 42, y: 806) > Vector(x: 65, y: 783) > Vector(x: 89, y: 808) > Vector(x: 156, y: 741) > Vector(x: 178, y: 763) > Vector(x: 89, y: 853))
|
||||
Transform: (733, 221) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 728, y0: 217, x1: 733, y1: 212, cx0: 728, cy0: 214, cx1: 730, cy1: 212) > BezierCurve(x0: 733, y0: 212, x1: 739, y1: 217, cx0: 736, cy0: 212, cx1: 739, cy1: 214) > BezierCurve(x0: 739, y0: 217, x1: 733, y1: 223, cx0: 739, cy0: 220, cx1: 736, cy1: 223) > BezierCurve(x0: 733, y0: 223, x1: 728, y1: 217, cx0: 730, cy0: 223, cx1: 728, cy1: 220))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 729, y0: 213, x1: 733, y1: 211, cx0: 730, cy0: 212, cx1: 731, cy1: 211) > BezierCurve(x0: 733, y0: 211, x1: 738, y1: 213, cx0: 735, cy0: 211, cx1: 737, cy1: 212) > BezierCurve(x0: 737, y0: 213, x1: 733, y1: 212, cx0: 736, cy0: 212, cx1: 735, cy1: 212) > BezierCurve(x0: 733, y0: 212, x1: 729, y1: 213, cx0: 732, cy0: 212, cx1: 730, cy1: 212))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 738, y0: 213, x1: 740, y1: 217, cx0: 739, cy0: 214, cx1: 740, cy1: 215) > BezierCurve(x0: 740, y0: 217, x1: 738, y1: 222, cx0: 740, cy0: 219, cx1: 739, cy1: 221) > BezierCurve(x0: 737, y0: 221, x1: 739, y1: 217, cx0: 738, cy0: 220, cx1: 739, cy1: 219) > BezierCurve(x0: 739, y0: 217, x1: 737, y1: 213, cx0: 739, cy0: 216, cx1: 738, cy1: 214))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 738, y0: 222, x1: 733, y1: 224, cx0: 737, cy0: 223, cx1: 735, cy1: 224) > BezierCurve(x0: 733, y0: 224, x1: 729, y1: 222, cx0: 731, cy0: 224, cx1: 730, cy1: 223) > BezierCurve(x0: 729, y0: 221, x1: 733, y1: 223, cx0: 730, cy0: 222, cx1: 732, cy1: 223) > BezierCurve(x0: 733, y0: 223, x1: 737, y1: 221, cx0: 735, cy0: 223, cx1: 736, cy1: 222))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 729, y0: 222, x1: 727, y1: 217, cx0: 728, cy0: 221, cx1: 727, cy1: 219) > BezierCurve(x0: 727, y0: 217, x1: 729, y1: 213, cx0: 727, cy0: 215, cx1: 728, cy1: 214) > BezierCurve(x0: 729, y0: 213, x1: 728, y1: 217, cx0: 728, cy0: 214, cx1: 728, cy1: 216) > BezierCurve(x0: 728, y0: 217, x1: 729, y1: 221, cx0: 728, cy0: 219, cx1: 728, cy1: 220))
|
||||
Clip: Path (BezierCurve(x0: 728, y0: 217, x1: 733, y1: 212, cx0: 728, cy0: 214, cx1: 730, cy1: 212) > BezierCurve(x0: 733, y0: 212, x1: 739, y1: 217, cx0: 736, cy0: 212, cx1: 739, cy1: 214) > BezierCurve(x0: 739, y0: 217, x1: 733, y1: 223, cx0: 739, cy0: 220, cx1: 736, cy1: 223) > BezierCurve(x0: 733, y0: 223, x1: 728, y1: 217, cx0: 730, cy0: 223, cx1: 728, cy1: 220))
|
||||
Transform: (16, 269) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 265, x1: 16, y1: 260, cx0: 11, cy0: 262, cx1: 13, cy1: 260) > BezierCurve(x0: 16, y0: 260, x1: 22, y1: 265, cx0: 19, cy0: 260, cx1: 22, cy1: 262) > BezierCurve(x0: 22, y0: 265, x1: 16, y1: 271, cx0: 22, cy0: 268, cx1: 19, cy1: 271) > BezierCurve(x0: 16, y0: 271, x1: 11, y1: 265, cx0: 13, cy0: 271, cx1: 11, cy1: 268))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 12, y0: 261, x1: 16, y1: 259, cx0: 13, cy0: 260, cx1: 15, cy1: 259) > BezierCurve(x0: 16, y0: 259, x1: 21, y1: 261, cx0: 18, cy0: 259, cx1: 20, cy1: 260) > BezierCurve(x0: 20, y0: 261, x1: 16, y1: 260, cx0: 19, cy0: 260, cx1: 18, cy1: 260) > BezierCurve(x0: 16, y0: 260, x1: 13, y1: 261, cx0: 15, cy0: 260, cx1: 14, cy1: 260))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 21, y0: 261, x1: 23, y1: 265, cx0: 22, cy0: 262, cx1: 23, cy1: 263) > BezierCurve(x0: 23, y0: 265, x1: 21, y1: 270, cx0: 23, cy0: 267, cx1: 22, cy1: 269) > BezierCurve(x0: 20, y0: 269, x1: 22, y1: 265, cx0: 21, cy0: 268, cx1: 22, cy1: 267) > BezierCurve(x0: 22, y0: 265, x1: 20, y1: 261, cx0: 22, cy0: 264, cx1: 21, cy1: 262))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 21, y0: 270, x1: 16, y1: 272, cx0: 20, cy0: 271, cx1: 18, cy1: 272) > BezierCurve(x0: 16, y0: 272, x1: 12, y1: 270, cx0: 15, cy0: 272, cx1: 13, cy1: 271) > BezierCurve(x0: 13, y0: 269, x1: 16, y1: 271, cx0: 14, cy0: 270, cx1: 15, cy1: 271) > BezierCurve(x0: 16, y0: 271, x1: 20, y1: 269, cx0: 18, cy0: 271, cx1: 19, cy1: 270))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 12, y0: 270, x1: 10, y1: 265, cx0: 11, cy0: 269, cx1: 10, cy1: 267) > BezierCurve(x0: 10, y0: 265, x1: 12, y1: 261, cx0: 10, cy0: 263, cx1: 11, cy1: 262) > BezierCurve(x0: 13, y0: 261, x1: 11, y1: 265, cx0: 12, cy0: 262, cx1: 11, cy1: 264) > BezierCurve(x0: 11, y0: 265, x1: 13, y1: 269, cx0: 11, cy0: 267, cx1: 12, cy1: 268))
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 265, x1: 16, y1: 260, cx0: 11, cy0: 262, cx1: 13, cy1: 260) > BezierCurve(x0: 16, y0: 260, x1: 22, y1: 265, cx0: 19, cy0: 260, cx1: 22, cy1: 262) > BezierCurve(x0: 22, y0: 265, x1: 16, y1: 271, cx0: 22, cy0: 268, cx1: 19, cy1: 271) > BezierCurve(x0: 16, y0: 271, x1: 11, y1: 265, cx0: 13, cy0: 271, cx1: 11, cy1: 268))
|
||||
Shape: rgb(42,42,42) Circle(x: 13, y: 262, r: 3)
|
||||
Transform: (53, 269) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 48, y0: 265, x1: 53, y1: 260, cx0: 48, cy0: 262, cx1: 50, cy1: 260) > BezierCurve(x0: 53, y0: 260, x1: 59, y1: 265, cx0: 56, cy0: 260, cx1: 59, cy1: 262) > BezierCurve(x0: 59, y0: 265, x1: 53, y1: 271, cx0: 59, cy0: 268, cx1: 56, cy1: 271) > BezierCurve(x0: 53, y0: 271, x1: 48, y1: 265, cx0: 50, cy0: 271, cx1: 48, cy1: 268))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 49, y0: 261, x1: 53, y1: 259, cx0: 50, cy0: 260, cx1: 51, cy1: 259) > BezierCurve(x0: 53, y0: 259, x1: 58, y1: 261, cx0: 55, cy0: 259, cx1: 57, cy1: 260) > BezierCurve(x0: 57, y0: 261, x1: 53, y1: 260, cx0: 56, cy0: 260, cx1: 55, cy1: 260) > BezierCurve(x0: 53, y0: 260, x1: 49, y1: 261, cx0: 52, cy0: 260, cx1: 50, cy1: 260))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 58, y0: 261, x1: 60, y1: 265, cx0: 59, cy0: 262, cx1: 60, cy1: 263) > BezierCurve(x0: 60, y0: 265, x1: 58, y1: 270, cx0: 60, cy0: 267, cx1: 59, cy1: 269) > BezierCurve(x0: 57, y0: 269, x1: 59, y1: 265, cx0: 58, cy0: 268, cx1: 59, cy1: 267) > BezierCurve(x0: 59, y0: 265, x1: 57, y1: 261, cx0: 59, cy0: 264, cx1: 58, cy1: 262))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 58, y0: 270, x1: 53, y1: 272, cx0: 57, cy0: 271, cx1: 55, cy1: 272) > BezierCurve(x0: 53, y0: 272, x1: 49, y1: 270, cx0: 51, cy0: 272, cx1: 50, cy1: 271) > BezierCurve(x0: 49, y0: 269, x1: 53, y1: 271, cx0: 50, cy0: 270, cx1: 52, cy1: 271) > BezierCurve(x0: 53, y0: 271, x1: 57, y1: 269, cx0: 55, cy0: 271, cx1: 56, cy1: 270))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 49, y0: 270, x1: 47, y1: 265, cx0: 48, cy0: 269, cx1: 47, cy1: 267) > BezierCurve(x0: 47, y0: 265, x1: 49, y1: 261, cx0: 47, cy0: 263, cx1: 48, cy1: 262) > BezierCurve(x0: 49, y0: 261, x1: 48, y1: 265, cx0: 48, cy0: 262, cx1: 48, cy1: 264) > BezierCurve(x0: 48, y0: 265, x1: 49, y1: 269, cx0: 48, cy0: 267, cx1: 48, cy1: 268))
|
||||
Clip: Path (BezierCurve(x0: 48, y0: 265, x1: 53, y1: 260, cx0: 48, cy0: 262, cx1: 50, cy1: 260) > BezierCurve(x0: 53, y0: 260, x1: 59, y1: 265, cx0: 56, cy0: 260, cx1: 59, cy1: 262) > BezierCurve(x0: 59, y0: 265, x1: 53, y1: 271, cx0: 59, cy0: 268, cx1: 56, cy1: 271) > BezierCurve(x0: 53, y0: 271, x1: 48, y1: 265, cx0: 50, cy0: 271, cx1: 48, cy1: 268))
|
||||
Transform: (16, 489) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 482, x1: 13, y1: 480, cx0: 11, cy0: 481, cx1: 12, cy1: 480) > BezierCurve(x0: 20, y0: 480, x1: 22, y1: 482, cx0: 21, cy0: 480, cx1: 22, cy1: 481) > BezierCurve(x0: 22, y0: 489, x1: 20, y1: 491, cx0: 22, cy0: 490, cx1: 21, cy1: 491) > BezierCurve(x0: 13, y0: 491, x1: 11, y1: 489, cx0: 12, cy0: 491, cx1: 11, cy1: 490))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 480, x1: 13, y1: 479, cx0: 11, cy0: 479, cx1: 12, cy1: 479) > BezierCurve(x0: 20, y0: 479, x1: 22, y1: 480, cx0: 21, cy0: 479, cx1: 21, cy1: 479) > BezierCurve(x0: 21, y0: 480, x1: 20, y1: 480, cx0: 21, cy0: 480, cx1: 20, cy1: 480) > BezierCurve(x0: 13, y0: 480, x1: 12, y1: 480, cx0: 12, cy0: 480, cx1: 12, cy1: 480))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 22, y0: 480, x1: 23, y1: 482, cx0: 22, cy0: 480, cx1: 23, cy1: 481) > BezierCurve(x0: 23, y0: 489, x1: 22, y1: 491, cx0: 23, cy0: 489, cx1: 22, cy1: 490) > BezierCurve(x0: 21, y0: 490, x1: 22, y1: 489, cx0: 22, cy0: 490, cx1: 22, cy1: 489) > BezierCurve(x0: 22, y0: 482, x1: 21, y1: 480, cx0: 22, cy0: 481, cx1: 22, cy1: 481))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 22, y0: 491, x1: 20, y1: 492, cx0: 21, cy0: 491, cx1: 21, cy1: 492) > BezierCurve(x0: 13, y0: 492, x1: 11, y1: 491, cx0: 12, cy0: 492, cx1: 11, cy1: 491) > BezierCurve(x0: 12, y0: 490, x1: 13, y1: 491, cx0: 12, cy0: 490, cx1: 12, cy1: 491) > BezierCurve(x0: 20, y0: 491, x1: 21, y1: 490, cx0: 20, cy0: 491, cx1: 21, cy1: 490))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 11, y0: 491, x1: 10, y1: 489, cx0: 10, cy0: 490, cx1: 10, cy1: 489) > BezierCurve(x0: 10, y0: 482, x1: 11, y1: 480, cx0: 10, cy0: 481, cx1: 10, cy1: 480) > BezierCurve(x0: 12, y0: 480, x1: 11, y1: 482, cx0: 11, cy0: 481, cx1: 11, cy1: 481) > BezierCurve(x0: 11, y0: 489, x1: 12, y1: 490, cx0: 11, cy0: 489, cx1: 11, cy1: 490))
|
||||
Clip: Path (BezierCurve(x0: 11, y0: 482, x1: 13, y1: 480, cx0: 11, cy0: 481, cx1: 12, cy1: 480) > BezierCurve(x0: 20, y0: 480, x1: 22, y1: 482, cx0: 21, cy0: 480, cx1: 22, cy1: 481) > BezierCurve(x0: 22, y0: 489, x1: 20, y1: 491, cx0: 22, cy0: 490, cx1: 21, cy1: 491) > BezierCurve(x0: 13, y0: 491, x1: 11, y1: 489, cx0: 12, cy0: 491, cx1: 11, cy1: 490))
|
||||
Transform: (90, 489) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 85, y0: 482, x1: 87, y1: 480, cx0: 85, cy0: 481, cx1: 85, cy1: 480) > BezierCurve(x0: 93, y0: 480, x1: 95, y1: 482, cx0: 95, cy0: 480, cx1: 95, cy1: 481) > BezierCurve(x0: 95, y0: 489, x1: 93, y1: 491, cx0: 95, cy0: 490, cx1: 95, cy1: 491) > BezierCurve(x0: 87, y0: 491, x1: 85, y1: 489, cx0: 85, cy0: 491, cx1: 85, cy1: 490))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 84, y0: 480, x1: 87, y1: 479, cx0: 85, cy0: 479, cx1: 86, cy1: 479) > BezierCurve(x0: 93, y0: 479, x1: 96, y1: 480, cx0: 94, cy0: 479, cx1: 95, cy1: 479) > BezierCurve(x0: 95, y0: 480, x1: 93, y1: 480, cx0: 94, cy0: 480, cx1: 94, cy1: 480) > BezierCurve(x0: 87, y0: 480, x1: 85, y1: 480, cx0: 86, cy0: 480, cx1: 86, cy1: 480))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 96, y0: 480, x1: 96, y1: 482, cx0: 96, cy0: 480, cx1: 96, cy1: 481) > BezierCurve(x0: 96, y0: 489, x1: 96, y1: 491, cx0: 96, cy0: 489, cx1: 96, cy1: 490) > BezierCurve(x0: 95, y0: 490, x1: 95, y1: 489, cx0: 95, cy0: 490, cx1: 95, cy1: 489) > BezierCurve(x0: 95, y0: 482, x1: 95, y1: 480, cx0: 95, cy0: 481, cx1: 95, cy1: 481))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 96, y0: 491, x1: 93, y1: 492, cx0: 95, cy0: 491, cx1: 94, cy1: 492) > BezierCurve(x0: 87, y0: 492, x1: 84, y1: 491, cx0: 86, cy0: 492, cx1: 85, cy1: 491) > BezierCurve(x0: 85, y0: 490, x1: 87, y1: 491, cx0: 86, cy0: 490, cx1: 86, cy1: 491) > BezierCurve(x0: 93, y0: 491, x1: 95, y1: 490, cx0: 94, cy0: 491, cx1: 94, cy1: 490))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 84, y0: 491, x1: 84, y1: 489, cx0: 84, cy0: 490, cx1: 84, cy1: 489) > BezierCurve(x0: 84, y0: 482, x1: 84, y1: 480, cx0: 84, cy0: 481, cx1: 84, cy1: 480) > BezierCurve(x0: 85, y0: 480, x1: 85, y1: 482, cx0: 85, cy0: 481, cx1: 85, cy1: 481) > BezierCurve(x0: 85, y0: 489, x1: 85, y1: 490, cx0: 85, cy0: 489, cx1: 85, cy1: 490))
|
||||
Clip: Path (BezierCurve(x0: 85, y0: 482, x1: 87, y1: 480, cx0: 85, cy0: 481, cx1: 85, cy1: 480) > BezierCurve(x0: 93, y0: 480, x1: 95, y1: 482, cx0: 95, cy0: 480, cx1: 95, cy1: 481) > BezierCurve(x0: 95, y0: 489, x1: 93, y1: 491, cx0: 95, cy0: 490, cx1: 95, cy1: 491) > BezierCurve(x0: 87, y0: 491, x1: 85, y1: 489, cx0: 85, cy0: 491, cx1: 85, cy1: 490))
|
||||
Shape: rgb(42,42,42) Path (Vector(x: 89, y: 489) > Vector(x: 86, y: 486) > Vector(x: 87, y: 484) > Vector(x: 89, y: 486) > Vector(x: 93, y: 482) > Vector(x: 94, y: 483) > Vector(x: 89, y: 489))
|
||||
Transform: (127, 489) [3, 0, 0, 3, 0, 0]
|
||||
Clip: Path (BezierCurve(x0: 121, y0: 482, x1: 123, y1: 480, cx0: 121, cy0: 481, cx1: 122, cy1: 480) > BezierCurve(x0: 130, y0: 480, x1: 132, y1: 482, cx0: 131, cy0: 480, cx1: 132, cy1: 481) > BezierCurve(x0: 132, y0: 489, x1: 130, y1: 491, cx0: 132, cy0: 490, cx1: 131, cy1: 491) > BezierCurve(x0: 123, y0: 491, x1: 121, y1: 489, cx0: 122, cy0: 491, cx1: 121, cy1: 490))
|
||||
Fill: rgb(222,222,222)
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 121, y0: 480, x1: 123, y1: 479, cx0: 122, cy0: 479, cx1: 123, cy1: 479) > BezierCurve(x0: 130, y0: 479, x1: 132, y1: 480, cx0: 131, cy0: 479, cx1: 132, cy1: 479) > BezierCurve(x0: 132, y0: 480, x1: 130, y1: 480, cx0: 131, cy0: 480, cx1: 131, cy1: 480) > BezierCurve(x0: 123, y0: 480, x1: 122, y1: 480, cx0: 123, cy0: 480, cx1: 122, cy1: 480))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 132, y0: 480, x1: 133, y1: 482, cx0: 133, cy0: 480, cx1: 133, cy1: 481) > BezierCurve(x0: 133, y0: 489, x1: 132, y1: 491, cx0: 133, cy0: 489, cx1: 133, cy1: 490) > BezierCurve(x0: 132, y0: 490, x1: 132, y1: 489, cx0: 132, cy0: 490, cx1: 132, cy1: 489) > BezierCurve(x0: 132, y0: 482, x1: 132, y1: 480, cx0: 132, cy0: 481, cx1: 132, cy1: 481))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 132, y0: 491, x1: 130, y1: 492, cx0: 132, cy0: 491, cx1: 131, cy1: 492) > BezierCurve(x0: 123, y0: 492, x1: 121, y1: 491, cx0: 123, cy0: 492, cx1: 122, cy1: 491) > BezierCurve(x0: 122, y0: 490, x1: 123, y1: 491, cx0: 122, cy0: 490, cx1: 123, cy1: 491) > BezierCurve(x0: 130, y0: 491, x1: 132, y1: 490, cx0: 131, cy0: 491, cx1: 131, cy1: 490))
|
||||
Shape: rgb(165,165,165) Path (BezierCurve(x0: 121, y0: 491, x1: 120, y1: 489, cx0: 121, cy0: 490, cx1: 120, cy1: 489) > BezierCurve(x0: 120, y0: 482, x1: 121, y1: 480, cx0: 120, cy0: 481, cx1: 121, cy1: 480) > BezierCurve(x0: 122, y0: 480, x1: 121, y1: 482, cx0: 122, cy0: 481, cx1: 121, cy1: 481) > BezierCurve(x0: 121, y0: 489, x1: 122, y1: 490, cx0: 121, cy0: 489, cx1: 122, cy1: 490))
|
||||
Clip: Path (BezierCurve(x0: 121, y0: 482, x1: 123, y1: 480, cx0: 121, cy0: 481, cx1: 122, cy1: 480) > BezierCurve(x0: 130, y0: 480, x1: 132, y1: 482, cx0: 131, cy0: 480, cx1: 132, cy1: 481) > BezierCurve(x0: 132, y0: 489, x1: 130, y1: 491, cx0: 132, cy0: 490, cx1: 131, cy1: 491) > BezierCurve(x0: 123, y0: 491, x1: 121, y1: 489, cx0: 122, cy0: 491, cx1: 121, cy1: 490))
|
@ -1,7 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 512, y: 8) > Vector(x: 510, y: 10) > Vector(x: 10, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 512, y: 8) > Vector(x: 512, y: 512) > Vector(x: 510, y: 510) > Vector(x: 510, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 512, y: 512) > Vector(x: 8, y: 512) > Vector(x: 10, y: 510) > Vector(x: 510, y: 510))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 512) > Vector(x: 8, y: 8) > Vector(x: 10, y: 10) > Vector(x: 10, y: 510))
|
@ -15,6 +15,9 @@
|
||||
<h1>External image</h1>
|
||||
<img src="http://localhost:8081/assets/image2.jpg" style="border:5px solid black;" />
|
||||
|
||||
<h1>External svg image</h1>
|
||||
<img src="http://localhost:8081/assets/image.svg" style="border:5px solid black;" />
|
||||
|
||||
<h1>External image (using <base> href)</h1>
|
||||
<img src="/assets/image_1.jpg" />
|
||||
</body>
|
||||
|
@ -1,16 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 700 32 Arial
|
||||
[8, 22]: External
|
||||
[143, 22]: image
|
||||
Text: rgb(0,0,0) normal normal 700 32 Arial
|
||||
[8, 278]: External
|
||||
[143, 278]: image
|
||||
[244, 278]: (using
|
||||
[350, 278]: <base>
|
||||
[469, 278]: href)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 80) > Vector(x: 439, y: 80) > Vector(x: 434, y: 85) > Vector(x: 13, y: 85))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 439, y: 80) > Vector(x: 439, y: 253) > Vector(x: 434, y: 248) > Vector(x: 434, y: 85))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 439, y: 253) > Vector(x: 8, y: 253) > Vector(x: 13, y: 248) > Vector(x: 434, y: 248))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 253) > Vector(x: 8, y: 80) > Vector(x: 13, y: 85) > Vector(x: 13, y: 248))
|
@ -1,27 +1,30 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<title>Image tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
<script type="text/javascript">
|
||||
function setUp() {
|
||||
if ($('#testcanvas')[0].getContext) {
|
||||
var ctx = $('#testcanvas')[0].getContext('2d');
|
||||
function setUp() {
|
||||
var ctx = document.querySelector('#testcanvas').getContext('2d');
|
||||
|
||||
ctx.fillStyle = "rgb(200,0,0)";
|
||||
ctx.fillRect (10, 10, 55, 50);
|
||||
ctx.fillStyle = "rgb(200,0,0)";
|
||||
ctx.fillRect (10, 10, 55, 50);
|
||||
|
||||
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
|
||||
ctx.fillRect (30, 30, 55, 50);
|
||||
} else {
|
||||
$('#testcanvas').remove();
|
||||
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
|
||||
ctx.fillRect (30, 30, 55, 50);
|
||||
|
||||
var gl = document.querySelector('#webglcanvas').getContext('webgl', {preserveDrawingBuffer: true});
|
||||
if (gl) {
|
||||
gl.clearColor(0.0, 1.0, 0.0, 1.0);
|
||||
gl.clear(gl.COLOR_BUFFER_BIT);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="testcanvas" style="width:700px;height:300px;"></canvas>
|
||||
</body>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="testcanvas" style="width:700px;height:300px;"></canvas>
|
||||
<canvas id="webglcanvas" style="width:300px;height:300px;"></canvas>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,5 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 708, y: 8) > Vector(x: 708, y: 308) > Vector(x: 8, y: 308))
|
||||
Draw image: Canvas (source: [0, 0, 300, 150]) (destination: [0, 0, 300, 150])
|
@ -16,5 +16,6 @@
|
||||
<body>
|
||||
<h1>External image (CORS)</h1>
|
||||
<img src="http://localhost:8081/cors/tests/assets/image2.jpg" />
|
||||
<img src="http://localhost:8081/cors/tests/assets/image.svg" />
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,7 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 700 32 Arial
|
||||
[8, 22]: External
|
||||
[143, 22]: image
|
||||
[244, 22]: (CORS)
|
@ -1,32 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: Image
|
||||
[57, 8]: without
|
||||
[112, 8]: src
|
||||
[138, 8]: attribute,
|
||||
[204, 8]: should
|
||||
[256, 8]: not
|
||||
[283, 8]: crash:
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 78]: Image
|
||||
[57, 78]: with
|
||||
[90, 78]: broken
|
||||
[143, 78]: src
|
||||
[169, 78]: attribute,
|
||||
[236, 78]: should
|
||||
[287, 78]: not
|
||||
[314, 78]: crash:
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 26) > Vector(x: 60, y: 26) > Vector(x: 59, y: 27) > Vector(x: 9, y: 27))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 26) > Vector(x: 60, y: 78) > Vector(x: 59, y: 77) > Vector(x: 59, y: 27))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 78) > Vector(x: 8, y: 78) > Vector(x: 9, y: 77) > Vector(x: 59, y: 77))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 78) > Vector(x: 8, y: 26) > Vector(x: 9, y: 27) > Vector(x: 9, y: 77))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 96) > Vector(x: 60, y: 96) > Vector(x: 59, y: 97) > Vector(x: 9, y: 97))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 96) > Vector(x: 60, y: 148) > Vector(x: 59, y: 147) > Vector(x: 59, y: 97))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 148) > Vector(x: 8, y: 148) > Vector(x: 9, y: 147) > Vector(x: 59, y: 147))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 148) > Vector(x: 8, y: 96) > Vector(x: 9, y: 97) > Vector(x: 9, y: 147))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 148) > Vector(x: 60, y: 148) > Vector(x: 59, y: 149) > Vector(x: 9, y: 149))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 148) > Vector(x: 60, y: 200) > Vector(x: 59, y: 199) > Vector(x: 59, y: 149))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 60, y: 200) > Vector(x: 8, y: 200) > Vector(x: 9, y: 199) > Vector(x: 59, y: 199))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 200) > Vector(x: 8, y: 148) > Vector(x: 9, y: 149) > Vector(x: 9, y: 199))
|
@ -1,36 +0,0 @@
|
||||
Window: [800, 703]
|
||||
Rectangle: [0, 0, 800, 703] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 433) > Vector(x: 83, y: 433) > Vector(x: 83, y: 508) > Vector(x: 8, y: 508))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (Vector(x: 87, y: 108) > Vector(x: 137, y: 108) > Vector(x: 137, y: 508) > Vector(x: 87, y: 508))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (Vector(x: 141, y: 8) > Vector(x: 641, y: 8) > Vector(x: 641, y: 508) > Vector(x: 141, y: 508))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (BezierCurve(x0: 645, y0: 458, x1: 695, y1: 408, cx0: 645, cy0: 430, cx1: 667, cy1: 408) > BezierCurve(x0: 695, y0: 408, x1: 745, y1: 458, cx0: 723, cy0: 408, cx1: 745, cy1: 430) > BezierCurve(x0: 745, y0: 458, x1: 695, y1: 508, cx0: 745, cy0: 486, cx1: 723, cy1: 508) > BezierCurve(x0: 695, y0: 508, x1: 645, y1: 458, cx0: 667, cy0: 508, cx1: 645, cy1: 486))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (Vector(x: 8, y: 597) > Vector(x: 508, y: 597) > Vector(x: 508, y: 637) > Vector(x: 8, y: 637))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 512, y: 512) > Vector(x: 637, y: 512) > Vector(x: 632, y: 517) > Vector(x: 517, y: 517))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 637, y: 512) > Vector(x: 637, y: 637) > Vector(x: 632, y: 632) > Vector(x: 632, y: 517))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 637, y: 637) > Vector(x: 512, y: 637) > Vector(x: 517, y: 632) > Vector(x: 632, y: 632))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 512, y: 637) > Vector(x: 512, y: 512) > Vector(x: 517, y: 517) > Vector(x: 517, y: 632))
|
||||
Clip: Path (Vector(x: 517, y: 517) > Vector(x: 632, y: 517) > Vector(x: 632, y: 632) > Vector(x: 517, y: 632))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 641, y: 537) > Vector(x: 716, y: 537) > Vector(x: 716, y: 542) > Vector(x: 641, y: 542))
|
||||
Clip: Path (Vector(x: 641, y: 542) > Vector(x: 716, y: 542) > Vector(x: 716, y: 637) > Vector(x: 641, y: 637))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 720, y: 562) > Vector(x: 770, y: 562) > Vector(x: 770, y: 567) > Vector(x: 720, y: 567))
|
||||
Clip: Path (Vector(x: 720, y: 567) > Vector(x: 770, y: 567) > Vector(x: 770, y: 637) > Vector(x: 720, y: 637))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 641) > Vector(x: 58, y: 641) > Vector(x: 58, y: 646) > Vector(x: 8, y: 646))
|
||||
Clip: Path (Vector(x: 8, y: 646) > Vector(x: 58, y: 646) > Vector(x: 58, y: 691) > Vector(x: 8, y: 691))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 62, y: 689) > Vector(x: 64, y: 689) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 64, y: 689) > Vector(x: 64, y: 691) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 64, y: 691) > Vector(x: 62, y: 691) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 62, y: 691) > Vector(x: 62, y: 689) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690))
|
||||
Clip: Path (Vector(x: 63, y: 690) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690) > Vector(x: 63, y: 690))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (Vector(x: 68, y: 691) > Vector(x: 68, y: 691) > Vector(x: 68, y: 691) > Vector(x: 68, y: 691))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
@ -1,9 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: Inline
|
||||
[51, 8]: svg
|
||||
[80, 8]: image:
|
||||
Clip: Path (Vector(x: 8, y: 26) > Vector(x: 208, y: 26) > Vector(x: 208, y: 226) > Vector(x: 8, y: 226))
|
||||
Draw image: Image ("/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53") (source: [0, 0, 306, 296]) (destination: [0, 0, 306, 296])
|
@ -1,9 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: SVG
|
||||
[46, 8]: taints
|
||||
[89, 8]: image:
|
||||
Clip: Path (Vector(x: 8, y: 26) > Vector(x: 666, y: 26) > Vector(x: 666, y: 363) > Vector(x: 8, y: 363))
|
||||
Draw image: Image ("/tests/assets/image.svg") (source: [0, 0, 658, 337]) (destination: [0, 0, 658, 337])
|
@ -1,7 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: Inline
|
||||
[51, 8]: svg
|
||||
[80, 8]: image:
|
@ -1,7 +0,0 @@
|
||||
Window: [800, 656]
|
||||
Rectangle: [0, 0, 800, 656] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 8) > Vector(x: 666, y: 8) > Vector(x: 666, y: 345) > Vector(x: 8, y: 345))
|
||||
Draw image: Image ("/tests/assets/image.svg") (source: [0, 0, 658, 337]) (destination: [0, 0, 658, 337])
|
||||
Clip: Path (Vector(x: 523, y: 445) > Vector(x: 723, y: 445) > Vector(x: 723, y: 645) > Vector(x: 523, y: 645))
|
||||
Draw image: Image ("/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53") (source: [0, 0, 306, 296]) (destination: [0, 0, 306, 296])
|
@ -1,7 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: SVG
|
||||
[46, 8]: node
|
||||
[86, 8]: image:
|
@ -1,203 +0,0 @@
|
||||
Window: [800, 5016]
|
||||
Rectangle: [0, 0, 800, 5016] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 22]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 72]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 122]: 3
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 172]: 4
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 222]: 5
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 272]: 6
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 322]: 7
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 372]: 8
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 422]: 9
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 472]: 10
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 522]: 11
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 572]: 12
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 622]: 13
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 672]: 14
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 722]: 15
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 772]: 16
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 822]: 17
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 872]: 18
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 922]: 19
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 972]: 20
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1022]: 21
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1072]: 22
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1122]: 23
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1172]: 24
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1222]: 25
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1272]: 26
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1322]: 27
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1372]: 28
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1422]: 29
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1472]: 30
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1522]: 31
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1572]: 32
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1622]: 33
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1672]: 34
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1722]: 35
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1772]: 36
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1822]: 37
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1872]: 38
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1922]: 39
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1972]: 40
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2022]: 41
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2072]: 42
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2122]: 43
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2172]: 44
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2222]: 45
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2272]: 46
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2322]: 47
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2372]: 48
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2422]: 49
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2472]: 50
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2522]: 51
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2572]: 52
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2622]: 53
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2672]: 54
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2722]: 55
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2772]: 56
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2822]: 57
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2872]: 58
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2922]: 59
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2972]: 60
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3022]: 61
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3072]: 62
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3122]: 63
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3172]: 64
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3222]: 65
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3272]: 66
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3322]: 67
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3372]: 68
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3422]: 69
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3472]: 70
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3522]: 71
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3572]: 72
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3622]: 73
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3672]: 74
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3722]: 75
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3772]: 76
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3822]: 77
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3872]: 78
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3922]: 79
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3972]: 80
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4022]: 81
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4072]: 82
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4122]: 83
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4172]: 84
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4222]: 85
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4272]: 86
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4322]: 87
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4372]: 88
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4422]: 89
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4472]: 90
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4522]: 91
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4572]: 92
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4622]: 93
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4672]: 94
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4722]: 95
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4772]: 96
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4822]: 97
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4872]: 98
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4922]: 99
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4972]: 100
|
@ -1,203 +0,0 @@
|
||||
Window: [800, 5016]
|
||||
Rectangle: [0, 0, 800, 5016] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 22]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 72]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 122]: 3
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 172]: 4
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 222]: 5
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 272]: 6
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 322]: 7
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 372]: 8
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 422]: 9
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 472]: 10
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 522]: 11
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 572]: 12
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 622]: 13
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 672]: 14
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 722]: 15
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 772]: 16
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 822]: 17
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 872]: 18
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 922]: 19
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 972]: 20
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1022]: 21
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1072]: 22
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1122]: 23
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1172]: 24
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1222]: 25
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1272]: 26
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1322]: 27
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1372]: 28
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1422]: 29
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1472]: 30
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1522]: 31
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1572]: 32
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1622]: 33
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1672]: 34
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1722]: 35
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1772]: 36
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1822]: 37
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1872]: 38
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1922]: 39
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1972]: 40
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2022]: 41
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2072]: 42
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2122]: 43
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2172]: 44
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2222]: 45
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2272]: 46
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2322]: 47
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2372]: 48
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2422]: 49
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2472]: 50
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2522]: 51
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2572]: 52
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2622]: 53
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2672]: 54
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2722]: 55
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2772]: 56
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2822]: 57
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2872]: 58
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2922]: 59
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2972]: 60
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3022]: 61
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3072]: 62
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3122]: 63
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3172]: 64
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3222]: 65
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3272]: 66
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3322]: 67
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3372]: 68
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3422]: 69
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3472]: 70
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3522]: 71
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3572]: 72
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3622]: 73
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3672]: 74
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3722]: 75
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3772]: 76
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3822]: 77
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3872]: 78
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3922]: 79
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3972]: 80
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4022]: 81
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4072]: 82
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4122]: 83
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4172]: 84
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4222]: 85
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4272]: 86
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4322]: 87
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4372]: 88
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4422]: 89
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4472]: 90
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4522]: 91
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4572]: 92
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4622]: 93
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4672]: 94
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4722]: 95
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4772]: 96
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4822]: 97
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4872]: 98
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4922]: 99
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4972]: 100
|
102
tests/reftests/list/liststyle.html
Normal file
102
tests/reftests/list/liststyle.html
Normal file
@ -0,0 +1,102 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>List tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
|
||||
<style>
|
||||
li {
|
||||
margin: 10px 5%;
|
||||
}
|
||||
.list1 {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
.list2 {
|
||||
list-style-image: url(../../assets/image.jpg);
|
||||
}
|
||||
|
||||
.list3 {
|
||||
list-style-image: linear-gradient(60deg, deeppink, aquamarine);
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
.list4 {
|
||||
}
|
||||
|
||||
.list5 {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
|
||||
.list6 {
|
||||
list-style-type: hiragana;
|
||||
}
|
||||
|
||||
.list7 {
|
||||
list-style-type: simp-chinese-informal;
|
||||
}
|
||||
|
||||
.list8 {
|
||||
list-style-type: lower-roman;
|
||||
}
|
||||
|
||||
.list8 li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.list9 {
|
||||
display: list-item;
|
||||
list-style-type: lower-alpha;
|
||||
margin: 10px;
|
||||
position: relative;
|
||||
left: 200px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<ul class="list1">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ul>
|
||||
<ul class="list2">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ul>
|
||||
<ul class="list3">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ul>
|
||||
<ol class="list4" start="-1">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ol>
|
||||
<ol class="list5">
|
||||
<li>Alpha</li>
|
||||
<li value="5">Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ol>
|
||||
<ol class="list6">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ol>
|
||||
<ol class="list7">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ol>
|
||||
<ol class="list8">
|
||||
<li>Alpha</li>
|
||||
<li>Beta</li>
|
||||
<li>Gamma</li>
|
||||
</ol>
|
||||
<div class="list9">Alpha</div>
|
||||
<div class="list9">Beta</div>
|
||||
<div class="list9">Gamma</div>
|
||||
</body>
|
||||
</html>
|
@ -1,203 +0,0 @@
|
||||
Window: [800, 5016]
|
||||
Rectangle: [0, 0, 800, 5016] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 22]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 72]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 122]: 3
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 172]: 4
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 222]: 5
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 272]: 6
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 322]: 7
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 372]: 8
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 422]: 9
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 472]: 10
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 522]: 11
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 572]: 12
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 622]: 13
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 672]: 14
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 722]: 15
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 772]: 16
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 822]: 17
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 872]: 18
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 922]: 19
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 972]: 20
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1022]: 21
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1072]: 22
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1122]: 23
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1172]: 24
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1222]: 25
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1272]: 26
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1322]: 27
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1372]: 28
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1422]: 29
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1472]: 30
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1522]: 31
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1572]: 32
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1622]: 33
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1672]: 34
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1722]: 35
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1772]: 36
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1822]: 37
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1872]: 38
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1922]: 39
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1972]: 40
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2022]: 41
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2072]: 42
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2122]: 43
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2172]: 44
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2222]: 45
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2272]: 46
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2322]: 47
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2372]: 48
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2422]: 49
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2472]: 50
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2522]: 51
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2572]: 52
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2622]: 53
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2672]: 54
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2722]: 55
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2772]: 56
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2822]: 57
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2872]: 58
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2922]: 59
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2972]: 60
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3022]: 61
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3072]: 62
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3122]: 63
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3172]: 64
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3222]: 65
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3272]: 66
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3322]: 67
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3372]: 68
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3422]: 69
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3472]: 70
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3522]: 71
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3572]: 72
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3622]: 73
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3672]: 74
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3722]: 75
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3772]: 76
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3822]: 77
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3872]: 78
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3922]: 79
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3972]: 80
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4022]: 81
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4072]: 82
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4122]: 83
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4172]: 84
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4222]: 85
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4272]: 86
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4322]: 87
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4372]: 88
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4422]: 89
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4472]: 90
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4522]: 91
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4572]: 92
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4622]: 93
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4672]: 94
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4722]: 95
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4772]: 96
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4822]: 97
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4872]: 98
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4922]: 99
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4972]: 100
|
@ -1,203 +0,0 @@
|
||||
Window: [800, 5016]
|
||||
Rectangle: [0, 0, 800, 5016] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 22]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 72]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 122]: 3
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 172]: 4
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 222]: 5
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 272]: 6
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 322]: 7
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 372]: 8
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 422]: 9
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 472]: 10
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 522]: 11
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 572]: 12
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 622]: 13
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 672]: 14
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 722]: 15
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 772]: 16
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 822]: 17
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 872]: 18
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 922]: 19
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 972]: 20
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1022]: 21
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1072]: 22
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1122]: 23
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1172]: 24
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1222]: 25
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1272]: 26
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1322]: 27
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1372]: 28
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1422]: 29
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1472]: 30
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1522]: 31
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1572]: 32
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1622]: 33
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1672]: 34
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1722]: 35
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1772]: 36
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1822]: 37
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1872]: 38
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1922]: 39
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 1972]: 40
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2022]: 41
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2072]: 42
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2122]: 43
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2172]: 44
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2222]: 45
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2272]: 46
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2322]: 47
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2372]: 48
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2422]: 49
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2472]: 50
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2522]: 51
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2572]: 52
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2622]: 53
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2672]: 54
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2722]: 55
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2772]: 56
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2822]: 57
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2872]: 58
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2922]: 59
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 2972]: 60
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3022]: 61
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3072]: 62
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3122]: 63
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3172]: 64
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3222]: 65
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3272]: 66
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3322]: 67
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3372]: 68
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3422]: 69
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3472]: 70
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3522]: 71
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3572]: 72
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3622]: 73
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3672]: 74
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3722]: 75
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3772]: 76
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3822]: 77
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3872]: 78
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3922]: 79
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 3972]: 80
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4022]: 81
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4072]: 82
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4122]: 83
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4172]: 84
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4222]: 85
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4272]: 86
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4322]: 87
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4372]: 88
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4422]: 89
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4472]: 90
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4522]: 91
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4572]: 92
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4622]: 93
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4672]: 94
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4722]: 95
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4772]: 96
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4822]: 97
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4872]: 98
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4922]: 99
|
||||
Text: rgb(0,0,0) normal normal 400 20 Arial
|
||||
[48, 4972]: 100
|
41
tests/reftests/options/ignore.html
Normal file
41
tests/reftests/options/ignore.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>element render test</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script>
|
||||
|
||||
</script>
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
<style>
|
||||
#div1 {
|
||||
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: green;
|
||||
}
|
||||
|
||||
#ignored {
|
||||
background: red;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
body, html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="ignored" data-html2canvas-ignore>
|
||||
great failure
|
||||
</div>
|
||||
<div id="div1">
|
||||
great success
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,134 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 312, y: 8) > Vector(x: 310, y: 10) > Vector(x: 10, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 8) > Vector(x: 312, y: 312) > Vector(x: 310, y: 310) > Vector(x: 310, y: 10))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 312, y: 312) > Vector(x: 8, y: 312) > Vector(x: 10, y: 310) > Vector(x: 310, y: 310))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 312) > Vector(x: 8, y: 8) > Vector(x: 10, y: 10) > Vector(x: 10, y: 310))
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[10, 26]: Le
|
||||
[32, 26]: Lorem
|
||||
[82, 26]: Ipsum
|
||||
[130, 26]: est
|
||||
[156, 26]: simplement
|
||||
[242, 26]: du
|
||||
[264, 26]: faux
|
||||
[10, 42]: texte
|
||||
[49, 42]: employé
|
||||
[114, 42]: dans
|
||||
[153, 42]: la
|
||||
[170, 42]: composition
|
||||
[260, 42]: et
|
||||
[278, 42]: la
|
||||
[10, 59]: mise
|
||||
[48, 59]: en
|
||||
[70, 59]: page
|
||||
[110, 59]: avant
|
||||
[154, 59]: impression.
|
||||
[240, 59]: Le
|
||||
[262, 59]: Lorem
|
||||
[10, 76]: Ipsum
|
||||
[58, 76]: est
|
||||
[84, 76]: le
|
||||
[101, 76]: faux
|
||||
[135, 76]: texte
|
||||
[174, 76]: standard
|
||||
[241, 76]: de
|
||||
[10, 93]: l'imprimerie
|
||||
[96, 93]: depuis
|
||||
[147, 93]: les
|
||||
[172, 93]: années
|
||||
[229, 93]: 1500,
|
||||
[10, 110]: quand
|
||||
[59, 110]: un
|
||||
[81, 110]: peintre
|
||||
[134, 110]: anonyme
|
||||
[205, 110]: assembla
|
||||
[10, 126]: ensemble
|
||||
[84, 126]: des
|
||||
[114, 126]: morceaux
|
||||
[189, 126]: de
|
||||
[211, 126]: texte
|
||||
[250, 126]: pour
|
||||
[10, 143]: réaliser
|
||||
[67, 143]: un
|
||||
[89, 143]: livre
|
||||
[123, 143]: spécimen
|
||||
[196, 143]: de
|
||||
[218, 143]: polices
|
||||
[272, 143]: de
|
||||
[10, 160]: texte.
|
||||
[54, 160]: Il
|
||||
[66, 160]: n'a
|
||||
[91, 160]: pas
|
||||
[122, 160]: fait
|
||||
[147, 160]: que
|
||||
[178, 160]: survivre
|
||||
[239, 160]: cinq
|
||||
[10, 177]: siècles,
|
||||
[68, 177]: mais
|
||||
[106, 177]: s'est
|
||||
[143, 177]: aussi
|
||||
[185, 177]: adapté
|
||||
[238, 177]: à
|
||||
[251, 177]: la
|
||||
[10, 194]: bureautique
|
||||
[99, 194]: informatique,
|
||||
[196, 194]: sans
|
||||
[234, 194]: que
|
||||
[265, 194]: son
|
||||
[10, 210]: contenu
|
||||
[71, 210]: n'en
|
||||
[106, 210]: soit
|
||||
[135, 210]: modifié.
|
||||
[195, 210]: Il
|
||||
[208, 210]: a
|
||||
[221, 210]: été
|
||||
[10, 227]: popularisé
|
||||
[88, 227]: dans
|
||||
[128, 227]: les
|
||||
[152, 227]: années
|
||||
[209, 227]: 1960
|
||||
[249, 227]: grâce
|
||||
[294, 227]: à
|
||||
[10, 244]: la
|
||||
[27, 244]: vente
|
||||
[70, 244]: de
|
||||
[93, 244]: feuilles
|
||||
[147, 244]: Letraset
|
||||
[209, 244]: contenant
|
||||
[284, 244]: des
|
||||
[10, 261]: passages
|
||||
[83, 261]: du
|
||||
[105, 261]: Lorem
|
||||
[155, 261]: Ipsum,
|
||||
[208, 261]: et,
|
||||
[230, 261]: plus
|
||||
[10, 278]: récemment,
|
||||
[99, 278]: par
|
||||
[126, 278]: son
|
||||
[157, 278]: inclusion
|
||||
[224, 278]: dans
|
||||
[262, 278]: des
|
||||
[10, 294]: applications
|
||||
[99, 294]: de
|
||||
[121, 294]: mise
|
||||
[160, 294]: en
|
||||
[182, 294]: page
|
||||
[222, 294]: de
|
||||
[244, 294]: texte,
|
||||
[10, 311]: comme
|
||||
[67, 311]: Aldus
|
||||
[111, 311]: PageMaker.
|
||||
Transform: (91, 525) [-0.92, -0.39, 0.39, -0.92, 0, 0]
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
||||
Clip: Path (Vector(x: -140, y: 215) > Vector(x: 321, y: 215) > Vector(x: 321, y: 835) > Vector(x: -140, y: 835))
|
||||
Fill: rgb(255,0,0)
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
||||
Transform: (268, -94) [-0.92, -0.39, 0.39, -0.92, 0, 0]
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
||||
Clip: Path (Vector(x: -47, y: -402) > Vector(x: 582, y: -402) > Vector(x: 582, y: 215) > Vector(x: -47, y: 215))
|
||||
Fill: rgb(255,0,255)
|
||||
Clip: Path (Vector(x: 10, y: 10) > Vector(x: 310, y: 10) > Vector(x: 310, y: 310) > Vector(x: 10, y: 310))
|
@ -1,70 +1,122 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Overflow tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
<style>
|
||||
.small{
|
||||
font-size:14px;
|
||||
}
|
||||
<head>
|
||||
<title>Overflow tests</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<script type="text/javascript" src="../../test.js"></script>
|
||||
<style>
|
||||
.small{
|
||||
font-size:14px;
|
||||
}
|
||||
|
||||
.medium{
|
||||
font-size:18px;
|
||||
}
|
||||
.large{
|
||||
font-size:24px;
|
||||
}
|
||||
div{
|
||||
background: #ccc;
|
||||
border:6px solid black;
|
||||
width:300px;
|
||||
height:200px;
|
||||
margin: 0 0 60px 0;
|
||||
}
|
||||
h1 {
|
||||
margin:0;
|
||||
line-height: 40px;
|
||||
}
|
||||
body {
|
||||
font-family: Arial;
|
||||
line-height: 17px;
|
||||
font-size: 1em;
|
||||
}
|
||||
</style>
|
||||
.medium{
|
||||
font-size:18px;
|
||||
}
|
||||
.large{
|
||||
font-size:24px;
|
||||
}
|
||||
div{
|
||||
background: #ccc;
|
||||
border:6px solid black;
|
||||
width:300px;
|
||||
height:200px;
|
||||
margin: 0 0 60px 0;
|
||||
}
|
||||
h1 {
|
||||
margin:0;
|
||||
line-height: 40px;
|
||||
}
|
||||
body {
|
||||
font-family: Arial;
|
||||
line-height: 17px;
|
||||
font-size: 1em;
|
||||
}
|
||||
.cell {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
float: right;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
</head>
|
||||
<body>
|
||||
.cell p {
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
<h1>Overflow: visible</h1>
|
||||
<div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
</div>
|
||||
.visible {
|
||||
overflow: visible;
|
||||
}
|
||||
.hidden {
|
||||
overflow: hidden;
|
||||
}
|
||||
.scroll {
|
||||
overflow: scroll;
|
||||
}
|
||||
.auto {
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h1>Overflow: hidden</h1>
|
||||
<div style="overflow:hidden;float: right; height: 100px; border-radius: 100%; border-color: transparent;">
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
</head>
|
||||
<body>
|
||||
<div class="cell">
|
||||
visible
|
||||
<p class="visible">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus pretium facilisis. Praesent rutrum eget nisl in tristique. Sed tincidunt nisl et tellus vulputate, nec rhoncus orci pretium.</p>
|
||||
</div>
|
||||
<div class="cell">
|
||||
hidden
|
||||
<p class="hidden">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus pretium facilisis. Praesent rutrum eget nisl in tristique. Sed tincidunt nisl et tellus vulputate, nec rhoncus orci pretium.</p>
|
||||
</div>
|
||||
<div class="cell">
|
||||
scroll
|
||||
<p class="scroll">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus pretium facilisis. Praesent rutrum eget nisl in tristique. Sed tincidunt nisl et tellus vulputate, nec rhoncus orci pretium.</p>
|
||||
</div>
|
||||
<div class="cell">
|
||||
auto
|
||||
<p class="auto">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus pretium facilisis. Praesent rutrum eget nisl in tristique. Sed tincidunt nisl et tellus vulputate, nec rhoncus orci pretium.</p>
|
||||
</div>
|
||||
<h1>Overflow: visible</h1>
|
||||
<div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
</div>
|
||||
|
||||
with the release of <div style="border-width:10px 0 5px 0;background:green;">a</div>Letraset sheets containing Lorem Ipsum passages, <img src="../../assets/image.jpg" /> and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
<h1>Overflow: hidden</h1>
|
||||
<div style="overflow:hidden;float: right; height: 100px; border-radius: 100%; border-color: transparent;">
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
|
||||
with the release of <div style="border-width:10px 0 5px 0;background:green;">a</div>Letraset sheets containing Lorem Ipsum passages, <img src="../../assets/image.jpg" /> and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
|
||||
<div style="overflow:visible;position:relative;"><u>position:relative within a overflow:hidden element</u><br /> <br />
|
||||
<div style="overflow:visible;position:relative;"><u>position:relative within a overflow:hidden element</u><br /> <br />
|
||||
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div style="overflow:hidden;">
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
</div>
|
||||
</div>
|
||||
<div style="overflow:hidden;">
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
|
||||
with the release of <div style="border-width:10px 0 5px 0;background:green;">a</div>Letraset sheets containing Lorem Ipsum passages, <img src="../../assets/image.jpg" /> and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
with the release of <div style="border-width:10px 0 5px 0;background:green;">a</div>Letraset sheets containing Lorem Ipsum passages, <img src="../../assets/image.jpg" /> and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
|
||||
<div style="overflow:visible;position:relative;"><u>position:relative within a overflow:hidden element</u><br /> <br />
|
||||
<div style="overflow:visible;position:relative;"><u>position:relative within a overflow:hidden element</u><br /> <br />
|
||||
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="overflow:scroll; height: 100px;" id="scroll">
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
|
||||
</body>
|
||||
with the release of <div style="border-width:10px 0 5px 0;background:green;">a</div>Letraset sheets containing Lorem Ipsum passages, <img src="../../assets/image.jpg" /> and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
|
||||
<div style="overflow:visible;position:relative;"><u>position:relative within a overflow:hidden element</u><br /> <br />
|
||||
|
||||
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like <b>Aldus PageMaker</b> including versions of Lorem Ipsum.
|
||||
|
||||
</div>
|
||||
<script>
|
||||
document.querySelector('#scroll').scrollTo(0, 200);
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,567 +0,0 @@
|
||||
Window: [800, 632]
|
||||
Rectangle: [0, 0, 800, 632] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 700 32 Arial
|
||||
[8, 10]: Overflow:
|
||||
[164, 10]: visible
|
||||
Clip: Path (Vector(x: 8, y: 48) > Vector(x: 320, y: 48) > Vector(x: 320, y: 260) > Vector(x: 8, y: 260))
|
||||
Fill: rgb(204,204,204)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 48) > Vector(x: 320, y: 48) > Vector(x: 314, y: 54) > Vector(x: 14, y: 54))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 48) > Vector(x: 320, y: 260) > Vector(x: 314, y: 254) > Vector(x: 314, y: 54))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 260) > Vector(x: 8, y: 260) > Vector(x: 14, y: 254) > Vector(x: 314, y: 254))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 260) > Vector(x: 8, y: 48) > Vector(x: 14, y: 54) > Vector(x: 14, y: 254))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[14, 54]: Lorem
|
||||
[64, 54]: Ipsum
|
||||
[112, 54]: is
|
||||
[128, 54]: simply
|
||||
[178, 54]: dummy
|
||||
[234, 54]: text
|
||||
[265, 54]: of
|
||||
[282, 54]: the
|
||||
[14, 70]: printing
|
||||
[71, 70]: and
|
||||
[102, 70]: typesetting
|
||||
[184, 70]: industry.
|
||||
[248, 70]: Lorem
|
||||
[14, 87]: Ipsum
|
||||
[62, 87]: has
|
||||
[92, 87]: been
|
||||
[132, 87]: the
|
||||
[159, 87]: industry's
|
||||
[230, 87]: standard
|
||||
[14, 104]: dummy
|
||||
[71, 104]: text
|
||||
[101, 104]: ever
|
||||
[137, 104]: since
|
||||
[178, 104]: the
|
||||
[205, 104]: 1500s,
|
||||
[258, 104]: when
|
||||
[14, 121]: an
|
||||
[36, 121]: unknown
|
||||
[105, 121]: printer
|
||||
[154, 121]: took
|
||||
[189, 121]: a
|
||||
[202, 121]: galley
|
||||
[249, 121]: of
|
||||
[267, 121]: type
|
||||
[14, 138]: and
|
||||
[45, 138]: scrambled
|
||||
[123, 138]: it
|
||||
[136, 138]: to
|
||||
[154, 138]: make
|
||||
[197, 138]: a
|
||||
[210, 138]: type
|
||||
[245, 138]: specimen
|
||||
[14, 154]: book.
|
||||
[58, 154]: It
|
||||
[71, 154]: has
|
||||
[101, 154]: survived
|
||||
[165, 154]: not
|
||||
[192, 154]: only
|
||||
[226, 154]: five
|
||||
[14, 171]: centuries,
|
||||
[88, 171]: but
|
||||
[114, 171]: also
|
||||
[148, 171]: the
|
||||
[175, 171]: leap
|
||||
[210, 171]: into
|
||||
[240, 171]: electronic
|
||||
[14, 188]: typesetting,
|
||||
[100, 188]: remaining
|
||||
[175, 188]: essentially
|
||||
[14, 205]: unchanged.
|
||||
[102, 205]: It
|
||||
[116, 205]: was
|
||||
[148, 205]: popularised
|
||||
[236, 205]: in
|
||||
[252, 205]: the
|
||||
[14, 222]: 1960s
|
||||
[62, 222]: with
|
||||
[95, 222]: the
|
||||
[122, 222]: release
|
||||
[178, 222]: of
|
||||
[196, 222]: Letraset
|
||||
[258, 222]: sheets
|
||||
[14, 238]: containing
|
||||
[91, 238]: Lorem
|
||||
[141, 238]: Ipsum
|
||||
[189, 238]: passages,
|
||||
[266, 238]: and
|
||||
[14, 255]: more
|
||||
[55, 255]: recently
|
||||
[115, 255]: with
|
||||
[148, 255]: desktop
|
||||
[209, 255]: publishing
|
||||
[14, 272]: software
|
||||
[79, 272]: like
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[245, 272]: including
|
||||
[14, 289]: versions
|
||||
[78, 289]: of
|
||||
[96, 289]: Lorem
|
||||
[146, 289]: Ipsum.
|
||||
Text: rgb(0,0,0) normal normal 700 32 Arial
|
||||
[8, 322]: Overflow:
|
||||
[164, 322]: hidden
|
||||
Clip: Path (Vector(x: 8, y: 360) > Vector(x: 320, y: 360) > Vector(x: 320, y: 572) > Vector(x: 8, y: 572))
|
||||
Fill: rgb(204,204,204)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 360) > Vector(x: 320, y: 360) > Vector(x: 314, y: 366) > Vector(x: 14, y: 366))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 360) > Vector(x: 320, y: 572) > Vector(x: 314, y: 566) > Vector(x: 314, y: 366))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 320, y: 572) > Vector(x: 8, y: 572) > Vector(x: 14, y: 566) > Vector(x: 314, y: 566))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 572) > Vector(x: 8, y: 360) > Vector(x: 14, y: 366) > Vector(x: 14, y: 566))
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[14, 366]: Lorem
|
||||
[64, 366]: Ipsum
|
||||
[112, 366]: is
|
||||
[128, 366]: simply
|
||||
[178, 366]: dummy
|
||||
[234, 366]: text
|
||||
[265, 366]: of
|
||||
[282, 366]: the
|
||||
[14, 382]: printing
|
||||
[71, 382]: and
|
||||
[102, 382]: typesetting
|
||||
[184, 382]: industry.
|
||||
[248, 382]: Lorem
|
||||
[14, 399]: Ipsum
|
||||
[62, 399]: has
|
||||
[92, 399]: been
|
||||
[132, 399]: the
|
||||
[159, 399]: industry's
|
||||
[230, 399]: standard
|
||||
[14, 416]: dummy
|
||||
[71, 416]: text
|
||||
[101, 416]: ever
|
||||
[137, 416]: since
|
||||
[178, 416]: the
|
||||
[205, 416]: 1500s,
|
||||
[258, 416]: when
|
||||
[14, 433]: an
|
||||
[36, 433]: unknown
|
||||
[105, 433]: printer
|
||||
[154, 433]: took
|
||||
[189, 433]: a
|
||||
[202, 433]: galley
|
||||
[249, 433]: of
|
||||
[267, 433]: type
|
||||
[14, 450]: and
|
||||
[45, 450]: scrambled
|
||||
[123, 450]: it
|
||||
[136, 450]: to
|
||||
[154, 450]: make
|
||||
[197, 450]: a
|
||||
[210, 450]: type
|
||||
[245, 450]: specimen
|
||||
[14, 466]: book.
|
||||
[58, 466]: It
|
||||
[71, 466]: has
|
||||
[101, 466]: survived
|
||||
[165, 466]: not
|
||||
[192, 466]: only
|
||||
[226, 466]: five
|
||||
[14, 483]: centuries,
|
||||
[88, 483]: but
|
||||
[114, 483]: also
|
||||
[148, 483]: the
|
||||
[175, 483]: leap
|
||||
[210, 483]: into
|
||||
[240, 483]: electronic
|
||||
[14, 500]: typesetting,
|
||||
[100, 500]: remaining
|
||||
[175, 500]: essentially
|
||||
[14, 517]: unchanged.
|
||||
[102, 517]: It
|
||||
[116, 517]: was
|
||||
[148, 517]: popularised
|
||||
[236, 517]: in
|
||||
[252, 517]: the
|
||||
[14, 534]: 1960s
|
||||
[62, 534]: with
|
||||
[95, 534]: the
|
||||
[122, 534]: release
|
||||
[178, 534]: of
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[14, 825]: Letraset
|
||||
[76, 825]: sheets
|
||||
[128, 825]: containing
|
||||
[205, 825]: Lorem
|
||||
[255, 825]: Ipsum
|
||||
[14, 903]: passages,
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[171, 903]: and
|
||||
[202, 903]: more
|
||||
[243, 903]: recently
|
||||
[14, 920]: with
|
||||
[47, 920]: desktop
|
||||
[107, 920]: publishing
|
||||
[184, 920]: software
|
||||
[249, 920]: like
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[152, 937]: including
|
||||
[220, 937]: versions
|
||||
[284, 937]: of
|
||||
[14, 954]: Lorem
|
||||
[64, 954]: Ipsum.
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Clip: Path (Vector(x: 14, y: 551) > Vector(x: 314, y: 551) > Vector(x: 314, y: 766) > Vector(x: 14, y: 766))
|
||||
Fill: rgb(0,128,0)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 14, y: 551) > Vector(x: 314, y: 551) > Vector(x: 314, y: 561) > Vector(x: 14, y: 561))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 314, y: 551) > Vector(x: 314, y: 766) > Vector(x: 314, y: 761) > Vector(x: 314, y: 561))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 314, y: 766) > Vector(x: 14, y: 766) > Vector(x: 14, y: 761) > Vector(x: 314, y: 761))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 14, y: 766) > Vector(x: 14, y: 551) > Vector(x: 14, y: 561) > Vector(x: 14, y: 761))
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[14, 560]: a
|
||||
Clip: Path (BezierCurve(x0: 480, y0: 416, x1: 636, y1: 360, cx0: 480, cy0: 385, cx1: 550, cy1: 360) > BezierCurve(x0: 636, y0: 360, x1: 792, y1: 416, cx0: 722, cy0: 360, cx1: 792, cy1: 385) > BezierCurve(x0: 792, y0: 416, x1: 636, y1: 472, cx0: 792, cy0: 447, cx1: 722, cy1: 472) > BezierCurve(x0: 636, y0: 472, x1: 480, y1: 416, cx0: 550, cy0: 472, cx1: 480, cy1: 447))
|
||||
Fill: rgb(204,204,204)
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[486, 366]: Lorem
|
||||
[536, 366]: Ipsum
|
||||
[584, 366]: is
|
||||
[600, 366]: simply
|
||||
[650, 366]: dummy
|
||||
[706, 366]: text
|
||||
[737, 366]: of
|
||||
[754, 366]: the
|
||||
[486, 382]: printing
|
||||
[543, 382]: and
|
||||
[574, 382]: typesetting
|
||||
[656, 382]: industry.
|
||||
[720, 382]: Lorem
|
||||
[486, 399]: Ipsum
|
||||
[534, 399]: has
|
||||
[564, 399]: been
|
||||
[604, 399]: the
|
||||
[631, 399]: industry's
|
||||
[702, 399]: standard
|
||||
[486, 416]: dummy
|
||||
[543, 416]: text
|
||||
[573, 416]: ever
|
||||
[609, 416]: since
|
||||
[650, 416]: the
|
||||
[677, 416]: 1500s,
|
||||
[730, 416]: when
|
||||
[486, 433]: an
|
||||
[508, 433]: unknown
|
||||
[577, 433]: printer
|
||||
[626, 433]: took
|
||||
[661, 433]: a
|
||||
[674, 433]: galley
|
||||
[721, 433]: of
|
||||
[739, 433]: type
|
||||
[486, 450]: and
|
||||
[517, 450]: scrambled
|
||||
[595, 450]: it
|
||||
[608, 450]: to
|
||||
[626, 450]: make
|
||||
[669, 450]: a
|
||||
[682, 450]: type
|
||||
[717, 450]: specimen
|
||||
[486, 466]: book.
|
||||
[530, 466]: It
|
||||
[543, 466]: has
|
||||
[573, 466]: survived
|
||||
[637, 466]: not
|
||||
[664, 466]: only
|
||||
[698, 466]: five
|
||||
[486, 483]: centuries,
|
||||
[560, 483]: but
|
||||
[586, 483]: also
|
||||
[620, 483]: the
|
||||
[647, 483]: leap
|
||||
[682, 483]: into
|
||||
[712, 483]: electronic
|
||||
[486, 500]: typesetting,
|
||||
[572, 500]: remaining
|
||||
[647, 500]: essentially
|
||||
[486, 517]: unchanged.
|
||||
[574, 517]: It
|
||||
[588, 517]: was
|
||||
[620, 517]: popularised
|
||||
[708, 517]: in
|
||||
[724, 517]: the
|
||||
[486, 534]: 1960s
|
||||
[534, 534]: with
|
||||
[567, 534]: the
|
||||
[594, 534]: release
|
||||
[650, 534]: of
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[486, 825]: Letraset
|
||||
[548, 825]: sheets
|
||||
[600, 825]: containing
|
||||
[677, 825]: Lorem
|
||||
[727, 825]: Ipsum
|
||||
[486, 903]: passages,
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[643, 903]: and
|
||||
[674, 903]: more
|
||||
[715, 903]: recently
|
||||
[486, 920]: with
|
||||
[519, 920]: desktop
|
||||
[579, 920]: publishing
|
||||
[656, 920]: software
|
||||
[721, 920]: like
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[624, 937]: including
|
||||
[692, 937]: versions
|
||||
[756, 937]: of
|
||||
[486, 954]: Lorem
|
||||
[536, 954]: Ipsum.
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Clip: Path (Vector(x: 486, y: 551) > Vector(x: 786, y: 551) > Vector(x: 786, y: 766) > Vector(x: 486, y: 766))
|
||||
Fill: rgb(0,128,0)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 551) > Vector(x: 786, y: 551) > Vector(x: 786, y: 561) > Vector(x: 486, y: 561))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 786, y: 551) > Vector(x: 786, y: 766) > Vector(x: 786, y: 761) > Vector(x: 786, y: 561))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 786, y: 766) > Vector(x: 486, y: 766) > Vector(x: 486, y: 761) > Vector(x: 786, y: 761))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 766) > Vector(x: 486, y: 551) > Vector(x: 486, y: 561) > Vector(x: 486, y: 761))
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[486, 560]: a
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Clip: Path (Vector(x: 563, y: 843) > Vector(x: 638, y: 843) > Vector(x: 638, y: 918) > Vector(x: 563, y: 918))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[486, 937]: Aldus
|
||||
[535, 937]: PageMaker
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[107, 272]: Aldus
|
||||
[156, 272]: PageMaker
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Clip: Path (Vector(x: 91, y: 843) > Vector(x: 166, y: 843) > Vector(x: 166, y: 918) > Vector(x: 91, y: 918))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[14, 937]: Aldus
|
||||
[63, 937]: PageMaker
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Clip: Path (Vector(x: 486, y: 971) > Vector(x: 798, y: 971) > Vector(x: 798, y: 1183) > Vector(x: 486, y: 1183))
|
||||
Fill: rgb(204,204,204)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 971) > Vector(x: 798, y: 971) > Vector(x: 792, y: 977) > Vector(x: 492, y: 977))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 798, y: 971) > Vector(x: 798, y: 1183) > Vector(x: 792, y: 1177) > Vector(x: 792, y: 977))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 798, y: 1183) > Vector(x: 486, y: 1183) > Vector(x: 492, y: 1177) > Vector(x: 792, y: 1177))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 486, y: 1183) > Vector(x: 486, y: 971) > Vector(x: 492, y: 977) > Vector(x: 492, y: 1177))
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[492, 1027]: Lorem
|
||||
[542, 1027]: Ipsum
|
||||
[590, 1027]: is
|
||||
[606, 1027]: simply
|
||||
[656, 1027]: dummy
|
||||
[712, 1027]: text
|
||||
[743, 1027]: of
|
||||
[760, 1027]: the
|
||||
[492, 1044]: printing
|
||||
[549, 1044]: and
|
||||
[580, 1044]: typesetting
|
||||
[662, 1044]: industry.
|
||||
[726, 1044]: Lorem
|
||||
[492, 1061]: Ipsum
|
||||
[540, 1061]: has
|
||||
[570, 1061]: been
|
||||
[610, 1061]: the
|
||||
[637, 1061]: industry's
|
||||
[708, 1061]: standard
|
||||
[492, 1077]: dummy
|
||||
[549, 1077]: text
|
||||
[579, 1077]: ever
|
||||
[615, 1077]: since
|
||||
[656, 1077]: the
|
||||
[683, 1077]: 1500s,
|
||||
[736, 1077]: when
|
||||
[492, 1094]: an
|
||||
[514, 1094]: unknown
|
||||
[583, 1094]: printer
|
||||
[632, 1094]: took
|
||||
[667, 1094]: a
|
||||
[680, 1094]: galley
|
||||
[727, 1094]: of
|
||||
[745, 1094]: type
|
||||
[492, 1111]: and
|
||||
[523, 1111]: scrambled
|
||||
[601, 1111]: it
|
||||
[614, 1111]: to
|
||||
[632, 1111]: make
|
||||
[675, 1111]: a
|
||||
[688, 1111]: type
|
||||
[723, 1111]: specimen
|
||||
[492, 1128]: book.
|
||||
[536, 1128]: It
|
||||
[549, 1128]: has
|
||||
[579, 1128]: survived
|
||||
[643, 1128]: not
|
||||
[670, 1128]: only
|
||||
[704, 1128]: five
|
||||
[492, 1145]: centuries,
|
||||
[566, 1145]: but
|
||||
[592, 1145]: also
|
||||
[626, 1145]: the
|
||||
[653, 1145]: leap
|
||||
[688, 1145]: into
|
||||
[718, 1145]: electronic
|
||||
[492, 1161]: typesetting,
|
||||
[578, 1161]: remaining
|
||||
[653, 1161]: essentially
|
||||
[492, 1178]: unchanged.
|
||||
[580, 1178]: It
|
||||
[594, 1178]: was
|
||||
[626, 1178]: popularised
|
||||
[714, 1178]: in
|
||||
[730, 1178]: the
|
||||
[492, 1195]: 1960s
|
||||
[540, 1195]: with
|
||||
[573, 1195]: the
|
||||
[600, 1195]: release
|
||||
[656, 1195]: of
|
||||
[674, 1195]: Letraset
|
||||
[736, 1195]: sheets
|
||||
[492, 1212]: containing
|
||||
[569, 1212]: Lorem
|
||||
[619, 1212]: Ipsum
|
||||
[667, 1212]: passages,
|
||||
[744, 1212]: and
|
||||
[492, 1229]: more
|
||||
[533, 1229]: recently
|
||||
[593, 1229]: with
|
||||
[626, 1229]: desktop
|
||||
[687, 1229]: publishing
|
||||
[492, 1245]: software
|
||||
[557, 1245]: like
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[723, 1245]: including
|
||||
[492, 1262]: versions
|
||||
[556, 1262]: of
|
||||
[574, 1262]: Lorem
|
||||
[624, 1262]: Ipsum.
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial solid rgb(0,0,0) underline
|
||||
[492, 977]: position:relative
|
||||
[603, 977]:
|
||||
[608, 977]: within
|
||||
[648, 977]:
|
||||
[653, 977]: a
|
||||
[662, 977]:
|
||||
[666, 977]: overflow:hidden
|
||||
[778, 976]:
|
||||
[492, 993]: element
|
||||
Clip: Path (BezierCurve(x0: 486, y0: 416, x1: 636, y1: 366, cx0: 486, cy0: 388, cx1: 553, cy1: 366) > BezierCurve(x0: 636, y0: 366, x1: 786, y1: 416, cx0: 719, cy0: 366, cx1: 786, cy1: 388) > BezierCurve(x0: 786, y0: 416, x1: 636, y1: 466, cx0: 786, cy0: 444, cx1: 719, cy1: 466) > BezierCurve(x0: 636, y0: 466, x1: 486, y1: 416, cx0: 553, cy0: 466, cx1: 486, cy1: 444))
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[585, 1245]: Aldus
|
||||
[634, 1245]: PageMaker
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Clip: Path (Vector(x: 14, y: 971) > Vector(x: 326, y: 971) > Vector(x: 326, y: 1183) > Vector(x: 14, y: 1183))
|
||||
Fill: rgb(204,204,204)
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 14, y: 971) > Vector(x: 326, y: 971) > Vector(x: 320, y: 977) > Vector(x: 20, y: 977))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 326, y: 971) > Vector(x: 326, y: 1183) > Vector(x: 320, y: 1177) > Vector(x: 320, y: 977))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 326, y: 1183) > Vector(x: 14, y: 1183) > Vector(x: 20, y: 1177) > Vector(x: 320, y: 1177))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 14, y: 1183) > Vector(x: 14, y: 971) > Vector(x: 20, y: 977) > Vector(x: 20, y: 1177))
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[20, 1027]: Lorem
|
||||
[70, 1027]: Ipsum
|
||||
[118, 1027]: is
|
||||
[134, 1027]: simply
|
||||
[184, 1027]: dummy
|
||||
[240, 1027]: text
|
||||
[271, 1027]: of
|
||||
[288, 1027]: the
|
||||
[20, 1044]: printing
|
||||
[77, 1044]: and
|
||||
[108, 1044]: typesetting
|
||||
[190, 1044]: industry.
|
||||
[254, 1044]: Lorem
|
||||
[20, 1061]: Ipsum
|
||||
[68, 1061]: has
|
||||
[98, 1061]: been
|
||||
[138, 1061]: the
|
||||
[165, 1061]: industry's
|
||||
[236, 1061]: standard
|
||||
[20, 1077]: dummy
|
||||
[77, 1077]: text
|
||||
[107, 1077]: ever
|
||||
[143, 1077]: since
|
||||
[184, 1077]: the
|
||||
[211, 1077]: 1500s,
|
||||
[264, 1077]: when
|
||||
[20, 1094]: an
|
||||
[42, 1094]: unknown
|
||||
[111, 1094]: printer
|
||||
[160, 1094]: took
|
||||
[195, 1094]: a
|
||||
[208, 1094]: galley
|
||||
[255, 1094]: of
|
||||
[273, 1094]: type
|
||||
[20, 1111]: and
|
||||
[51, 1111]: scrambled
|
||||
[129, 1111]: it
|
||||
[142, 1111]: to
|
||||
[160, 1111]: make
|
||||
[203, 1111]: a
|
||||
[216, 1111]: type
|
||||
[251, 1111]: specimen
|
||||
[20, 1128]: book.
|
||||
[64, 1128]: It
|
||||
[77, 1128]: has
|
||||
[107, 1128]: survived
|
||||
[171, 1128]: not
|
||||
[198, 1128]: only
|
||||
[232, 1128]: five
|
||||
[20, 1145]: centuries,
|
||||
[94, 1145]: but
|
||||
[120, 1145]: also
|
||||
[154, 1145]: the
|
||||
[181, 1145]: leap
|
||||
[216, 1145]: into
|
||||
[246, 1145]: electronic
|
||||
[20, 1161]: typesetting,
|
||||
[106, 1161]: remaining
|
||||
[181, 1161]: essentially
|
||||
[20, 1178]: unchanged.
|
||||
[108, 1178]: It
|
||||
[122, 1178]: was
|
||||
[154, 1178]: popularised
|
||||
[242, 1178]: in
|
||||
[258, 1178]: the
|
||||
[20, 1195]: 1960s
|
||||
[68, 1195]: with
|
||||
[101, 1195]: the
|
||||
[128, 1195]: release
|
||||
[184, 1195]: of
|
||||
[202, 1195]: Letraset
|
||||
[264, 1195]: sheets
|
||||
[20, 1212]: containing
|
||||
[97, 1212]: Lorem
|
||||
[147, 1212]: Ipsum
|
||||
[195, 1212]: passages,
|
||||
[272, 1212]: and
|
||||
[20, 1229]: more
|
||||
[61, 1229]: recently
|
||||
[121, 1229]: with
|
||||
[154, 1229]: desktop
|
||||
[215, 1229]: publishing
|
||||
[20, 1245]: software
|
||||
[85, 1245]: like
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[251, 1245]: including
|
||||
[20, 1262]: versions
|
||||
[84, 1262]: of
|
||||
[102, 1262]: Lorem
|
||||
[152, 1262]: Ipsum.
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial solid rgb(0,0,0) underline
|
||||
[20, 977]: position:relative
|
||||
[131, 977]:
|
||||
[136, 977]: within
|
||||
[176, 977]:
|
||||
[181, 977]: a
|
||||
[190, 977]:
|
||||
[194, 977]: overflow:hidden
|
||||
[306, 976]:
|
||||
[20, 993]: element
|
||||
Clip: Path (Vector(x: 14, y: 366) > Vector(x: 314, y: 366) > Vector(x: 314, y: 566) > Vector(x: 14, y: 566))
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[113, 1245]: Aldus
|
||||
[162, 1245]: PageMaker
|
104
tests/reftests/pseudo-content.html
Normal file
104
tests/reftests/pseudo-content.html
Normal file
@ -0,0 +1,104 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<script type="text/javascript" src="../test.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
quotes: "<{" "}>" "->" "<-" "(" ")" "-:" ":-";
|
||||
}
|
||||
|
||||
.counter1,
|
||||
.counter2,
|
||||
.quotes1,
|
||||
.attr-url {
|
||||
border: 1px solid deepskyblue;
|
||||
padding: 5px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.counter1 {
|
||||
counter-reset: c1 3;
|
||||
}
|
||||
|
||||
.counter1 > div::before {
|
||||
content: "«\"" counter(c1) "\»";
|
||||
counter-increment: c1 -1;
|
||||
}
|
||||
|
||||
.counter2 {
|
||||
counter-reset: c2;
|
||||
}
|
||||
|
||||
.counter2 > div::before {
|
||||
content: "["counters(c2, " < ", upper-roman) ']';
|
||||
counter-increment: c2 2;
|
||||
}
|
||||
|
||||
.quotes1::before {
|
||||
content: open-quote "!" open-quote close-quote open-quote;
|
||||
}
|
||||
|
||||
.quotes1::after {
|
||||
content: "!" close-quote close-quote;
|
||||
}
|
||||
|
||||
.quotes2 {
|
||||
quotes: "«" "»" "“" "”";
|
||||
}
|
||||
|
||||
.quotes2::before {
|
||||
content: open-quote;
|
||||
}
|
||||
|
||||
.quotes2::after {
|
||||
content: close-quote;
|
||||
}
|
||||
|
||||
.attr-url > div::after {
|
||||
content: url(../assets/image.jpg) "///" attr(data-text);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="counter1">
|
||||
<div>A</div>
|
||||
<div>B</div>
|
||||
<div>C</div>
|
||||
<div>D</div>
|
||||
</div>
|
||||
|
||||
<div class="counter2">
|
||||
<div>A</div>
|
||||
<div>B</div>
|
||||
<div>
|
||||
C
|
||||
<div class="counter2">
|
||||
<div>a</div>
|
||||
<div>b</div>
|
||||
<div>
|
||||
c
|
||||
<div class="counter2">
|
||||
<div>Aa</div>
|
||||
<div>Bb</div>
|
||||
<div>Cc</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>D</div>
|
||||
</div>
|
||||
|
||||
<div class="quotes1">
|
||||
Hello
|
||||
<div class="quotes2">
|
||||
Quoted
|
||||
<div class="quotes2">World</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="attr-url">
|
||||
<div data-text="Hello World"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,73 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[90, 8]: Content
|
||||
[150, 8]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: root
|
||||
[40, 8]: before!
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[164, 8]: after!
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[286, 8]: Content
|
||||
[347, 8]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[204, 8]: root
|
||||
[236, 8]: before!
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[360, 8]: after!
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 26]: Content
|
||||
[68, 26]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[82, 26]: Content
|
||||
[142, 26]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[90, 105]: Content
|
||||
[150, 105]: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 105]: root
|
||||
[40, 105]: before!
|
||||
Clip: Path (Vector(x: 159, y: 44) > Vector(x: 234, y: 44) > Vector(x: 234, y: 119) > Vector(x: 159, y: 119))
|
||||
Draw image: Image ("/tests/assets/image2.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[320, 105]: Content
|
||||
[381, 105]: 2
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[239, 105]: root
|
||||
[271, 105]: before!
|
||||
Clip: Path (Vector(x: 390, y: 44) > Vector(x: 465, y: 44) > Vector(x: 465, y: 119) > Vector(x: 390, y: 119))
|
||||
Draw image: Image ("/tests/assets/image2.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[100, 123]: Content
|
||||
[160, 123]: 1
|
||||
Clip: Path (Vector(x: 8, y: 118) > Vector(x: 100, y: 118) > Vector(x: 100, y: 145) > Vector(x: 8, y: 145))
|
||||
Repeat: Image ("/tests/assets/image_1.jpg") [13, 123] Size (75, 75) Path (Vector(x: 8, y: 118) > Vector(x: 100, y: 118) > Vector(x: 100, y: 145) > Vector(x: 8, y: 145))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 118) > Vector(x: 100, y: 118) > Vector(x: 95, y: 123) > Vector(x: 13, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 100, y: 118) > Vector(x: 100, y: 145) > Vector(x: 95, y: 140) > Vector(x: 95, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 100, y: 145) > Vector(x: 8, y: 145) > Vector(x: 13, y: 140) > Vector(x: 95, y: 140))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 8, y: 145) > Vector(x: 8, y: 118) > Vector(x: 13, y: 123) > Vector(x: 13, y: 140))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[13, 123]: root
|
||||
[45, 123]: before!
|
||||
Clip: Path (Vector(x: 169, y: 123) > Vector(x: 210, y: 123) > Vector(x: 210, y: 140) > Vector(x: 169, y: 140))
|
||||
Repeat: Image ("/tests/assets/image2_1.jpg") [169, 123] Size (75, 75) Path (Vector(x: 169, y: 123) > Vector(x: 210, y: 123) > Vector(x: 210, y: 140) > Vector(x: 169, y: 140))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[174, 123]: after!
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[306, 123]: Content
|
||||
[367, 123]: 2
|
||||
Clip: Path (Vector(x: 215, y: 118) > Vector(x: 306, y: 118) > Vector(x: 306, y: 145) > Vector(x: 215, y: 145))
|
||||
Repeat: Image ("/tests/assets/image_1.jpg") [220, 123] Size (75, 75) Path (Vector(x: 215, y: 118) > Vector(x: 306, y: 118) > Vector(x: 306, y: 145) > Vector(x: 215, y: 145))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 215, y: 118) > Vector(x: 306, y: 118) > Vector(x: 301, y: 123) > Vector(x: 220, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 306, y: 118) > Vector(x: 306, y: 145) > Vector(x: 301, y: 140) > Vector(x: 301, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 306, y: 145) > Vector(x: 215, y: 145) > Vector(x: 220, y: 140) > Vector(x: 301, y: 140))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 215, y: 145) > Vector(x: 215, y: 118) > Vector(x: 220, y: 123) > Vector(x: 220, y: 140))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[220, 123]: root
|
||||
[252, 123]: before!
|
||||
Clip: Path (Vector(x: 376, y: 123) > Vector(x: 417, y: 123) > Vector(x: 417, y: 140) > Vector(x: 376, y: 140))
|
||||
Repeat: Image ("/tests/assets/image2_1.jpg") [376, 123] Size (75, 75) Path (Vector(x: 376, y: 123) > Vector(x: 417, y: 123) > Vector(x: 417, y: 140) > Vector(x: 376, y: 140))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[380, 123]: after!
|
@ -1,32 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: Some
|
||||
[54, 8]: inline
|
||||
[96, 8]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[297, 8]: followed
|
||||
[360, 8]: by
|
||||
[382, 8]: more
|
||||
[422, 8]: inline
|
||||
[464, 8]: text.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 76]: Then
|
||||
[49, 76]: more
|
||||
[90, 76]: inline
|
||||
[132, 76]: text.
|
||||
Clip: Path (Vector(x: 8, y: 42) > Vector(x: 792, y: 42) > Vector(x: 792, y: 60) > Vector(x: 8, y: 60))
|
||||
Fill: rgb(0,128,0)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 42]: Then
|
||||
[49, 42]: a
|
||||
[62, 42]: block
|
||||
[104, 42]: level
|
||||
[142, 42]: element.
|
||||
Text: rgb(0,0,255) normal normal 400 16 Arial
|
||||
[126, 8]: followed
|
||||
[190, 8]: by
|
||||
[211, 8]: text
|
||||
[241, 8]: in
|
||||
[258, 8]: span
|
File diff suppressed because it is too large
Load Diff
@ -1,83 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 61]: Fontawesome
|
||||
[113, 61]: icons
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[239, 61]: fa
|
||||
[252, 61]: -
|
||||
[258, 61]: 5x
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[55, 203]: fa
|
||||
[68, 203]: -
|
||||
[74, 203]: twitter
|
||||
[121, 203]: on
|
||||
[143, 203]: fa
|
||||
[156, 203]: -
|
||||
[162, 203]: square
|
||||
[211, 203]: -
|
||||
[216, 203]: o
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[55, 246]: fa
|
||||
[68, 246]: -
|
||||
[74, 246]: flag
|
||||
[104, 246]: on
|
||||
[126, 246]: fa
|
||||
[140, 246]: -
|
||||
[145, 246]: circle
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[55, 289]: fa
|
||||
[68, 289]: -
|
||||
[74, 289]: terminal
|
||||
[135, 289]: on
|
||||
[157, 289]: fa
|
||||
[171, 289]: -
|
||||
[176, 289]: square
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[55, 332]: fa
|
||||
[68, 332]: -
|
||||
[74, 332]: ban
|
||||
[105, 332]: on
|
||||
[127, 332]: fa
|
||||
[140, 332]: -
|
||||
[146, 332]: camera
|
||||
Text: rgb(0,0,0) normal normal 400 80 FontAwesome
|
||||
[155, 7]:
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[42, 104]: List
|
||||
[71, 104]: icons
|
||||
Text: rgb(0,0,0) normal normal 400 16 FontAwesome
|
||||
[18, 106]:
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[42, 122]: can
|
||||
[73, 122]: be
|
||||
[95, 122]: used
|
||||
Text: rgb(0,0,0) normal normal 400 16 FontAwesome
|
||||
[18, 124]:
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[42, 140]: as
|
||||
[63, 140]: bullets
|
||||
Text: rgb(0,0,0) normal normal 400 16 FontAwesome
|
||||
[18, 142]:
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[42, 158]: in
|
||||
[59, 158]: lists
|
||||
Text: rgb(0,0,0) normal normal 400 16 FontAwesome
|
||||
[18, 160]:
|
||||
Text: rgb(0,0,0) normal normal 400 42 FontAwesome
|
||||
[13, 192]:
|
||||
Text: rgb(0,0,0) normal normal 400 21 FontAwesome
|
||||
[19, 202]:
|
||||
Text: rgb(0,0,0) normal normal 400 42 FontAwesome
|
||||
[11, 234]:
|
||||
Text: rgb(255,255,255) normal normal 400 21 FontAwesome
|
||||
[19, 245]:
|
||||
Text: rgb(0,0,0) normal normal 400 42 FontAwesome
|
||||
[11, 277]:
|
||||
Text: rgb(255,255,255) normal normal 400 21 FontAwesome
|
||||
[19, 288]:
|
||||
Text: rgb(0,0,0) normal normal 400 21 FontAwesome
|
||||
[18, 330]:
|
||||
Text: rgb(0,0,0) normal normal 400 42 FontAwesome
|
||||
[11, 320]:
|
@ -1,355 +0,0 @@
|
||||
Window: [800, 2528]
|
||||
Rectangle: [0, 0, 800, 2528] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 791, y: 9) > Vector(x: 9, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 8) > Vector(x: 792, y: 28) > Vector(x: 791, y: 27) > Vector(x: 791, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 28) > Vector(x: 8, y: 28) > Vector(x: 9, y: 27) > Vector(x: 791, y: 27))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 28) > Vector(x: 8, y: 8) > Vector(x: 9, y: 9) > Vector(x: 9, y: 27))
|
||||
Text: rgb(0,0,0) normal normal 400 16 arial solid rgb(0,0,0) line-through
|
||||
[9, 9]: Testing
|
||||
[60, 9]:
|
||||
[64, 9]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 29) > Vector(x: 792, y: 29) > Vector(x: 791, y: 30) > Vector(x: 9, y: 30))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 29) > Vector(x: 792, y: 57) > Vector(x: 791, y: 56) > Vector(x: 791, y: 30))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 57) > Vector(x: 8, y: 57) > Vector(x: 9, y: 56) > Vector(x: 791, y: 56))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 57) > Vector(x: 8, y: 29) > Vector(x: 9, y: 30) > Vector(x: 9, y: 56))
|
||||
Text: rgb(0,0,0) normal normal 400 22 arial solid rgb(0,0,0) line-through
|
||||
[9, 31]: Testing
|
||||
[79, 31]:
|
||||
[85, 31]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 58) > Vector(x: 792, y: 58) > Vector(x: 791, y: 59) > Vector(x: 9, y: 59))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 58) > Vector(x: 792, y: 92) > Vector(x: 791, y: 91) > Vector(x: 791, y: 59))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 92) > Vector(x: 8, y: 92) > Vector(x: 9, y: 91) > Vector(x: 791, y: 91))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 92) > Vector(x: 8, y: 58) > Vector(x: 9, y: 59) > Vector(x: 9, y: 91))
|
||||
Text: rgb(0,0,0) normal normal 400 28 arial solid rgb(0,0,0) line-through
|
||||
[9, 59]: Testing
|
||||
[98, 59]:
|
||||
[106, 59]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 93) > Vector(x: 792, y: 93) > Vector(x: 791, y: 94) > Vector(x: 9, y: 94))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 93) > Vector(x: 792, y: 134) > Vector(x: 791, y: 133) > Vector(x: 791, y: 94))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 134) > Vector(x: 8, y: 134) > Vector(x: 9, y: 133) > Vector(x: 791, y: 133))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 134) > Vector(x: 8, y: 93) > Vector(x: 9, y: 94) > Vector(x: 9, y: 133))
|
||||
Text: rgb(0,0,0) normal normal 400 34 arial solid rgb(0,0,0) line-through
|
||||
[9, 94]: Testing
|
||||
[117, 94]:
|
||||
[126, 94]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 135) > Vector(x: 792, y: 135) > Vector(x: 791, y: 136) > Vector(x: 9, y: 136))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 135) > Vector(x: 792, y: 183) > Vector(x: 791, y: 182) > Vector(x: 791, y: 136))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 183) > Vector(x: 8, y: 183) > Vector(x: 9, y: 182) > Vector(x: 791, y: 182))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 183) > Vector(x: 8, y: 135) > Vector(x: 9, y: 136) > Vector(x: 9, y: 182))
|
||||
Text: rgb(0,0,0) normal normal 400 40 arial solid rgb(0,0,0) line-through
|
||||
[9, 136]: Testing
|
||||
[136, 136]:
|
||||
[147, 136]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 184) > Vector(x: 792, y: 184) > Vector(x: 791, y: 185) > Vector(x: 9, y: 185))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 184) > Vector(x: 792, y: 239) > Vector(x: 791, y: 238) > Vector(x: 791, y: 185))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 239) > Vector(x: 8, y: 239) > Vector(x: 9, y: 238) > Vector(x: 791, y: 238))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 239) > Vector(x: 8, y: 184) > Vector(x: 9, y: 185) > Vector(x: 9, y: 238))
|
||||
Text: rgb(0,0,0) normal normal 400 46 arial solid rgb(0,0,0) line-through
|
||||
[9, 186]: Testing
|
||||
[155, 186]:
|
||||
[168, 186]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 240) > Vector(x: 792, y: 240) > Vector(x: 791, y: 241) > Vector(x: 9, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 240) > Vector(x: 792, y: 302) > Vector(x: 791, y: 301) > Vector(x: 791, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 302) > Vector(x: 8, y: 302) > Vector(x: 9, y: 301) > Vector(x: 791, y: 301))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 302) > Vector(x: 8, y: 240) > Vector(x: 9, y: 241) > Vector(x: 9, y: 301))
|
||||
Text: rgb(0,0,0) normal normal 400 52 arial solid rgb(0,0,0) line-through
|
||||
[9, 242]: Testing
|
||||
[174, 242]:
|
||||
[188, 242]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 303) > Vector(x: 792, y: 303) > Vector(x: 791, y: 304) > Vector(x: 9, y: 304))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 303) > Vector(x: 792, y: 371) > Vector(x: 791, y: 370) > Vector(x: 791, y: 304))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 371) > Vector(x: 8, y: 371) > Vector(x: 9, y: 370) > Vector(x: 791, y: 370))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 371) > Vector(x: 8, y: 303) > Vector(x: 9, y: 304) > Vector(x: 9, y: 370))
|
||||
Text: rgb(0,0,0) normal normal 400 58 arial solid rgb(0,0,0) line-through
|
||||
[9, 305]: Testing
|
||||
[193, 305]:
|
||||
[209, 305]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 372) > Vector(x: 792, y: 372) > Vector(x: 791, y: 373) > Vector(x: 9, y: 373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 372) > Vector(x: 792, y: 448) > Vector(x: 791, y: 447) > Vector(x: 791, y: 373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 448) > Vector(x: 8, y: 448) > Vector(x: 9, y: 447) > Vector(x: 791, y: 447))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 448) > Vector(x: 8, y: 372) > Vector(x: 9, y: 373) > Vector(x: 9, y: 447))
|
||||
Text: rgb(0,0,0) normal normal 400 64 arial solid rgb(0,0,0) line-through
|
||||
[9, 374]: Testing
|
||||
[212, 374]:
|
||||
[230, 374]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 449) > Vector(x: 792, y: 449) > Vector(x: 791, y: 450) > Vector(x: 9, y: 450))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 449) > Vector(x: 792, y: 531) > Vector(x: 791, y: 530) > Vector(x: 791, y: 450))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 531) > Vector(x: 8, y: 531) > Vector(x: 9, y: 530) > Vector(x: 791, y: 530))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 531) > Vector(x: 8, y: 449) > Vector(x: 9, y: 450) > Vector(x: 9, y: 530))
|
||||
Text: rgb(0,0,0) normal normal 400 70 arial solid rgb(0,0,0) line-through
|
||||
[9, 451]: Testing
|
||||
[231, 451]:
|
||||
[250, 451]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 532) > Vector(x: 792, y: 532) > Vector(x: 791, y: 533) > Vector(x: 9, y: 533))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 532) > Vector(x: 792, y: 622) > Vector(x: 791, y: 621) > Vector(x: 791, y: 533))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 622) > Vector(x: 8, y: 622) > Vector(x: 9, y: 621) > Vector(x: 791, y: 621))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 622) > Vector(x: 8, y: 532) > Vector(x: 9, y: 533) > Vector(x: 9, y: 621))
|
||||
Text: rgb(0,0,0) normal normal 400 76 arial solid rgb(0,0,0) line-through
|
||||
[9, 535]: Testing
|
||||
[250, 535]:
|
||||
[271, 535]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 623) > Vector(x: 792, y: 623) > Vector(x: 791, y: 624) > Vector(x: 9, y: 624))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 623) > Vector(x: 792, y: 644) > Vector(x: 791, y: 643) > Vector(x: 791, y: 624))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 644) > Vector(x: 8, y: 644) > Vector(x: 9, y: 643) > Vector(x: 791, y: 643))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 644) > Vector(x: 8, y: 623) > Vector(x: 9, y: 624) > Vector(x: 9, y: 643))
|
||||
Text: rgb(0,0,0) normal normal 400 16 verdana solid rgb(0,0,0) line-through
|
||||
[9, 624]: Testing
|
||||
[66, 624]:
|
||||
[72, 624]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 645) > Vector(x: 792, y: 645) > Vector(x: 791, y: 646) > Vector(x: 9, y: 646))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 645) > Vector(x: 792, y: 674) > Vector(x: 791, y: 673) > Vector(x: 791, y: 646))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 674) > Vector(x: 8, y: 674) > Vector(x: 9, y: 673) > Vector(x: 791, y: 673))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 674) > Vector(x: 8, y: 645) > Vector(x: 9, y: 646) > Vector(x: 9, y: 673))
|
||||
Text: rgb(0,0,0) normal normal 400 22 verdana solid rgb(0,0,0) line-through
|
||||
[9, 646]: Testing
|
||||
[87, 646]:
|
||||
[95, 646]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 675) > Vector(x: 792, y: 675) > Vector(x: 791, y: 676) > Vector(x: 9, y: 676))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 675) > Vector(x: 792, y: 711) > Vector(x: 791, y: 710) > Vector(x: 791, y: 676))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 711) > Vector(x: 8, y: 711) > Vector(x: 9, y: 710) > Vector(x: 791, y: 710))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 711) > Vector(x: 8, y: 675) > Vector(x: 9, y: 676) > Vector(x: 9, y: 710))
|
||||
Text: rgb(0,0,0) normal normal 400 28 verdana solid rgb(0,0,0) line-through
|
||||
[9, 676]: Testing
|
||||
[108, 676]:
|
||||
[118, 676]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 712) > Vector(x: 792, y: 712) > Vector(x: 791, y: 713) > Vector(x: 9, y: 713))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 712) > Vector(x: 792, y: 755) > Vector(x: 791, y: 754) > Vector(x: 791, y: 713))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 755) > Vector(x: 8, y: 755) > Vector(x: 9, y: 754) > Vector(x: 791, y: 754))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 755) > Vector(x: 8, y: 712) > Vector(x: 9, y: 713) > Vector(x: 9, y: 754))
|
||||
Text: rgb(0,0,0) normal normal 400 34 verdana solid rgb(0,0,0) line-through
|
||||
[9, 713]: Testing
|
||||
[130, 713]:
|
||||
[142, 713]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 756) > Vector(x: 792, y: 756) > Vector(x: 791, y: 757) > Vector(x: 9, y: 757))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 756) > Vector(x: 792, y: 807) > Vector(x: 791, y: 806) > Vector(x: 791, y: 757))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 807) > Vector(x: 8, y: 807) > Vector(x: 9, y: 806) > Vector(x: 791, y: 806))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 807) > Vector(x: 8, y: 756) > Vector(x: 9, y: 757) > Vector(x: 9, y: 806))
|
||||
Text: rgb(0,0,0) normal normal 400 40 verdana solid rgb(0,0,0) line-through
|
||||
[9, 757]: Testing
|
||||
[151, 757]:
|
||||
[165, 757]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 808) > Vector(x: 792, y: 808) > Vector(x: 791, y: 809) > Vector(x: 9, y: 809))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 808) > Vector(x: 792, y: 866) > Vector(x: 791, y: 865) > Vector(x: 791, y: 809))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 866) > Vector(x: 8, y: 866) > Vector(x: 9, y: 865) > Vector(x: 791, y: 865))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 866) > Vector(x: 8, y: 808) > Vector(x: 9, y: 809) > Vector(x: 9, y: 865))
|
||||
Text: rgb(0,0,0) normal normal 400 46 verdana solid rgb(0,0,0) line-through
|
||||
[9, 809]: Testing
|
||||
[172, 809]:
|
||||
[188, 809]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 867) > Vector(x: 792, y: 867) > Vector(x: 791, y: 868) > Vector(x: 9, y: 868))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 867) > Vector(x: 792, y: 932) > Vector(x: 791, y: 931) > Vector(x: 791, y: 868))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 932) > Vector(x: 8, y: 932) > Vector(x: 9, y: 931) > Vector(x: 791, y: 931))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 932) > Vector(x: 8, y: 867) > Vector(x: 9, y: 868) > Vector(x: 9, y: 931))
|
||||
Text: rgb(0,0,0) normal normal 400 52 verdana solid rgb(0,0,0) line-through
|
||||
[9, 868]: Testing
|
||||
[194, 868]:
|
||||
[212, 868]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 933) > Vector(x: 792, y: 933) > Vector(x: 791, y: 934) > Vector(x: 9, y: 934))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 933) > Vector(x: 792, y: 1005) > Vector(x: 791, y: 1004) > Vector(x: 791, y: 934))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1005) > Vector(x: 8, y: 1005) > Vector(x: 9, y: 1004) > Vector(x: 791, y: 1004))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1005) > Vector(x: 8, y: 933) > Vector(x: 9, y: 934) > Vector(x: 9, y: 1004))
|
||||
Text: rgb(0,0,0) normal normal 400 58 verdana solid rgb(0,0,0) line-through
|
||||
[9, 934]: Testing
|
||||
[215, 934]:
|
||||
[235, 934]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1006) > Vector(x: 792, y: 1006) > Vector(x: 791, y: 1007) > Vector(x: 9, y: 1007))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1006) > Vector(x: 792, y: 1086) > Vector(x: 791, y: 1085) > Vector(x: 791, y: 1007))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1086) > Vector(x: 8, y: 1086) > Vector(x: 9, y: 1085) > Vector(x: 791, y: 1085))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1086) > Vector(x: 8, y: 1006) > Vector(x: 9, y: 1007) > Vector(x: 9, y: 1085))
|
||||
Text: rgb(0,0,0) normal normal 400 64 verdana solid rgb(0,0,0) line-through
|
||||
[9, 1007]: Testing
|
||||
[236, 1007]:
|
||||
[259, 1007]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1087) > Vector(x: 792, y: 1087) > Vector(x: 791, y: 1088) > Vector(x: 9, y: 1088))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1087) > Vector(x: 792, y: 1174) > Vector(x: 791, y: 1173) > Vector(x: 791, y: 1088))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1174) > Vector(x: 8, y: 1174) > Vector(x: 9, y: 1173) > Vector(x: 791, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1174) > Vector(x: 8, y: 1087) > Vector(x: 9, y: 1088) > Vector(x: 9, y: 1173))
|
||||
Text: rgb(0,0,0) normal normal 400 70 verdana solid rgb(0,0,0) line-through
|
||||
[9, 1088]: Testing
|
||||
[258, 1088]:
|
||||
[282, 1088]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1175) > Vector(x: 792, y: 1175) > Vector(x: 791, y: 1176) > Vector(x: 9, y: 1176))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1175) > Vector(x: 792, y: 1270) > Vector(x: 791, y: 1269) > Vector(x: 791, y: 1176))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1270) > Vector(x: 8, y: 1270) > Vector(x: 9, y: 1269) > Vector(x: 791, y: 1269))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1270) > Vector(x: 8, y: 1175) > Vector(x: 9, y: 1176) > Vector(x: 9, y: 1269))
|
||||
Text: rgb(0,0,0) normal normal 400 76 verdana solid rgb(0,0,0) line-through
|
||||
[9, 1177]: Testing
|
||||
[279, 1177]:
|
||||
[306, 1177]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1271) > Vector(x: 792, y: 1271) > Vector(x: 791, y: 1272) > Vector(x: 9, y: 1272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1271) > Vector(x: 792, y: 1292) > Vector(x: 791, y: 1291) > Vector(x: 791, y: 1272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1292) > Vector(x: 8, y: 1292) > Vector(x: 9, y: 1291) > Vector(x: 791, y: 1291))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1292) > Vector(x: 8, y: 1271) > Vector(x: 9, y: 1272) > Vector(x: 9, y: 1291))
|
||||
Text: rgb(0,0,0) normal normal 400 16 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1272]: Testing
|
||||
[61, 1272]:
|
||||
[66, 1272]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1293) > Vector(x: 792, y: 1293) > Vector(x: 791, y: 1294) > Vector(x: 9, y: 1294))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1293) > Vector(x: 792, y: 1321) > Vector(x: 791, y: 1320) > Vector(x: 791, y: 1294))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1321) > Vector(x: 8, y: 1321) > Vector(x: 9, y: 1320) > Vector(x: 791, y: 1320))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1321) > Vector(x: 8, y: 1293) > Vector(x: 9, y: 1294) > Vector(x: 9, y: 1320))
|
||||
Text: rgb(0,0,0) normal normal 400 22 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1294]: Testing
|
||||
[80, 1294]:
|
||||
[87, 1294]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1322) > Vector(x: 792, y: 1322) > Vector(x: 791, y: 1323) > Vector(x: 9, y: 1323))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1322) > Vector(x: 792, y: 1358) > Vector(x: 791, y: 1357) > Vector(x: 791, y: 1323))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1358) > Vector(x: 8, y: 1358) > Vector(x: 9, y: 1357) > Vector(x: 791, y: 1357))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1358) > Vector(x: 8, y: 1322) > Vector(x: 9, y: 1323) > Vector(x: 9, y: 1357))
|
||||
Text: rgb(0,0,0) normal normal 400 28 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1324]: Testing
|
||||
[100, 1324]:
|
||||
[108, 1324]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1359) > Vector(x: 792, y: 1359) > Vector(x: 791, y: 1360) > Vector(x: 9, y: 1360))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1359) > Vector(x: 792, y: 1402) > Vector(x: 791, y: 1401) > Vector(x: 791, y: 1360))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1402) > Vector(x: 8, y: 1402) > Vector(x: 9, y: 1401) > Vector(x: 791, y: 1401))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1402) > Vector(x: 8, y: 1359) > Vector(x: 9, y: 1360) > Vector(x: 9, y: 1401))
|
||||
Text: rgb(0,0,0) normal normal 400 34 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1360]: Testing
|
||||
[119, 1360]:
|
||||
[130, 1360]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1403) > Vector(x: 792, y: 1403) > Vector(x: 791, y: 1404) > Vector(x: 9, y: 1404))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1403) > Vector(x: 792, y: 1454) > Vector(x: 791, y: 1453) > Vector(x: 791, y: 1404))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1454) > Vector(x: 8, y: 1454) > Vector(x: 9, y: 1453) > Vector(x: 791, y: 1453))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1454) > Vector(x: 8, y: 1403) > Vector(x: 9, y: 1404) > Vector(x: 9, y: 1453))
|
||||
Text: rgb(0,0,0) normal normal 400 40 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1404]: Testing
|
||||
[138, 1404]:
|
||||
[151, 1404]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1455) > Vector(x: 792, y: 1455) > Vector(x: 791, y: 1456) > Vector(x: 9, y: 1456))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1455) > Vector(x: 792, y: 1512) > Vector(x: 791, y: 1511) > Vector(x: 791, y: 1456))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1512) > Vector(x: 8, y: 1512) > Vector(x: 9, y: 1511) > Vector(x: 791, y: 1511))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1512) > Vector(x: 8, y: 1455) > Vector(x: 9, y: 1456) > Vector(x: 9, y: 1511))
|
||||
Text: rgb(0,0,0) normal normal 400 46 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1456]: Testing
|
||||
[158, 1456]:
|
||||
[172, 1456]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1513) > Vector(x: 792, y: 1513) > Vector(x: 791, y: 1514) > Vector(x: 9, y: 1514))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1513) > Vector(x: 792, y: 1578) > Vector(x: 791, y: 1577) > Vector(x: 791, y: 1514))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1578) > Vector(x: 8, y: 1578) > Vector(x: 9, y: 1577) > Vector(x: 791, y: 1577))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1578) > Vector(x: 8, y: 1513) > Vector(x: 9, y: 1514) > Vector(x: 9, y: 1577))
|
||||
Text: rgb(0,0,0) normal normal 400 52 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1514]: Testing
|
||||
[177, 1514]:
|
||||
[193, 1514]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1579) > Vector(x: 792, y: 1579) > Vector(x: 791, y: 1580) > Vector(x: 9, y: 1580))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1579) > Vector(x: 792, y: 1651) > Vector(x: 791, y: 1650) > Vector(x: 791, y: 1580))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1651) > Vector(x: 8, y: 1651) > Vector(x: 9, y: 1650) > Vector(x: 791, y: 1650))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1651) > Vector(x: 8, y: 1579) > Vector(x: 9, y: 1580) > Vector(x: 9, y: 1650))
|
||||
Text: rgb(0,0,0) normal normal 400 58 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1580]: Testing
|
||||
[196, 1580]:
|
||||
[214, 1580]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1652) > Vector(x: 792, y: 1652) > Vector(x: 791, y: 1653) > Vector(x: 9, y: 1653))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1652) > Vector(x: 792, y: 1731) > Vector(x: 791, y: 1730) > Vector(x: 791, y: 1653))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1731) > Vector(x: 8, y: 1731) > Vector(x: 9, y: 1730) > Vector(x: 791, y: 1730))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1731) > Vector(x: 8, y: 1652) > Vector(x: 9, y: 1653) > Vector(x: 9, y: 1730))
|
||||
Text: rgb(0,0,0) normal normal 400 64 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1653]: Testing
|
||||
[216, 1653]:
|
||||
[236, 1653]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1732) > Vector(x: 792, y: 1732) > Vector(x: 791, y: 1733) > Vector(x: 9, y: 1733))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1732) > Vector(x: 792, y: 1819) > Vector(x: 791, y: 1818) > Vector(x: 791, y: 1733))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1819) > Vector(x: 8, y: 1819) > Vector(x: 9, y: 1818) > Vector(x: 791, y: 1818))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1819) > Vector(x: 8, y: 1732) > Vector(x: 9, y: 1733) > Vector(x: 9, y: 1818))
|
||||
Text: rgb(0,0,0) normal normal 400 70 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1733]: Testing
|
||||
[235, 1733]:
|
||||
[257, 1733]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1820) > Vector(x: 792, y: 1820) > Vector(x: 791, y: 1821) > Vector(x: 9, y: 1821))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1820) > Vector(x: 792, y: 1913) > Vector(x: 791, y: 1912) > Vector(x: 791, y: 1821))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1913) > Vector(x: 8, y: 1913) > Vector(x: 9, y: 1912) > Vector(x: 791, y: 1912))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1913) > Vector(x: 8, y: 1820) > Vector(x: 9, y: 1821) > Vector(x: 9, y: 1912))
|
||||
Text: rgb(0,0,0) normal normal 400 76 tahoma solid rgb(0,0,0) line-through
|
||||
[9, 1821]: Testing
|
||||
[254, 1821]:
|
||||
[278, 1821]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1914) > Vector(x: 792, y: 1914) > Vector(x: 791, y: 1915) > Vector(x: 9, y: 1915))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1914) > Vector(x: 792, y: 1934) > Vector(x: 791, y: 1933) > Vector(x: 791, y: 1915))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1934) > Vector(x: 8, y: 1934) > Vector(x: 9, y: 1933) > Vector(x: 791, y: 1933))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1934) > Vector(x: 8, y: 1914) > Vector(x: 9, y: 1915) > Vector(x: 9, y: 1933))
|
||||
Text: rgb(0,0,0) normal normal 400 16 courier new solid rgb(0,0,0) line-through
|
||||
[9, 1915]: Testing
|
||||
[76, 1915]:
|
||||
[86, 1915]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1935) > Vector(x: 792, y: 1935) > Vector(x: 791, y: 1936) > Vector(x: 9, y: 1936))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1935) > Vector(x: 792, y: 1962) > Vector(x: 791, y: 1961) > Vector(x: 791, y: 1936))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1962) > Vector(x: 8, y: 1962) > Vector(x: 9, y: 1961) > Vector(x: 791, y: 1961))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1962) > Vector(x: 8, y: 1935) > Vector(x: 9, y: 1936) > Vector(x: 9, y: 1961))
|
||||
Text: rgb(0,0,0) normal normal 400 22 courier new solid rgb(0,0,0) line-through
|
||||
[9, 1936]: Testing
|
||||
[102, 1936]:
|
||||
[115, 1936]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1963) > Vector(x: 792, y: 1963) > Vector(x: 791, y: 1964) > Vector(x: 9, y: 1964))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1963) > Vector(x: 792, y: 1997) > Vector(x: 791, y: 1996) > Vector(x: 791, y: 1964))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1997) > Vector(x: 8, y: 1997) > Vector(x: 9, y: 1996) > Vector(x: 791, y: 1996))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1997) > Vector(x: 8, y: 1963) > Vector(x: 9, y: 1964) > Vector(x: 9, y: 1996))
|
||||
Text: rgb(0,0,0) normal normal 400 28 courier new solid rgb(0,0,0) line-through
|
||||
[9, 1965]: Testing
|
||||
[127, 1965]:
|
||||
[144, 1965]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1998) > Vector(x: 792, y: 1998) > Vector(x: 791, y: 1999) > Vector(x: 9, y: 1999))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1998) > Vector(x: 792, y: 2039) > Vector(x: 791, y: 2038) > Vector(x: 791, y: 1999))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2039) > Vector(x: 8, y: 2039) > Vector(x: 9, y: 2038) > Vector(x: 791, y: 2038))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2039) > Vector(x: 8, y: 1998) > Vector(x: 9, y: 1999) > Vector(x: 9, y: 2038))
|
||||
Text: rgb(0,0,0) normal normal 400 34 courier new solid rgb(0,0,0) line-through
|
||||
[9, 1999]: Testing
|
||||
[152, 1999]:
|
||||
[172, 1999]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2040) > Vector(x: 792, y: 2040) > Vector(x: 791, y: 2041) > Vector(x: 9, y: 2041))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2040) > Vector(x: 792, y: 2087) > Vector(x: 791, y: 2086) > Vector(x: 791, y: 2041))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2087) > Vector(x: 8, y: 2087) > Vector(x: 9, y: 2086) > Vector(x: 791, y: 2086))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2087) > Vector(x: 8, y: 2040) > Vector(x: 9, y: 2041) > Vector(x: 9, y: 2086))
|
||||
Text: rgb(0,0,0) normal normal 400 40 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2041]: Testing
|
||||
[177, 2041]:
|
||||
[201, 2041]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2088) > Vector(x: 792, y: 2088) > Vector(x: 791, y: 2089) > Vector(x: 9, y: 2089))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2088) > Vector(x: 792, y: 2142) > Vector(x: 791, y: 2141) > Vector(x: 791, y: 2089))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2142) > Vector(x: 8, y: 2142) > Vector(x: 9, y: 2141) > Vector(x: 791, y: 2141))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2142) > Vector(x: 8, y: 2088) > Vector(x: 9, y: 2089) > Vector(x: 9, y: 2141))
|
||||
Text: rgb(0,0,0) normal normal 400 46 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2089]: Testing
|
||||
[202, 2089]:
|
||||
[230, 2089]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2143) > Vector(x: 792, y: 2143) > Vector(x: 791, y: 2144) > Vector(x: 9, y: 2144))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2143) > Vector(x: 792, y: 2204) > Vector(x: 791, y: 2203) > Vector(x: 791, y: 2144))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2204) > Vector(x: 8, y: 2204) > Vector(x: 9, y: 2203) > Vector(x: 791, y: 2203))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2204) > Vector(x: 8, y: 2143) > Vector(x: 9, y: 2144) > Vector(x: 9, y: 2203))
|
||||
Text: rgb(0,0,0) normal normal 400 52 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2145]: Testing
|
||||
[228, 2145]:
|
||||
[259, 2145]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2205) > Vector(x: 792, y: 2205) > Vector(x: 791, y: 2206) > Vector(x: 9, y: 2206))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2205) > Vector(x: 792, y: 2273) > Vector(x: 791, y: 2272) > Vector(x: 791, y: 2206))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2273) > Vector(x: 8, y: 2273) > Vector(x: 9, y: 2272) > Vector(x: 791, y: 2272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2273) > Vector(x: 8, y: 2205) > Vector(x: 9, y: 2206) > Vector(x: 9, y: 2272))
|
||||
Text: rgb(0,0,0) normal normal 400 58 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2206]: Testing
|
||||
[253, 2206]:
|
||||
[288, 2206]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2274) > Vector(x: 792, y: 2274) > Vector(x: 791, y: 2275) > Vector(x: 9, y: 2275))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2274) > Vector(x: 792, y: 2349) > Vector(x: 791, y: 2348) > Vector(x: 791, y: 2275))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2349) > Vector(x: 8, y: 2349) > Vector(x: 9, y: 2348) > Vector(x: 791, y: 2348))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2349) > Vector(x: 8, y: 2274) > Vector(x: 9, y: 2275) > Vector(x: 9, y: 2348))
|
||||
Text: rgb(0,0,0) normal normal 400 64 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2275]: Testing
|
||||
[278, 2275]:
|
||||
[316, 2275]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2350) > Vector(x: 792, y: 2350) > Vector(x: 791, y: 2351) > Vector(x: 9, y: 2351))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2350) > Vector(x: 792, y: 2431) > Vector(x: 791, y: 2430) > Vector(x: 791, y: 2351))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2431) > Vector(x: 8, y: 2431) > Vector(x: 9, y: 2430) > Vector(x: 791, y: 2430))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2431) > Vector(x: 8, y: 2350) > Vector(x: 9, y: 2351) > Vector(x: 9, y: 2430))
|
||||
Text: rgb(0,0,0) normal normal 400 70 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2351]: Testing
|
||||
[303, 2351]:
|
||||
[345, 2351]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2432) > Vector(x: 792, y: 2432) > Vector(x: 791, y: 2433) > Vector(x: 9, y: 2433))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2432) > Vector(x: 792, y: 2520) > Vector(x: 791, y: 2519) > Vector(x: 791, y: 2433))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2520) > Vector(x: 8, y: 2520) > Vector(x: 9, y: 2519) > Vector(x: 791, y: 2519))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2520) > Vector(x: 8, y: 2432) > Vector(x: 9, y: 2433) > Vector(x: 9, y: 2519))
|
||||
Text: rgb(0,0,0) normal normal 400 76 courier new solid rgb(0,0,0) line-through
|
||||
[9, 2433]: Testing
|
||||
[328, 2433]:
|
||||
[374, 2433]: texts
|
@ -1,355 +0,0 @@
|
||||
Window: [800, 2528]
|
||||
Rectangle: [0, 0, 800, 2528] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 8) > Vector(x: 792, y: 8) > Vector(x: 791, y: 9) > Vector(x: 9, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 8) > Vector(x: 792, y: 28) > Vector(x: 791, y: 27) > Vector(x: 791, y: 9))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 28) > Vector(x: 8, y: 28) > Vector(x: 9, y: 27) > Vector(x: 791, y: 27))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 28) > Vector(x: 8, y: 8) > Vector(x: 9, y: 9) > Vector(x: 9, y: 27))
|
||||
Text: rgb(0,0,0) normal normal 400 16 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 9]: Testing
|
||||
[60, 9]:
|
||||
[64, 9]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 29) > Vector(x: 792, y: 29) > Vector(x: 791, y: 30) > Vector(x: 9, y: 30))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 29) > Vector(x: 792, y: 57) > Vector(x: 791, y: 56) > Vector(x: 791, y: 30))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 57) > Vector(x: 8, y: 57) > Vector(x: 9, y: 56) > Vector(x: 791, y: 56))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 57) > Vector(x: 8, y: 29) > Vector(x: 9, y: 30) > Vector(x: 9, y: 56))
|
||||
Text: rgb(0,0,0) normal normal 400 22 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 31]: Testing
|
||||
[79, 31]:
|
||||
[85, 31]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 58) > Vector(x: 792, y: 58) > Vector(x: 791, y: 59) > Vector(x: 9, y: 59))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 58) > Vector(x: 792, y: 92) > Vector(x: 791, y: 91) > Vector(x: 791, y: 59))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 92) > Vector(x: 8, y: 92) > Vector(x: 9, y: 91) > Vector(x: 791, y: 91))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 92) > Vector(x: 8, y: 58) > Vector(x: 9, y: 59) > Vector(x: 9, y: 91))
|
||||
Text: rgb(0,0,0) normal normal 400 28 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 59]: Testing
|
||||
[98, 59]:
|
||||
[106, 59]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 93) > Vector(x: 792, y: 93) > Vector(x: 791, y: 94) > Vector(x: 9, y: 94))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 93) > Vector(x: 792, y: 134) > Vector(x: 791, y: 133) > Vector(x: 791, y: 94))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 134) > Vector(x: 8, y: 134) > Vector(x: 9, y: 133) > Vector(x: 791, y: 133))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 134) > Vector(x: 8, y: 93) > Vector(x: 9, y: 94) > Vector(x: 9, y: 133))
|
||||
Text: rgb(0,0,0) normal normal 400 34 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 94]: Testing
|
||||
[117, 94]:
|
||||
[126, 94]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 135) > Vector(x: 792, y: 135) > Vector(x: 791, y: 136) > Vector(x: 9, y: 136))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 135) > Vector(x: 792, y: 183) > Vector(x: 791, y: 182) > Vector(x: 791, y: 136))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 183) > Vector(x: 8, y: 183) > Vector(x: 9, y: 182) > Vector(x: 791, y: 182))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 183) > Vector(x: 8, y: 135) > Vector(x: 9, y: 136) > Vector(x: 9, y: 182))
|
||||
Text: rgb(0,0,0) normal normal 400 40 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 136]: Testing
|
||||
[136, 136]:
|
||||
[147, 136]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 184) > Vector(x: 792, y: 184) > Vector(x: 791, y: 185) > Vector(x: 9, y: 185))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 184) > Vector(x: 792, y: 239) > Vector(x: 791, y: 238) > Vector(x: 791, y: 185))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 239) > Vector(x: 8, y: 239) > Vector(x: 9, y: 238) > Vector(x: 791, y: 238))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 239) > Vector(x: 8, y: 184) > Vector(x: 9, y: 185) > Vector(x: 9, y: 238))
|
||||
Text: rgb(0,0,0) normal normal 400 46 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 186]: Testing
|
||||
[155, 186]:
|
||||
[168, 186]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 240) > Vector(x: 792, y: 240) > Vector(x: 791, y: 241) > Vector(x: 9, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 240) > Vector(x: 792, y: 302) > Vector(x: 791, y: 301) > Vector(x: 791, y: 241))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 302) > Vector(x: 8, y: 302) > Vector(x: 9, y: 301) > Vector(x: 791, y: 301))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 302) > Vector(x: 8, y: 240) > Vector(x: 9, y: 241) > Vector(x: 9, y: 301))
|
||||
Text: rgb(0,0,0) normal normal 400 52 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 242]: Testing
|
||||
[174, 242]:
|
||||
[188, 242]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 303) > Vector(x: 792, y: 303) > Vector(x: 791, y: 304) > Vector(x: 9, y: 304))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 303) > Vector(x: 792, y: 371) > Vector(x: 791, y: 370) > Vector(x: 791, y: 304))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 371) > Vector(x: 8, y: 371) > Vector(x: 9, y: 370) > Vector(x: 791, y: 370))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 371) > Vector(x: 8, y: 303) > Vector(x: 9, y: 304) > Vector(x: 9, y: 370))
|
||||
Text: rgb(0,0,0) normal normal 400 58 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 305]: Testing
|
||||
[193, 305]:
|
||||
[209, 305]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 372) > Vector(x: 792, y: 372) > Vector(x: 791, y: 373) > Vector(x: 9, y: 373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 372) > Vector(x: 792, y: 448) > Vector(x: 791, y: 447) > Vector(x: 791, y: 373))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 448) > Vector(x: 8, y: 448) > Vector(x: 9, y: 447) > Vector(x: 791, y: 447))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 448) > Vector(x: 8, y: 372) > Vector(x: 9, y: 373) > Vector(x: 9, y: 447))
|
||||
Text: rgb(0,0,0) normal normal 400 64 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 374]: Testing
|
||||
[212, 374]:
|
||||
[230, 374]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 449) > Vector(x: 792, y: 449) > Vector(x: 791, y: 450) > Vector(x: 9, y: 450))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 449) > Vector(x: 792, y: 531) > Vector(x: 791, y: 530) > Vector(x: 791, y: 450))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 531) > Vector(x: 8, y: 531) > Vector(x: 9, y: 530) > Vector(x: 791, y: 530))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 531) > Vector(x: 8, y: 449) > Vector(x: 9, y: 450) > Vector(x: 9, y: 530))
|
||||
Text: rgb(0,0,0) normal normal 400 70 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 451]: Testing
|
||||
[231, 451]:
|
||||
[250, 451]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 532) > Vector(x: 792, y: 532) > Vector(x: 791, y: 533) > Vector(x: 9, y: 533))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 532) > Vector(x: 792, y: 622) > Vector(x: 791, y: 621) > Vector(x: 791, y: 533))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 622) > Vector(x: 8, y: 622) > Vector(x: 9, y: 621) > Vector(x: 791, y: 621))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 622) > Vector(x: 8, y: 532) > Vector(x: 9, y: 533) > Vector(x: 9, y: 621))
|
||||
Text: rgb(0,0,0) normal normal 400 76 arial solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 535]: Testing
|
||||
[250, 535]:
|
||||
[271, 535]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 623) > Vector(x: 792, y: 623) > Vector(x: 791, y: 624) > Vector(x: 9, y: 624))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 623) > Vector(x: 792, y: 644) > Vector(x: 791, y: 643) > Vector(x: 791, y: 624))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 644) > Vector(x: 8, y: 644) > Vector(x: 9, y: 643) > Vector(x: 791, y: 643))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 644) > Vector(x: 8, y: 623) > Vector(x: 9, y: 624) > Vector(x: 9, y: 643))
|
||||
Text: rgb(0,0,0) normal normal 400 16 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 624]: Testing
|
||||
[66, 624]:
|
||||
[72, 624]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 645) > Vector(x: 792, y: 645) > Vector(x: 791, y: 646) > Vector(x: 9, y: 646))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 645) > Vector(x: 792, y: 674) > Vector(x: 791, y: 673) > Vector(x: 791, y: 646))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 674) > Vector(x: 8, y: 674) > Vector(x: 9, y: 673) > Vector(x: 791, y: 673))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 674) > Vector(x: 8, y: 645) > Vector(x: 9, y: 646) > Vector(x: 9, y: 673))
|
||||
Text: rgb(0,0,0) normal normal 400 22 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 646]: Testing
|
||||
[87, 646]:
|
||||
[95, 646]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 675) > Vector(x: 792, y: 675) > Vector(x: 791, y: 676) > Vector(x: 9, y: 676))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 675) > Vector(x: 792, y: 711) > Vector(x: 791, y: 710) > Vector(x: 791, y: 676))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 711) > Vector(x: 8, y: 711) > Vector(x: 9, y: 710) > Vector(x: 791, y: 710))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 711) > Vector(x: 8, y: 675) > Vector(x: 9, y: 676) > Vector(x: 9, y: 710))
|
||||
Text: rgb(0,0,0) normal normal 400 28 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 676]: Testing
|
||||
[108, 676]:
|
||||
[118, 676]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 712) > Vector(x: 792, y: 712) > Vector(x: 791, y: 713) > Vector(x: 9, y: 713))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 712) > Vector(x: 792, y: 755) > Vector(x: 791, y: 754) > Vector(x: 791, y: 713))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 755) > Vector(x: 8, y: 755) > Vector(x: 9, y: 754) > Vector(x: 791, y: 754))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 755) > Vector(x: 8, y: 712) > Vector(x: 9, y: 713) > Vector(x: 9, y: 754))
|
||||
Text: rgb(0,0,0) normal normal 400 34 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 713]: Testing
|
||||
[130, 713]:
|
||||
[142, 713]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 756) > Vector(x: 792, y: 756) > Vector(x: 791, y: 757) > Vector(x: 9, y: 757))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 756) > Vector(x: 792, y: 807) > Vector(x: 791, y: 806) > Vector(x: 791, y: 757))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 807) > Vector(x: 8, y: 807) > Vector(x: 9, y: 806) > Vector(x: 791, y: 806))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 807) > Vector(x: 8, y: 756) > Vector(x: 9, y: 757) > Vector(x: 9, y: 806))
|
||||
Text: rgb(0,0,0) normal normal 400 40 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 757]: Testing
|
||||
[151, 757]:
|
||||
[165, 757]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 808) > Vector(x: 792, y: 808) > Vector(x: 791, y: 809) > Vector(x: 9, y: 809))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 808) > Vector(x: 792, y: 866) > Vector(x: 791, y: 865) > Vector(x: 791, y: 809))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 866) > Vector(x: 8, y: 866) > Vector(x: 9, y: 865) > Vector(x: 791, y: 865))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 866) > Vector(x: 8, y: 808) > Vector(x: 9, y: 809) > Vector(x: 9, y: 865))
|
||||
Text: rgb(0,0,0) normal normal 400 46 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 809]: Testing
|
||||
[172, 809]:
|
||||
[188, 809]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 867) > Vector(x: 792, y: 867) > Vector(x: 791, y: 868) > Vector(x: 9, y: 868))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 867) > Vector(x: 792, y: 932) > Vector(x: 791, y: 931) > Vector(x: 791, y: 868))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 932) > Vector(x: 8, y: 932) > Vector(x: 9, y: 931) > Vector(x: 791, y: 931))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 932) > Vector(x: 8, y: 867) > Vector(x: 9, y: 868) > Vector(x: 9, y: 931))
|
||||
Text: rgb(0,0,0) normal normal 400 52 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 868]: Testing
|
||||
[194, 868]:
|
||||
[212, 868]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 933) > Vector(x: 792, y: 933) > Vector(x: 791, y: 934) > Vector(x: 9, y: 934))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 933) > Vector(x: 792, y: 1005) > Vector(x: 791, y: 1004) > Vector(x: 791, y: 934))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1005) > Vector(x: 8, y: 1005) > Vector(x: 9, y: 1004) > Vector(x: 791, y: 1004))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1005) > Vector(x: 8, y: 933) > Vector(x: 9, y: 934) > Vector(x: 9, y: 1004))
|
||||
Text: rgb(0,0,0) normal normal 400 58 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 934]: Testing
|
||||
[215, 934]:
|
||||
[235, 934]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1006) > Vector(x: 792, y: 1006) > Vector(x: 791, y: 1007) > Vector(x: 9, y: 1007))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1006) > Vector(x: 792, y: 1086) > Vector(x: 791, y: 1085) > Vector(x: 791, y: 1007))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1086) > Vector(x: 8, y: 1086) > Vector(x: 9, y: 1085) > Vector(x: 791, y: 1085))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1086) > Vector(x: 8, y: 1006) > Vector(x: 9, y: 1007) > Vector(x: 9, y: 1085))
|
||||
Text: rgb(0,0,0) normal normal 400 64 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1007]: Testing
|
||||
[236, 1007]:
|
||||
[259, 1007]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1087) > Vector(x: 792, y: 1087) > Vector(x: 791, y: 1088) > Vector(x: 9, y: 1088))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1087) > Vector(x: 792, y: 1174) > Vector(x: 791, y: 1173) > Vector(x: 791, y: 1088))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1174) > Vector(x: 8, y: 1174) > Vector(x: 9, y: 1173) > Vector(x: 791, y: 1173))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1174) > Vector(x: 8, y: 1087) > Vector(x: 9, y: 1088) > Vector(x: 9, y: 1173))
|
||||
Text: rgb(0,0,0) normal normal 400 70 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1088]: Testing
|
||||
[258, 1088]:
|
||||
[282, 1088]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1175) > Vector(x: 792, y: 1175) > Vector(x: 791, y: 1176) > Vector(x: 9, y: 1176))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1175) > Vector(x: 792, y: 1270) > Vector(x: 791, y: 1269) > Vector(x: 791, y: 1176))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1270) > Vector(x: 8, y: 1270) > Vector(x: 9, y: 1269) > Vector(x: 791, y: 1269))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1270) > Vector(x: 8, y: 1175) > Vector(x: 9, y: 1176) > Vector(x: 9, y: 1269))
|
||||
Text: rgb(0,0,0) normal normal 400 76 verdana solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1177]: Testing
|
||||
[279, 1177]:
|
||||
[306, 1177]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1271) > Vector(x: 792, y: 1271) > Vector(x: 791, y: 1272) > Vector(x: 9, y: 1272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1271) > Vector(x: 792, y: 1292) > Vector(x: 791, y: 1291) > Vector(x: 791, y: 1272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1292) > Vector(x: 8, y: 1292) > Vector(x: 9, y: 1291) > Vector(x: 791, y: 1291))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1292) > Vector(x: 8, y: 1271) > Vector(x: 9, y: 1272) > Vector(x: 9, y: 1291))
|
||||
Text: rgb(0,0,0) normal normal 400 16 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1272]: Testing
|
||||
[61, 1272]:
|
||||
[66, 1272]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1293) > Vector(x: 792, y: 1293) > Vector(x: 791, y: 1294) > Vector(x: 9, y: 1294))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1293) > Vector(x: 792, y: 1321) > Vector(x: 791, y: 1320) > Vector(x: 791, y: 1294))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1321) > Vector(x: 8, y: 1321) > Vector(x: 9, y: 1320) > Vector(x: 791, y: 1320))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1321) > Vector(x: 8, y: 1293) > Vector(x: 9, y: 1294) > Vector(x: 9, y: 1320))
|
||||
Text: rgb(0,0,0) normal normal 400 22 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1294]: Testing
|
||||
[80, 1294]:
|
||||
[87, 1294]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1322) > Vector(x: 792, y: 1322) > Vector(x: 791, y: 1323) > Vector(x: 9, y: 1323))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1322) > Vector(x: 792, y: 1358) > Vector(x: 791, y: 1357) > Vector(x: 791, y: 1323))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1358) > Vector(x: 8, y: 1358) > Vector(x: 9, y: 1357) > Vector(x: 791, y: 1357))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1358) > Vector(x: 8, y: 1322) > Vector(x: 9, y: 1323) > Vector(x: 9, y: 1357))
|
||||
Text: rgb(0,0,0) normal normal 400 28 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1324]: Testing
|
||||
[100, 1324]:
|
||||
[108, 1324]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1359) > Vector(x: 792, y: 1359) > Vector(x: 791, y: 1360) > Vector(x: 9, y: 1360))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1359) > Vector(x: 792, y: 1402) > Vector(x: 791, y: 1401) > Vector(x: 791, y: 1360))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1402) > Vector(x: 8, y: 1402) > Vector(x: 9, y: 1401) > Vector(x: 791, y: 1401))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1402) > Vector(x: 8, y: 1359) > Vector(x: 9, y: 1360) > Vector(x: 9, y: 1401))
|
||||
Text: rgb(0,0,0) normal normal 400 34 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1360]: Testing
|
||||
[119, 1360]:
|
||||
[130, 1360]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1403) > Vector(x: 792, y: 1403) > Vector(x: 791, y: 1404) > Vector(x: 9, y: 1404))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1403) > Vector(x: 792, y: 1454) > Vector(x: 791, y: 1453) > Vector(x: 791, y: 1404))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1454) > Vector(x: 8, y: 1454) > Vector(x: 9, y: 1453) > Vector(x: 791, y: 1453))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1454) > Vector(x: 8, y: 1403) > Vector(x: 9, y: 1404) > Vector(x: 9, y: 1453))
|
||||
Text: rgb(0,0,0) normal normal 400 40 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1404]: Testing
|
||||
[138, 1404]:
|
||||
[151, 1404]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1455) > Vector(x: 792, y: 1455) > Vector(x: 791, y: 1456) > Vector(x: 9, y: 1456))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1455) > Vector(x: 792, y: 1512) > Vector(x: 791, y: 1511) > Vector(x: 791, y: 1456))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1512) > Vector(x: 8, y: 1512) > Vector(x: 9, y: 1511) > Vector(x: 791, y: 1511))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1512) > Vector(x: 8, y: 1455) > Vector(x: 9, y: 1456) > Vector(x: 9, y: 1511))
|
||||
Text: rgb(0,0,0) normal normal 400 46 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1456]: Testing
|
||||
[158, 1456]:
|
||||
[172, 1456]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1513) > Vector(x: 792, y: 1513) > Vector(x: 791, y: 1514) > Vector(x: 9, y: 1514))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1513) > Vector(x: 792, y: 1578) > Vector(x: 791, y: 1577) > Vector(x: 791, y: 1514))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1578) > Vector(x: 8, y: 1578) > Vector(x: 9, y: 1577) > Vector(x: 791, y: 1577))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1578) > Vector(x: 8, y: 1513) > Vector(x: 9, y: 1514) > Vector(x: 9, y: 1577))
|
||||
Text: rgb(0,0,0) normal normal 400 52 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1514]: Testing
|
||||
[177, 1514]:
|
||||
[193, 1514]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1579) > Vector(x: 792, y: 1579) > Vector(x: 791, y: 1580) > Vector(x: 9, y: 1580))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1579) > Vector(x: 792, y: 1651) > Vector(x: 791, y: 1650) > Vector(x: 791, y: 1580))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1651) > Vector(x: 8, y: 1651) > Vector(x: 9, y: 1650) > Vector(x: 791, y: 1650))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1651) > Vector(x: 8, y: 1579) > Vector(x: 9, y: 1580) > Vector(x: 9, y: 1650))
|
||||
Text: rgb(0,0,0) normal normal 400 58 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1580]: Testing
|
||||
[196, 1580]:
|
||||
[214, 1580]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1652) > Vector(x: 792, y: 1652) > Vector(x: 791, y: 1653) > Vector(x: 9, y: 1653))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1652) > Vector(x: 792, y: 1731) > Vector(x: 791, y: 1730) > Vector(x: 791, y: 1653))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1731) > Vector(x: 8, y: 1731) > Vector(x: 9, y: 1730) > Vector(x: 791, y: 1730))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1731) > Vector(x: 8, y: 1652) > Vector(x: 9, y: 1653) > Vector(x: 9, y: 1730))
|
||||
Text: rgb(0,0,0) normal normal 400 64 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1653]: Testing
|
||||
[216, 1653]:
|
||||
[236, 1653]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1732) > Vector(x: 792, y: 1732) > Vector(x: 791, y: 1733) > Vector(x: 9, y: 1733))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1732) > Vector(x: 792, y: 1819) > Vector(x: 791, y: 1818) > Vector(x: 791, y: 1733))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1819) > Vector(x: 8, y: 1819) > Vector(x: 9, y: 1818) > Vector(x: 791, y: 1818))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1819) > Vector(x: 8, y: 1732) > Vector(x: 9, y: 1733) > Vector(x: 9, y: 1818))
|
||||
Text: rgb(0,0,0) normal normal 400 70 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1733]: Testing
|
||||
[235, 1733]:
|
||||
[257, 1733]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1820) > Vector(x: 792, y: 1820) > Vector(x: 791, y: 1821) > Vector(x: 9, y: 1821))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1820) > Vector(x: 792, y: 1913) > Vector(x: 791, y: 1912) > Vector(x: 791, y: 1821))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1913) > Vector(x: 8, y: 1913) > Vector(x: 9, y: 1912) > Vector(x: 791, y: 1912))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1913) > Vector(x: 8, y: 1820) > Vector(x: 9, y: 1821) > Vector(x: 9, y: 1912))
|
||||
Text: rgb(0,0,0) normal normal 400 76 tahoma solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1821]: Testing
|
||||
[254, 1821]:
|
||||
[278, 1821]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1914) > Vector(x: 792, y: 1914) > Vector(x: 791, y: 1915) > Vector(x: 9, y: 1915))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1914) > Vector(x: 792, y: 1934) > Vector(x: 791, y: 1933) > Vector(x: 791, y: 1915))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1934) > Vector(x: 8, y: 1934) > Vector(x: 9, y: 1933) > Vector(x: 791, y: 1933))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1934) > Vector(x: 8, y: 1914) > Vector(x: 9, y: 1915) > Vector(x: 9, y: 1933))
|
||||
Text: rgb(0,0,0) normal normal 400 16 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1915]: Testing
|
||||
[76, 1915]:
|
||||
[86, 1915]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1935) > Vector(x: 792, y: 1935) > Vector(x: 791, y: 1936) > Vector(x: 9, y: 1936))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1935) > Vector(x: 792, y: 1962) > Vector(x: 791, y: 1961) > Vector(x: 791, y: 1936))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1962) > Vector(x: 8, y: 1962) > Vector(x: 9, y: 1961) > Vector(x: 791, y: 1961))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1962) > Vector(x: 8, y: 1935) > Vector(x: 9, y: 1936) > Vector(x: 9, y: 1961))
|
||||
Text: rgb(0,0,0) normal normal 400 22 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1936]: Testing
|
||||
[102, 1936]:
|
||||
[115, 1936]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1963) > Vector(x: 792, y: 1963) > Vector(x: 791, y: 1964) > Vector(x: 9, y: 1964))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1963) > Vector(x: 792, y: 1997) > Vector(x: 791, y: 1996) > Vector(x: 791, y: 1964))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1997) > Vector(x: 8, y: 1997) > Vector(x: 9, y: 1996) > Vector(x: 791, y: 1996))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1997) > Vector(x: 8, y: 1963) > Vector(x: 9, y: 1964) > Vector(x: 9, y: 1996))
|
||||
Text: rgb(0,0,0) normal normal 400 28 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1965]: Testing
|
||||
[127, 1965]:
|
||||
[144, 1965]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 1998) > Vector(x: 792, y: 1998) > Vector(x: 791, y: 1999) > Vector(x: 9, y: 1999))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 1998) > Vector(x: 792, y: 2039) > Vector(x: 791, y: 2038) > Vector(x: 791, y: 1999))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2039) > Vector(x: 8, y: 2039) > Vector(x: 9, y: 2038) > Vector(x: 791, y: 2038))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2039) > Vector(x: 8, y: 1998) > Vector(x: 9, y: 1999) > Vector(x: 9, y: 2038))
|
||||
Text: rgb(0,0,0) normal normal 400 34 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 1999]: Testing
|
||||
[152, 1999]:
|
||||
[172, 1999]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2040) > Vector(x: 792, y: 2040) > Vector(x: 791, y: 2041) > Vector(x: 9, y: 2041))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2040) > Vector(x: 792, y: 2087) > Vector(x: 791, y: 2086) > Vector(x: 791, y: 2041))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2087) > Vector(x: 8, y: 2087) > Vector(x: 9, y: 2086) > Vector(x: 791, y: 2086))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2087) > Vector(x: 8, y: 2040) > Vector(x: 9, y: 2041) > Vector(x: 9, y: 2086))
|
||||
Text: rgb(0,0,0) normal normal 400 40 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2041]: Testing
|
||||
[177, 2041]:
|
||||
[201, 2041]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2088) > Vector(x: 792, y: 2088) > Vector(x: 791, y: 2089) > Vector(x: 9, y: 2089))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2088) > Vector(x: 792, y: 2142) > Vector(x: 791, y: 2141) > Vector(x: 791, y: 2089))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2142) > Vector(x: 8, y: 2142) > Vector(x: 9, y: 2141) > Vector(x: 791, y: 2141))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2142) > Vector(x: 8, y: 2088) > Vector(x: 9, y: 2089) > Vector(x: 9, y: 2141))
|
||||
Text: rgb(0,0,0) normal normal 400 46 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2089]: Testing
|
||||
[202, 2089]:
|
||||
[230, 2089]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2143) > Vector(x: 792, y: 2143) > Vector(x: 791, y: 2144) > Vector(x: 9, y: 2144))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2143) > Vector(x: 792, y: 2204) > Vector(x: 791, y: 2203) > Vector(x: 791, y: 2144))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2204) > Vector(x: 8, y: 2204) > Vector(x: 9, y: 2203) > Vector(x: 791, y: 2203))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2204) > Vector(x: 8, y: 2143) > Vector(x: 9, y: 2144) > Vector(x: 9, y: 2203))
|
||||
Text: rgb(0,0,0) normal normal 400 52 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2145]: Testing
|
||||
[228, 2145]:
|
||||
[259, 2145]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2205) > Vector(x: 792, y: 2205) > Vector(x: 791, y: 2206) > Vector(x: 9, y: 2206))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2205) > Vector(x: 792, y: 2273) > Vector(x: 791, y: 2272) > Vector(x: 791, y: 2206))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2273) > Vector(x: 8, y: 2273) > Vector(x: 9, y: 2272) > Vector(x: 791, y: 2272))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2273) > Vector(x: 8, y: 2205) > Vector(x: 9, y: 2206) > Vector(x: 9, y: 2272))
|
||||
Text: rgb(0,0,0) normal normal 400 58 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2206]: Testing
|
||||
[253, 2206]:
|
||||
[288, 2206]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2274) > Vector(x: 792, y: 2274) > Vector(x: 791, y: 2275) > Vector(x: 9, y: 2275))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2274) > Vector(x: 792, y: 2349) > Vector(x: 791, y: 2348) > Vector(x: 791, y: 2275))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2349) > Vector(x: 8, y: 2349) > Vector(x: 9, y: 2348) > Vector(x: 791, y: 2348))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2349) > Vector(x: 8, y: 2274) > Vector(x: 9, y: 2275) > Vector(x: 9, y: 2348))
|
||||
Text: rgb(0,0,0) normal normal 400 64 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2275]: Testing
|
||||
[278, 2275]:
|
||||
[316, 2275]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2350) > Vector(x: 792, y: 2350) > Vector(x: 791, y: 2351) > Vector(x: 9, y: 2351))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2350) > Vector(x: 792, y: 2431) > Vector(x: 791, y: 2430) > Vector(x: 791, y: 2351))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2431) > Vector(x: 8, y: 2431) > Vector(x: 9, y: 2430) > Vector(x: 791, y: 2430))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2431) > Vector(x: 8, y: 2350) > Vector(x: 9, y: 2351) > Vector(x: 9, y: 2430))
|
||||
Text: rgb(0,0,0) normal normal 400 70 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2351]: Testing
|
||||
[303, 2351]:
|
||||
[345, 2351]: texts
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2432) > Vector(x: 792, y: 2432) > Vector(x: 791, y: 2433) > Vector(x: 9, y: 2433))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2432) > Vector(x: 792, y: 2520) > Vector(x: 791, y: 2519) > Vector(x: 791, y: 2433))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 792, y: 2520) > Vector(x: 8, y: 2520) > Vector(x: 9, y: 2519) > Vector(x: 791, y: 2519))
|
||||
Shape: rgb(0,0,0) Path (Vector(x: 8, y: 2520) > Vector(x: 8, y: 2432) > Vector(x: 9, y: 2433) > Vector(x: 9, y: 2519))
|
||||
Text: rgb(0,0,0) normal normal 400 76 courier new solid rgb(255,0,0) underline, overline, line-through
|
||||
[9, 2433]: Testing
|
||||
[328, 2433]:
|
||||
[374, 2433]: texts
|
@ -1,88 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 8]: Some
|
||||
[54, 8]: text
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[292, 8]: followed
|
||||
[355, 8]: by
|
||||
[376, 8]: more
|
||||
[417, 8]: text
|
||||
[447, 8]: without
|
||||
[502, 8]: shadow.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[704, 8]: and
|
||||
[736, 8]: some
|
||||
[8, 26]: more
|
||||
[49, 26]: text
|
||||
[79, 26]: without
|
||||
[134, 26]: shadow
|
||||
Text: rgb(255,255,255) normal normal 400 24 Georgia Shadows: (rgb(0,0,0) 1px 1px 2px, rgb(0,0,255) 0px 0px 24px, rgb(0,0,255) 0px 0px 4.8px)
|
||||
[8, 178]: Sed
|
||||
[53, 178]: ut
|
||||
[80, 178]: perspiciatis
|
||||
[208, 178]: unde
|
||||
[268, 178]: omnis
|
||||
[339, 178]: iste
|
||||
[382, 178]: natus
|
||||
[446, 178]: error
|
||||
[506, 178]: sit
|
||||
[538, 178]: voluptatem
|
||||
[8, 206]: accusantium
|
||||
[148, 206]: doloremque
|
||||
[282, 206]: laudantium,
|
||||
[418, 206]: totam
|
||||
[486, 206]: rem
|
||||
[534, 206]: aperiam,
|
||||
[634, 206]: eaque
|
||||
[702, 206]: ipsa
|
||||
[8, 233]: quae
|
||||
[65, 233]: ab
|
||||
[96, 233]: illo
|
||||
[136, 233]: inventore.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial Shadows: (rgb(0,0,0) 0px -2px 0px)
|
||||
[8, 284]: Sed
|
||||
[41, 284]: ut
|
||||
[59, 284]: perspiciatis
|
||||
[143, 284]: unde
|
||||
[183, 284]: omnis
|
||||
[230, 284]: iste
|
||||
[260, 284]: natus
|
||||
[303, 284]: error
|
||||
[342, 284]: sit
|
||||
[362, 284]: voluptatem
|
||||
[445, 284]: accusantium
|
||||
[539, 284]: doloremque
|
||||
[628, 284]: laudantium,
|
||||
[715, 284]: totam
|
||||
[760, 284]: rem
|
||||
[8, 302]: aperiam,
|
||||
[75, 302]: eaque
|
||||
[124, 302]: ipsa
|
||||
[158, 302]: quae
|
||||
[198, 302]: ab
|
||||
[220, 302]: illo
|
||||
[244, 302]: inventore.
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial Shadows: (rgb(136,136,136) 1px 1px 3px)
|
||||
[84, 8]: followed
|
||||
[148, 8]: by
|
||||
[169, 8]: text
|
||||
[199, 8]: with
|
||||
[232, 8]: shadow
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial Shadows: (rgb(0,0,0) 1px 1px 2px, rgb(0,0,255) 0px 0px 16px, rgb(0,0,255) 0px 0px 3.2px)
|
||||
[566, 8]: Multi
|
||||
[607, 8]: text
|
||||
[640, 8]: shadow
|
||||
Text: rgba(0,0,0,0) normal normal 400 48 Arial Shadows: (rgb(0,0,255) 0px 0px 5px, rgb(255,0,0) 2px 2px 0px)
|
||||
[8, 45]: testing
|
||||
[163, 45]: with
|
||||
[262, 45]: transparent
|
||||
Text: rgba(0,255,0,0.5) normal normal 700 48 Arial Shadows: (rgb(0,0,255) 0px 0px 5px, rgb(255,0,0) 2px 2px 0px) solid rgba(0,255,0,0.5) underline
|
||||
[518, 45]: testing
|
||||
[675, 45]:
|
||||
[688, 45]: with
|
||||
[784, 45]:
|
||||
[8, 100]: low
|
||||
[88, 100]:
|
||||
[101, 100]: opacity
|
@ -126,9 +126,12 @@
|
||||
<li style="word-spacing:5px;">word-spacing:5px; (as each letter is rendered individually, the bounds will always be correct)</li>
|
||||
<li style="line-height:35px;">line-height:35px; <br />(same goes for line-height)</li>
|
||||
<li style="letter-spacing:5px;">letter-spacing:5px;</li>
|
||||
<li style="letter-spacing:0.9px;">letter-spacing:0.9px;</li>
|
||||
<li style="text-align:right;width:300px;">text-align:right;width:300px;</li>
|
||||
<li style="font-variant:small-caps;">font-variant:small-caps; </li>
|
||||
</ul>
|
||||
|
||||
<div style="font-family: 'Inconsolata', Monaco, Consolas, 'Andale Mono', monospace">npm install --save html2canvas</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,266 +0,0 @@
|
||||
Window: [800, 1046]
|
||||
Rectangle: [0, 0, 800, 1046] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 700 36 Arial
|
||||
[8, 20]: <h1>
|
||||
[102, 20]: text
|
||||
[166, 20]: -
|
||||
[178, 20]: decoration
|
||||
Text: rgb(0,0,0) normal normal 700 24 Arial
|
||||
[8, 722]: <h2>
|
||||
[71, 722]: text
|
||||
[113, 722]: -
|
||||
[121, 722]: transform
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 768]: text
|
||||
[74, 768]: -
|
||||
[79, 768]: transform:none;
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 786]: Text
|
||||
[77, 786]: -
|
||||
[83, 786]: Transform:
|
||||
[164, 786]: Capitalize;
|
||||
[243, 786]: (Including
|
||||
[317, 786]: Foreign
|
||||
[376, 786]: Characters
|
||||
[458, 786]: Such
|
||||
[499, 786]: As
|
||||
[522, 786]: Öaäå)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 804]: TEXT
|
||||
[88, 804]: -
|
||||
[93, 804]: TRANSFORM:UPPERCASE;
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 822]: text
|
||||
[74, 822]: -
|
||||
[79, 822]: transform:lowercase;
|
||||
Text: rgb(0,0,0) normal normal 700 16 Arial
|
||||
[8, 855]: <h3>
|
||||
[50, 855]: misc
|
||||
[91, 855]: text
|
||||
[124, 855]: alignments
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 888]: word
|
||||
[83, 888]: -
|
||||
[88, 888]: spacing:5px;
|
||||
[187, 888]: (as
|
||||
[219, 888]: each
|
||||
[263, 888]: letter
|
||||
[308, 888]: is
|
||||
[329, 888]: rendered
|
||||
[403, 888]: individually,
|
||||
[494, 888]: the
|
||||
[525, 888]: bounds
|
||||
[587, 888]: will
|
||||
[619, 888]: always
|
||||
[677, 888]: be
|
||||
[704, 888]: correct)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 914]: line
|
||||
[73, 914]: -
|
||||
[78, 914]: height:35px;
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 949]: (same
|
||||
[97, 949]: goes
|
||||
[136, 949]: for
|
||||
[159, 949]: line
|
||||
[184, 949]: -
|
||||
[189, 949]: height)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[48, 975]: l
|
||||
[56, 975]: e
|
||||
[70, 975]: t
|
||||
[80, 975]: t
|
||||
[89, 975]: e
|
||||
[103, 975]: r
|
||||
[114, 975]: -
|
||||
[124, 975]: s
|
||||
[137, 975]: p
|
||||
[151, 975]: a
|
||||
[165, 975]: c
|
||||
[178, 975]: i
|
||||
[186, 975]: n
|
||||
[200, 975]: g
|
||||
[214, 975]: :
|
||||
[224, 975]: 5
|
||||
[237, 975]: p
|
||||
[251, 975]: x
|
||||
[264, 975]: ;
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[153, 993]: text
|
||||
[179, 993]: -
|
||||
[184, 993]: align:right;width:300px;
|
||||
Text: rgb(0,0,0) normal small-caps 400 16 Arial
|
||||
[48, 1011]: font
|
||||
[84, 1011]: -
|
||||
[89, 1011]: variant:small
|
||||
[194, 1011]: -
|
||||
[200, 1011]: caps;
|
||||
Text: rgb(0,0,0) normal normal 700 24 Arial
|
||||
[8, 99]: Arial
|
||||
Text: rgb(0,0,0) normal normal 400 14 Arial
|
||||
[48, 140]: text
|
||||
[70, 140]: -
|
||||
[75, 140]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Arial solid rgb(0,0,0) underline
|
||||
[48, 148]: text
|
||||
[70, 148]: -
|
||||
[75, 148]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Arial solid rgb(0,0,0) overline
|
||||
[48, 156]: text
|
||||
[70, 156]: -
|
||||
[75, 156]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Arial solid rgb(0,0,0) line-through
|
||||
[48, 164]: text
|
||||
[70, 164]: -
|
||||
[75, 164]: decoration:line
|
||||
[166, 164]: -
|
||||
[171, 164]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Arial
|
||||
[48, 192]: text
|
||||
[77, 192]: -
|
||||
[83, 192]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Arial solid rgb(0,0,0) underline
|
||||
[48, 208]: text
|
||||
[77, 208]: -
|
||||
[83, 208]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Arial solid rgb(0,0,0) overline
|
||||
[48, 224]: text
|
||||
[77, 224]: -
|
||||
[83, 224]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Arial solid rgb(0,0,0) line-through
|
||||
[48, 240]: text
|
||||
[77, 240]: -
|
||||
[83, 240]: decoration:line
|
||||
[200, 240]: -
|
||||
[206, 240]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Arial
|
||||
[48, 280]: text
|
||||
[87, 280]: -
|
||||
[95, 280]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Arial solid rgb(0,0,0) underline
|
||||
[48, 304]: text
|
||||
[87, 304]: -
|
||||
[95, 304]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Arial solid rgb(0,0,0) overline
|
||||
[48, 328]: text
|
||||
[87, 328]: -
|
||||
[95, 328]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Arial solid rgb(0,0,0) line-through
|
||||
[48, 352]: text
|
||||
[87, 352]: -
|
||||
[95, 352]: decoration:line
|
||||
[251, 352]: -
|
||||
[259, 352]: through;
|
||||
Text: rgb(0,0,0) normal normal 700 24 Verdana
|
||||
[347, 97]: Verdana
|
||||
Text: rgb(0,0,0) normal normal 400 14 Verdana
|
||||
[387, 140]: text
|
||||
[414, 140]: -
|
||||
[420, 140]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Verdana solid rgb(0,0,0) underline
|
||||
[387, 148]: text
|
||||
[414, 148]: -
|
||||
[420, 148]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Verdana solid rgb(0,0,0) overline
|
||||
[387, 156]: text
|
||||
[414, 156]: -
|
||||
[420, 156]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Verdana solid rgb(0,0,0) line-through
|
||||
[387, 164]: text
|
||||
[414, 164]: -
|
||||
[420, 164]: decoration:line
|
||||
[526, 164]: -
|
||||
[532, 164]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Verdana
|
||||
[387, 191]: text
|
||||
[422, 191]: -
|
||||
[430, 191]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Verdana solid rgb(0,0,0) underline
|
||||
[387, 207]: text
|
||||
[422, 207]: -
|
||||
[430, 207]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Verdana solid rgb(0,0,0) overline
|
||||
[387, 223]: text
|
||||
[422, 223]: -
|
||||
[430, 223]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Verdana solid rgb(0,0,0) line-through
|
||||
[387, 239]: text
|
||||
[422, 239]: -
|
||||
[430, 239]: decoration:line
|
||||
[565, 239]: -
|
||||
[573, 239]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Verdana
|
||||
[387, 279]: text
|
||||
[434, 279]: -
|
||||
[445, 279]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Verdana solid rgb(0,0,0) underline
|
||||
[387, 303]: text
|
||||
[434, 303]: -
|
||||
[445, 303]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Verdana solid rgb(0,0,0) overline
|
||||
[387, 327]: text
|
||||
[434, 327]: -
|
||||
[445, 327]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Verdana solid rgb(0,0,0) line-through
|
||||
[387, 351]: text
|
||||
[434, 351]: -
|
||||
[445, 351]: decoration:line
|
||||
[624, 351]: -
|
||||
[636, 351]: through;
|
||||
Text: rgb(0,0,0) normal normal 700 24 Tahoma
|
||||
[8, 420]: Tahoma
|
||||
Text: rgb(0,0,0) normal normal 400 14 Tahoma
|
||||
[48, 462]: text
|
||||
[72, 462]: -
|
||||
[77, 462]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Tahoma solid rgb(0,0,0) underline
|
||||
[48, 470]: text
|
||||
[72, 470]: -
|
||||
[77, 470]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Tahoma solid rgb(0,0,0) overline
|
||||
[48, 478]: text
|
||||
[72, 478]: -
|
||||
[77, 478]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 14 Tahoma solid rgb(0,0,0) line-through
|
||||
[48, 486]: text
|
||||
[72, 486]: -
|
||||
[77, 486]: decoration:line
|
||||
[168, 486]: -
|
||||
[173, 486]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Tahoma
|
||||
[48, 513]: text
|
||||
[78, 513]: -
|
||||
[85, 513]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Tahoma solid rgb(0,0,0) underline
|
||||
[48, 529]: text
|
||||
[78, 529]: -
|
||||
[85, 529]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Tahoma solid rgb(0,0,0) overline
|
||||
[48, 545]: text
|
||||
[78, 545]: -
|
||||
[85, 545]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 18 Tahoma solid rgb(0,0,0) line-through
|
||||
[48, 561]: text
|
||||
[78, 561]: -
|
||||
[85, 561]: decoration:line
|
||||
[202, 561]: -
|
||||
[209, 561]: through;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Tahoma
|
||||
[48, 602]: text
|
||||
[88, 602]: -
|
||||
[97, 602]: decoration:none;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Tahoma solid rgb(0,0,0) underline
|
||||
[48, 626]: text
|
||||
[88, 626]: -
|
||||
[97, 626]: decoration:underline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Tahoma solid rgb(0,0,0) overline
|
||||
[48, 650]: text
|
||||
[88, 650]: -
|
||||
[97, 650]: decoration:overline;
|
||||
Text: rgb(0,0,0) normal normal 400 24 Tahoma solid rgb(0,0,0) line-through
|
||||
[48, 674]: text
|
||||
[88, 674]: -
|
||||
[97, 674]: decoration:line
|
||||
[254, 674]: -
|
||||
[263, 674]: through;
|
@ -1,179 +0,0 @@
|
||||
Window: [800, 1834]
|
||||
Rectangle: [0, 0, 800, 1834] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 16 arial solid rgb(0,0,0) underline
|
||||
[8, 19]: Testing
|
||||
[59, 19]:
|
||||
[63, 19]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 arial solid rgb(0,0,0) underline
|
||||
[8, 57]: Testing
|
||||
[78, 57]:
|
||||
[84, 57]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 arial solid rgb(0,0,0) underline
|
||||
[8, 94]: Testing
|
||||
[97, 94]:
|
||||
[104, 94]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 34 arial solid rgb(0,0,0) underline
|
||||
[8, 132]: Testing
|
||||
[116, 132]:
|
||||
[125, 132]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 arial solid rgb(0,0,0) underline
|
||||
[8, 170]: Testing
|
||||
[135, 170]:
|
||||
[146, 170]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 46 arial solid rgb(0,0,0) underline
|
||||
[8, 207]: Testing
|
||||
[154, 207]:
|
||||
[166, 207]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 52 arial solid rgb(0,0,0) underline
|
||||
[8, 245]: Testing
|
||||
[173, 245]:
|
||||
[187, 245]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 58 arial solid rgb(0,0,0) underline
|
||||
[8, 283]: Testing
|
||||
[192, 283]:
|
||||
[208, 283]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 arial solid rgb(0,0,0) underline
|
||||
[8, 320]: Testing
|
||||
[211, 320]:
|
||||
[228, 320]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 70 arial solid rgb(0,0,0) underline
|
||||
[8, 358]: Testing
|
||||
[230, 358]:
|
||||
[249, 358]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 76 arial solid rgb(0,0,0) underline
|
||||
[8, 396]: Testing
|
||||
[249, 396]:
|
||||
[270, 396]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 16 verdana solid rgb(0,0,0) underline
|
||||
[8, 469]: Testing
|
||||
[65, 469]:
|
||||
[70, 469]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 verdana solid rgb(0,0,0) underline
|
||||
[8, 506]: Testing
|
||||
[86, 506]:
|
||||
[94, 506]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 verdana solid rgb(0,0,0) underline
|
||||
[8, 544]: Testing
|
||||
[107, 544]:
|
||||
[117, 544]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 34 verdana solid rgb(0,0,0) underline
|
||||
[8, 581]: Testing
|
||||
[129, 581]:
|
||||
[141, 581]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 verdana solid rgb(0,0,0) underline
|
||||
[8, 619]: Testing
|
||||
[150, 619]:
|
||||
[164, 619]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 46 verdana solid rgb(0,0,0) underline
|
||||
[8, 656]: Testing
|
||||
[171, 656]:
|
||||
[188, 656]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 52 verdana solid rgb(0,0,0) underline
|
||||
[8, 693]: Testing
|
||||
[192, 693]:
|
||||
[211, 693]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 58 verdana solid rgb(0,0,0) underline
|
||||
[8, 731]: Testing
|
||||
[214, 731]:
|
||||
[234, 731]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 verdana solid rgb(0,0,0) underline
|
||||
[8, 768]: Testing
|
||||
[235, 768]:
|
||||
[258, 768]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 70 verdana solid rgb(0,0,0) underline
|
||||
[8, 805]: Testing
|
||||
[256, 805]:
|
||||
[281, 805]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 76 verdana solid rgb(0,0,0) underline
|
||||
[8, 843]: Testing
|
||||
[278, 843]:
|
||||
[304, 843]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 16 tahoma solid rgb(0,0,0) underline
|
||||
[8, 920]: Testing
|
||||
[60, 920]:
|
||||
[65, 920]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 tahoma solid rgb(0,0,0) underline
|
||||
[8, 958]: Testing
|
||||
[79, 958]:
|
||||
[86, 958]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 tahoma solid rgb(0,0,0) underline
|
||||
[8, 995]: Testing
|
||||
[98, 995]:
|
||||
[107, 995]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 34 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1032]: Testing
|
||||
[118, 1032]:
|
||||
[128, 1032]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1070]: Testing
|
||||
[137, 1070]:
|
||||
[150, 1070]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 46 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1107]: Testing
|
||||
[156, 1107]:
|
||||
[171, 1107]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 52 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1144]: Testing
|
||||
[176, 1144]:
|
||||
[192, 1144]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 58 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1182]: Testing
|
||||
[195, 1182]:
|
||||
[214, 1182]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1219]: Testing
|
||||
[215, 1219]:
|
||||
[235, 1219]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 70 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1257]: Testing
|
||||
[234, 1257]:
|
||||
[256, 1257]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 76 tahoma solid rgb(0,0,0) underline
|
||||
[8, 1294]: Testing
|
||||
[254, 1294]:
|
||||
[277, 1294]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 16 courier new solid rgb(0,0,0) underline
|
||||
[8, 1372]: Testing
|
||||
[75, 1372]:
|
||||
[85, 1372]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 courier new solid rgb(0,0,0) underline
|
||||
[8, 1409]: Testing
|
||||
[100, 1409]:
|
||||
[114, 1409]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 courier new solid rgb(0,0,0) underline
|
||||
[8, 1447]: Testing
|
||||
[126, 1447]:
|
||||
[142, 1447]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 34 courier new solid rgb(0,0,0) underline
|
||||
[8, 1484]: Testing
|
||||
[151, 1484]:
|
||||
[171, 1484]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 courier new solid rgb(0,0,0) underline
|
||||
[8, 1522]: Testing
|
||||
[176, 1522]:
|
||||
[200, 1522]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 46 courier new solid rgb(0,0,0) underline
|
||||
[8, 1560]: Testing
|
||||
[201, 1560]:
|
||||
[229, 1560]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 52 courier new solid rgb(0,0,0) underline
|
||||
[8, 1597]: Testing
|
||||
[226, 1597]:
|
||||
[258, 1597]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 58 courier new solid rgb(0,0,0) underline
|
||||
[8, 1635]: Testing
|
||||
[252, 1635]:
|
||||
[286, 1635]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 courier new solid rgb(0,0,0) underline
|
||||
[8, 1673]: Testing
|
||||
[277, 1673]:
|
||||
[315, 1673]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 70 courier new solid rgb(0,0,0) underline
|
||||
[8, 1710]: Testing
|
||||
[302, 1710]:
|
||||
[344, 1710]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 76 courier new solid rgb(0,0,0) underline
|
||||
[8, 1748]: Testing
|
||||
[327, 1748]:
|
||||
[373, 1748]: texts
|
@ -1,67 +0,0 @@
|
||||
Window: [800, 647]
|
||||
Rectangle: [0, 0, 800, 647] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Text: rgb(0,0,0) normal normal 400 22 arial solid rgb(0,0,0) underline
|
||||
[8, 6]: Testing
|
||||
[78, 6]:
|
||||
[84, 6]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 arial solid rgb(0,0,0) underline
|
||||
[8, 29]: Testing
|
||||
[97, 29]:
|
||||
[104, 29]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 arial solid rgb(0,0,0) underline
|
||||
[8, 58]: Testing
|
||||
[135, 58]:
|
||||
[146, 58]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 arial solid rgb(0,0,0) underline
|
||||
[8, 97]: Testing
|
||||
[211, 97]:
|
||||
[228, 97]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 verdana solid rgb(0,0,0) underline
|
||||
[8, 164]: Testing
|
||||
[86, 164]:
|
||||
[94, 164]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 verdana solid rgb(0,0,0) underline
|
||||
[8, 186]: Testing
|
||||
[107, 186]:
|
||||
[117, 186]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 verdana solid rgb(0,0,0) underline
|
||||
[8, 214]: Testing
|
||||
[150, 214]:
|
||||
[164, 214]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 verdana solid rgb(0,0,0) underline
|
||||
[8, 252]: Testing
|
||||
[235, 252]:
|
||||
[258, 252]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 tahoma solid rgb(0,0,0) underline
|
||||
[8, 322]: Testing
|
||||
[79, 322]:
|
||||
[86, 322]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 tahoma solid rgb(0,0,0) underline
|
||||
[8, 344]: Testing
|
||||
[98, 344]:
|
||||
[107, 344]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 tahoma solid rgb(0,0,0) underline
|
||||
[8, 372]: Testing
|
||||
[137, 372]:
|
||||
[150, 372]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 tahoma solid rgb(0,0,0) underline
|
||||
[8, 410]: Testing
|
||||
[215, 410]:
|
||||
[235, 410]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 22 courier new solid rgb(0,0,0) underline
|
||||
[8, 480]: Testing
|
||||
[100, 480]:
|
||||
[114, 480]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 28 courier new solid rgb(0,0,0) underline
|
||||
[8, 503]: Testing
|
||||
[126, 503]:
|
||||
[142, 503]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 40 courier new solid rgb(0,0,0) underline
|
||||
[8, 531]: Testing
|
||||
[176, 531]:
|
||||
[200, 531]: texts
|
||||
Text: rgb(0,0,0) normal normal 400 64 courier new solid rgb(0,0,0) underline
|
||||
[8, 571]: Testing
|
||||
[277, 571]:
|
||||
[315, 571]: texts
|
@ -1,42 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 108) > Vector(x: 708, y: 108) > Vector(x: 708, y: 156) > Vector(x: 8, y: 156))
|
||||
Fill: rgb(205,92,92)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 123]: First
|
||||
[44, 123]: level
|
||||
[81, 123]: content
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[620, 123]: ,
|
||||
[630, 123]: ending
|
||||
[682, 123]: first
|
||||
Clip: Path (Vector(x: 8, y: 156) > Vector(x: 116, y: 156) > Vector(x: 116, y: 174) > Vector(x: 8, y: 174))
|
||||
Fill: rgb(188,143,143)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[8, 156]: something
|
||||
[86, 156]: else
|
||||
Transform: (379, 132) [0.99, 0.13, -0.13, 0.99, 0, 0]
|
||||
Clip: Path (Vector(x: 138, y: 108) > Vector(x: 621, y: 108) > Vector(x: 621, y: 156) > Vector(x: 138, y: 156))
|
||||
Fill: rgb(143,188,143)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 138, y: 108) > Vector(x: 621, y: 108) > Vector(x: 606, y: 123) > Vector(x: 153, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 621, y: 108) > Vector(x: 621, y: 156) > Vector(x: 606, y: 141) > Vector(x: 606, y: 123))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 621, y: 156) > Vector(x: 138, y: 156) > Vector(x: 153, y: 141) > Vector(x: 606, y: 141))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 138, y: 156) > Vector(x: 138, y: 108) > Vector(x: 153, y: 123) > Vector(x: 153, y: 141))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[153, 123]: with
|
||||
[186, 123]: second
|
||||
[242, 123]: level
|
||||
[279, 123]: content
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[493, 123]: ,
|
||||
[501, 123]: ending
|
||||
[554, 123]: second
|
||||
Transform: (414, 132) [0.33, -0.94, 0.94, 0.33, 0, 0]
|
||||
Clip: Path (Vector(x: 336, y: 123) > Vector(x: 493, y: 123) > Vector(x: 493, y: 141) > Vector(x: 336, y: 141))
|
||||
Fill: rgb(95,158,160)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[336, 123]: and
|
||||
[367, 123]: third
|
||||
[403, 123]: level
|
||||
[440, 123]: content
|
@ -1,12 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Transform: (208, 110) [0.71, -0.71, 0.71, 0.71, 0, 0]
|
||||
Clip: Path (Vector(x: 108, y: 8) > Vector(x: 308, y: 8) > Vector(x: 308, y: 208) > Vector(x: 108, y: 208))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Transform: (667, 110) [0, 1, -1, 0, 0, 0]
|
||||
Clip: Path (Vector(x: 642, y: 8) > Vector(x: 692, y: 8) > Vector(x: 692, y: 208) > Vector(x: 642, y: 208))
|
||||
Draw image: Image ("/tests/assets/image2.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
||||
Transform: (158, 360) [0.71, 0.71, -0.71, 0.71, 0, 0]
|
||||
Clip: Path (Vector(x: 108, y: 258) > Vector(x: 208, y: 258) > Vector(x: 208, y: 458) > Vector(x: 108, y: 458))
|
||||
Draw image: Image ("/tests/assets/image.jpg") (source: [0, 0, 75, 75]) (destination: [0, 0, 75, 75])
|
@ -1,37 +0,0 @@
|
||||
Window: [800, 600]
|
||||
Rectangle: [0, 0, 800, 600] rgba(0,0,0,0)
|
||||
Opacity: 1
|
||||
Clip: Path (Vector(x: 8, y: 108) > Vector(x: 758, y: 108) > Vector(x: 758, y: 206) > Vector(x: 8, y: 206))
|
||||
Fill: rgb(205,92,92)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[18, 148]: First
|
||||
[54, 148]: level
|
||||
[91, 148]: content
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[660, 148]: ,
|
||||
[670, 148]: ending
|
||||
[722, 148]: first
|
||||
Transform: (404, 157) [1, 0, 0, 1, 125, 0]
|
||||
Clip: Path (Vector(x: 148, y: 118) > Vector(x: 661, y: 118) > Vector(x: 661, y: 196) > Vector(x: 148, y: 196))
|
||||
Fill: rgb(143,188,143)
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 148, y: 118) > Vector(x: 661, y: 118) > Vector(x: 651, y: 128) > Vector(x: 158, y: 128))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 661, y: 118) > Vector(x: 661, y: 196) > Vector(x: 651, y: 186) > Vector(x: 651, y: 128))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 661, y: 196) > Vector(x: 148, y: 196) > Vector(x: 158, y: 186) > Vector(x: 651, y: 186))
|
||||
Shape: rgb(255,0,0) Path (Vector(x: 148, y: 196) > Vector(x: 148, y: 118) > Vector(x: 158, y: 128) > Vector(x: 158, y: 186))
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[168, 148]: with
|
||||
[201, 148]: second
|
||||
[257, 148]: level
|
||||
[294, 148]: content
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[527, 148]: ,
|
||||
[537, 148]: ending
|
||||
[589, 148]: second
|
||||
Transform: (451, 188) [1, 0, 0, 1, 100, -25]
|
||||
Clip: Path (Vector(x: 351, y: 138) > Vector(x: 528, y: 138) > Vector(x: 528, y: 176) > Vector(x: 351, y: 176))
|
||||
Fill: rgb(95,158,160)
|
||||
Text: rgb(0,0,0) normal normal 400 16 Arial
|
||||
[361, 148]: and
|
||||
[392, 148]: third
|
||||
[428, 148]: level
|
||||
[465, 148]: content
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user