Commit Graph

702 Commits

Author SHA1 Message Date
James Lissiak
8ff15fd0e1 Fixing the preview frame grid stroke
- The width/height of the canvas used to draw the frame grid in the preview was incorrect, so the stroke width was too thick
- This change fixes it so the stroke width remains nice and thin by applying the correct canvas size
2015-06-01 10:50:58 -07:00
James Lissiak
8e4ea8437f Fixing unnecessary whitespace changes
- My editor added additional whitespace to several unchanged lines, so I just reverted them
2015-06-01 10:38:10 -07:00
James Lissiak
48f24c0cf3 Adding spritesheet import
- Updated the import dialog to allow users to specify the number of frames in the image (which defaults to 1 x and 1 y)
- Setting the frame count for x and y will draw a dotted line in the preview that shows where the image will be split into individual frames
- When imported with a frame count above 1, the source image will be split into the different frames and loaded just as if it were an animated gif
- This allows users to import existing spritesheet pngs, including those produced by the piskel export function
2015-06-01 10:29:52 -07:00
juliandescottes
8d85093874 Fix GIF issue 2015-05-18 11:51:28 +02:00
juliandescottes
1beeb8d6e4 Revert "Fix a GIF bug ... again"
This reverts commit f9b07b29a9.
2015-05-18 11:47:48 +02:00
juliandescottes
f9b07b29a9 Fix a GIF bug ... again 2015-05-18 10:40:05 +02:00
juliandescottes
9bc330e5e8 Merge branch 'master' of https://github.com/juliandescottes/piskel 2015-05-13 11:21:24 +02:00
juliandescottes
a51e20b370 Fix #282 : Clean build of gif.js made the issue disappear ... 2015-05-13 11:20:44 +02:00
jdescottes
ef6ef6256e Merge branch 'master' of https://github.com/juliandescottes/piskel 2015-05-08 22:36:03 +02:00
jdescottes
4edbc29e72 Fix #281 : Zoom keyboard shortcuts on Firefox
Keycode not consistent on FF :
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

