mirror of
https://github.com/lospec/pixel-editor.git
synced 2023-08-10 21:12:51 +03:00
Merge branch 'master' into next-update
This commit is contained in:
commit
240b0176c3
@ -6,7 +6,8 @@ The tool can be viewed online here: https://lospec.com/pixel-editor
|
|||||||
|
|
||||||
## How to contribute
|
## How to contribute
|
||||||
|
|
||||||
Please do not submit pull requests with new features or core changes. Instead, please file an issue first for discussion.
|
Before starting to work, please open an issue for discussion so that we can organize the work without creating too many conflicts. If your contribution is going to fix a bug, please
|
||||||
|
make a fork and use the bug-fixes branch. If you want to work on a new feature, please use the new-feature branch instead.
|
||||||
|
|
||||||
## What to Contribute
|
## What to Contribute
|
||||||
|
|
||||||
|
74
README.md.bak
Normal file
74
README.md.bak
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# Lospec Pixel Editor
|
||||||
|
|
||||||
|
This is a browser based software for creating pixel art
|
||||||
|
|
||||||
|
The tool can be viewed online here: https://lospec.com/pixel-editor
|
||||||
|
|
||||||
|
## How to contribute
|
||||||
|
|
||||||
|
Please do not submit pull requests with new features or core changes. Instead, please file an issue first for discussion.
|
||||||
|
|
||||||
|
## What to Contribute
|
||||||
|
|
||||||
|
Any changes that fix bugs or add features are welcome. Check out the issues if you don't know where to start: if
|
||||||
|
you're new to the editor, we suggest you check out the Wiki first.
|
||||||
|
|
||||||
|
The next version is mostly focused on adding missing essential features and porting to mobile.
|
||||||
|
|
||||||
|
Suggestions / Planned features:
|
||||||
|
|
||||||
|
- Documentation
|
||||||
|
- Possibility to hide and resize menus (layers, palette)
|
||||||
|
- Tiled mode
|
||||||
|
- Load palette from LPE file
|
||||||
|
- Symmetry options (currently being worked on)
|
||||||
|
- Make a palette grid instead of having a huge stack on the right when colours are too many
|
||||||
|
- Possibly add collaborate function
|
||||||
|
|
||||||
|
- Mobile
|
||||||
|
- Touch equivalent for mouse clicks
|
||||||
|
- Hide or scale ui
|
||||||
|
- Maybe rearrange UI on portrait
|
||||||
|
- Fix popups
|
||||||
|
|
||||||
|
- Polish:
|
||||||
|
- CTRL+A to select everything / selection -> all, same for deselection
|
||||||
|
- Warning windows for wrong inputs
|
||||||
|
- Palette option remove unused colors
|
||||||
|
- Move selection with arrows
|
||||||
|
- Update borders by dragging the canvas' edges with the mouse when resizing canvas
|
||||||
|
- Move the canvases so they're centered after resizing the canvas (maybe a .center() method in layer class)
|
||||||
|
- Scale / rotate selection
|
||||||
|
|
||||||
|
## How to Contribute
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
You must have node.js and git installed.
|
||||||
|
|
||||||
|
You also need `npm` in version 7 (because of 2nd version of lockfile which was introduced there) which comes with Node.js 15 or newer. To simplify installation of proper versions you can make use of [nvm](https://github.com/nvm-sh/nvm#installing-and-updating) and run `nvm install` – it will activate proper Node.js version in your current command prompt session.
|
||||||
|
|
||||||
|
### Contribution Workflow
|
||||||
|
|
||||||
|
1. Click **Fork** above. It will automatically create a copy of this repository and add it to your account.
|
||||||
|
2. Clone the repository to your computer.
|
||||||
|
3. Open the folder in command prompt and run **`npm install`**
|
||||||
|
4. Make any changes you would like to suggest.
|
||||||
|
5. In command prompt run **`npm run hot`** which will compile app to the `/build` folder, serve under [http://localhost:3000](http://localhost:3000), then open in your browser. Moreover, it restarts server every time you save your changes in a codebase. You can go even further by running `npm run hot:reload`, which will also trigger webpage reloads.
|
||||||
|
6. Add, Commit and Push your changes to your fork.
|
||||||
|
7. On the github page for your fork, click **New Pull Request** above the file list.
|
||||||
|
8. Change the **head repository** dropdown to your fork.
|
||||||
|
9. Add a title and description explaining your changes.
|
||||||
|
10. Click create pull request.
|
||||||
|
|
||||||
|
If you have any trouble, see this page: https://help.github.com/en/articles/creating-a-pull-request-from-a-fork
|
||||||
|
|
||||||
|
### Feature Toggles
|
||||||
|
|
||||||
|
Some feature might be hidden by default. Functions to enable/disable them are available inside global `featureToggles` and operate on a `window.localStorage`.
|
||||||
|
|
||||||
|
For example use `featureToggles.enableEllipseTool()` to make ellipse tool button visible. Then `featureToggles.disableEllipseTool()` to hide it.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This software may not be resold, redistributed, rehosted or otherwise conveyed to a third party.
|
10
js/File.js
10
js/File.js
@ -3,6 +3,7 @@ class File {
|
|||||||
canvasSize = [];
|
canvasSize = [];
|
||||||
zoom = 7;
|
zoom = 7;
|
||||||
canvasView = document.getElementById("canvas-view");
|
canvasView = document.getElementById("canvas-view");
|
||||||
|
inited = false;
|
||||||
|
|
||||||
// Layers
|
// Layers
|
||||||
layers = [];
|
layers = [];
|
||||||
@ -34,11 +35,13 @@ class File {
|
|||||||
// Start resize data
|
// Start resize data
|
||||||
startData = {width: 0, height:0, widthPercentage: 100, heightPercentage: 100};
|
startData = {width: 0, height:0, widthPercentage: 100, heightPercentage: 100};
|
||||||
|
|
||||||
// Sprite scaling attributes
|
|
||||||
|
|
||||||
openResizeCanvasWindow() {
|
openResizeCanvasWindow() {
|
||||||
|
if (!this.inited) {
|
||||||
|
this.initResizeCanvasInputs();
|
||||||
|
this.inited = true;
|
||||||
|
}
|
||||||
// Initializes the inputs
|
// Initializes the inputs
|
||||||
this.initResizeCanvasInputs();
|
|
||||||
Dialogue.showDialogue('resize-canvas');
|
Dialogue.showDialogue('resize-canvas');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +154,9 @@ class File {
|
|||||||
currFile.canvasSize[1] = parseInt(currFile.canvasSize[1]) +
|
currFile.canvasSize[1] = parseInt(currFile.canvasSize[1]) +
|
||||||
this.rcBorders.top + this.rcBorders.bottom;
|
this.rcBorders.top + this.rcBorders.bottom;
|
||||||
|
|
||||||
|
console.trace();
|
||||||
|
console.log(currFile.canvasSize);
|
||||||
|
|
||||||
// Resize the canvases
|
// Resize the canvases
|
||||||
for (let i=0; i<currFile.layers.length; i++) {
|
for (let i=0; i<currFile.layers.length; i++) {
|
||||||
currFile.layers[i].canvas.width = currFile.canvasSize[0];
|
currFile.layers[i].canvas.width = currFile.canvasSize[0];
|
||||||
|
Loading…
Reference in New Issue
Block a user