Commit Graph

512 Commits

Author SHA1 Message Date
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
jdescottes
7e1451fa8d Issue #344 : Remove iframes loader, Gruntf cleanup 2015-12-01 00:40:59 +01:00
jdescottes
dd1d2bf441 Issue #344 : Add watch:dev task to rebuild sprites 2015-12-01 00:39:51 +01:00
jdescottes
8aa6eff715 Issue #344 : Add image spriting using spritesmith 2015-12-01 00:39:37 +01:00
Patrick Brosset
6f5e2f130e Fixes #346 by blurring disabled buttons 2015-11-30 16:46:27 +01:00
jdescottes
82510314a5 Issue #332 : always use lowercase hexstring format for colors 2015-11-27 22:58:11 +01:00
jdescottes
8d26d693ff Issue #338 : Cleanup public/private in SettingsController 2015-11-25 00:40:12 +01:00
jdescottes
9329a5fd03 Issue #338 : Remove jquery from settingscontroller, destroy setting controller when closing drawer 2015-11-25 00:36:19 +01:00
jdescottes
1c1f6c11ab Merge branch 'master' into store-resize-to-userpref 2015-11-20 00:27:05 +01:00
jdescottes
b27e6b6f66 Issue #146 : Draw straight lines 2015-11-20 00:09:18 +01:00
jdescottes
30c3cdbcc5 Issue #338 : Store resize prefs to userpref 2015-11-19 08:18:26 +01:00
jdescottes
392204e5c5 Issue #335 : Remove autocomplete from settings input text fields 2015-11-13 08:51:05 +01:00
jdescottes
6d309419d3 Issue #287 : Move utility functions from Shortcuts.js to ShortcutService 2015-11-12 23:14:57 +01:00
jdescottes
460688e2d5 Issue #287 : Move helptext to tooltip, change cheatsheet column layout 2015-11-12 22:47:51 +01:00
jdescottes
947306a80c Issue #287 : Update helptext 2015-11-12 20:31:50 +01:00
jdescottes
0b439e1b00 Issue #287 : Add forbidden keys & helptext 2015-11-12 20:31:50 +01:00
jdescottes
676cbd17ea Issue #287 : Edit shortcuts from cheatsheet window (WIP) 2015-11-12 20:31:49 +01:00
jdescottes
2e3558ef08 Issue #287 : Edit shortcuts from the Cheatsheet dialog (WIP) 2015-11-12 20:31:49 +01:00
jdescottes
b5234089cd Issue #287 : Move CheatsheetService to CheatsheetController + DialogsController 2015-11-12 20:31:48 +01:00
jdescottes
5cda3e57b4 Issue #287 : fix shortcut for cheatsheet 2015-11-12 20:31:47 +01:00
jdescottes
ca3bbf1c57 Issue #287 : Shortcuts now rely on Shortcut instances. Shortcut key can be changed dynamically. 2015-11-12 20:31:47 +01:00
jdescottes
2c75daecb1 Issue #287 : Move shortcut definition to tool instances 2015-11-12 20:31:46 +01:00
jdescottes
c11e0d5d8d Issue #287 : Rename addShortcut/removeShortcut to less ambiguous register/unregister 2015-11-12 20:31:45 +01:00
Alexander Holland
8ec47506bf Issue #331 : Gruntfile : host as variable 2015-11-11 22:28:10 +01:00
Alexander Holland
4cf6088441 tweak valid checks and event types 2015-11-05 16:12:27 +01:00
Alexander Holland
00a05ee839 fix style error 2015-11-03 15:00:29 +01:00
Alexander Holland
73badf06b0 remove strange file 2015-11-03 03:49:41 +01:00
Alexander Holland
ea679913f9 tablet touch and s-pen 2015-11-03 03:42:31 +01:00
Alexander Holland
ba33533178 tablet touch and s-pen input 2015-11-03 03:34:13 +01:00
jdescottes
c32b327f23 Fix #322 : Save As button no longer works on offline builds 2015-10-25 00:18:01 +02:00
jdescottes
573d7ca051 Fix SwapColor will not replace color if their string representation is using a different case 2015-10-24 15:41:21 +02:00
jdescottes
f61682bb8d Issue #300 : follow-up : use shorter label 2015-10-08 23:55:45 +02:00
jdescottes
0021de35b4 Issue #312 : Improve layer preview tooltip + mutualize tooltip code 2015-10-08 00:47:35 +02:00
jdescottes
a3a75b6096 Issue #315 : custom replay for Swap Color 2015-10-06 01:22:43 +02:00
jdescottes
814db90e54 Issue #311 : Fix post-rebase issues 2015-10-06 00:49:30 +02:00
jdescottes
3585c2debd Issue #311 : Fix incomplete lasso issue when creating a new selection 2015-10-06 00:21:14 +02:00
jdescottes
8b983414a6 Issue #311 : adding jsdoc to PixelUtils visitConnectedPixels 2015-10-06 00:21:13 +02:00
jdescottes
4d53f5e3b7 Issue #311 : Cleanup and comments 2015-10-06 00:21:13 +02:00
jdescottes
28912fc58f Issue #311 : Add lasso tool. Implementation and cleanup 2015-10-06 00:21:12 +02:00
jdescottes
7554b3355c Fix #311 : Add Lasso tool icons 2015-10-06 00:20:58 +02:00
jdescottes
f7592f864b Issue #311 : Add lasso tool initial commit 2015-10-05 23:51:10 +02:00
jdescottes
a0c9f2923e Issue #315 : Fix replay with alt/shift/ctrl modifiers 2015-10-02 02:04:03 +02:00
jdescottes
c9529dc65c Issue #315 : avoid saving state when replaying state 2015-10-02 01:48:35 +02:00
jdescottes
a8f727fdcd Issue #315 : Implement custom replay for transform tools + add drawing test support 2015-10-02 01:27:59 +02:00
Julian Descottes
48d1214a6d Merge pull request #314 from juliandescottes/add-save-service
Add save service
2015-10-01 01:10:23 +02:00
jdescottes
b859857b2d Issue #277 : Switch HeaderController to events instead of infinite setTimeout 2015-10-01 01:07:29 +02:00
jdescottes
669d7a21cb Issue #277 : Fix FF bug showing native save popup despite preventDefault 2015-10-01 01:06:54 +02:00
jdescottes
a286d5926a Issue #277 : Cleanup save controller 2015-10-01 00:30:36 +02:00
Julian Descottes
92cc986fb6 Merge pull request #300 from jnlopar/exportscale
Adds the ability to export a scaled spritesheet.
2015-09-29 08:34:35 +02:00
Jason Neufeld
da1f26291c Adds superclass destroy call to ImageExportController. 2015-09-28 17:14:48 -07:00
Jason Neufeld
a92e198519 Adds input event listener to scaling factor. 2015-09-28 17:10:40 -07:00
Jason Neufeld
91ffce0bfe Makes scaling export more compact and adds tooltip. 2015-09-28 17:10:25 -07:00