Also added support for numpad +/- keys.
2015-05-08 22:34:29 +02:00
Julian Descottes
b72c775a04 Merge pull request #275 from MaxEden/master
Zip-Export: Split by layers option
2015-05-04 16:05:42 +02:00
Max Eden
034057dcd2 Moved subfunctions to prototype 2015-04-30 13:17:56 +06:00
Max Eden
016316518d Zip-Export: Split by layers option 2015-04-29 20:20:35 +06:00
jdescottes
ac9ccd04e2 Fix currentcolors on sprites with many frames 2015-04-29 04:00:46 +02:00
juliandescottes
ce8d71f47e Fix : resize panel : maintain ratio is always on 2015-04-28 13:32:55 +02:00
jdescottes
d3f5a41c0d Fix popup preview on Firefox 2015-04-27 22:34:50 +02:00
jdescottes
3f181c6248 Fix gif export transparency issue 2015-04-27 22:23:35 +02:00
juliandescottes
9de77c9f21 Fix : Add mac os menu (removed with nw > 0.10) 2015-04-26 23:33:49 +02:00
jdescottes
cf62f2ac0b Merge branch 'master' of https://github.com/juliandescottes/piskel 2015-04-26 22:13:23 +02:00
jdescottes
16362e1b13 Fix : Online save failing 2015-04-26 22:07:14 +02:00
juliandescottes
6df145455e enhancement : use size-input instead of select for export 2015-04-24 14:57:01 +02:00
juliandescottes
daceb326c5 enhancement : use size-input instead of select for export 2015-04-24 14:55:00 +02:00
jdescottes
5fbadc0d80 wip : Add save as button 2015-04-24 00:00:53 +02:00
jdescottes
473bd4705c Add save as button 2015-04-23 23:59:05 +02:00
jdescottes
9e1cfef924 fix:focus preview popup if already opened 2015-04-15 07:27:00 +02:00
jdescottes
e384f7d2e2 Added Blob polyfill for Phantom JS (debug mode only) 2015-04-14 23:08:53 +02:00
jdescottes
be3d2cf20d merge 2015-04-14 22:36:25 +02:00
jdescottes
54ae52e117 Merge branch 'master' of https://github.com/juliandescottes/piskel 2015-04-14 21:31:49 +02:00
juliandescottes
b480acc6a0 Added JSCS linter to enforce style conventions 2015-04-14 18:02:33 +02:00
juliandescottes
007e4d4e11 Usability : keyboard shortcuts cheatsheet
- click outside of cheatsheet-wrapper closes the popup
- removed jquery from CheatsheetService
- removed label 'Keyboard shortcuts' in favor of tooltip
2015-04-14 11:09:36 +02:00
juliandescottes
6070ebead5 Updated dependencies 2015-04-13 17:24:49 +02:00
juliandescottes
1f5272415c #261 replaced throw by console.error for recoverable errors 2015-04-13 14:33:34 +02:00
juliandescottes
d1b12a07ac fix : check undefined palette 2015-04-13 13:29:13 +02:00
juliandescottes
77877c118f unknown tinycolor 2015-04-13 13:11:36 +02:00
juliandescottes
e0c16486d3 fix : strip # from hexcolor before parseint16 2015-04-13 13:08:42 +02:00
juliandescottes
ba491736c1 test : add unit test for ColorUtils 2015-04-13 13:02:12 +02:00
juliandescottes
0e817a88a7 Fix for #265 2015-04-13 11:45:50 +02:00
jdescottes
e260b36585 Update save form display 2015-04-10 00:57:20 +02:00
juliandescottes
3d58bcae6c Fix jshint errors 2015-04-09 18:24:34 +02:00
Julian Descottes
281103c46e wip : replace Job by promises 2015-04-09 17:17:05 +02:00
Julian Descottes
e6ed0c28a3 wip : replace Job by promises 2015-04-09 17:16:58 +02:00
Julian Descottes
522006f67a wip : replace Job by promises 2015-04-09 17:16:48 +02:00
Julian Descottes
e11355193b Now using webworker to compute current colors 2015-04-09 17:16:26 +02:00
jdescottes
30cdb6d335 Fix node-webkit regression 2015-04-08 00:14:35 +02:00
jdescottes
3d6cd3e576 Fix post merge bugs for desktop mode 2015-04-07 23:54:49 +02:00
juliandescottes
4b7b18ca6f post merge 2015-04-07 23:15:36 +02:00
juliandescottes
9e6e39e3d8 WIP : Use workers to compute hash and current colors 2015-03-26 11:15:11 +01:00
Julian Descottes
c600d62bd2 Merge pull request #259 from leegrey/desktop-save-action
Desktop IO Features
2015-03-26 10:42:52 +01:00
Lee Grey
f114676db7 Include save file path in "Successfully Saved" popup. Show full save path under the save button. Hide the "save to browser" portion of the save panel when running in desktop mode. 2015-03-26 20:32:27 +13:00
Lee Grey
0ec3787fc4 change require() to window.require() so compiler does not report errors. 2015-03-25 18:36:55 +13:00
jdescottes
40cced7be0 Merge branch 'master' into fix-palette-bugs 2015-03-24 17:17:22 +01:00
Julian Descottes
81a9e7a678 Merge pull request #260 from juliandescottes/fix-chrome-canvas-radeon-bug
Workaround for Chrome 41 issue Canvas + Radeon :
2015-03-24 17:01:37 +01:00
jdescottes
6328fe760f Workaround for Chrome 41 issue Canvas + Radeon :
Issue opened at https://code.google.com/p/chromium/issues/detail?id=469906
Workaround in FrameRenderer.js is to decrease the width+height of the
fillRect of 1 pixel.
Issue seems to impact only Radeon users (not sure if all cards are
impacted)
2015-03-24 16:02:47 +01:00
Lee Grey
932974d744 Undid changes to suppress Errors, since grunt test did not like it that way either. (Bad style.) 2015-03-24 23:09:44 +13:00
Lee Grey
eb4941417c suppressing build errors when referring to "require" and "process" 2015-03-24 22:58:42 +13:00
Lee Grey
93deb1c2c5 Just adding semicolons to make the linter happy 2015-03-24 22:33:14 +13:00
Lee Grey
c9b581f6db When running in Node-Webkit, hold onto the full savePath when opening.piskel files via the gui or drag and drop. 2015-03-22 00:39:23 +13:00
Lee Grey
6a6f75b3ce Moved desktop lO logic to new DesktopStorageService class. Bound keypresses for ctrl-o, ctrl-s, and ctrl-shift-s. Savepath is now also propagated on resize operation. SaveFile can optionally guarantee that a supplied file extension will be present on output file. 2015-03-19 23:46:53 +13:00
Lee Grey
04a1633a90 Moved desktop FileUtils into their own class. Split PiskelFileUtils::loadFromFile() so the decoding portion can be called separately by desktop load function. "savePath" is stored in piskel instance, and propagated to new instances in HistoryService. "savePath" is also stored on load so it is available for resave. 2015-03-18 00:24:03 +13:00
Lee Grey
b168e8ca76 Store user selected filePath on the Piskel instance stored in pskl.app.piskelController. Getter and Setter in PublicPiskelController for filePath. 2015-03-16 23:13:36 +13:00
Lee Grey
fa6f2e5db6 Added new save functions for when running in Node-Webkit. 2015-03-15 01:40:00 +13:00
Lee Grey
1c66282b01 Added pskl.utils.Environment for detecting if Piskel is running in Node-Webkit. 2015-03-14 00:11:24 +13:00
jdescottes
5cbb9b8664 ongoing : web workers for current colors service 2015-03-11 18:51:49 +01:00
jdescottes
6254490a23 feature #251 : Set default size in Resize pref panel 2015-03-04 08:37:37 +01:00
jdescottes
43e60e300c Set preview render flag when updating TILED_PREVIEW seW 2015-03-03 23:50:19 +01:00
jdescottes
fe95abca0f Switch to template for popup preview (easier integration) 2015-03-03 23:36:12 +01:00
jdescottes
bcecd3058b Popup preview : refactor, cross browser, WIP
- moved preview controllers to pskl.controller.preview
- renamed PreviewFilmController to FramesListController
- renamed AnimatedPreviewController to PreviewController
- fixed init of popup preview on IE (use ownerDocument to create
  TiledFrameRenderer container) => should try with innerHTML
