2
0

restore backup and add opencode support

This commit is contained in:
2025-09-23 12:02:03 +02:00
parent b99d2ff835
commit c295660631
72 changed files with 7035 additions and 7198 deletions

1
.gitignore vendored
View File

@@ -1,7 +1,6 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc

View File

@@ -1,6 +1,6 @@
# Agent Guidelines for NLS Guilloche Generator
**IMPORTANT**: This is an archived Angular 6 project. We maintain it for running purposes only - no development, upgrades, or new features. Never run npm commands directly; always use the Makefile/nix shell wrapper.
**IMPORTANT**: This is an archived Angular 6 project. We maintain it for running purposes only - no development, upgrades, or new features. Never run npm commands directly; always use the Makefile/nix shell wrapper. We will not change any host machine configurations; all changes are confined to the nix-shell environment.
## Build/Lint/Test Commands

View File

@@ -1,4 +1,4 @@
.PHONY: start build help
.PHONY: start build install help
start:
NIXPKGS_ALLOW_INSECURE=1 nix-shell --run "npm start"
@@ -6,7 +6,11 @@ start:
build:
NIXPKGS_ALLOW_INSECURE=1 nix-shell --run "npm run build"
install:
NIXPKGS_ALLOW_INSECURE=1 nix-shell --run "npm install"
help:
@echo "Available commands:"
@echo " start - Start the development server"
@echo " build - Build the project for production"
@echo " install - Install project dependencies"

View File

@@ -0,0 +1,93 @@
core-js@2.5.6
MIT
Copyright (c) 2014-2018 Denis Pushkarev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
zone.js@0.8.26
MIT
The MIT License
Copyright (c) 2016-2018 Google, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
moment@2.22.2
MIT
Copyright (c) JS Foundation and other contributors
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
webpack@4.6.0
MIT
Copyright JS Foundation and other contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
dist/nls-guilloche-generator/favicon.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

13
dist/nls-guilloche-generator/index.html vendored Normal file
View File

@@ -0,0 +1,13 @@
<!DOCTYPE html><html lang="de-DE"><head>
<meta charset="utf-8">
<title>Random Guilloche Generator</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<link rel="stylesheet" href="styles.b1bd8bfaa236507d7731.css"></head>
<body>
<app-root></app-root>
<script type="text/javascript" src="runtime.6afe30102d8fe7337431.js"></script><script type="text/javascript" src="polyfills.2903ad11212d7d797800.js"></script><script type="text/javascript" src="main.2ecd9b600adf516c904f.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(r){function e(e){for(var t,p,c=e[0],a=e[1],f=e[2],l=0,s=[];l<c.length;l++)o[p=c[l]]&&s.push(o[p][0]),o[p]=0;for(t in a)Object.prototype.hasOwnProperty.call(a,t)&&(r[t]=a[t]);for(i&&i(e);s.length;)s.shift()();return u.push.apply(u,f||[]),n()}function n(){for(var r,e=0;e<u.length;e++){for(var n=u[e],t=!0,c=1;c<n.length;c++)0!==o[n[c]]&&(t=!1);t&&(u.splice(e--,1),r=p(p.s=n[0]))}return r}var t={},o={0:0},u=[];function p(e){if(t[e])return t[e].exports;var n=t[e]={i:e,l:!1,exports:{}};return r[e].call(n.exports,n,n.exports,p),n.l=!0,n.exports}p.m=r,p.c=t,p.d=function(r,e,n){p.o(r,e)||Object.defineProperty(r,e,{configurable:!1,enumerable:!0,get:n})},p.r=function(r){Object.defineProperty(r,"__esModule",{value:!0})},p.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return p.d(e,"a",e),e},p.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},p.p="";var c=window.webpackJsonp=window.webpackJsonp||[],a=c.push.bind(c);c.push=e,c=c.slice();for(var f=0;f<c.length;f++)e(c[f]);var i=a;n()}([]);

View File

