This commit is contained in:
Vilius 2017-12-29 18:14:16 +02:00
parent 844a2295d7
commit bc5657c88d
13 changed files with 63 additions and 23 deletions

View File

@ -2,9 +2,10 @@
Online graphics editing tool lets create, edit images using HTML5 technologies.
No need to buy, download, install or have obsolete flash.
Key features: layers, drag & drop, transparency, filters, no-flash, open source.
Key features: layers, drag & drop, transparency, filters, no-flash, no ads, open source.
miniPaint operates directly in the browser. You can create images, paste from clipboard (ctrl+v) or upload from computer (using menu or drag & drop). Nothing will be sent to any server. Everything stays in your browser.
miniPaint operates directly in the browser. You can create images, paste from clipboard (ctrl+v)
or upload from computer (using menu or drag & drop). Nothing will be sent to any server. Everything stays in your browser.
## URL:
**http://viliusle.github.io/miniPaint/**
@ -16,12 +17,12 @@ miniPaint operates directly in the browser. You can create images, paste from cl
**Change log:** [/miniPaint/releases](https://github.com/viliusle/miniPaint/releases)
## Browser Support
- Firefox
- Chrome
- Firefox
- Opera
- Edge
- Safari
- IE 11 (?)
- IE 11 (only basic support)
## Features
@ -33,25 +34,19 @@ miniPaint operates directly in the browser. You can create images, paste from cl
- **Tools**: pencil, brush, magic wand, erase, fill, color picker, letters, crop, blur, sharpen, desaturate, clone, borders, sprites, key-points, color to alpha, color zoom, replace color, restore alpha, content fill.
- **Help**: keyboard shortcuts, translations.
### Embed
## Embed
To embed this app in other page, use this HTML code:
<iframe style="width:100%; height:35vw;" src="https://viliusle.github.io/miniPaint/"></iframe>
<iframe style="width:100%; height:1000px;" id="miniPaint" src="https://viliusle.github.io/miniPaint/"></iframe>
## Build instructions
See [Wiki > Build instructions](https://github.com/viliusle/miniPaint/wiki/Build-instructions)
- git clone https://github.com/viliusle/miniPaint.git
- cd miniPaint
- npm install
- webpack-dev-server (using http://localhost:8080/ with live reload, require: npm install -g webpack-dev-server)
- edit files...
- webpack -p (build for production)
### License
## Wiki
See [Wiki](https://github.com/viliusle/miniPaint/wiki)
## License
MIT License
## Support
Please use the GitHub issues for support, features, issues or use mail www.viliusl@gmail.com for contacts.

View File

@ -17,6 +17,9 @@ import alertify from './../../../node_modules/alertifyjs/build/alertify.min.js';
var instance = null;
/**
* Main GUI class
*/
class Base_gui_class {
constructor() {

View File

@ -657,7 +657,13 @@ class Base_layers_class {
return false;
}
/**
* find next layer
*
* @param {int} id layer id
* @returns {layer|null}
*/
find_next(id) {
id = parseInt(id);
var link = this.get_layer(id);
@ -675,7 +681,13 @@ class Base_layers_class {
return null;
}
/**
* find previous layer
*
* @param {int} id layer id
* @returns {layer|null}
*/
find_previous(id) {
id = parseInt(id);
var link = this.get_layer(id);
@ -694,14 +706,17 @@ class Base_layers_class {
return null;
}
/**
* returns global position, for example if canvas is zoomed, it will convert relative mouse position to absolute at 100% zoom.
*
* @param {int} x
* @param {int} y
* @returns {object} keys: x, y
*/
get_world_coords(x, y) {
return zoomView.toWorld(x, y);
}
getCurrentPos() {
return zoomView.getCurrentPos();
}
/**
* register new live filter
*

View File

@ -8,6 +8,9 @@ import config from './../config.js';
var instance = null;
var settings_all = [];
/**
* Selection class - draws rectangular selection on canvas, can be resized.
*/
class Base_selection_class {
/**

View File

@ -11,7 +11,7 @@ import alertify from './../../../node_modules/alertifyjs/build/alertify.min.js';
var instance = null;
/**
* Undo system
* Undo state class. Supports multiple levels undo.
*/
class Base_state_class {

View File

@ -6,6 +6,9 @@
import config from './../config.js';
import Base_layers_class from './base-layers.js';
/**
* Base tools class, can be used for extending on tools like brush, provides various helping methods.
*/
class Base_tools_class {
constructor(save_mouse) {

View File

@ -39,6 +39,9 @@ var template = `
</div>
`;
/**
* GUI class responsible for rendering colos block on right sidebar
*/
class GUI_colors_class {
render_main_colors() {

View File

@ -78,6 +78,9 @@ var template = `
<div>
`;
/**
* GUI class responsible for rendering selected layer details block on right sidebar
*/
class GUI_details_class {
constructor() {

View File

@ -14,6 +14,9 @@ var template = `
<span id="mouse_info_mouse">-</span>
`;
/**
* GUI class responsible for rendering information block on right sidebar
*/
class GUI_information_class {
constructor(ctx) {

View File

@ -18,6 +18,9 @@ var template = `
<div class="layers_list" id="layers"></div>
`;
/**
* GUI class responsible for rendering layers on right sidebar
*/
class GUI_layers_class {
constructor(ctx) {

View File

@ -7,6 +7,9 @@ import config from './../../config.js';
import menu_template from './../../config-menu.js';
import ddsmoothmenu from './../../libs/menu.js';
/**
* class responsible for rendering main menu
*/
class GUI_menu_class {
render_main() {

View File

@ -22,6 +22,9 @@ var template = `
<input id="zoom_range" type="range" value="100" min="50" max="1000" step="50" />
`;
/**
* GUI class responsible for rendering preview on right sidebar
*/
class GUI_preview_class {
constructor(GUI_class) {

View File

@ -10,6 +10,9 @@ import alertify from './../../../../node_modules/alertifyjs/build/alertify.min.j
var instance = null;
/**
* GUI class responsible for rendering left sidebar tools
*/
class GUI_tools_class {
constructor(GUI_class) {