- moved open popup button inside the minimap (show on hover)
2015-02-28 10:56:15 +01:00
jdescottes
68a807ccb5 Forgot PopupPreviewController.js 2015-02-27 23:57:14 +01:00
jdescottes
7a355b39a0 Refactored HistoryService, CurrentColorsService, draft for popup preview 2015-02-27 23:54:18 +01:00
jdescottes
0f1489727c Removed JQuery from ImportController 2015-02-26 22:07:36 +01:00
jdescottes
bab3d6677e Remove JQuery from all setting controllers 2015-02-26 01:25:33 +01:00
jdescottes
bcb709300c Added method to enable image smoothing on Canvas 2015-02-26 00:13:32 +01:00
jdescottes
4f2f01ea36 Wrapped applicationSettings in FORM 2015-02-23 00:32:34 +01:00
jdescottes
8592cd2e53 Moved resize+app settings to AbstractSettingController 2015-02-23 00:23:11 +01:00
jdescottes
b4c1a4c714 Merge branch 'master' into fix-palette-bugs 2015-02-22 23:08:21 +01:00
jdescottes
3585a6f96e Merge resize content and resize canvas in single form 2015-02-22 23:01:43 +01:00
juliandescottes
0914e2816e Added Event utils to easily add/remove events without leaks. Added Max FPS setting to appl settings 2015-02-22 18:03:46 +01:00
juliandescottes
0b41c0f648 Removing jquery leftover 2015-02-22 16:47:44 +01:00
juliandescottes
beb2fa6ba9 Removed JQuery from ApplicationSettings 2015-02-21 15:41:32 +01:00
jdescottes
61fb6c5e6f Extract resize anchor code to dedicated widget file 2015-02-20 01:40:34 +01:00
jdescottes
d310a77893 Enhancement : choose anchor for resize canvas 2015-02-17 02:06:52 +01:00
juliandescottes
84f366e7e4 enhancement : resize panel 2015-02-15 23:41:58 +01:00
jdescottes
561d016a45 fix : keyboard accessibility for colorpicker inpus 2015-02-12 00:39:38 +01:00
jdescottes
334d6ad21f fix : rename preferences tab 2015-02-10 23:09:28 +01:00
jdescottes
0382b3858b enhancement - cleaner UI for resize panel 2015-02-05 02:21:15 +01:00
jdescottes
2aa87b5fac enhancement - cleaner UI for resize panel 2015-02-05 02:16:25 +01:00
jdescottes
d7fef0f88b fix - log error if BackupService fails to store piskel in localstorage 2015-02-05 01:59:37 +01:00
jdescottes
c7131678f8 Fix mousewheel event for IE11 2015-01-24 00:00:08 +01:00
juliandescottes
5831447f75 Fix #242, onion skin rendered not cleared if 0 frames 2014-12-27 15:02:41 +01:00
jdescottes
043f077408 Bug in undo when cancelling Shape tool used with Shift key 2014-12-24 08:27:54 +01:00
jdescottes
5cb1d0cd03 Fixed CanvasRenderer regression + added unit test 2014-12-21 18:56:40 +01:00
jdescottes
123ea31191 Cleanup minimapController, center previewFilm canvas 2014-12-21 18:38:14 +01:00
jdescottes
df5aef363b Move to imgstore-b, change body bg 2014-12-21 16:44:10 +01:00
jdescottes
0642e17aa8 Draw lines of pixels instead of single pixels 2014-12-19 08:28:15 +01:00
jdescottes
1402394d07 Animation pauses when FPS slider at 0FPS + slight perf improvement 2014-12-18 23:57:34 +01:00
jdescottes
e1ba57c92f cleanup MinimapController 2014-12-18 22:29:14 +01:00
jdescottes
2db04fe7d6 Support rectangular resolution & maximize viewport usage 2014-12-18 21:42:03 +01:00
jdescottes
7fd49aaccb Removed localhost url ... 2014-11-26 07:48:15 +01:00
jdescottes
2ab1e29365 Merge branch 'master' into feature-add-effects 2014-11-23 21:54:31 +01:00
jdescottes
5afec16258 Cleanup of console.log in MinimapController.js-n 2014-11-23 21:48:32 +01:00
jdescottes
fad483ce7a Increased movement speed 2014-11-23 21:44:51 +01:00
jdescottes
b10e87d2b7 Fix for issue #189 : user can move the viewport via click n drag of middle mouse button 2014-11-23 21:37:34 +01:00
jdescottes
61ee1d9b32 Added clone tool + icon 2014-11-23 16:27:12 +01:00
jdescottes
ce1a5c4918 Rotate non square sprites, added rotate icon, unit tests for transforms 2014-11-23 15:03:35 +01:00
jdescottes
796cd4466e Added Rotate tool + abstract Transform tool 2014-11-22 00:07:11 +01:00
jdescottes
0f49c884f2 Mutualize HTML generation for drawing tools and transform 2014-11-21 01:15:55 +01:00
jdescottes
c8dae1cb79 Added mirror transformation 2014-11-19 23:00:25 +01:00
jdescottes
54837d0e21 Issue #228 : Zoom is very slow on Firefox 2014-11-01 14:00:35 +01:00
Andrey Etumyan
ac5083633b Combining oninput and onchange events for the FPS counter. 2014-10-31 22:38:11 +04:00
jdescottes
c32af500dc add notification if image upload fails 2014-10-01 01:21:49 +02:00
jdescottes
dc4de32162 Added support for .PAL palettes 2014-09-30 00:58:15 +02:00
jdescottes
243990a90f Fixed : cache issue coming from piskel-boot file 2014-09-30 00:19:54 +02:00
juliandescottes
fe5e8966a5 added shortcuts to select previous / next color in palette 2014-09-27 11:04:03 +02:00
juliandescottes
37aa6c3d72 sort colors on image import for palette 2014-09-27 01:22:20 +02:00
juliandescottes
d805e13d57 sort colors on image import for palette 2014-09-27 01:10:54 +02:00
jdescottes
a7ef57b6ee fixed color sorting for desaturated colors 2014-09-26 00:03:24 +02:00
juliandescottes
ac08775406 improved current colors sort 2014-09-25 00:13:23 +02:00
juliandescottes
6583d3d560 moved rgbToHex correct implementation to pskl core utils 2014-09-24 21:53:41 +02:00
juliandescottes
b5465ca066 fixed palette import bug 2014-09-24 21:50:16 +02:00
jdescottes
258d13371d improved current colors sort algorithm 2014-09-24 08:15:18 +02:00
jdescottes
e3e6730b45 improved current colors sort algorithm 2014-09-24 07:43:04 +02:00
jdescottes
6ef99bba15 improved current colors sort algorithm 2014-09-24 00:26:31 +02:00
jdescottes
afe790e5e3 Removed unused CSS rules for old edit/merge layer actions 2014-09-23 08:05:31 +02:00
jdescottes
8989e984cb added dedicated style for colors-list for IE and FF + bug fixing on ProgressBarCOntroller for FF 2014-09-23 08:00:46 +02:00
jdescottes
00dd660571 Use dedicated service to display progress information 2014-09-22 23:51:28 +02:00
jdescottes
8a29b78af8 Merge branch 'master' into enhancement-palette-sorting
Conflicts:
	src/js/utils/FrameUtils.js