@@ -0,0 +1 @@
!function(e){function r(r){for(var n,f,i=r[0],l=r[1],a=r[2],c=0,s=[];c<i.length;c++)o[f=i[c]]&&s.push(o[f][0]),o[f]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},o={0:0},u=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,(function(r){return e[r]}).bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="";var i=window.webpackJsonp=window.webpackJsonp||[],l=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=l;t()}([]);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
body,html{position:fixed;width:100%;height:100%;padding:0;margin:0;background:#fbfcfd;font-family:monospace}app-root{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden}

59
dist/nls-guilloche/README.md vendored Normal file
View File

@@ -0,0 +1,59 @@
<div align="center">
<img src="https://user-images.githubusercontent.com/10194510/44956832-63746780-aeca-11e8-85a4-09fa8138e659.png" alt="Random Guilloche Generator" height="300" />
</div>
---
<h1 align="center"><strong>Random Guilloche Generator</strong></h1>
<div align="center">
<a href="https://npmjs.org/package/nls-guilloche">
<img src="https://badgen.now.sh/npm/v/nls-guilloche" alt="version" />
</a>
</div>
---
## Rquirements
- Node.js
- Angular CLI
## NPM Scripts
| command | description |
|------------------|-----------------------------------------------------------------|
| `npm run start` | start development server on `http://localhost:4200/` |
| `npm run build` | build production application and save to `./dist` |
| `npm run build:library` | build node module and save to `./dist/NlsGuilloche` |
## Development server
Download dependencies with `npm i` or `yarn`.
Run `npm run start` for a dev server. Browser opens and navigates automatically to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
## Build
Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
## Author
The author of this software is Michael Czechowski, web developer based in Stuttgart and Berlin, Germany. Only with the support of two very talented web developers, Erik Kimsey and Martin Maga, this software could be realized. We are proud to mention that we can present this software as free software.
## Contributors
- Michael Czechowski (<mail@dailysh.it>)
- Erik Kimsey
- Martin Maga
## License
Copyright (C) 2018 Michael Czechowski
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { NlsGraphsComponent, NlsGuillocheDirective, NlsAnimationService, NlsCanvasService, NlsGraphService, NlsHistoryService, NlsMathService, NlsGuillocheModule } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmxzLWd1aWxsb2NoZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJubHMtZ3VpbGxvY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx5S0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,51 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Config() { }
function Config_tsickle_Closure_declarations() {
/** @type {?} */
Config.prototype.margin;
/** @type {?} */
Config.prototype.start;
/** @type {?} */
Config.prototype.end;
/** @type {?} */
Config.prototype.vectors;
/** @type {?} */
Config.prototype.colors;
/** @type {?} */
Config.prototype.spread;
/** @type {?} */
Config.prototype.nodes;
/** @type {?} */
Config.prototype.stroke;
/** @type {?} */
Config.prototype.overlap;
/** @type {?} */
Config.prototype.scale;
/** @type {?} */
Config.prototype.interval;
/** @type {?|undefined} */
Config.prototype.date;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9tb2RlbHMvY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgbWFyZ2luOiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgfTtcbiAgc3RhcnQ6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICBlbmQ6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICB2ZWN0b3JzOiB7XG4gICAgc3BhY2luZzogbnVtYmVyO1xuICAgIHN0YXJ0OiBhbnk7XG4gICAgZW5kOiBhbnk7XG4gICAgcmFuZ2U6IGFueTtcbiAgfTtcbiAgY29sb3JzOiB7XG4gICAgcHJpbWFyeTogc3RyaW5nO1xuICAgIHNlY29uZGFyeTogc3RyaW5nO1xuICB9O1xuICBzcHJlYWQ6IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBzcGFjaW5nOiBudW1iZXJcbiAgfTtcbiAgbm9kZXM6IGFueTtcbiAgc3Ryb2tlOiBhbnk7XG4gIG92ZXJsYXA6IGFueTtcbiAgc2NhbGU6IGFueTtcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgZGF0ZT86IERhdGU7XG59XG4iXX0=

View File

@@ -0,0 +1,28 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @record
*/
export function Graph() { }
function Graph_tsickle_Closure_declarations() {
/** @type {?} */
Graph.prototype.id;
/** @type {?} */
Graph.prototype.color;
/** @type {?} */
Graph.prototype.start;
/** @type {?} */
Graph.prototype.end;
/** @type {?} */
Graph.prototype.spread;
/** @type {?} */
Graph.prototype.interval;
/** @type {?} */
Graph.prototype.stroke;
/** @type {?|undefined} */
Graph.prototype.nodes;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9ncmFwaC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE4IE1pY2hhZWwgQ3plY2hvd3NraSA8bWFpbEBkYWlseXNoLml0PlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXRcbiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlXG4gKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3JcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvclxuICogbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGhcbiAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MVxuICogRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuXG4gKi9cblxuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuL3BvaW50Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4vY29uZmlnLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7IC8vIGNhbiBiZSBzZXQgaW4gZW52aXJvbWVudFxuICBzdGFydDoge1xuICAgIHBvaW50OiBQb2ludDtcbiAgICBkaXJlY3Rpb24/OiBQb2ludDtcbiAgICB2ZWN0b3I6IG51bWJlcjsgLy8gZGVncmVlIGJldHdlZW4gMCBhbmQgMzYwXG4gIH07XG4gIGVuZDoge1xuICAgIHBvaW50OiBQb2ludDtcbiAgICBkaXJlY3Rpb24/OiBQb2ludDtcbiAgICB2ZWN0b3I6IG51bWJlcjsgLy8gZGVncmVlIGJldHdlZW4gMCBhbmQgMzYwXG4gIH07XG4gIHNwcmVhZDoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICAgIHNwYWNpbmc6IG51bWJlclxuICB9O1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICBzdHJva2U6IG51bWJlcjsgLy8gc3Ryb2tlIHdpZHRoXG4gIG5vZGVzPzogUG9pbnRbXTsgLy8gb3JpZW50YXRpb24gcG9pbnRzXG59XG4iXX0=

View File

@@ -0,0 +1,39 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Matrix() { }
function Matrix_tsickle_Closure_declarations() {
/** @type {?} */
Matrix.prototype.start;
/** @type {?} */
Matrix.prototype.end;
/** @type {?} */
Matrix.prototype.center;
/** @type {?} */
Matrix.prototype.width;
/** @type {?} */
Matrix.prototype.height;
/** @type {?|undefined} */
Matrix.prototype.unit;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9tb2RlbHMvbWF0cml4Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi9wb2ludC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0cml4IHtcbiAgc3RhcnQ6IFBvaW50O1xuICBlbmQ6IFBvaW50O1xuICBjZW50ZXI6IFBvaW50O1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgdW5pdD86IG51bWJlcjtcbn1cbiJdfQ==

View File

@@ -0,0 +1,41 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Param() { }
function Param_tsickle_Closure_declarations() {
/** @type {?} */
Param.prototype.colors;
/** @type {?} */
Param.prototype.points;
/** @type {?} */
Param.prototype.margin;
/** @type {?} */
Param.prototype.spread;
/** @type {?} */
Param.prototype.space;
/** @type {?|undefined} */
Param.prototype.stroke;
/** @type {?|undefined} */
Param.prototype.showGrid;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0ubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9wYXJhbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWljaGFlbCBDemVjaG93c2tpIDxtYWlsQGRhaWx5c2guaXQ+XG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdFxuICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVRcbiAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yXG4gKiBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aFxuICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxXG4gKiBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtIHtcbiAgY29sb3JzOiB7XG4gICAgc3RhcnQ6IHN0cmluZyxcbiAgICBlbmQ6IHN0cmluZ1xuICB9O1xuICBwb2ludHM6IG51bWJlcjtcbiAgbWFyZ2luOiB7XG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlclxuICB9O1xuICBzcHJlYWQ6IG51bWJlcjtcbiAgc3BhY2U6IG51bWJlcjtcbiAgc3Ryb2tlPzoge1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIHNob3dHcmlkPzogYm9vbGVhbjtcbn1cbiJdfQ==

View File

@@ -0,0 +1,35 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Point() { }
function Point_tsickle_Closure_declarations() {
/** @type {?} */
Point.prototype.x;
/** @type {?} */
Point.prototype.y;
/** @type {?|undefined} */
Point.prototype.color;
/** @type {?|undefined} */
Point.prototype.ascent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9wb2ludC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWljaGFlbCBDemVjaG93c2tpIDxtYWlsQGRhaWx5c2guaXQ+XG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdFxuICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVRcbiAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yXG4gKiBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aFxuICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxXG4gKiBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBhc2NlbnQ/OiBudW1iZXI7XG59XG4iXX0=

View File

@@ -0,0 +1,37 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NlsGraphsComponent } from './components/graphs.component';
import { NlsGuillocheDirective } from './directives/guilloche.directive';
import { NlsHistoryService } from './services/history.service';
import { NlsCanvasService } from './services/canvas.service';
import { NlsMathService } from './services/math.service';
import { NlsGraphService } from './services/graph.service';
export class NlsGuillocheModule {
}
NlsGuillocheModule.decorators = [
{ type: NgModule, args: [{
imports: [
BrowserModule
],
declarations: [
NlsGraphsComponent,
NlsGuillocheDirective
],
providers: [
NlsHistoryService,
NlsCanvasService,
NlsMathService,
NlsGraphService,
],
exports: [
NlsGraphsComponent,
NlsGuillocheDirective
]
},] },
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmxzLWd1aWxsb2NoZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL25scy1ndWlsbG9jaGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBcUIzRCxNQUFNOzs7WUFuQkwsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxhQUFhO2lCQUNkO2dCQUNELFlBQVksRUFBRTtvQkFDWixrQkFBa0I7b0JBQ2xCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixjQUFjO29CQUNkLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5sc0dyYXBoc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmFwaHMuY29tcG9uZW50JztcbmltcG9ydCB7IE5sc0d1aWxsb2NoZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9ndWlsbG9jaGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5sc0hpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTmxzQ2FudmFzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY2FudmFzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmxzTWF0aFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21hdGguc2VydmljZSc7XG5pbXBvcnQgeyBObHNHcmFwaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyYXBoLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBObHNHcmFwaHNDb21wb25lbnQsXG4gICAgTmxzR3VpbGxvY2hlRGlyZWN0aXZlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIE5sc0hpc3RvcnlTZXJ2aWNlLFxuICAgIE5sc0NhbnZhc1NlcnZpY2UsXG4gICAgTmxzTWF0aFNlcnZpY2UsXG4gICAgTmxzR3JhcGhTZXJ2aWNlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmxzR3JhcGhzQ29tcG9uZW50LFxuICAgIE5sc0d1aWxsb2NoZURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5sc0d1aWxsb2NoZU1vZHVsZSB7fVxuIl19

View File

@@ -0,0 +1,72 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable } from '@angular/core';
import { NlsMathService } from './math.service';
import { NlsHistoryService } from './history.service';
export class NlsAnimationService {
/**
* @param {?} math
* @param {?} historyService
*/
constructor(math, historyService) {
this.math = math;
this.historyService = historyService;
}
/**
* @param {?} initialGraph
* @return {?}
*/
animate(initialGraph) {
/** @type {?} */
const newGraph = Object.assign({}, initialGraph);
/** @type {?} */
const indexMiddle = Math.floor(newGraph.nodes.length * 0.5);
/** @type {?} */
const pointMiddle = newGraph.nodes[indexMiddle];
newGraph.nodes.splice(indexMiddle, 1, {
x: pointMiddle.x - 2,
y: pointMiddle.y + 2,
});
return newGraph;
// });
}
}
NlsAnimationService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsAnimationService.ctorParameters = () => [
{ type: NlsMathService },
{ type: NlsHistoryService }
];
function NlsAnimationService_tsickle_Closure_declarations() {
/** @type {?} */
NlsAnimationService.prototype.graphs;
/** @type {?} */
NlsAnimationService.prototype.speed;
/** @type {?} */
NlsAnimationService.prototype.range;
/** @type {?} */
NlsAnimationService.prototype.math;
/** @type {?} */
NlsAnimationService.prototype.historyService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL3NlcnZpY2VzL2FuaW1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsT0FBTyxFQUFVLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFLeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3RELE1BQU07Ozs7O0lBU0osWUFDVSxNQUNBO1FBREEsU0FBSSxHQUFKLElBQUk7UUFDSixtQkFBYyxHQUFkLGNBQWM7S0FFdkI7Ozs7O0lBR00sT0FBTyxDQUFDLFlBQW1COztRQUs5QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQzs7UUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQzs7UUFDNUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVoRCxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ3BDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDcEIsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNyQixDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsUUFBUSxDQUFDOzs7OztZQS9CckIsVUFBVTs7OztZQUhGLGNBQWM7WUFDZCxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIFNlbGVjdGlvbiBmcm9tICdkMy1zZWxlY3Rpb24nO1xuXG5pbXBvcnQgeyBHcmFwaCB9IGZyb20gJy4uL21vZGVscy9ncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBObHNNYXRoU2VydmljZSB9IGZyb20gJy4vbWF0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE5sc0hpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmxzQW5pbWF0aW9uU2VydmljZSB7XG5cbiAgcHVibGljIGdyYXBoczogR3JhcGhbXTtcbiAgcHVibGljIHNwZWVkOiBudW1iZXI7XG4gIHB1YmxpYyByYW5nZTogbnVtYmVyO1xuICAvLyBwdWJsaWMgZ2VuQW5pbWF0aW9uOiBhbnk7XG4gIC8vIHByaXZhdGUgdGltZXI6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgLy8gcHJpdmF0ZSBzdWJzY3JpYnRpb246IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1hdGg6IE5sc01hdGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgaGlzdG9yeVNlcnZpY2U6IE5sc0hpc3RvcnlTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIC8vIHB1YmxpYyBhbmltYXRlKGluaXRpYWxHcmFwaHM6IEdyYXBoW10pIHtcbiAgcHVibGljIGFuaW1hdGUoaW5pdGlhbEdyYXBoOiBHcmFwaCkge1xuICAgIC8vIGNvbnN0IG5ld0dyYXBocyA9IGluaXRpYWxHcmFwaHMuc2xpY2UoKTtcblxuICAgIC8vIHJldHVybiBuZXdHcmFwaHMubWFwKGdyYXBoID0+IHtcblxuICAgICAgY29uc3QgbmV3R3JhcGggPSBPYmplY3QuYXNzaWduKHt9LCBpbml0aWFsR3JhcGgpO1xuICAgICAgY29uc3QgaW5kZXhNaWRkbGUgPSBNYXRoLmZsb29yKG5ld0dyYXBoLm5vZGVzLmxlbmd0aCAqIDAuNSk7XG4gICAgICBjb25zdCBwb2ludE1pZGRsZSA9IG5ld0dyYXBoLm5vZGVzW2luZGV4TWlkZGxlXTtcblxuICAgICAgbmV3R3JhcGgubm9kZXMuc3BsaWNlKGluZGV4TWlkZGxlLCAxLCB7XG4gICAgICAgIHg6IHBvaW50TWlkZGxlLnggLSAyLFxuICAgICAgICB5OiBwb2ludE1pZGRsZS55ICsgMixcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3R3JhcGg7XG4gIC8vICAgfSk7XG4gIH1cbn1cblxuIl19

View File

@@ -0,0 +1,68 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable, RendererFactory2 } from '@angular/core';
export class NlsCanvasService {
/**
* @param {?} rendererFactory
*/
constructor(rendererFactory) {
this.rendererFactory = rendererFactory;
this.renderer = rendererFactory.createRenderer(null, null);
}
/**
* @return {?}
*/
get get() {
return this.canvas;
}
/**
* @param {?} el
* @return {?}
*/
set(el) {
this.canvas = el;
}
/**
* @return {?}
*/
adjustToWindow() {
if (this.canvas) {
this.renderer.setStyle(this.canvas, 'width', this.canvas.innerWidth);
this.renderer.setStyle(this.canvas, 'height', this.canvas.innerHeight);
}
}
}
NlsCanvasService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsCanvasService.ctorParameters = () => [
{ type: RendererFactory2 }
];
function NlsCanvasService_tsickle_Closure_declarations() {
/** @type {?} */
NlsCanvasService.prototype.renderer;
/** @type {?} */
NlsCanvasService.prototype.canvas;
/** @type {?} */
NlsCanvasService.prototype.rendererFactory;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL3NlcnZpY2VzL2NhbnZhcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsT0FBTyxFQUFVLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUloRixNQUFNOzs7O0lBS0osWUFDVTtRQUFBLG9CQUFlLEdBQWYsZUFBZTtRQUV2QixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVEOzs7O1FBRVUsR0FBRztRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7SUFHZCxHQUFHLENBQUMsRUFBRTtRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDOzs7OztJQUdaLGNBQWM7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQ1gsT0FBTyxFQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUN2QixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQ1gsUUFBUSxFQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUN4QixDQUFDO1NBQ0g7Ozs7WUFoQ0osVUFBVTs7OztZQUg2QixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBTZWxlY3Rpb24gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5sc0NhbnZhc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgcHVibGljIGNhbnZhczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXM7XG4gIH1cblxuICBwdWJsaWMgc2V0KGVsKSB7XG4gICAgdGhpcy5jYW52YXMgPSBlbDtcbiAgfVxuXG4gIHB1YmxpYyBhZGp1c3RUb1dpbmRvdygpIHtcbiAgICBpZiAodGhpcy5jYW52YXMpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuY2FudmFzLFxuICAgICAgICAnd2lkdGgnLFxuICAgICAgICB0aGlzLmNhbnZhcy5pbm5lcldpZHRoXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5jYW52YXMsXG4gICAgICAgICdoZWlnaHQnLFxuICAgICAgICB0aGlzLmNhbnZhcy5pbm5lckhlaWdodFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==

View File

@@ -0,0 +1,94 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from '@angular/core';
import { NlsMathService } from './math.service';
export class NlsGraphService {
/**
* @param {?} math
*/
constructor(math) {
this.math = math;
}
/**
* @return {?}
*/
get() {
return this.graphs;
}
/**
* @param {?} newGraphs
* @return {?}
*/
set(newGraphs) {
this.graphs = newGraphs;
}
/**
* @return {?}
*/
get isAnimated() {
return this.animation;
}
/**
* @return {?}
*/
startAnimation() {
this.animation = true;
}
/**
* @return {?}
*/
stopAnimation() {
this.animation = false;
}
/**
* @param {?} start
* @param {?} spacing
* @return {?}
*/
*spreadOrthogonal(start, spacing) {
/** @type {?} */
const sign = this.math.flipSign();
/** @type {?} */
let currentPoint = start;
/** @type {?} */
let i = 0;
while (true) {
/** @type {?} */
const currentSpacing = sign.next().value * spacing * i;
currentPoint = this.shiftPoint(currentPoint, start.ascent, currentSpacing);
yield currentPoint;
i++;
}
}
/**
* @param {?} point
* @param {?} radians
* @param {?} spacing
* @return {?}
*/
shiftPoint(point, radians, spacing) {
return {
x: Math.sin(radians * Math.PI) * spacing + point.x,
y: Math.cos(radians * Math.PI) * spacing + point.y
};
}
}
NlsGraphService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsGraphService.ctorParameters = () => [
{ type: NlsMathService }
];
function NlsGraphService_tsickle_Closure_declarations() {
/** @type {?} */
NlsGraphService.prototype.graphs;
/** @type {?} */
NlsGraphService.prototype.animation;
/** @type {?} */
NlsGraphService.prototype.math;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJubHMvc2VydmljZXMvZ3JhcGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBaUJBLE9BQU8sRUFBVSxVQUFVLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtoRCxNQUFNOzs7O0lBSUosWUFDVTtRQUFBLFNBQUksR0FBSixJQUFJO0tBQ1Y7Ozs7SUFFRyxHQUFHO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7OztJQUdkLEdBQUcsQ0FBQyxTQUFrQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQzs7Ozs7UUFHZixVQUFVO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDOzs7OztJQUdqQixjQUFjO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDOzs7OztJQUdqQixhQUFhO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDOzs7Ozs7O0tBR2pCLGdCQUFnQixDQUFDLEtBQVksRUFBRSxPQUFlOztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztRQUNsQyxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7O1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVWLE9BQU8sSUFBSSxFQUFFLENBQUM7O1lBQ1osTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRTNFLE1BQU0sWUFBWSxDQUFDO1lBRW5CLENBQUMsRUFBRSxDQUFDO1NBQ0w7Ozs7Ozs7O0lBR0ksVUFBVSxDQUFDLEtBQVksRUFBRSxPQUFlLEVBQUUsT0FBZTtRQUM5RCxNQUFNLENBQUM7WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztZQUNsRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztTQUNuRCxDQUFDOzs7O1lBaERMLFVBQVU7Ozs7WUFKRixjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE4IE1pY2hhZWwgQ3plY2hvd3NraSA8bWFpbEBkYWlseXNoLml0PlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXRcbiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlXG4gKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3JcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvclxuICogbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGhcbiAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MVxuICogRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFNlbGVjdGlvbiBmcm9tICdkMy1zZWxlY3Rpb24nO1xuXG5pbXBvcnQgeyBObHNNYXRoU2VydmljZSB9IGZyb20gJy4vbWF0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyYXBoIH0gZnJvbSAnLi8uLi9tb2RlbHMvZ3JhcGgubW9kZWwnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLy4uL21vZGVscy9wb2ludC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBObHNHcmFwaFNlcnZpY2Uge1xuICBwcml2YXRlIGdyYXBoczogR3JhcGhbXTtcbiAgcHJpdmF0ZSBhbmltYXRpb246IGJvb2xlYW4gfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWF0aDogTmxzTWF0aFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhzO1xuICB9XG5cbiAgcHVibGljIHNldChuZXdHcmFwaHM6IEdyYXBoW10pIHtcbiAgICB0aGlzLmdyYXBocyA9IG5ld0dyYXBocztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBbmltYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRpb247XG4gIH1cblxuICBwdWJsaWMgc3RhcnRBbmltYXRpb24oKSB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIHN0b3BBbmltYXRpb24oKSB7XG4gICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyAqc3ByZWFkT3J0aG9nb25hbChzdGFydDogUG9pbnQsIHNwYWNpbmc6IG51bWJlcikge1xuICAgIGNvbnN0IHNpZ24gPSB0aGlzLm1hdGguZmxpcFNpZ24oKTtcbiAgICBsZXQgY3VycmVudFBvaW50ID0gc3RhcnQ7XG4gICAgbGV0IGkgPSAwO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTcGFjaW5nID0gc2lnbi5uZXh0KCkudmFsdWUgKiBzcGFjaW5nICogaTtcbiAgICAgIGN1cnJlbnRQb2ludCA9IHRoaXMuc2hpZnRQb2ludChjdXJyZW50UG9pbnQsIHN0YXJ0LmFzY2VudCwgY3VycmVudFNwYWNpbmcpO1xuXG4gICAgICB5aWVsZCBjdXJyZW50UG9pbnQ7XG5cbiAgICAgIGkrKztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hpZnRQb2ludChwb2ludDogUG9pbnQsIHJhZGlhbnM6IG51bWJlciwgc3BhY2luZzogbnVtYmVyKTogUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLnNpbihyYWRpYW5zICogTWF0aC5QSSkgKiBzcGFjaW5nICsgcG9pbnQueCxcbiAgICAgIHk6IE1hdGguY29zKHJhZGlhbnMgKiBNYXRoLlBJKSAqIHNwYWNpbmcgKyBwb2ludC55XG4gICAgfTtcbiAgfVxufVxuIl19

View File

@@ -0,0 +1,62 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable } from '@angular/core';
export class NlsHistoryService {
constructor() {
this.history = [];
}
/**
* @param {?} graphs
* @param {?} config
* @return {?}
*/
save(graphs, config) {
this.history.push({
date: new Date(),
graphs: graphs,
config: config,
hash: this.hash(graphs)
});
}
/**
* @param {?} graphs
* @return {?}
*/
hash(graphs) {
return btoa(JSON.stringify(graphs));
}
/**
* @return {?}
*/
list() {
return this.history;
}
}
NlsHistoryService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsHistoryService.ctorParameters = () => [];
function NlsHistoryService_tsickle_Closure_declarations() {
/** @type {?} */
NlsHistoryService.prototype.history;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9zZXJ2aWNlcy9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxPQUFPLEVBQVUsVUFBVSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQU14RSxNQUFNO0lBSUo7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztLQUNuQjs7Ozs7O0lBRU0sSUFBSSxDQUFDLE1BQWUsRUFBRSxNQUFNO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3hCLENBQUMsQ0FBQzs7Ozs7O0lBR0UsSUFBSSxDQUFDLE1BQU07UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Ozs7O0lBRy9CLElBQUk7UUFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzs7OztZQXZCdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE4IE1pY2hhZWwgQ3plY2hvd3NraSA8bWFpbEBkYWlseXNoLml0PlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXRcbiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlXG4gKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3JcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvclxuICogbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGhcbiAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MVxuICogRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBTZWxlY3Rpb24gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgR3JhcGggfSBmcm9tICcuLi9tb2RlbHMvZ3JhcGgubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmxzSGlzdG9yeVNlcnZpY2Uge1xuXG4gIHB1YmxpYyBoaXN0b3J5OiBhbnlbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmhpc3RvcnkgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKGdyYXBoczogR3JhcGhbXSwgY29uZmlnKSB7XG4gICAgdGhpcy5oaXN0b3J5LnB1c2goe1xuICAgICAgZGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIGdyYXBoczogZ3JhcGhzLFxuICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICBoYXNoOiB0aGlzLmhhc2goZ3JhcGhzKVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhhc2goZ3JhcGhzKSB7XG4gICAgcmV0dXJuIGJ0b2EoSlNPTi5zdHJpbmdpZnkoZ3JhcGhzKSk7XG4gIH1cblxuICBwdWJsaWMgbGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5oaXN0b3J5O1xuICB9XG59XG5cbiJdfQ==

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,17 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/*
* Public API Surface of nls-guilloche
*/
export { NlsGraphsComponent } from './nls/components/graphs.component';
export { NlsGuillocheDirective } from './nls/directives/guilloche.directive';
export { NlsAnimationService } from './nls/services/animation.service';
export { NlsCanvasService } from './nls/services/canvas.service';
export { NlsGraphService } from './nls/services/graph.service';
export { NlsHistoryService } from './nls/services/history.service';
export { NlsMathService } from './nls/services/math.service';
export { NlsGuillocheModule } from './nls/nls-guilloche.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxzQ0FBYyxzQ0FBc0MsQ0FBQztBQUtyRCxvQ0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxpQ0FBYywrQkFBK0IsQ0FBQztBQUM5QyxnQ0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxrQ0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyw2QkFBNkIsQ0FBQztBQUM1QyxtQ0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmxzLWd1aWxsb2NoZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbmxzL2NvbXBvbmVudHMvZ3JhcGhzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9kaXJlY3RpdmVzL2d1aWxsb2NoZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbW9kZWxzL2NvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9tb2RlbHMvZ3JhcGgubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbW9kZWxzL3BhcmFtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbmxzL21vZGVscy9wb2ludC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9hbmltYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9jYW52YXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9ncmFwaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbmxzL3NlcnZpY2VzL2hpc3Rvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9tYXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbmxzLWd1aWxsb2NoZS5tb2R1bGUnO1xuIl19

View File

@@ -0,0 +1,10 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { NlsGraphsComponent, NlsGuillocheDirective, NlsAnimationService, NlsCanvasService, NlsGraphService, NlsHistoryService, NlsMathService, NlsGuillocheModule } from './public_api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmxzLWd1aWxsb2NoZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJubHMtZ3VpbGxvY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx5S0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,51 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Config() { }
function Config_tsickle_Closure_declarations() {
/** @type {?} */
Config.prototype.margin;
/** @type {?} */
Config.prototype.start;
/** @type {?} */
Config.prototype.end;
/** @type {?} */
Config.prototype.vectors;
/** @type {?} */
Config.prototype.colors;
/** @type {?} */
Config.prototype.spread;
/** @type {?} */
Config.prototype.nodes;
/** @type {?} */
Config.prototype.stroke;
/** @type {?} */
Config.prototype.overlap;
/** @type {?} */
Config.prototype.scale;
/** @type {?} */
Config.prototype.interval;
/** @type {?|undefined} */
Config.prototype.date;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9tb2RlbHMvY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgbWFyZ2luOiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgfTtcbiAgc3RhcnQ6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICBlbmQ6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9O1xuICB2ZWN0b3JzOiB7XG4gICAgc3BhY2luZzogbnVtYmVyO1xuICAgIHN0YXJ0OiBhbnk7XG4gICAgZW5kOiBhbnk7XG4gICAgcmFuZ2U6IGFueTtcbiAgfTtcbiAgY29sb3JzOiB7XG4gICAgcHJpbWFyeTogc3RyaW5nO1xuICAgIHNlY29uZGFyeTogc3RyaW5nO1xuICB9O1xuICBzcHJlYWQ6IHtcbiAgICBhbW91bnQ6IG51bWJlcjtcbiAgICBzcGFjaW5nOiBudW1iZXJcbiAgfTtcbiAgbm9kZXM6IGFueTtcbiAgc3Ryb2tlOiBhbnk7XG4gIG92ZXJsYXA6IGFueTtcbiAgc2NhbGU6IGFueTtcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgZGF0ZT86IERhdGU7XG59XG4iXX0=

View File

@@ -0,0 +1,28 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* @record
*/
export function Graph() { }
function Graph_tsickle_Closure_declarations() {
/** @type {?} */
Graph.prototype.id;
/** @type {?} */
Graph.prototype.color;
/** @type {?} */
Graph.prototype.start;
/** @type {?} */
Graph.prototype.end;
/** @type {?} */
Graph.prototype.spread;
/** @type {?} */
Graph.prototype.interval;
/** @type {?} */
Graph.prototype.stroke;
/** @type {?|undefined} */
Graph.prototype.nodes;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9ncmFwaC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE4IE1pY2hhZWwgQ3plY2hvd3NraSA8bWFpbEBkYWlseXNoLml0PlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXRcbiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlXG4gKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3JcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvclxuICogbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGhcbiAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MVxuICogRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuXG4gKi9cblxuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuL3BvaW50Lm1vZGVsJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4vY29uZmlnLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaCB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7IC8vIGNhbiBiZSBzZXQgaW4gZW52aXJvbWVudFxuICBzdGFydDoge1xuICAgIHBvaW50OiBQb2ludDtcbiAgICBkaXJlY3Rpb24/OiBQb2ludDtcbiAgICB2ZWN0b3I6IG51bWJlcjsgLy8gZGVncmVlIGJldHdlZW4gMCBhbmQgMzYwXG4gIH07XG4gIGVuZDoge1xuICAgIHBvaW50OiBQb2ludDtcbiAgICBkaXJlY3Rpb24/OiBQb2ludDtcbiAgICB2ZWN0b3I6IG51bWJlcjsgLy8gZGVncmVlIGJldHdlZW4gMCBhbmQgMzYwXG4gIH07XG4gIHNwcmVhZDoge1xuICAgIGFtb3VudDogbnVtYmVyO1xuICAgIHNwYWNpbmc6IG51bWJlclxuICB9O1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICBzdHJva2U6IG51bWJlcjsgLy8gc3Ryb2tlIHdpZHRoXG4gIG5vZGVzPzogUG9pbnRbXTsgLy8gb3JpZW50YXRpb24gcG9pbnRzXG59XG4iXX0=

View File

@@ -0,0 +1,39 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Matrix() { }
function Matrix_tsickle_Closure_declarations() {
/** @type {?} */
Matrix.prototype.start;
/** @type {?} */
Matrix.prototype.end;
/** @type {?} */
Matrix.prototype.center;
/** @type {?} */
Matrix.prototype.width;
/** @type {?} */
Matrix.prototype.height;
/** @type {?|undefined} */
Matrix.prototype.unit;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9tb2RlbHMvbWF0cml4Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi9wb2ludC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0cml4IHtcbiAgc3RhcnQ6IFBvaW50O1xuICBlbmQ6IFBvaW50O1xuICBjZW50ZXI6IFBvaW50O1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgdW5pdD86IG51bWJlcjtcbn1cbiJdfQ==

View File

@@ -0,0 +1,41 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Param() { }
function Param_tsickle_Closure_declarations() {
/** @type {?} */
Param.prototype.colors;
/** @type {?} */
Param.prototype.points;
/** @type {?} */
Param.prototype.margin;
/** @type {?} */
Param.prototype.spread;
/** @type {?} */
Param.prototype.space;
/** @type {?|undefined} */
Param.prototype.stroke;
/** @type {?|undefined} */
Param.prototype.showGrid;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0ubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9wYXJhbS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWljaGFlbCBDemVjaG93c2tpIDxtYWlsQGRhaWx5c2guaXQ+XG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdFxuICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVRcbiAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yXG4gKiBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aFxuICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxXG4gKiBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtIHtcbiAgY29sb3JzOiB7XG4gICAgc3RhcnQ6IHN0cmluZyxcbiAgICBlbmQ6IHN0cmluZ1xuICB9O1xuICBwb2ludHM6IG51bWJlcjtcbiAgbWFyZ2luOiB7XG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlclxuICB9O1xuICBzcHJlYWQ6IG51bWJlcjtcbiAgc3BhY2U6IG51bWJlcjtcbiAgc3Ryb2tlPzoge1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIHNob3dHcmlkPzogYm9vbGVhbjtcbn1cbiJdfQ==

View File

@@ -0,0 +1,35 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/**
* @record
*/
export function Point() { }
function Point_tsickle_Closure_declarations() {
/** @type {?} */
Point.prototype.x;
/** @type {?} */
Point.prototype.y;
/** @type {?|undefined} */
Point.prototype.color;
/** @type {?|undefined} */
Point.prototype.ascent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL21vZGVscy9wb2ludC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWljaGFlbCBDemVjaG93c2tpIDxtYWlsQGRhaWx5c2guaXQ+XG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdFxuICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVRcbiAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yXG4gKiBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aFxuICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxXG4gKiBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvaW50IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBhc2NlbnQ/OiBudW1iZXI7XG59XG4iXX0=

View File

@@ -0,0 +1,41 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { NlsGraphsComponent } from './components/graphs.component';
import { NlsGuillocheDirective } from './directives/guilloche.directive';
import { NlsHistoryService } from './services/history.service';
import { NlsCanvasService } from './services/canvas.service';
import { NlsMathService } from './services/math.service';
import { NlsGraphService } from './services/graph.service';
var NlsGuillocheModule = /** @class */ (function () {
function NlsGuillocheModule() {
}
NlsGuillocheModule.decorators = [
{ type: NgModule, args: [{
imports: [
BrowserModule
],
declarations: [
NlsGraphsComponent,
NlsGuillocheDirective
],
providers: [
NlsHistoryService,
NlsCanvasService,
NlsMathService,
NlsGraphService,
],
exports: [
NlsGraphsComponent,
NlsGuillocheDirective
]
},] },
];
return NlsGuillocheModule;
}());
export { NlsGuillocheModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmxzLWd1aWxsb2NoZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL25scy1ndWlsbG9jaGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztnQkFFMUQsUUFBUSxTQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3FCQUNkO29CQUNELFlBQVksRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEI7aUJBQ0Y7OzZCQTVCRDs7U0E2QmEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmxzR3JhcGhzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyYXBocy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmxzR3VpbGxvY2hlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2d1aWxsb2NoZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmxzSGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2hpc3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBObHNDYW52YXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYW52YXMuc2VydmljZSc7XG5pbXBvcnQgeyBObHNNYXRoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWF0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE5sc0dyYXBoU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3JhcGguc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5sc0dyYXBoc0NvbXBvbmVudCxcbiAgICBObHNHdWlsbG9jaGVEaXJlY3RpdmVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTmxzSGlzdG9yeVNlcnZpY2UsXG4gICAgTmxzQ2FudmFzU2VydmljZSxcbiAgICBObHNNYXRoU2VydmljZSxcbiAgICBObHNHcmFwaFNlcnZpY2UsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBObHNHcmFwaHNDb21wb25lbnQsXG4gICAgTmxzR3VpbGxvY2hlRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmxzR3VpbGxvY2hlTW9kdWxlIHt9XG4iXX0=

View File

@@ -0,0 +1,77 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable } from '@angular/core';
import { NlsMathService } from './math.service';
import { NlsHistoryService } from './history.service';
var NlsAnimationService = /** @class */ (function () {
// public genAnimation: any;
// private timer: Observable<number>;
// private subscribtion: any;
function NlsAnimationService(math, historyService) {
this.math = math;
this.historyService = historyService;
}
/**
* @param {?} initialGraph
* @return {?}
*/
NlsAnimationService.prototype.animate = /**
* @param {?} initialGraph
* @return {?}
*/
function (initialGraph) {
/** @type {?} */
var newGraph = Object.assign({}, initialGraph);
/** @type {?} */
var indexMiddle = Math.floor(newGraph.nodes.length * 0.5);
/** @type {?} */
var pointMiddle = newGraph.nodes[indexMiddle];
newGraph.nodes.splice(indexMiddle, 1, {
x: pointMiddle.x - 2,
y: pointMiddle.y + 2,
});
return newGraph;
// });
};
NlsAnimationService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsAnimationService.ctorParameters = function () { return [
{ type: NlsMathService },
{ type: NlsHistoryService }
]; };
return NlsAnimationService;
}());
export { NlsAnimationService };
function NlsAnimationService_tsickle_Closure_declarations() {
/** @type {?} */
NlsAnimationService.prototype.graphs;
/** @type {?} */
NlsAnimationService.prototype.speed;
/** @type {?} */
NlsAnimationService.prototype.range;
/** @type {?} */
NlsAnimationService.prototype.math;
/** @type {?} */
NlsAnimationService.prototype.historyService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL3NlcnZpY2VzL2FuaW1hdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsT0FBTyxFQUFVLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFLeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztJQVFwRCw0QkFBNEI7SUFDNUIscUNBQXFDO0lBQ3JDLDZCQUE2QjtJQUU3Qiw2QkFDVSxNQUNBO1FBREEsU0FBSSxHQUFKLElBQUk7UUFDSixtQkFBYyxHQUFkLGNBQWM7S0FFdkI7Ozs7O0lBR00scUNBQU87Ozs7Y0FBQyxZQUFtQjs7UUFLOUIsSUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7O1FBQ2pELElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7O1FBQzVELElBQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFaEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRTtZQUNwQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ3BCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLENBQUM7U0FDckIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFFBQVEsQ0FBQzs7OztnQkEvQnJCLFVBQVU7Ozs7Z0JBSEYsY0FBYztnQkFDZCxpQkFBaUI7OzhCQXRCMUI7O1NBeUJhLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE4IE1pY2hhZWwgQ3plY2hvd3NraSA8bWFpbEBkYWlseXNoLml0PlxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXRcbiAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlXG4gKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3JcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvclxuICogbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGhcbiAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MVxuICogRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgU2VsZWN0aW9uIGZyb20gJ2QzLXNlbGVjdGlvbic7XG5cbmltcG9ydCB7IEdyYXBoIH0gZnJvbSAnLi4vbW9kZWxzL2dyYXBoLm1vZGVsJztcbmltcG9ydCB7IE5sc01hdGhTZXJ2aWNlIH0gZnJvbSAnLi9tYXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmxzSGlzdG9yeVNlcnZpY2UgfSBmcm9tICcuL2hpc3Rvcnkuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBObHNBbmltYXRpb25TZXJ2aWNlIHtcblxuICBwdWJsaWMgZ3JhcGhzOiBHcmFwaFtdO1xuICBwdWJsaWMgc3BlZWQ6IG51bWJlcjtcbiAgcHVibGljIHJhbmdlOiBudW1iZXI7XG4gIC8vIHB1YmxpYyBnZW5BbmltYXRpb246IGFueTtcbiAgLy8gcHJpdmF0ZSB0aW1lcjogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAvLyBwcml2YXRlIHN1YnNjcmlidGlvbjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWF0aDogTmxzTWF0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBoaXN0b3J5U2VydmljZTogTmxzSGlzdG9yeVNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgLy8gcHVibGljIGFuaW1hdGUoaW5pdGlhbEdyYXBoczogR3JhcGhbXSkge1xuICBwdWJsaWMgYW5pbWF0ZShpbml0aWFsR3JhcGg6IEdyYXBoKSB7XG4gICAgLy8gY29uc3QgbmV3R3JhcGhzID0gaW5pdGlhbEdyYXBocy5zbGljZSgpO1xuXG4gICAgLy8gcmV0dXJuIG5ld0dyYXBocy5tYXAoZ3JhcGggPT4ge1xuXG4gICAgICBjb25zdCBuZXdHcmFwaCA9IE9iamVjdC5hc3NpZ24oe30sIGluaXRpYWxHcmFwaCk7XG4gICAgICBjb25zdCBpbmRleE1pZGRsZSA9IE1hdGguZmxvb3IobmV3R3JhcGgubm9kZXMubGVuZ3RoICogMC41KTtcbiAgICAgIGNvbnN0IHBvaW50TWlkZGxlID0gbmV3R3JhcGgubm9kZXNbaW5kZXhNaWRkbGVdO1xuXG4gICAgICBuZXdHcmFwaC5ub2Rlcy5zcGxpY2UoaW5kZXhNaWRkbGUsIDEsIHtcbiAgICAgICAgeDogcG9pbnRNaWRkbGUueCAtIDIsXG4gICAgICAgIHk6IHBvaW50TWlkZGxlLnkgKyAyLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuZXdHcmFwaDtcbiAgLy8gICB9KTtcbiAgfVxufVxuXG4iXX0=

View File

@@ -0,0 +1,78 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable, RendererFactory2 } from '@angular/core';
var NlsCanvasService = /** @class */ (function () {
function NlsCanvasService(rendererFactory) {
this.rendererFactory = rendererFactory;
this.renderer = rendererFactory.createRenderer(null, null);
}
Object.defineProperty(NlsCanvasService.prototype, "get", {
get: /**
* @return {?}
*/
function () {
return this.canvas;
},
enumerable: true,
configurable: true
});
/**
* @param {?} el
* @return {?}
*/
NlsCanvasService.prototype.set = /**
* @param {?} el
* @return {?}
*/
function (el) {
this.canvas = el;
};
/**
* @return {?}
*/
NlsCanvasService.prototype.adjustToWindow = /**
* @return {?}
*/
function () {
if (this.canvas) {
this.renderer.setStyle(this.canvas, 'width', this.canvas.innerWidth);
this.renderer.setStyle(this.canvas, 'height', this.canvas.innerHeight);
}
};
NlsCanvasService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsCanvasService.ctorParameters = function () { return [
{ type: RendererFactory2 }
]; };
return NlsCanvasService;
}());
export { NlsCanvasService };
function NlsCanvasService_tsickle_Closure_declarations() {
/** @type {?} */
NlsCanvasService.prototype.renderer;
/** @type {?} */
NlsCanvasService.prototype.canvas;
/** @type {?} */
NlsCanvasService.prototype.rendererFactory;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9ubHMtZ3VpbGxvY2hlLyIsInNvdXJjZXMiOlsibmxzL3NlcnZpY2VzL2NhbnZhcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsT0FBTyxFQUFVLFVBQVUsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFTOUUsMEJBQ1U7UUFBQSxvQkFBZSxHQUFmLGVBQWU7UUFFdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUM1RDswQkFFVSxpQ0FBRzs7Ozs7WUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7O0lBR2QsOEJBQUc7Ozs7Y0FBQyxFQUFFO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7Ozs7O0lBR1oseUNBQWM7Ozs7UUFDbkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQ1gsT0FBTyxFQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUN2QixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQ1gsUUFBUSxFQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUN4QixDQUFDO1NBQ0g7OztnQkFoQ0osVUFBVTs7OztnQkFINkIsZ0JBQWdCOzsyQkFoQnhEOztTQW9CYSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlckZhY3RvcnkyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBTZWxlY3Rpb24gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5sc0NhbnZhc1NlcnZpY2Uge1xuICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgcHVibGljIGNhbnZhczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXM7XG4gIH1cblxuICBwdWJsaWMgc2V0KGVsKSB7XG4gICAgdGhpcy5jYW52YXMgPSBlbDtcbiAgfVxuXG4gIHB1YmxpYyBhZGp1c3RUb1dpbmRvdygpIHtcbiAgICBpZiAodGhpcy5jYW52YXMpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMuY2FudmFzLFxuICAgICAgICAnd2lkdGgnLFxuICAgICAgICB0aGlzLmNhbnZhcy5pbm5lcldpZHRoXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5jYW52YXMsXG4gICAgICAgICdoZWlnaHQnLFxuICAgICAgICB0aGlzLmNhbnZhcy5pbm5lckhlaWdodFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==

View File

@@ -0,0 +1,129 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { NlsMathService } from './math.service';
var NlsGraphService = /** @class */ (function () {
function NlsGraphService(math) {
this.math = math;
}
/**
* @return {?}
*/
NlsGraphService.prototype.get = /**
* @return {?}
*/
function () {
return this.graphs;
};
/**
* @param {?} newGraphs
* @return {?}
*/
NlsGraphService.prototype.set = /**
* @param {?} newGraphs
* @return {?}
*/
function (newGraphs) {
this.graphs = newGraphs;
};
Object.defineProperty(NlsGraphService.prototype, "isAnimated", {
get: /**
* @return {?}
*/
function () {
return this.animation;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
NlsGraphService.prototype.startAnimation = /**
* @return {?}
*/
function () {
this.animation = true;
};
/**
* @return {?}
*/
NlsGraphService.prototype.stopAnimation = /**
* @return {?}
*/
function () {
this.animation = false;
};
/**
* @param {?} start
* @param {?} spacing
* @return {?}
*/
NlsGraphService.prototype.spreadOrthogonal = /**
* @param {?} start
* @param {?} spacing
* @return {?}
*/
function (start, spacing) {
var sign, currentPoint, i, currentSpacing;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
sign = this.math.flipSign();
currentPoint = start;
i = 0;
_a.label = 1;
case 1:
if (!true) return [3 /*break*/, 3];
currentSpacing = sign.next().value * spacing * i;
currentPoint = this.shiftPoint(currentPoint, start.ascent, currentSpacing);
return [4 /*yield*/, currentPoint];
case 2:
_a.sent();
i++;
return [3 /*break*/, 1];
case 3: return [2 /*return*/];
}
});
};
/**
* @param {?} point
* @param {?} radians
* @param {?} spacing
* @return {?}
*/
NlsGraphService.prototype.shiftPoint = /**
* @param {?} point
* @param {?} radians
* @param {?} spacing
* @return {?}
*/
function (point, radians, spacing) {
return {
x: Math.sin(radians * Math.PI) * spacing + point.x,
y: Math.cos(radians * Math.PI) * spacing + point.y
};
};
NlsGraphService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsGraphService.ctorParameters = function () { return [
{ type: NlsMathService }
]; };
return NlsGraphService;
}());
export { NlsGraphService };
function NlsGraphService_tsickle_Closure_declarations() {
/** @type {?} */
NlsGraphService.prototype.graphs;
/** @type {?} */
NlsGraphService.prototype.animation;
/** @type {?} */
NlsGraphService.prototype.math;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJubHMvc2VydmljZXMvZ3JhcGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWlCQSxPQUFPLEVBQVUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0lBUzlDLHlCQUNVO1FBQUEsU0FBSSxHQUFKLElBQUk7S0FDVjs7OztJQUVHLDZCQUFHOzs7O1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7OztJQUdkLDZCQUFHOzs7O2NBQUMsU0FBa0I7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7OzBCQUdmLHVDQUFVOzs7OztZQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs7Ozs7Ozs7SUFHakIsd0NBQWM7Ozs7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Ozs7O0lBR2pCLHVDQUFhOzs7O1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDOzs7Ozs7O0lBR2pCLDBDQUFnQjs7Ozs7Y0FBQyxLQUFZLEVBQUUsT0FBZTs7Ozs7b0JBQzlDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5QixZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7eUJBRUgsSUFBSTtvQkFDSCxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO29CQUN2RCxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFFM0UscUJBQU0sWUFBWSxFQUFBOztvQkFBbEIsU0FBa0IsQ0FBQztvQkFFbkIsQ0FBQyxFQUFFLENBQUM7Ozs7Ozs7Ozs7OztJQUlELG9DQUFVOzs7Ozs7Y0FBQyxLQUFZLEVBQUUsT0FBZSxFQUFFLE9BQWU7UUFDOUQsTUFBTSxDQUFDO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDbkQsQ0FBQzs7O2dCQWhETCxVQUFVOzs7O2dCQUpGLGNBQWM7OzBCQXBCdkI7O1NBeUJhLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTggTWljaGFlbCBDemVjaG93c2tpIDxtYWlsQGRhaWx5c2guaXQ+XG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdFxuICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi5cbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVRcbiAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvclxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yXG4gKiBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aFxuICogdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxXG4gKiBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgU2VsZWN0aW9uIGZyb20gJ2QzLXNlbGVjdGlvbic7XG5cbmltcG9ydCB7IE5sc01hdGhTZXJ2aWNlIH0gZnJvbSAnLi9tYXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhcGggfSBmcm9tICcuLy4uL21vZGVscy9ncmFwaC5tb2RlbCc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4vLi4vbW9kZWxzL3BvaW50Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5sc0dyYXBoU2VydmljZSB7XG4gIHByaXZhdGUgZ3JhcGhzOiBHcmFwaFtdO1xuICBwcml2YXRlIGFuaW1hdGlvbjogYm9vbGVhbiB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtYXRoOiBObHNNYXRoU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaHM7XG4gIH1cblxuICBwdWJsaWMgc2V0KG5ld0dyYXBoczogR3JhcGhbXSkge1xuICAgIHRoaXMuZ3JhcGhzID0gbmV3R3JhcGhzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0FuaW1hdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgc3RvcEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljICpzcHJlYWRPcnRob2dvbmFsKHN0YXJ0OiBQb2ludCwgc3BhY2luZzogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2lnbiA9IHRoaXMubWF0aC5mbGlwU2lnbigpO1xuICAgIGxldCBjdXJyZW50UG9pbnQgPSBzdGFydDtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgY29uc3QgY3VycmVudFNwYWNpbmcgPSBzaWduLm5leHQoKS52YWx1ZSAqIHNwYWNpbmcgKiBpO1xuICAgICAgY3VycmVudFBvaW50ID0gdGhpcy5zaGlmdFBvaW50KGN1cnJlbnRQb2ludCwgc3RhcnQuYXNjZW50LCBjdXJyZW50U3BhY2luZyk7XG5cbiAgICAgIHlpZWxkIGN1cnJlbnRQb2ludDtcblxuICAgICAgaSsrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaGlmdFBvaW50KHBvaW50OiBQb2ludCwgcmFkaWFuczogbnVtYmVyLCBzcGFjaW5nOiBudW1iZXIpOiBQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGguc2luKHJhZGlhbnMgKiBNYXRoLlBJKSAqIHNwYWNpbmcgKyBwb2ludC54LFxuICAgICAgeTogTWF0aC5jb3MocmFkaWFucyAqIE1hdGguUEkpICogc3BhY2luZyArIHBvaW50LnlcbiAgICB9O1xuICB9XG59XG4iXX0=

View File

@@ -0,0 +1,76 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Injectable } from '@angular/core';
var NlsHistoryService = /** @class */ (function () {
function NlsHistoryService() {
this.history = [];
}
/**
* @param {?} graphs
* @param {?} config
* @return {?}
*/
NlsHistoryService.prototype.save = /**
* @param {?} graphs
* @param {?} config
* @return {?}
*/
function (graphs, config) {
this.history.push({
date: new Date(),
graphs: graphs,
config: config,
hash: this.hash(graphs)
});
};
/**
* @param {?} graphs
* @return {?}
*/
NlsHistoryService.prototype.hash = /**
* @param {?} graphs
* @return {?}
*/
function (graphs) {
return btoa(JSON.stringify(graphs));
};
/**
* @return {?}
*/
NlsHistoryService.prototype.list = /**
* @return {?}
*/
function () {
return this.history;
};
NlsHistoryService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
NlsHistoryService.ctorParameters = function () { return []; };
return NlsHistoryService;
}());
export { NlsHistoryService };
function NlsHistoryService_tsickle_Closure_declarations() {
/** @type {?} */
NlsHistoryService.prototype.history;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmxzLWd1aWxsb2NoZS8iLCJzb3VyY2VzIjpbIm5scy9zZXJ2aWNlcy9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQSxPQUFPLEVBQVUsVUFBVSxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7SUFVdEU7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztLQUNuQjs7Ozs7O0lBRU0sZ0NBQUk7Ozs7O2NBQUMsTUFBZSxFQUFFLE1BQU07UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDeEIsQ0FBQyxDQUFDOzs7Ozs7SUFHRSxnQ0FBSTs7OztjQUFDLE1BQU07UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Ozs7O0lBRy9CLGdDQUFJOzs7O1FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7OztnQkF2QnZCLFVBQVU7Ozs7NEJBckJYOztTQXNCYSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoQykgMjAxOCBNaWNoYWVsIEN6ZWNob3dza2kgPG1haWxAZGFpbHlzaC5pdD5cbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0XG4gKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZVxuICogU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVFxuICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3JcbiAqIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoXG4gKiB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTFcbiAqIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgU2VsZWN0aW9uIGZyb20gJ2QzLXNlbGVjdGlvbic7XG5cbmltcG9ydCB7IEdyYXBoIH0gZnJvbSAnLi4vbW9kZWxzL2dyYXBoLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5sc0hpc3RvcnlTZXJ2aWNlIHtcblxuICBwdWJsaWMgaGlzdG9yeTogYW55W107XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5oaXN0b3J5ID0gW107XG4gIH1cblxuICBwdWJsaWMgc2F2ZShncmFwaHM6IEdyYXBoW10sIGNvbmZpZykge1xuICAgIHRoaXMuaGlzdG9yeS5wdXNoKHtcbiAgICAgIGRhdGU6IG5ldyBEYXRlKCksXG4gICAgICBncmFwaHM6IGdyYXBocyxcbiAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgaGFzaDogdGhpcy5oYXNoKGdyYXBocylcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNoKGdyYXBocykge1xuICAgIHJldHVybiBidG9hKEpTT04uc3RyaW5naWZ5KGdyYXBocykpO1xuICB9XG5cbiAgcHVibGljIGxpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeTtcbiAgfVxufVxuXG4iXX0=

File diff suppressed because one or more lines are too long

17
dist/nls-guilloche/esm5/public_api.js vendored Normal file
View File

@@ -0,0 +1,17 @@
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
/*
* Public API Surface of nls-guilloche
*/
export { NlsGraphsComponent } from './nls/components/graphs.component';
export { NlsGuillocheDirective } from './nls/directives/guilloche.directive';
export { NlsAnimationService } from './nls/services/animation.service';
export { NlsCanvasService } from './nls/services/canvas.service';
export { NlsGraphService } from './nls/services/graph.service';
export { NlsHistoryService } from './nls/services/history.service';
export { NlsMathService } from './nls/services/math.service';
export { NlsGuillocheModule } from './nls/nls-guilloche.module';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25scy1ndWlsbG9jaGUvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxtQ0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxzQ0FBYyxzQ0FBc0MsQ0FBQztBQUtyRCxvQ0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxpQ0FBYywrQkFBK0IsQ0FBQztBQUM5QyxnQ0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxrQ0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQywrQkFBYyw2QkFBNkIsQ0FBQztBQUM1QyxtQ0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmxzLWd1aWxsb2NoZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbmxzL2NvbXBvbmVudHMvZ3JhcGhzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9kaXJlY3RpdmVzL2d1aWxsb2NoZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbW9kZWxzL2NvbmZpZy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9tb2RlbHMvZ3JhcGgubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbW9kZWxzL3BhcmFtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbmxzL21vZGVscy9wb2ludC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9hbmltYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9jYW52YXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9ncmFwaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbmxzL3NlcnZpY2VzL2hpc3Rvcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25scy9zZXJ2aWNlcy9tYXRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ubHMvbmxzLWd1aWxsb2NoZS5tb2R1bGUnO1xuIl19

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1178
dist/nls-guilloche/fesm5/nls-guilloche.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/nls-guilloche/nls-guilloche.d.ts vendored Normal file
View File

@@ -0,0 +1,4 @@
/**
* Generated bundle index. Do not edit.
*/
export * from './public_api';

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,60 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { SimpleChanges, OnChanges, EventEmitter } from '@angular/core';
import { Graph } from './../models/graph.model';
import { Config } from './../models/config.model';
import { NlsCanvasService } from './../services/canvas.service';
import { NlsHistoryService } from './../services/history.service';
import { NlsMathService } from './../services/math.service';
import { NlsGraphService } from './../services/graph.service';
export declare class NlsGraphsComponent implements OnChanges {
private canvasService;
private historyService;
private math;
private graphService;
canvas: any | null;
matrix: any | null;
graphs: Graph[];
windowHeight: number | null;
windowWidth: number | null;
private genShiftPoint;
private genLoadedAllGraphs;
private hash;
private resizingWindow;
config: Config;
restoredHistory: any;
animation: boolean;
svgChange: EventEmitter<{}>;
graphChange: EventEmitter<{}>;
svgElementRef: any;
onResize(event: any): void;
constructor(canvasService: NlsCanvasService, historyService: NlsHistoryService, math: NlsMathService, graphService: NlsGraphService);
ngOnChanges(changes: SimpleChanges): void;
private restoreGraph();
private saveHistory();
private saveGraph();
private updateGraphs();
private adjustGraph(curve);
private genRandomPoints(num);
private flipflop(x);
private adjustCanvas();
private calcMatrix();
private genVectorPoint(point, vector);
private shiftPoint(point, vector, startPositive?);
private shiftNumber(space, vector, startPositive?);
prepareGuillocheExport(guillocheElement: any): void;
private countLoadedGraphs();
}

View File

@@ -0,0 +1,46 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { Graph } from './../models/graph.model';
import { NlsCanvasService } from './../services/canvas.service';
import { NlsMathService } from './../services/math.service';
import { NlsGraphService } from '../services/graph.service';
export declare class NlsGuillocheDirective implements OnChanges, OnDestroy {
private canvasService;
private el;
private math;
private graphService;
private canvas;
private group;
private bounce;
private bounces;
private initialNodes;
private initialCurve;
private animationInterval;
private medianPoint;
private medianIndex;
private pathElements;
graph: Graph;
animation: boolean;
constructor(canvasService: NlsCanvasService, el: ElementRef, math: NlsMathService, graphService: NlsGraphService);
ngOnDestroy(): void;
ngOnChanges(changes: SimpleChanges): void;
private animateGraph(x);
private spreadLines(points);
private updateGraph(points, index);
private drawGraph(points);
private debugGraph(points);
}

View File

@@ -0,0 +1,49 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
export interface Config {
margin: {
x: number;
y: number;
};
start: {
x: number;
y: number;
};
end: {
x: number;
y: number;
};
vectors: {
spacing: number;
start: any;
end: any;
range: any;
};
colors: {
primary: string;
secondary: string;
};
spread: {
amount: number;
spacing: number;
};
nodes: any;
stroke: any;
overlap: any;
scale: any;
interval: number;
date?: Date;
}

View File

@@ -0,0 +1,37 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Point } from './point.model';
export interface Graph {
id: string;
color: string;
start: {
point: Point;
direction?: Point;
vector: number;
};
end: {
point: Point;
direction?: Point;
vector: number;
};
spread: {
amount: number;
spacing: number;
};
interval: number;
stroke: number;
nodes?: Point[];
}

View File

@@ -0,0 +1,24 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { Point } from './point.model';
export interface Matrix {
start: Point;
end: Point;
center: Point;
width: number;
height: number;
unit?: number;
}

View File

@@ -0,0 +1,32 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
export interface Param {
colors: {
start: string;
end: string;
};
points: number;
margin: {
x: number;
y: number;
};
spread: number;
space: number;
stroke?: {
width: number;
};
showGrid?: boolean;
}

View File

@@ -0,0 +1,21 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
export interface Point {
x: number;
y: number;
color?: string;
ascent?: number;
}

View File

@@ -0,0 +1,2 @@
export declare class NlsGuillocheModule {
}

View File

@@ -0,0 +1,12 @@
import { Graph } from '../models/graph.model';
import { NlsMathService } from './math.service';
import { NlsHistoryService } from './history.service';
export declare class NlsAnimationService {
private math;
private historyService;
graphs: Graph[];
speed: number;
range: number;
constructor(math: NlsMathService, historyService: NlsHistoryService);
animate(initialGraph: Graph): Graph;
}

View File

@@ -0,0 +1,25 @@
/**
* Copyright (C) 2018 Michael Czechowski <mail@dailysh.it>
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; version 2.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 51
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import { RendererFactory2 } from '@angular/core';
export declare class NlsCanvasService {
private rendererFactory;
private renderer;
canvas: any;
constructor(rendererFactory: RendererFactory2);
readonly get: any;
set(el: any): void;
adjustToWindow(): void;
}

View File

@@ -0,0 +1,16 @@
import { NlsMathService } from './math.service';
import { Graph } from './../models/graph.model';
import { Point } from './../models/point.model';
export declare class NlsGraphService {
private math;
private graphs;
private animation;
constructor(math: NlsMathService);
get(): Graph[];
set(newGraphs: Graph[]): void;
readonly isAnimated: boolean;
startAnimation(): void;
stopAnimation(): void;
spreadOrthogonal(start: Point, spacing: number): IterableIterator<Point>;
shiftPoint(point: Point, radians: number, spacing: number): Point;
}

View File

@@ -0,0 +1,8 @@
import { Graph } from '../models/graph.model';
export declare class NlsHistoryService {
history: any[];
constructor();
save(graphs: Graph[], config: any): void;
hash(graphs: any): string;
list(): any[];
}

View File

@@ -0,0 +1,44 @@
import { Point } from './../models/point.model';
export declare class NlsMathService {
/**
* Calculate distance between to points with coordinates.
* @param a
* @param b
*/
Δ(a: Point, b: Point): number;
getClosestCenter(point: Point, matrix: any): any;
getFarestCenter(point: Point, matrix: any): any;
randomPoint(matrix: any, overlap: number): {
x: any;
y: any;
};
centerOfArea(width: any, height: any): Point;
centerOfPoints(p1: Point, p2: Point): {
x: number;
y: number;
};
centerOfCurve(curve: Point[]): {
x: number;
y: number;
} & {
ascent: number;
};
medianOfCurve(curve: Point[]): Point & {
ascent: number;
};
angleRadians(p1: Point, p2: Point): number;
angleDegree(p1: Point, p2: Point): number;
medianIndex(list: any): number;
medianPoint(points: Point[]): IterableIterator<Point>;
/**
* Generator for sine bounce
*
* @param start 0 indicates to initiate with positive numbers, 1 indicates to
* start with negative numbers first
* @param amplitude default to 1 indicates the amplitude in positive as well
* in negative range
* @param decimals amount of decimal places
*/
bounce(amplitude?: number, decimals?: number, start?: number): IterableIterator<number>;
flipSign(startPositive?: boolean): IterableIterator<number>;
}

47
dist/nls-guilloche/package.json vendored Normal file
View File

@@ -0,0 +1,47 @@
{
"name": "nls-guilloche",
"version": "1.0.0",
"repository": {
"type": "git",
"url": "https://github.com/nextlevelshit/nls-guilloche-generator"
},
"licenses": [
{
"type": "GPL-2.0-only",
"url": "https://github.com/nextlevelshit/nls-guilloche-generator/LICENSE.md"
}
],
"author": {
"name": "Michael Czechowski",
"email": "mail@dailysh.it",
"url": "https://dailysh.it"
},
"maintainers": [
{
"name": "Erik Kimsey"
},
{
"name": "Michael Czechowski",
"email": "mail@dailysh.it",
"url": "https://dailysh.it"
}
],
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
},
"dependencies": {
"d3": "^5.3.0",
"tslib": "^1.9.0"
},
"main": "bundles/nls-guilloche.umd.js",
"module": "fesm5/nls-guilloche.js",
"es2015": "fesm2015/nls-guilloche.js",
"esm5": "esm5/nls-guilloche.js",
"esm2015": "esm2015/nls-guilloche.js",
"fesm5": "fesm5/nls-guilloche.js",
"fesm2015": "fesm2015/nls-guilloche.js",
"typings": "nls-guilloche.d.ts",
"metadata": "nls-guilloche.metadata.json",
"sideEffects": false
}

12
dist/nls-guilloche/public_api.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
export * from './nls/components/graphs.component';
export * from './nls/directives/guilloche.directive';
export * from './nls/models/config.model';
export * from './nls/models/graph.model';
export * from './nls/models/param.model';
export * from './nls/models/point.model';
export * from './nls/services/animation.service';
export * from './nls/services/canvas.service';
export * from './nls/services/graph.service';
export * from './nls/services/history.service';
export * from './nls/services/math.service';
export * from './nls/nls-guilloche.module';

View File

@@ -1,9 +1,9 @@
{ pkgs ? import <nixpkgs> {} }:
{ pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/refs/tags/20.09.tar.gz") {} }:
let
lib = import <nixpkgs/lib>;
buildNodeJs = pkgs.callPackage "${<nixpkgs>}/pkgs/development/web/nodejs/nodejs.nix" {
python = pkgs.python3;
buildNodeJs = pkgs.callPackage "${pkgs.path}/pkgs/development/web/nodejs/nodejs.nix" {
python = pkgs.python27Full;
};
nodejsVersion = lib.fileContents ./.nvmrc;
@@ -14,12 +14,18 @@ let
sha256 = "032801kg24j04xmf09m0vxzlcz86sv21s24lv9l4cfv08k1c4byp";
};
# Overlay to use custom nodejs for nodePackages
customPkgs = pkgs // { inherit nodejs; };
NPM_CONFIG_PREFIX = toString ./npm_config_prefix;
in customPkgs.mkShell {
buildInputs = with customPkgs; [
in pkgs.mkShell {
packages = with pkgs; [
nodejs
nodePackages."@angular/cli"
];
inherit NPM_CONFIG_PREFIX;
shellHook = ''
export PATH="${NPM_CONFIG_PREFIX}/bin:$PATH"
echo "Node version: $(node --version)"
'';
}

7188
yarn.lock

File diff suppressed because it is too large Load Diff