Commit Graph

1792 Commits

Author SHA1 Message Date
jdescottes
0c441c214b Feature : darken lighten
Added new tool to lighten/darken. By default is in lightening mode. If the
user holds ctrl/cmd while using the tool, switches to darkening mode.

If the user holds shift while using the tool, then each pixel can only be
modified once per tool usage (ie user keeps hovering the same pixel, it
won't get lighter/darker after the first time). Can be useful if you want
to keep control of the amount of colors in the sprite.

TODO :
- Ability to select explicitly lighten/darken (context menu for
tools).
- Ability to set the 'step' (ie the strength of the lighten/darken)
2014-05-16 23:51:04 +02:00
jdescottes
7569a4343c Fix : Undo/redo for eraser 2014-05-16 22:40:09 +02:00
jdescottes
21a759d8eb Fix : trigger tool move on keyup to acknowledge modifier changes 2014-05-16 22:36:23 +02:00
Julian Descottes
a3c409ff94 Merge pull request #182 from juliandescottes/enhancement-gif-encoding
Enhancement gif encoding
2014-05-16 08:25:01 +02:00
juliandescottes
a3108225f6 Fix : Zoom level : reduce zoom step on mac os + added keyboard shortcuts 2014-05-14 23:52:32 +02:00
jdescottes
6c882928cc Enhancement : Lossless GIF encoding
If there are less than 256 colors in the piskel, do not perform anycolor
quantization, just reuse the colors from the piskel.

Added preserveColorsParameter to gif.js library.

If nb colors>256, fallback to the previous behavior. This could be
improved by checking the number of colors for each frame. The palette is
defined independantly for each frame, so as long as a frame is <256
colors, we could reuse the original colors.

I also believe that images with more colors would get a better quality if
we could use a single color sample for all frames. This would avoid color
'gaps' as we can experience today. In any case, for piskel, < 256 is a
reasonable assumption
2014-05-12 01:06:37 +02:00
jdescottes
cf560fce0f Merge branch 'master' into enhancement-gif-encoding 2014-05-12 00:50:48 +02:00
jdescottes
cc45ede931 Initial commit 2014-05-12 00:50:13 +02:00
Julian Descottes
43957b4a13 Merge pull request #180 from juliandescottes/feature-tiled-preview
Feature tiled preview
2014-05-12 00:49:34 +02:00
jdescottes
384f8f71b1 Merge 2014-05-12 00:18:34 +02:00
Julian Descottes
2827bbe94a Merge pull request #179 from juliandescottes/feature-dynamic-palette
Feature dynamic palette
2014-05-12 00:10:26 +02:00
jdescottes
2ec71da0e8 Merge branch 'master' into feature-tiled-preview 2014-05-11 23:35:34 +02:00
jdescottes
a8e0fef416 Merge branch 'master' into feature-dynamic-palette 2014-05-11 23:34:49 +02:00
Julian Descottes
6fcbfe3873 Merge pull request #178 from fsvieira/master
Standalone App with node-webkit
2014-05-11 23:34:15 +02:00
fsvieira
0d599ae4a7 Merge branch 'master' of https://github.com/juliandescottes/piskel 2014-05-11 21:18:43 +01:00
fsvieira
8eb0374351 Change node webkit releases location, ignore unecessary files. 2014-05-11 21:16:57 +01:00
juliandescottes
cfb846b6de Moved hardcoded values to constants in PaletteListController 2014-05-11 11:55:00 +02:00
jdescottes
94ce3907da Renamed UsedColorsService to CurrentColorsService + exposed getCurrentColors explicitly 2014-05-08 22:11:16 +02:00
jdescottes
453fbcf88e Fix : changed classnames used for primary and secondary color highlight in palette 2014-05-08 22:03:19 +02:00
jdescottes
3969867dfa Fix : bug when setting switching primary and secondary colors 2014-05-08 21:56:36 +02:00
jdescottes
9af23baa88 Fix : set name for tiled background checkbox 2014-05-08 21:23:15 +02:00
jdescottes
59195c9fb6 Tiled preview : mutualize canvas background update
When user changes canvas background, css class now applied on document
body.

Created new controller listening to Events.USER_SETTINGS_CHANGED to handle
this.
2014-05-08 20:57:31 +02:00
jdescottes
6ad5bde5d1 TiledPreview : follow up 2014-05-08 20:45:05 +02:00
juliandescottes
98135d01f8 Merge branch 'master' into feature-tiled-preview 2014-05-08 01:42:53 +02:00
juliandescottes
aa4c94e3af Feature : Tiled preview initial commiy 2014-05-08 01:41:14 +02:00
jdescottes
c98d25ab66 Fix : Duplicate Current Frame bug (shift+n)
Events were not raised when using Duplicate current frame on
PublicPiskelController.
2014-05-08 01:36:59 +02:00
jdescottes
637fa05109 Feature : Current colors palette
Created dynamic palette displaying currently used colors.
This palette is now selected by default.

New service UsedColorsService created. Listens to PISKEL_RESET and
TOOL_RELEASED and keeps track of the list of current colors.

Still need to :
- improve sorting of colors
- allow to clone the current color palette as a custom palette
- add proper getter in UsedColorService to get the list of current colors

Also I hardcoded a max-height for the palettes-list as I found no better
way of handling the case of palettes containing many colors.

Maybe should add a limit to the number of colors handled by this automatic
palette.
2014-05-07 00:43:28 +02:00
Filipe Vieira
db6dff0564 change node webkit versions to work with older node versions. 2014-05-06 19:27:24 +01:00
jdescottes
f4108c7dbf Fix : removing useless label in resize panel 2014-05-06 07:27:12 +02:00
Filipe Vieira
7ad836f9f9 Setup nw releases destinations to build folder. 2014-05-06 03:16:51 +01:00
Filipe Vieira
8a85e953f1 Merge remote-tracking branch 'upstream/master'
Conflicts:
	Gruntfile.js
2014-05-06 02:53:18 +01:00
jdescottes
c565111947 Added grunt server and server:watch tasks 2014-05-05 23:43:23 +02:00
jdescottes
fa3b44baf9 Build : Added grunt server:debug target 2014-05-05 23:20:00 +02:00
Julian Descottes
f16b810ffb Merge pull request #177 from juliandescottes/enhance-build
Enhance build
2014-05-05 23:13:30 +02:00
jdescottes
adca1bbd08 Added grunt server task to run server+watch 2014-05-05 23:08:11 +02:00
jdescottes
bc23e9cea6 Enhancement : full piskel build deployed to dest
Use grunt [default] to build the application.
Target dest with a webserver to launch the application.
2014-05-05 22:36:34 +02:00
Julian Descottes
b7362c7082 Merge pull request #175 from juliandescottes/feature-resize-content
Enhancement : Possibility to resize canvas content during resize
2014-05-05 22:05:10 +02:00
jdescottes
0b1977b47c Fix : Fixed styling for resize content checkbox 2014-05-05 21:58:17 +02:00
juliandescottes
1db937ae01 Enhancement : Possibility to resize canvas content during resize
- new checkbox in resize panel
- content is resized using nearest neighbor
- deactivated by default

2 bug fixes :
- remove focus after closing drawer
- fire resize event after undo/redo if size changed
2014-05-04 22:58:36 +02:00
Filipe Vieira
7fb5fe93fa Make desktop app directory with all nedded files before build it. 2014-05-01 01:00:10 +01:00
Filipe Vieira
b2bdb252b7 Merge remote-tracking branch 'upstream/master' 2014-04-30 23:59:47 +01:00
jdescottes
38f18360b8 Fix : selection : click on non transparent pixel was cancelling selection 2014-04-30 08:30:29 +02:00
Filipe Vieira
d803e88c93 added node-webkit to generate standalone app. 2014-04-28 22:13:44 +01:00
jdescottes
a060e32b15 Enhancement : #169 : Use several meta for shortcut
- can now use shift+ctrl+alt in shortcut definition
- paste opaque for selection remapped to ctrl+shift+V
2014-04-24 13:28:21 +02:00
jdescottes
cf2c0e7045 Enhancement : preview copied selection + paste only opaque 2014-04-24 00:38:21 +02:00
Julian Descottes
98aad13f1e Merge pull request #168 from juliandescottes/feature-undo-redo
Feature undo redo
2014-04-23 23:56:31 +02:00
jdescottes
af52d9a96a Enhancement : Selection tools various enhancements
- can use BACKSPACE key to delete selection content
  when no selection, backspace retains the default behavior
- cursor for rectangle selection has been changed to crosshair
- fixed a bug where selection seemed to be cropped when released out of
  the visible canvas
2014-04-23 23:47:23 +02:00
jdescottes
5541d030a5 Feature : undo redo including frame/layer actions
- Frame and Layer CRUD actions are now registered and can be cancelled
- Limited performance impact while drawing
- Improved frame cache invalidation
2014-04-22 23:57:30 +02:00
juliandescottes
c2a3ccc8d0 Simplified SAVE STATE events, added wrap method to easily build decorators 2014-04-20 13:15:30 +02:00
juliandescottes
8335c07519 Fix : layer manager was broken 2014-04-19 20:19:24 +02:00