2014-09-21 21:56:22 +02:00
jdescottes
9ef46d5ec5 added FrameUtils unit tests 2014-09-21 21:39:54 +02:00
jdescottes
6445b44d02 Moved image import to worker 2014-09-20 09:14:21 +02:00
jdescottes
9afe69cb87 Split CreatePaletteControllers in ctrl + widget for colors list 2014-09-18 07:59:56 +02:00
jdescottes
508fb79c32 Homogeneize layout, drop palette 2014-09-18 07:18:07 +02:00
jdescottes
8ebdc4cd41 Enhancement palettes : Added download palette
- palettes can be downloaded as GPL palettes
- slightly tweaked the UI of hsl rgb picker
- switched preferred format of spectrum to hex
2014-09-17 01:32:59 +02:00
jdescottes
fab9c6e836 select new palette after saving 2014-09-16 00:37:24 +02:00
juliandescottes
9325abb924 Enhancement : Layers merge
Added drawing test + fixed drawing test runner on Mac OS X
2014-09-13 20:21:40 +02:00
juliandescottes
4ed7338f25 Feature : merge layers
Added feature to merge a layer with the layer below
Done at #jsconfeu2014 :)

New icon in icons : merge-icon.png
TODO : reorder the icons folder, it's waaaaaaay too messy !!
2014-09-13 20:10:05 +02:00
jdescottes
90845b3a62 Enhancement : Color palettes
- Added clone feature when editing existing palette
- Added arrow up/down to increase decrease input values
- Paint.net palettes are supported
2014-09-09 23:53:57 +02:00
jdescottes
125e332b7c Enhancement : palette color creator
- Added import of GPL files
2014-09-07 18:25:17 +02:00
jdescottes
e457209c8f Enhancement : Palette color creator
- Added import button on create palette dialog
- implemented import from images
- missing limitation on color count when importing !!
- should remove button when editing existing palette
2014-09-07 14:31:28 +02:00
jdescottes
8643f4402a Moved PaletteService from pskl.service to piskel.service.palette 2014-09-07 12:27:06 +02:00
jdescottes
92d7109ef7 Enhancement : Palette colors creation
- Added cancel button to create palette dialog
- Added escape/unescapeHtml methods to pskl.utils
- Escaping palette name now ...
- Removed outdated comment in app.js regarding appEngine token
- Added a call to destroy() during dialogClose of AbstractDlgCtrl
2014-09-07 12:22:44 +02:00
juliandescottes
6b32239fa1 fixed bug with hue slider capped to 255 2014-09-06 22:37:05 +02:00
jdescottes
8441f28ac1 Palette creator can save palettes to local storage 2014-09-06 12:37:11 +02:00
jdescottes
e8db80a0ec Extracted ColorPicker code to dedicated widget package (noooooooo) ; Added basic palette creation mechanism (list colors + add color) 2014-09-04 08:34:17 +02:00
jdescottes
7d9f8a8ccf Added color picker in create palette popup 2014-09-04 00:22:02 +02:00
juliandescottes
073f46b0d7 starting palette implementation using creation wizard 2014-08-30 18:39:54 +02:00
jdescottes
32e528525c Small cleanup zip export screen 2014-08-27 01:12:29 +02:00
jdescottes
1a8f10c63d Merge branch 'posva-master' into feature-add-tests 2014-08-26 22:46:33 +02:00
jdescottes
b2ab504422 Drawing tests structure cleanup 2014-08-26 08:21:58 +02:00
jdescottes
895a15524d Cleanup of HistoryService, removed this.$serviceName for consistency 2014-08-24 18:10:09 +02:00
jdescottes
13001bd7bd added drawing tests for all tools currently available 2014-08-24 17:57:30 +02:00
jdescottes
caebce5ec8 added test suite runner, removed tests from travis build 2014-08-23 22:45:52 +02:00
Eduardo San Martin Morote
978319af20 Allow to rename basename for PNG in ZIP export option.
This may helps #192
2014-08-22 11:27:45 +02:00
jdescottes
56b1f421bc add drawing tests to casper 2014-08-22 00:37:35 +02:00
jdescottes
1955d3f8f5 First implementation of tool tester 2014-08-21 00:50:59 +02:00
jdescottes
8d8c40e6a6 tests update 2014-08-12 07:11:23 +02:00
jdescottes
6d6e80c762 tests update 2014-08-12 00:30:57 +02:00
jdescottes
c1900a07f0 Final fixes before new version 2014-07-15 00:31:24 +02:00
jdescottes
a43b20e182 fix lighten bug when starting on transparent pixel 2014-07-14 16:44:36 +02:00
jdescottes
b556143b66 fixed fps when restoring backup 2014-07-14 14:39:21 +02:00
jdescottes
19c99d1aa7 Fixed canvas ordering, fixed FPS during local import 2014-07-14 14:14:28 +02:00
jdescottes
dc78c3cecd Yet another history bug ! 2014-07-14 00:37:17 +02:00
jdescottes
829bcb8ad1 Simplified lighten + fixed frame caching bug 2014-07-13 21:01:50 +02:00
jdescottes
56f008bda6 restored history snapshot interval to 50 2014-07-13 18:17:13 +02:00
jdescottes
5350255eee fixed lighten reset + fixed history bug 2014-07-13 17:59:53 +02:00
jdescottes
d4884a2de5 Capture events on tmp download link created by FileUtils 2014-07-13 15:54:13 +02:00
jdescottes
581bd46dcd Cleanup + updated tooltips 2014-07-13 15:15:45 +02:00
jdescottes
1e8315f32c Switch back to imgstore-a 2014-07-13 14:11:49 +02:00
jdescottes
cc8460cc26 Fix gif worker URL on IE11 appengine mode 2014-07-13 14:02:35 +02:00
jdescottes
aa375315a2 Fixed mime type bug on Firefox 2014-07-13 01:01:33 +02:00
jdescottes
e5cb0717e2 cleanup 2014-07-13 00:43:35 +02:00
jdescottes
6af04bb599 cleanup 2014-07-13 00:21:36 +02:00
jdescottes
dfc3bfd181 Fixed Gruntfile for ghpages export 2014-07-12 21:14:07 +02:00
jdescottes
ad3dd935e0 Create 2 new dialog controllers
Image import is now triggering a popup after selecting the file.
Same for local saves.

