Commit Graph

663 Commits

Author SHA1 Message Date
Dávid Szabó
ac3e43bf61 Add caching to CurrentColorsService 2016-10-01 14:34:01 +02:00
Dávid Szabó
502eb1aac4 Fix missing name and description from v2 2016-10-01 14:34:01 +02:00
Dávid Szabó
218c0b511b Fix callbacks to work with the new serializer 2016-10-01 14:34:01 +02:00
Dávid Szabó
a3fd2f0d89 Remove unnecessary argument 2016-10-01 14:34:01 +02:00
Dávid Szabó
c2b283be67 Fix services to use new serializer format 2016-10-01 14:34:01 +02:00
Dávid Szabó
dbbd57ae28 Fix old deserializers to match new callback func 2016-10-01 14:34:01 +02:00
Dávid Szabó
fefc635e25 Add function for reading file as array buffer 2016-10-01 14:34:01 +02:00
Dávid Szabó
8910bf0dbd Add model version 2 backward compatiblity 2016-10-01 14:34:01 +02:00
Dávid Szabó
f607c65789 Add model version 3 deserializer 2016-10-01 14:34:01 +02:00
Dávid Szabó
2962a838d3 Add model version 3 serializer 2016-10-01 14:34:01 +02:00
Dávid Szabó
7eab386122 Make sure opacity is a float and rounded 2016-10-01 14:34:01 +02:00
Dávid Szabó
0c0aa5f2c9 Add caching to CurrentColorsService 2016-10-01 14:34:01 +02:00
Dávid Szabó
bb7d5c862f Remove unnecessary rendering 2016-10-01 14:34:01 +02:00
Dávid Szabó
f0f79754f1 Remove loop and use the pixels directly 2016-10-01 14:34:01 +02:00
Dávid Szabó
a097d0b897 Fix frame processor caching 2016-10-01 14:34:01 +02:00
Dávid Szabó
a1ab693fb5 Remove nested loop 2016-10-01 14:34:01 +02:00
Dávid Szabó
7707aca03e Change nested loop and directly change pixels 2016-10-01 14:34:01 +02:00
Dávid Szabó
f829d589d5 Improve frame colors worker perfomance by caching 2016-10-01 14:34:01 +02:00
Dávid Szabó
712262b82a Format some code and remove unnecessary logging 2016-10-01 14:34:01 +02:00
Dávid Szabó
0bbb4ff2d5 Remove 2nd level cache 2016-10-01 14:34:01 +02:00
Dávid Szabó
6ee23e22df Throttle frameslist and preview rendering 2016-10-01 14:34:01 +02:00
Dávid Szabó
f5c98cf0b3 Rework pixel storage, manipulation, rendering 2016-10-01 14:34:01 +02:00
Dávid Szabó
06abdca62e Change model version to 3
The new serializing will use typed arrays / blob.
2016-10-01 14:34:01 +02:00
juliandescottes
f6be33d5bf Add performance figures to drawing tests 2016-10-01 13:09:19 +02:00
Dávid Szabó
3be2b3d3bc Add misc export: download selected frame as png 2016-09-23 16:35:22 +02:00
juliandescottes
e9ef6eb5b3 Issue #533: drawing tests, fix keyboard event replay on osx 2016-09-01 00:14:13 +02:00
juliandescottes
a2d5e6ff04 Issue #533: Fix drawing tests cross-browser/OS issues 2016-09-01 00:12:07 +02:00
Dávid Szabó
cbacd68414 Remove icons@2x.png from the repo 2016-08-31 22:40:22 +02:00
Dávid Szabó
53d728cf3a Make code more consistent 2016-08-26 01:11:03 +02:00
Dávid Szabó
d01f4ef83e Change onPiskelReady to support multiple callback 2016-08-24 22:43:16 +02:00
juliandescottes
9c6871effc Fix layout issue when starting with small viewport height 2016-08-16 10:33:19 +02:00
juliandescottes
2fe1fe67e5 Fix: flexbox issue on IE11 2016-08-16 10:06:42 +02:00
juliandescottes
8867324468 Fix zoom centering when zooming with keyboard shortcuts 2016-08-16 09:53:14 +02:00
juliandescottes
8e3ac50f81 Issue #290: cleanup unused code in SelectionManager 2016-08-16 01:04:55 +02:00
Julian Descottes
f4cbabe2ce Issue #290: selection tools: clear hasSelection flag when calling commitSelection 2016-08-16 00:40:01 +02:00
Julian Descottes
69393127fa Issue #290: rename dismissSelection to commitSelection 2016-08-16 00:40:01 +02:00
Julian Descottes
fc7fc6d9b0 Issue #290: Fix typo in comment 2016-08-16 00:40:01 +02:00
Julian Descottes
01aa4629cc Issue #290: Commit selection on ENTER 2016-08-16 00:40:01 +02:00
Julian Descottes
22797e5dc5 Issue #290: add missing parameter to dismissSelection in BaseSelect 2016-08-16 00:40:01 +02:00
Julian Descottes
0d5dc21a41 Issue #290: change boolean flag name to isMovingContent in BaseSelect 2016-08-16 00:40:01 +02:00
Julian Descottes
0d1210e71f Issue #290: fix wand cursor hotspot 2016-08-16 00:40:01 +02:00
Julian Descottes
34f2a9df0b Issue #163: show highlighter pixel for selection tools when no selection 2016-08-16 00:40:01 +02:00
Julian Descottes
a383e59280 Issue #290: allow to drag selection when using SHIFT while selection 2016-08-16 00:40:01 +02:00
epicabsol
77ccd60e77 Renamed lighten cursor
lighting.png -> lighten.png
2016-08-06 09:23:05 -07:00
epicabsol
17e6cf9b38 Dither & stroke cursors
Added dither and stroke cursors. The line on the stroke cursor is quite
hard to see, but I think that's pretty unaviodable. I would suggest
moving to a larger cursor size.
2016-08-05 22:32:24 -07:00
epicabsol
d795c297f5 Lighting cursor, more tweaks
Added an icon for the lighting tool, although it's somewhat difficult to
see what it is without looking closely. I'd love to hear other ideas for
a cursor. (See juliandescottes/piskel#351)
I also reworked the hit point of the existing cursors by a few pixels.
2016-08-05 21:34:46 -07:00
epicabsol
f4bf053564 Reworked circle drawing cursor
Reworked circle drawing cursor to match the style of the rectangle
cursor.
2016-08-05 20:33:18 -07:00
Julian Descottes
fdd4fb5b4e only update zoom for a valid modifier, fix zoom centering bug when using keyboard shortcuts 2016-07-30 00:01:32 +02:00
Julian Descottes
3e7999cfc5 Merge pull request #385 from smiegrin/master
Introduces zooming towards/away from mouse
2016-07-28 09:39:18 +02:00
Smie
f4c860ddfa Consolidates zooming into single function. 2016-07-26 09:28:18 -06:00
Julian Descottes
4895017ebb Fix viewport shaking on touchmove event on mobile/tablet 2016-07-26 12:13:49 +02:00
Smie
81b1bca7f5 Merge branch 'master' of https://github.com/juliandescottes/piskel 2016-07-25 14:40:58 -06:00
juliandescottes
0b1ec655ae retina: update lasso & shape select icons 2016-07-25 09:32:50 +02:00
juliandescottes
ba56a32b88 Issue #502: scroll selected layer into view when redrawing layer list 2016-07-24 19:21:07 +02:00
juliandescottes
a96bc0c72f retina icons 2016-07-24 17:06:47 +02:00
Lee Reilly
89c4044016 Replace 'alt' buttons with 'option' buttons on Macs 2016-07-20 12:35:05 -06:00
juliandescottes
0bc7f3bc05 dev env: automatically remove fake header from desktop builds 2016-07-10 13:59:11 +02:00
Julian Descottes
4518f50efa consider layer with opacity=0 as transparent 2016-07-04 00:23:03 +02:00
Julian Descottes
01a0bcf13c extract dev header to separate template 2016-07-03 15:40:04 +02:00
Julian Descottes
cd36a57a1a export controller: add synchronized rows input, remove poweroftwo checkbox 2016-07-02 16:49:17 +02:00
Brad Buchanan
7e112776b6 Use Constants.EMPTY_FUNCTION 2016-06-16 18:13:08 -07:00
Brad Buchanan
efbfeca200 Improved comments 2016-06-16 18:12:13 -07:00
Brad Buchanan
e1cba9f13b Re-adopt ns convention for module definition 2016-06-16 18:09:47 -07:00
Brad Buchanan
e37d93f7f9 Extract import logic to ImportService
Isolates import dialog logic from actual import logic, which makes headless import eaiser to implement.
2016-06-14 18:12:25 -07:00
Julian Descottes
c49fe4d6a0 Issue #483 - limit zoom to have 10 sprite pixels displayed on screen 2016-06-09 11:05:59 +02:00
Julian Descottes
c0f0445544 Fix Transform tool CMD modifier on OSX 2016-06-05 00:25:41 +02:00
Julian Descottes
4b8e5ace07 Issue #470: remove references to tiled-preview, rename preferences 2016-06-04 17:03:34 +02:00
Julian Descottes
5533664900 Issue #470: move the seamless overlay color to Constants.js 2016-06-04 16:58:49 +02:00
Julian Descottes
21b2261a9d Feature #470: update application settings layout 2016-06-04 16:50:58 +02:00
juliandescottes
f2ff3bc74e Feature #470: Tiled drawing improvements 2016-06-04 16:50:58 +02:00
Julian Descottes
058b6fa333 Issue #293: add FramesheetRenderer unit tests 2016-05-29 11:47:57 +02:00
Julian Descottes
c8fa83462a Issue #293: remove unused user settings 2016-05-29 11:19:54 +02:00
Julian Descottes
fae04f3616 Issue #293: use input type number and fix linting issues 2016-05-29 11:06:45 +02:00
Julian Descottes
169ce21556 Issue #293: Add spritesheet layout options in PNG export tab 2016-05-29 10:45:19 +02:00
Julian Descottes
2f295825f2 Issue #446: store selected export tab in user preferences 2016-05-23 22:51:48 +02:00
Julian Descottes
c63c764060 Issue #446: Improve export panels style consistency 2016-05-23 22:29:20 +02:00
Julian Descottes
ba8964a2af Issue #446: Cleanup gif export panel 2016-05-23 00:40:23 +02:00
Julian Descottes
f66c2578ab Issue #446: Add export tabs, move zoom controls 2016-05-22 23:37:28 +02:00
Julian Descottes
32e701aa55 Move ImageExportController to ExportController and Fix line height for toolbox titles 2016-05-22 15:49:39 +02:00
Julian Descottes
aa9c1659fc Issue #447: apply review comments 2016-05-22 15:05:22 +02:00
Guillaume Martigny
58a1a6b043 Dirty status compare last save state index and current state index
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-05-22 15:03:47 +02:00
Guillaume Martigny
9b6d45e8ed Code formating
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-05-22 15:03:47 +02:00
Guillaume Martigny
0f00ef563a Fix the states replay loop
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-05-22 15:03:47 +02:00
Guillaume Martigny
eb1320de11 Move history service to linked list with random UUID
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-05-22 15:03:47 +02:00
Matt D
299d4fb895 Renamed Align to Center 2016-05-12 10:39:29 +10:00
Matt D
7c4d03b105 Fixed style issues 2016-05-10 21:52:27 +10:00
Matt D
0e4f1046d3 Implemented issue #403 2016-05-10 21:37:00 +10:00
juliandescottes
7c47aa9ecd Issue #467: style changes: smaller toolbox borders, layout fixes 2016-05-08 13:28:19 +02:00
juliandescottes
c1d8c7a20e Issue #467: fix max height for layers & panels lists 2016-05-08 04:12:43 +02:00
Smie Grin
be79eb2f6f Merge branch 'master' of https://github.com/juliandescottes/piskel 2016-05-04 16:31:53 -06:00
Julian Descottes
f32d5dea20 Merge pull request #456 from juliandescottes/issue352-selected-color
Issue #352: add gold/black SVG backgrounds for selected color
2016-04-22 00:14:58 +02:00
Julian Descottes
806b447f93 Issue #352: add gold/black SVG backgrounds for selected color 2016-04-22 00:08:14 +02:00
Julian Descottes
78932048e8 Issue #458: format selected color from spectrum as HexString 2016-04-21 23:44:42 +02:00
Julian Descottes
d46ab48c1b Merge pull request #440 from clementleger/c_file_export
C file export
2016-04-18 16:48:16 +02:00
Clement Leger
e41b8f740b C Export: Remove temporary canvas and directly use the rendered one for export 2016-04-11 16:43:26 +02:00
Clement Leger
dfb8fec0c9 C export: fix after review 2016-04-11 14:33:58 +02:00
Rob Muhlestein
2a1073d0c5 Warp -> Wrap in move tool spelling 2016-04-09 13:06:33 -04:00
Clément Léger
4927557c89 C export: Fix rgb ordering in uint32_t 2016-04-06 19:38:11 +02:00
Clément Léger
d176973e72 C export: add static const qualifier for arrays 2016-04-06 19:17:39 +02:00
Clément Léger
664821b9f5 Fix coding style and better output 2016-04-05 23:01:27 +02:00
Clement Leger
1b553d28e3 Export: add c file exporter 2016-04-05 22:00:50 +02:00
juliandescottes
327df539a7 Issue #414: part10: support opacity in preview renderers 2016-03-24 02:17:57 +01:00
jdescottes
99b00bc57f Issue #414: part 9: persist layer opacity when resizing 2016-03-24 02:17:57 +01:00
Julian Descottes
add97baf54 Issue #414: part8: Support transparency for GIF export
Transparent layers are rendered properly in GIFs.

As soon as a layer as some opacity (ie not 0 or 1) the GIF will be
rendered with preserveColors set to false. This could be improved,
preserveColors could still be applied if the flattended picture has
only opaque pixels, for a color count lower than the GIF limit.

Other topic to handle : we are creating way to many canvas element.

A simple GIF rendering of a 50 frames animation with 10 layers creates
1000 canvas elements before creating the GIF. Should consider adding some
pooling in the CanvasUtils.createCanvas helper.
2016-03-24 02:17:57 +01:00
Julian Descottes
76a29bf51a Issue #414: part7: Support transparency for ZIP export
Added renderFrameAt API to LayerUtils
Reuse LayerUtils and PiskelController renderFrameAt in PngExportController
2016-03-24 02:17:57 +01:00
Julian Descottes
7bf2662b66 Issue #414: part6: Support transparency when exporting as PNG spritesheet
Added flattenFrameAt to LayerUtils.
Added renderFrameAt to PiskelController (using flattenFrameAt)
Use renderFrameAt in PiskelRenderer (which is used for PNG spritesheet)

chore: renamed createLayerFromSpritesheet to createFramesFromSpritesheet
       (in LayerUtils)
2016-03-24 02:17:57 +01:00
Julian Descottes
d2dc42e7cf Issue #414: part5: rename PiskelController getFrameAt to getMergedFrameAt 2016-03-24 02:17:57 +01:00
Julian Descottes
186b5a305a Issue #414: part4: UI to view/update layer opacity 2016-03-24 02:17:57 +01:00
Julian Descottes
a75e78e366 Issue #414: part3: PiskelController api + history support 2016-03-24 02:17:57 +01:00
Julian Descottes
6546b520b3 Issue #414: part2: serialize and deserialize layer opacity 2016-03-24 02:17:57 +01:00
Julian Descottes
7660119b50 Issue #414: part1: add opacity to Layer model 2016-03-24 02:17:57 +01:00
Matt D
a712764401 Syntax changes to meet code style 2016-03-23 21:50:43 +11:00
Matt D
da105e6237 Moved the padding code to a new StringUtils.js utility and made the export code use it 2016-03-23 21:32:22 +11:00
Matt D
e2b6f0776b Added frame and layer id padding to splittedExport 2016-03-23 20:51:08 +11:00
Matt D
c7381b771f Added sprite number padding to mergedExport 2016-03-23 20:45:35 +11:00
Julian Descottes
539d7c7870 Merge pull request #397 from GMartigny/issue_#348
Issue #348 : colorpicker showing on top of tooltip
2016-03-11 00:58:36 +01:00
GMartigny
14fde4f8a0 Multi-line title on color selector 2016-03-05 17:31:56 +01:00
GMartigny
7088d9aa33 Revert modifications after discussion 2016-03-05 17:23:25 +01:00
Julian Descottes
ef7108a5e0 Merge pull request #400 from GMartigny/issue_#349
Issue #349 : Frame list slightly scroll on the right
2016-02-12 05:32:18 +01:00
Guillaume Martigny
fc9cb07be1 Revert to whole frame draggable
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-04 15:33:49 +01:00
Guillaume Martigny
eb02e713e2 improve the sortable widget with direction, tolerance and handle
fix CSS to prevent horizontal scroll
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-04 11:53:08 +01:00
Guillaume Martigny
4985dfacf3 put background-position-x and -y together for compatibility
resize a bit to align with container
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-03 17:32:32 +01:00
Guillaume Martigny
9bd3bf4adf code formating
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-03 14:17:12 +01:00
Guillaume Martigny
fb9c600b9f fix #348
Add a proposition to replace the title attribute.
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-03 12:45:44 +01:00
Guillaume Martigny
5eb936d8c2 fix #392
Signed-off-by:Guillaume Martigny <guillaume.martigny@gmail.com>
2016-02-03 09:19:21 +01:00
smiegrin
412067ad90 Introduces zooming towards/away from mouse 2016-01-17 16:30:21 -07:00
jdescottes
73b165ef0c chore : fix jshint errors "thanks" to caret version range from grunt-contrib-jshint 2016-01-16 15:28:28 +01:00
jdescottes
cd8d5c0b52 Issue #383 : Use metaKey as ctrlKey for Move tool on OSX 2016-01-16 12:31:03 +01:00
jdescottes
21d4857b74 Update deps, use grunt-connect instead of express, fix jscs errors 2015-12-09 22:38:58 +01:00
juliandescottes
172da85f15 Issue #146 : removed unused constant in PixelUtils 2015-12-04 14:39:20 +01:00
jdescottes
f5a33dc39a Issue #146 : add unittest for line & uniform lines
Uniform lines step is now capped so that the step remains lower
than min(dx, dy). If the step would be greater than this value,
use Infinity and draw a straight line
2015-12-04 14:30:36 +01:00
juliandescottes
00f0debf12 Issue #146 : Move line creation utils to PixelUtils 2015-12-02 13:59:58 +01:00
juliandescottes
20b7eb2a3c Issue #146 : Improve shift+stroke to draw more uniform lines 2015-12-02 00:46:11 +01:00
jdescottes
c70e339296 Issue #338 : disable sizeInput sync if maintainration is off in usersettings 2015-12-02 00:44:13 +01:00
jdescottes
6583d8f8b9 Issue #357 : Trans. -> white if too many colors + add test files 2015-12-01 20:07:26 +01:00
juliandescottes
5b567683a7 Issue #357 : prevent transparency in GIF export if more than 256 colors 2015-12-01 14:17:26 +01:00
jdescottes
4d8b093941 Fixes #355 : IconMarkupRenderer:render signature changed 2015-12-01 01:16:04 +01:00
jdescottes
92d5a4a2fe Issue #258 : Add pensize support to DrawingTest + add pensize test suite 2015-12-01 00:54:18 +01:00
jdescottes
f0ed4927e8 Issue #258 : Move resize method to utils + add unit test 2015-12-01 00:54:17 +01:00
jdescottes
67b66e4a10 Issue #258 : Support pensize for DitheringTool 2015-12-01 00:54:17 +01:00
jdescottes
f767d24280 Issue #258 : Update test recorder after ToolController refactor 2015-12-01 00:54:16 +01:00
jdescottes
27061291a3 Issue #258 : Simplify Lighten & update test 2015-12-01 00:54:16 +01:00
jdescottes
12ac85f0f6 Issue #258 : add support for left/right keys + bugfix 2015-12-01 00:50:57 +01:00
jdescottes
3525b318a6 Issue #258 : KB shortcuts to increase/decrease pensize 2015-12-01 00:50:56 +01:00
jdescottes
fce9bb5727 Issue #258 : Fix replay for Stroke tool with != pensizes 2015-12-01 00:50:55 +01:00
jdescottes
3cc3204939 Issue #258 : Update style and tooltip 2015-12-01 00:50:55 +01:00
jdescottes
222c65a8a5 Issue #258 : Initial implementation : missing tests + cleanup 2015-12-01 00:50:54 +01:00
juliandescottes
070003a414 Issue #344 : Escape django template tags 2015-12-01 00:41:01 +01:00
juliandescottes
7d5259acd7 Issue #344 : include piskel-boot in index.html 2015-12-01 00:41:00 +01:00
jdescottes
2b28577813 Issue #344 : Avoid templating syntax conflict with Django 2015-12-01 00:41:00 +01:00