Commit Graph

586 Commits

Author SHA1 Message Date
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
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
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
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
ba56a32b88 Issue #502: scroll selected layer into view when redrawing layer list 2016-07-24 19:21:07 +02:00
Lee Reilly
89c4044016 Replace 'alt' buttons with 'option' buttons on Macs 2016-07-20 12:35:05 -06:00
Julian Descottes
4518f50efa consider layer with opacity=0 as transparent 2016-07-04 00:23:03 +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
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
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
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
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
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
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
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
jdescottes
2b28577813 Issue #344 : Avoid templating syntax conflict with Django 2015-12-01 00:41:00 +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
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
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
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
f7592f864b Issue #311 : Add lasso tool initial commit 2015-10-05 23:51:10 +02:00