Drag and drop of .piskel files opens the piskel immediately !

Remains to do :
- redesign the dialog for import image and browse local
- create dialog for recover session
- improve recover session to handle more than the last session
2014-07-12 15:34:50 +02:00
jdescottes
18ff6f88a7 Merge branch 'feature-dnd-images' into feature-export-to-file 2014-07-12 11:12:18 +02:00
jdescottes
b2fbe269d3 Merge branch 'master' into feature-export-to-file 2014-07-12 00:46:27 +02:00
jdescottes
a8ce829e6c Image dnd first implementation 2014-07-12 00:41:39 +02:00
Julian Descottes
2fabf68282 Merge pull request #203 from juliandescottes/feature-swap-color
Feature swap color
2014-07-11 00:25:22 +02:00
jdescottes
b66d5ee93b Cleanup of tooltip generation 2014-07-11 00:14:21 +02:00
jdescottes
982a5ab048 Refactoring tooltip code + display CMD on mac 2014-07-10 01:32:16 +02:00
jdescottes
a6d70920e2 Improve tooltip design 2014-07-09 07:56:22 +02:00
jdescottes
b311312260 Removed hack from ColorPicker class 2014-07-08 20:09:21 +02:00
jdescottes
665d2bd9bc Settled on temp icon for swap colors 2014-07-08 20:06:03 +02:00
jdescottes
4aac65fb9e Settled on temp icon for swap colors 2014-07-08 20:04:16 +02:00
jdescottes
4102e929f4 Removed unused methods from Frame 2014-07-07 23:33:29 +02:00
jdescottes
b3bb2472f1 perf step 1 : ok on chrome,horrible on FF 2014-07-07 22:48:13 +02:00
jdescottes
a6d939cc9a Fix selection paste transparent pixels 2014-07-06 23:59:07 +02:00
jdescottes
304a5c06da swap color : initial implementation 2014-07-06 23:56:50 +02:00
jdescottes
707a69182f Fixed IE issues + verisoning for iframeloader and boot 2014-07-06 17:15:18 +02:00
jdescottes
8f5ead43d9 Fix : remove cache issues for css, js, templates
Packaged css and js are now suffixed with the build date.
All templates are exported to a folder named after the build date.
Streamlined the build process to copy files to piskel-website.

Isolated common part between piskel and piskel-website in a separated
template, which is now completely created by the grunt build of piskel.

Added a windows CMD script to copy the static resources to piskel-website.
2014-07-06 16:17:14 +02:00
jdescottes
41a4ee3f3d cleanup of import tab 2014-07-06 12:55:29 +02:00
jdescottes
f8b6d7b0d3 Merge branch 'master' into feature-export-to-file 2014-07-05 23:53:03 +02:00
jdescottes
96fc5f2418 Enhancement : modifiers for Mirror pen 2014-07-05 17:04:18 +02:00
jdescottes
26a463c4b4 Updated font-icon with a better grid 2014-07-05 14:16:53 +02:00
jdescottes
bf9be5de2d Fixed input range style on IE11 2014-07-05 11:41:40 +02:00
jdescottes
2c235e659b Fixed layout on FF, removed options in drawer 2014-07-05 11:39:02 +02:00
jdescottes
a77168986a Enhancement : Shortcuts for onion kin + layer prev
Added 2 new icons :
- Animated Preview Panel : toggle onion skin
- Layers Toolbox : toggle layer preview

Added an icon font generated with icomoon.

SVGs for both icons have been made under Inkscape and are kept under
misc/svg.

All reference SVGs have been moved to misc/svg.

Added 2 keyboard shortcuts for toggling onion skin / layer preview :
- alt L : toggle layer preview
- alt O : toggle onion skin
2014-07-05 11:27:11 +02:00
jdescottes
24186d5aec Added keyboard shortcuts 2014-07-04 19:17:02 +02:00
jdescottes
7b3f5ee858 Merged changes 2014-07-03 23:40:30 +02:00
jdescottes
fa4e96e7e5 Added documentation in CachedFrameProcessor 2014-07-03 23:23:31 +02:00
jdescottes
fa626532ba cleanup of performance improvement 2014-07-03 00:48:49 +02:00
jdescottes
a2e2459169 cleanup of performance improvement 2014-07-03 00:09:47 +02:00
jdescottes
8a70943b09 Fix : fix classes extending simplePen 2014-07-02 07:34:07 +02:00
jdescottes
d126023c4a temp 2014-06-30 20:38:14 +02:00
jdescottes
f2281d7125 temp commit 2014-06-29 23:16:37 +02:00
jdescottes
3efa94dce5 Merge branch 'master' into feature-export-to-file 2014-06-27 07:16:48 +02:00
jdescottes
bd7ebc5f7d Fix : add backup service and make undo safer 2014-06-27 02:08:00 +02:00
jdescottes
89466d582a Feature : Save Piskel project as File
First commit :
Removed Local storage feature
Added 'download project' 'open project' options

First attempt at simplifying right panel.

To be continued ...
2014-06-23 00:49:54 +02:00
jdescottes
42c799d217 added scripts for desktop packaging 2014-06-21 22:39:37 +02:00
jdescottes
98f59fecf1 Feature : add onion skin option
New option in application settings : onion skin.
You can choose the overlay to display now :
- no overlay
- onion skin (default)
- layer preview (previous default)

Available in Application Settings panel.

Only one overlay can be used at the same time.
The onion skin overlay is driven by a new OnionSkinRenderer maanged by the
drawing.

The drawing controller is responsible for instanciating and 'choosing' the
overlay renderer.

When switching to a new overlay, other overlays are cleared and flushed
(they cache their rendering frame, flush empties the cache).

NB : flush is only available on LayersRenderer and OnionSkinRenderer for
now.
2014-06-19 23:33:57 +02:00
jdescottes
fbb5ccc7e2 Fix : bugs in imageToBlob and PngExportController 2014-06-17 07:46:15 +02:00
jdescottes
2809a551d7 Fix : Export to GIF : download option
In the GIF export panel, user can now choose between :
- export online (previous 'upload' feature)
- download GIF

Labels have been updated in the PNG export panel to follow the same
convention.

CanvasToBlob library was modified and moved to dedicated utils to handle
not only canvas, but also any base64 dateURI.
2014-06-14 14:21:26 +02:00
jdescottes
d501129e8e Fix : retrieve piskel info from controller 2014-06-13 19:06:15 +02:00
jdescottes
a45407571e Fix : dont modify transparent color 2014-05-20 23:28:16 +02:00
jdescottes
da9cd78b56 Fix : dont modify transparent color 2014-05-20 22:42:39 +02:00
jdescottes
cdef28c60f Fix : force zoomMultiplier to 1 on using +/- 2014-05-18 17:32:20 +02:00
jdescottes
f1b6ea4ae3 Fix : zoom step depends on mousewheel event delta value 2014-05-18 16:33:01 +02:00
jdescottes
0fec4eff4a Fix: cannot detect mac touchpad : switch to throttling 2014-05-18 16:05:59 +02:00
jdescottes
6dc3a2bdf7 merge 2014-05-18 15:51:11 +02:00
jdescottes
5b4074fc38 Merge branch 'master' into feature-shift-frame 2014-05-17 11:11:29 +02:00
jdescottes
c7c536dc80 Fix : Loading state with delete frame/layer
The Frame and Layer selected after an undo/redo are now taken from the
next state saved in the HistoryQueue.
2014-05-17 11:03:18 +02:00
jdescottes
2aa8bf578b Enhancement : Move tool: shift out of bound pixels
When holding shift and using the move tool,pixels normally exiting the
frame will now be redrawn on the other end of the frame.

Makes it easy to perform sliding animations.
2014-05-17 11:01:09 +02:00
jdescottes
7cbf2b2794 Fix : Update tooltip text for lighten tool 2014-05-17 08:44:23 +02:00
jdescottes
1401c30d87 Fix : Lighten tooltip + fix for #170
Issue 170 : both selected frame and layer are kept after a resize
2014-05-17 00:38:13 +02:00
jdescottes
d8772bdd8d Fix : do not apply lighten if transparent 2014-05-17 00:09:59 +02:00
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
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
jdescottes
384f8f71b1 Merge 2014-05-12 00:18:34 +02:00
jdescottes
a8e0fef416 Merge branch 'master' into feature-dynamic-palette 2014-05-11 23:34:49 +02: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
jdescottes
f4108c7dbf Fix : removing useless label in resize panel 2014-05-06 07:27:12 +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
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
jdescottes
38f18360b8 Fix : selection : click on non transparent pixel was cancelling selection 2014-04-30 08:30:29 +02: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
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
juliandescottes
b8ef570077 Removed cached serializer in Frame.js 2014-04-19 20:04:43 +02:00
juliandescottes
d45ea00ca5 Refactored piskel controller to extract the event creation 2014-04-19 16:01:51 +02:00
jdescottes
b7e4deae00 Fix : frame and layer should be correctly selected when loading a snapshot state 2014-04-18 13:13:42 +02:00
jdescottes
0cecdc74eb Temp commit 2014-04-17 01:27:49 +02:00
jdescottes
b712a497e2 Feature : import sprites from GIF 2014-04-12 18:54:39 +02:00
jdescottes
9e78086ea8 Feature : import sprites from GIF 2014-04-12 18:48:39 +02:00
jdescottes
a59bfcab11 Feature : import sprites from GIF 2014-04-12 18:40:25 +02:00
jdescottes
29fa604d74 Fix : protect LayerRenderer against fake setDisplaySize calls 2014-04-12 15:16:18 +02:00
jdescottes
c5accf978e Fix : Plug PreviewFilmController to USER_SETTING_CHANGED 2014-04-12 14:19:28 +02:00
jdescottes
76044fa6d4 Fix : Plug PreviewFilmController to USER_SETTING_CHANGED 2014-04-12 14:19:13 +02:00
jdescottes
23f1e8908e Enhancement : performance : event delegation for previewfilmcontroller 2014-04-12 14:15:45 +02:00
jdescottes
b217f8f005 Added progress bar for GIF rendering 2014-04-12 12:09:22 +02:00
jdescottes
09319ecc1b Added progress bar for GIF rendering 2014-04-12 12:08:53 +02:00
jdescottes
3abf0897d5 Enhancement : display canvas size next to cursor coords 2014-04-12 10:14:57 +02:00
jdescottes
ee3285089a Enhancement : shape tool + shift : now constrained to minimum 2014-04-12 09:49:29 +02:00
jdescottes
dc729ee80b Feature : display cursor coordinates
- new controller CursorCoordinatesController
- added div in right column (bottom:0)
- 3 new events : CURSOR_MOVED, DRAG_START, DRAG_END
- modified tools to fire events when necessary

The cursor coordinates are displayed when the mouse is hovering the
drawing area. When the mouse leaves the area, the indication disappears.
If the user is using a tool that involves dragging (selection, rectangle,
circle), the indicator displays the original coordinates (captured during
drag start) and the current coordinates.
2014-04-11 23:32:28 +02:00
jdescottes
abd5ac5959 Feature : export to ZIP 2014-04-11 01:12:01 +02:00
jdescottes
dd4a544d7a Bug : current layer index was a string 2014-04-09 23:38:35 +02:00
jdescottes
39d7d4d8c8 Enhancement : Rename layers
- added rename icon in layers list
- mutualized CSS for edit icon between palette manager and layers list
- new CSS file icons.css for actions/links/buttons using icons
- layers are no longer retrieved by name, but by index
2014-04-09 23:24:25 +02:00
jdescottes
644b72cc6e Bug : New palette name was set to object MouseEvent ! :) 2014-04-02 22:53:58 +02:00
jdescottes
1ce633bd06 Fix : Tools event listeners are now on window
Smoother user experience. Drawing shapes, selecting etc... is no longer
blocked by either the drawing canvas or the document.
2014-04-02 22:37:01 +02:00
jdescottes
c9251229fc Feature : Hold shift to preserve shape ratio
- mutualized shape tools common code in a ShapeTool class
- when holding shift and drawing a frame, the ratio is preserved
- selection and shape tools now support the mouse to leave the drawing
  area
- shape tools can go 'outside' the drawing canvas
- Frame set/getPixel now check the pixel is in range instead of crashing
2014-04-02 22:21:32 +02:00
jdescottes
7357614d9a Fix : Window resize is erasing the canvas
Issue was coming from the cached frame renderer.
During the window resize, we update the displaySize of the frame renderer,
regardless of the fact that the dimensions changed or not.

The setDisplaySize triggers a destruction of the canvas. But the
CachedFrameRenderer will render the frame only if it detects a change. In
this case, setDisplaySize has been overrided in CachedFrameRenderer to
skip any processing if the dimensions didn't change.

This behavior could be actually done in the FrameRenderer itself, but
since this is crucial to the CachedFrameRenderer behavior, I prefer to
keep it in this class.

Alternatively, could implement a way to discard caches of
CachedFrameRenderers from the outside.
2014-03-30 23:28:18 +02:00
jdescottes
090443c318 Feature : Color palette : fix spectrum issue
The palette manager UI is redrawn almost everytime the model changes.
This way, UI is always in sync with the model.

However, spectrum instances are spawning everytime a redraw is performed.
They cannot be cleaned before the redraw is performed, because if a
spectrum picker is opened, it should remain like this. This allows the
cuser to keep modifying a color without having to reopen the picker each
time he/she stops on a color.

As a workaround, I keep a reference on all the spectrum containers and
destroy them all when the manager is disposed.

Ideally I'd prefer to have a single spectrum instance that I could move
around depending on which color the user wants to edit. I.e. I want to
mutualize all the picker instances ...  But this will require a bit more
work.

Also added a notification when the user saves a palette.
Updated z-index of user-message container so that it is always above the
rest of the application.
2014-03-30 22:42:28 +02:00
jdescottes
3be4c78883 Fix : resize application on startup to adapt correctly to narrow screens 2014-03-30 21:55:29 +02:00
jdescottes
3765ce3d5e Issue #158 : updated zindex of minimap zoom square 2014-03-30 21:29:44 +02:00
jdescottes
4410aa5420 minor fix : remove console.log in PalettesListController 2014-03-30 21:01:14 +02:00
jdescottes
6d62d11872 Fix : drawing with the right mouse button (FF, IE)
Mousemove events do not have the correct button information
Need to keep the state of which button is clicked at which moment

This was actually the initial implementation ...
But I removed it because I couldn't remember why we did this in the
beginning.

Added lots of 'warnings' in comments, but won't be safe until we get good
integration tests.

References :
- FF : https://bugzilla.mozilla.org/show_bug.cgi?id=297919
"What if multiple buttons are pressed during mouse move?  And how does the
integer field (button) indicate that no button is pressed?  I think this
should be wontfix -- if people need button information during mouse move events
we need a new way of getting it (buttonSet), not the same way it works for click,
etc."
- IE : couldn't find any reference ...
2014-03-30 20:39:00 +02:00
jdescottes
b734db28dc Css fix + bug fix : double palette created when empty local storage 2014-03-30 16:54:26 +02:00
jdescottes
5b7e07e11e Fixed : spectrum pickers where no destroyed properly 2014-03-30 16:20:58 +02:00
jdescottes
7f17e17cff Minor css fix : adding 5px margin to palettes-list-colors 2014-03-30 15:38:13 +02:00
jdescottes
231ae9e165 Feature : color palette
- Fixed : manager UI is redrawn after save
- the Selected palette is saved as a user preference
- default background is now the dark one
- the selected palette is not reset after closing palette manager
2014-03-30 14:56:31 +02:00
jdescottes
4947cc4820 moved css to avoid img relative path issue after build 2014-03-30 03:11:31 +02:00
jdescottes
0e94606f41 moved css to avoid img relative path issue after build 2014-03-30 03:10:34 +02:00
jdescottes
b0ed5e4a7f Feature : palette color manager
- implemented save all functionality
- minor css update
2014-03-30 01:59:14 +01:00
juliandescottes
85b64a9f04 test 2014-03-30 01:12:01 +01:00
juliandescottes
d2ec797496 integrate palette list with palette manager 2014-03-30 01:10:00 +01:00
jdescottes
41e52a7a39 minor css fixes 2014-03-29 18:49:31 +01:00
jdescottes
f2da622edb Merge + palette manager 1st drop
- can create palettes
- palettes are persisted to local storage
- can add colors to palettes using spectrum color picker
- can remove created palettes
- can revert changes on unsaved palettes

Merge branch 'master' into feature-color-palette

Conflicts:
	src/css/spectrum/spectrum-overrides.css
2014-03-29 18:35:56 +01:00
Julian Descottes
f2aceedefd Merge pull request #157 from juliandescottes/feature-colorpicker-hexa
Feature colorpicker hexa
2014-03-26 07:51:36 +01:00
jdescottes
173936d74f Force rgb format, remove extra padding 2014-03-26 07:50:37 +01:00
jdescottes
d4f315e0c1 Color Palette : Added popup mgr + palettes list 2014-03-26 07:41:45 +01:00
jdescottes
1f022fd4a7 Enhancement : Add hint to see Keyboard cheatsheet 2014-03-18 01:45:59 +01:00
jdescottes
8581e4ec65 feature : allow user to input hexa for color 2014-03-16 23:41:38 +01:00
jdescottes
903f6817cf feature : allow to delete current selection
* Users can now use DEL to delete the current selection
* Cheatsheet has been updated accordingly
* Cheatsheet has been refactored to mutualize markup creation code
2014-03-16 23:22:47 +01:00
jdescottes
4b0b1a4bad doc : Updated JS Doc for ImageResizer 2014-03-16 22:53:10 +01:00
jdescottes
9ae01cb074 feature : change grid size
* removed SHOW_GRID boolean, replaced with GRID_WIDTH
* gridEnabled on a frame is now infered from the grid width setting
* updated template to use a select to pick the grid size
2014-03-16 22:46:43 +01:00
jdescottes
87574a2b30 Cleanup project root 2014-03-16 21:15:34 +01:00