Commit Graph

253 Commits

Author SHA1 Message Date
Vince
1a143ad5e3 Vertical mirror pen - initial implementation 2012-09-16 00:49:52 +02:00
Vince
3afbf1c0e9 Comment & todo about rendering order of tool's icons 2012-09-16 00:48:53 +02:00
Vince
36476d5871 clean comments 2012-09-16 00:47:41 +02:00
Vince
2e0826f714 Fix variable scope on simplePen 2012-09-16 00:47:24 +02:00
juliandescottes
b6d8768963 Merge branch 'master' into gh-pages 2012-09-15 23:45:59 +02:00
juliandescottes
2d8db76a5e Context menu needs to also be deactivated on the palette, to easily pick a previously used color as a secondary color. 2012-09-15 23:44:28 +02:00
juliandescottes
fd95abb1c7 Merge branch 'master' into gh-pages 2012-09-15 23:38:54 +02:00
Vince
df8f0a1996 Change ToolSelector to controller directory 2012-09-15 20:50:02 +02:00
Vince
dbae35c5a5 Turn ToolSelector into a prototype class (was closure based) 2012-09-15 20:48:01 +02:00
Vince
9a6ad78f63 fix travis 2012-09-15 20:30:32 +02:00
Vince
440a6391e9 Generate tool's markup automatically 2012-09-15 20:25:45 +02:00
Vince
277fd979e9 master conflict merge 2012-09-15 02:24:06 +02:00
Vince
a88826aa1f Remove code duplication between select tools 2012-09-15 02:02:02 +02:00
Vince
28835f96f3 Cleaning a bit pixel utils + fix empty paste bug 2012-09-15 01:01:47 +02:00
juliandescottes
207e402ef5 Merge branch 'master' into gh-pages 2012-09-15 00:25:08 +02:00
Vince
697f270d78 Injecting framesheet model in SelectionManager singleton 2012-09-15 00:17:08 +02:00
juliandescottes
26dc185bca Fixed jshint warnings 2012-09-14 23:47:05 +02:00
juliandescottes
2edda09f08 Finalized first implementation of Circle tool 2012-09-14 23:43:49 +02:00
juliandescottes
f7d235b116 Adding Circle tool - reusing Rectangle implementation for now 2012-09-14 22:20:34 +02:00
juliandescottes
813b60b854 Simplified Rectangle.js and pixelUtils 2012-09-14 22:20:00 +02:00
Vince
7613bb18b3 Fixing ShapeSelection 2012-09-14 20:18:26 +02:00
Vince
841885939d Basic lasso tool 2012-09-14 20:12:21 +02:00
juliandescottes
ef3e4a5f7a Merge branch 'master' into gh-pages 2012-09-14 01:13:22 +02:00
juliandescottes
741d145d42 Selection tool broken with previous commit. Fixed it. Need tests, cannot manually test all features. 2012-09-14 01:11:24 +02:00
juliandescottes
ba6879875c Fixed dynamic dpi update for drawing canvas, added throttle on resize event. 2012-09-14 00:33:46 +02:00
juliandescottes
62ae3f17a1 History manager is firing events to trigger redraw of listeners 2012-09-14 00:03:27 +02:00
Vince
e85fe32f02 Basic rectangular select tool basic 2012-09-13 22:57:32 +02:00
Vince
2aaab74b80 Fix ctrl/meta for macosx shortcuts 2012-09-12 21:32:18 +02:00
Vince
991b66b67c Basic cut implementation
SelectionManager implmentaiton
Rectangular seleciton impl
Utils refacoring
Event manager refactoring
basic cut implmentation
2012-09-12 12:01:47 +02:00
Vince
efbeaf3d50 Initial work + merge 2012-09-11 19:59:00 +02:00
Vince
4c90db44b2 Initial work 2012-09-11 19:55:03 +02:00
juliandescottes
9bc435a13c Merge branch 'master' into gh-pages 2012-09-11 01:07:37 +02:00
juliandescottes
3c9595c174 Display preview on init 2012-09-11 01:07:03 +02:00
juliandescottes
f8395bcb8d merged from master 2012-09-11 00:59:52 +02:00
juliandescottes
11dda9da9c fixed jshint complaints 2012-09-11 00:54:06 +02:00
juliandescottes
a8394d22b1 fixed jshint complaints 2012-09-11 00:52:09 +02:00
juliandescottes
feadca9d1f Added clear method to pskl.model.Frame 2012-09-10 23:34:12 +02:00
juliandescottes
99e9cf8856 Fixed FilmPreview bugs. Simplified piskel.js, removed refernce to drawingController from tools 2012-09-10 23:34:11 +02:00
juliandescottes
e1af86b647 Fixed initialization bug + performance issue with jquery pub sub 2012-09-10 23:34:10 +02:00
juliandescottes
12c9fececb Removed 2 useless instance variables in AnimatedPreviewController 2012-09-10 23:34:09 +02:00
juliandescottes
68c2cae658 Cleaned FrameRenderer.js FrameRenderer should also keep a reference on the frame it is updating - initially I wanted the renderer to be frame independant, but it doesnt bring much 2012-09-10 23:34:08 +02:00
Patrick Brosset
873a10caa2 Fix the duplication in the overlay when grid toggl
When the grid was toggled, the overlay would actually
draw the main drawing frame instead of just redrawing
itself with transparent pixels.
This was due to the drawingcontroller passing the ref
to the same frame object when initialiwing both
renders.

By the way, the overlay should probably be treated a
bit differently as redrawing all its transprent pixels
in that case is useless.
2012-09-10 23:34:06 +02:00
juliandescottes
7b90873324 Fixed initialization bug + performance issue with jquery pub sub 2012-09-10 19:53:34 +02:00
juliandescottes
8982a5b479 Removed 2 useless instance variables in AnimatedPreviewController 2012-09-09 11:37:52 +02:00
juliandescottes
d18c3cd5f7 Cleaned FrameRenderer.js FrameRenderer should also keep a reference on the frame it is updating - initially I wanted the renderer to be frame independant, but it doesnt bring much 2012-09-09 02:34:54 +02:00
Patrick Brosset
2c1657f301 Merge branch 'master' of git://github.com/juliandescottes/piskel into fix-grid-duplicate-frame 2012-09-09 01:38:22 +02:00
Patrick Brosset
809fc8b688 Fix the duplication in the overlay when grid toggl
When the grid was toggled, the overlay would actually
draw the main drawing frame instead of just redrawing
itself with transparent pixels.
This was due to the drawingcontroller passing the ref
to the same frame object when initialiwing both
renders.

By the way, the overlay should probably be treated a
bit differently as redrawing all its transprent pixels
in that case is useless.
2012-09-09 01:35:29 +02:00
juliandescottes
63d8cd7eb7 Slight performance improvement, previewfilmcontroller still buggy 2012-09-09 01:12:54 +02:00
juliandescottes
2fa95fa1bc Added DrawingLoop.js and plugged basic rendering on each controller 2012-09-09 00:40:05 +02:00
juliandescottes
6e7545a1d2 Added drawing loop, unplugged traditional renderers 2012-09-08 23:59:44 +02:00
Vince
1a99fed64d pull/merge from master 2012-09-08 23:59:13 +02:00
Vince
f169a90644 Checkbox crappy styling and fixing overlayproxy grid 2012-09-08 23:53:59 +02:00
Vince
df945e10dd Add grid checkbox 2012-09-08 23:43:16 +02:00
juliandescottes
e4373ad133 Small updates to FrameRenderer for fun 2012-09-08 23:10:05 +02:00
Vince
6b9904935f Adding grid 2012-09-08 22:26:27 +02:00
Vince
82da78abf1 Adding grid 2012-09-08 22:26:17 +02:00
Vince
2cda69b000 Fixing remove and duplicate actions from previewfilm 2012-09-08 19:00:03 +02:00
Vince
6e8142bb3a Removing commented outdated code 2012-09-08 18:45:18 +02:00
Vince
9dc7afee61 Moving drawing canvas code from piskel.js to drawingController.js 2012-09-08 18:44:06 +02:00
juliandescottes
df405d917f Clone pixels pug 2012-09-08 18:15:53 +02:00
juliandescottes
869f3d2e00 fixed bug when resizing 2012-09-08 17:57:21 +02:00
juliandescottes
ed2e65508a fixed small bug during resize 2012-09-08 17:54:41 +02:00
juliandescottes
07369af9df Fixed bug on clonePixels_ need to stop commiting and pushing without testing ... 2012-09-08 17:44:55 +02:00
juliandescottes
93e479fa11 Fixed bug with removed _clonePixels method in Frame.js 2012-09-08 17:41:09 +02:00
juliandescottes
506b54e27b removed commented code 2012-09-08 17:31:48 +02:00
juliandescottes
a9b01cd7c2 Resize is now bound to height and width, and also avoids overlap with preview 2012-09-08 17:31:19 +02:00
juliandescottes
6a822f1299 Merge branch 'master' of https://github.com/juliandescottes/piskel 2012-09-08 17:30:44 +02:00
Vincent
bcd8cf07e6 Merge pull request #57 from grosbouddha/fix-dnd-canvas
Fixing DnD when dragging from canvas elements
2012-09-08 07:58:24 -07:00
Vince
5f451e3cf8 Fixing DnD when dragging from canvas elements 2012-09-08 16:56:07 +02:00
juliandescottes
6bf1c773c8 Fixed undo/redo bug 2012-09-08 16:50:29 +02:00
Vince
ba5500b4b0 Dynamic DPIs ! 2012-09-08 16:32:28 +02:00
Vince
bca16a3964 Creating renderingOptions object for FrameRenderer
Contains dpi, grid info, etc
2012-09-08 15:34:13 +02:00
Vince
cc22a26933 Fix overlayFrame reference 2012-09-08 15:21:22 +02:00
Vince
9d5e2dc2d3 Merging dragndrop 2012-09-08 15:17:19 +02:00
Vince
eb7511c721 Encapsulate canvas element in FrameRenderer
From this change set, the HTML canvas element, which is the frame view,
is encapsulated inside the FrameRenderer.
You won't need to give the view handle from the controller layer
anymore.
It will make view alteration implementations much easier (like grid for
instance)
2012-09-08 15:08:00 +02:00
Vince
9411b2e3ae Moving (rendering related) DPI into FrameRenderer domain object 2012-09-08 12:24:55 +02:00
Vince
c66ce4c9ad Implementing interstitial tiles
Interstitial tiles are fake slides and allow us to insert drag n drop
tiles between two other.
2012-09-08 02:50:59 +02:00
Vince
1c1e0398e7 Drag'n drop fix when dropping outside the list 2012-09-07 23:25:38 +02:00
Vince
b824207d1d Dragndrop preview film tiles
- import go jquery-ui
- Basic implementation without styling
- only swapping is possible (no insertion)
2012-09-07 23:14:25 +02:00
juliandescottes
022773d3ab forgot unstaged files 2012-09-07 01:21:05 +02:00
juliandescottes
71348c2d3c merge from master 2012-09-07 01:18:02 +02:00
Julian Descottes
71962cf982 Merge pull request #42 from juliandescottes/add-historymgr
Added undo/redo feature
2012-09-06 16:14:11 -07:00
juliandescottes
f06f03a7f7 Added simple move tool 2012-09-07 01:08:25 +02:00
juliandescottes
14bf3f97c5 fixed bug when reaching stage 0 2012-09-07 00:56:31 +02:00
juliandescottes
17bf7b3807 Added undo/redo feature
* new file : HistoryManager.js
* can undo (ctrl-z) and redo (ctrl-y) changes performed through the
tools
* history states are recorded per frame
* a new state is recorder each time a tool is released (introduced
TOOL_RELEASED event for this purpose)
* a duplicated frame doesn't inherit the history states of the original
frame
* there is no limit to the number of states that can be stored per frame
* actions such as creating/duplicating/deleting a frame are not
concerned by this update
2012-09-07 00:18:59 +02:00
juliandescottes
9f36462d96 Fixed small bug with transparent color in palette 2012-09-06 23:12:35 +02:00
juliandescottes
0a2e2217c9 Fixed regression on color-picker 2012-09-06 23:10:02 +02:00
juliandescottes
4c1c96095f Added secondary color support.
Added :
- second color picker
- removed automatic switch to eraser when using right click
- colors are automatically added to palette when selected
2012-09-06 22:37:19 +02:00
juliandescottes
f2b1e433c0 realigned cursros hotspots 2012-09-06 01:09:02 +02:00
juliandescottes
f723d4bbaf Removed debugging logs from event callbacks. 2012-09-06 00:45:49 +02:00
juliandescottes
9a09f11650 oh well ... 2012-09-06 00:40:27 +02:00
juliandescottes
5a36f8a3a8 forgot to render the overlay 2012-09-06 00:36:45 +02:00
juliandescottes
03c56407d3 using clearOverlay 2012-09-06 00:35:02 +02:00
juliandescottes
8332b31fa7 fixed add button 2012-09-06 00:23:24 +02:00
juliandescottes
8a7245bfea onMouseUp triggering releaseToolAt unnecessarily 2012-09-06 00:14:32 +02:00
juliandescottes
070a83fd03 Passed correct reference of drawingController when releasing tool 2012-09-05 23:59:53 +02:00
Patrick Brosset
2430e8f2ab fixed bug where deleting first frame was failing 2012-09-05 07:59:58 +02:00
juliandescottes
89be121dd1 Fixed animation preview when deleting 2012-09-05 00:42:25 +02:00
juliandescottes
53436009e3 Changed main-canvas to drawing-canvas 2012-09-05 00:13:45 +02:00
juliandescottes
1de9ee41b2 Finished first step of refactor. 2012-09-05 00:09:42 +02:00
Patrick Brosset
d4faba810d series of tiny improvements to the ui 2012-09-04 23:48:02 +02:00
juliandescottes
a567992a1d moved Frame and FrameSheet to model package 2012-09-04 22:40:54 +02:00
juliandescottes
69a03a3416 Previews are fixed. Removed drawing methods from piskel .js 2012-09-04 22:18:00 +02:00
juliandescottes
c261c370ad Removed old debugging method. 2012-09-04 21:27:49 +02:00
juliandescottes
4c4faa88e6 Moved drawing logic outside of tools. Previews and animations are broken. Performance is somehow degraded 2012-09-04 14:10:16 +02:00
juliandescottes
561c35c882 Adding Frame Renderer utility 2012-09-04 08:35:58 +02:00
juliandescottes
bd9f8f4489 Merge branch 'master' into extract-rendering 2012-09-03 23:33:46 +02:00
Vince
640d8346b7 Merge branch 'create-palette-component' 2012-09-03 22:49:42 +02:00
juliandescottes
3e02037b58 Removed all references to normalizeCOlor 2012-09-03 22:31:56 +02:00
Vince
4c611d80c5 Create palette component
Create Palette component (was inside the ToolSelector before)
Fix the palette generation as well.
2012-09-03 22:30:53 +02:00
juliandescottes
ad1fc2ecc2 Eraser now inherits from SimplePen. Added a superclass property attached in the inherit util 2012-09-03 22:22:24 +02:00
juliandescottes
d92c99ccf8 Renamed frameSheetModel to Uppercase 2012-09-03 21:47:08 +02:00
Vince
2a20cc90ea Integration (with myself) fixes
- Adding default value in empty frames to avoid artifact when paint
bucketing (you may have issues with previously stored model before this
commit, no migration plan for papybrossette :D)
 - Fix issue: Model does not show up when loading a remote GAE model
 - Removing FRAMESHEET_UPDATED events (remains of history manager
implementation)
2012-09-03 20:45:25 +02:00
Vince
f91308405d Fix previous init animation 2012-09-03 01:39:21 +02:00
Vince
35736949d8 Shit merge 2012-09-03 01:34:11 +02:00
Vince
d7044dc44d Cleanup of piskel.js
Partial cleanup of piskel:
  new events and constant
  move palette and color picker in ToolSelector
  create Notifcation.js and move user message in it
  create LocalStorageService and move LS stuff in it
2012-09-03 01:24:55 +02:00
Vince
9758aa62d9 Add interpolation when using the pen tool quickly 2012-09-02 17:49:28 +02:00
Vince
946444a16b Adding rectangle tool 2012-09-02 13:19:20 +02:00
Vince
4622cf67a7 Adding support for transparent color 2012-09-02 01:41:49 +02:00
Vince
700c6ab144 Stroke tool
Add stroke tool
new icons for tools
started some refactoring to help having a big redraw loop
2012-09-02 00:44:55 +02:00
Vince
6b7294e8c5 Shit merge 2012-09-01 02:17:24 +02:00
Vince
ca04f8db4d Tool plugin architecture with eraser/pen/paintbucket tools. 2012-09-01 01:21:58 +02:00
juliandescottes
509ffcea2a Added message when loading an animation from Service 2012-08-30 16:30:22 +02:00
Julian Descottes
70ad2760df fixed fps slider 2012-08-30 01:55:14 +02:00
Julian Descottes
bd8b72f3d5 merged from master 2012-08-30 01:30:26 +02:00
Julian Descottes
a1872d3521 support post 2012-08-30 01:26:14 +02:00
Julian Descottes
aaf254cc3f post 2012-08-30 01:16:13 +02:00
Vince
52a9d7b379 Adding query 1.8.0 and pubsub bus 2012-08-30 00:48:22 +02:00
Vince
04bcb09496 Merge branch 'gh-pages' of https://github.com/juliandescottes/piskel 2012-08-29 23:58:25 +02:00
Vince
c227687df8 Creating init method for localstorage 2012-08-29 23:32:51 +02:00
Vince
6cc8534041 Adding localstorage support 2012-08-29 23:01:04 +02:00
Julian Descottes
c43e25e3bf merged after pull from remote 2012-08-29 20:43:07 +02:00
Julian Descottes
9fcd9a22b5 merged from master 2012-08-29 20:40:34 +02:00
Julian Descottes
33954364f9 per pixel redraw 2012-08-29 20:34:34 +02:00
Julian Descottes
71c732665f Update js/frameSheetModel.js
Small mistake in catch block
2012-08-29 20:32:23 +03:00
juliandescottes
6d2b1944fa Use slider for choosing FPS 2012-08-29 13:46:57 +02:00
juliandescottes
00c5975c65 slider 2012-08-29 13:43:36 +02:00
juliandescottes
b8c59702e9 test 2012-08-29 11:51:40 +02:00
Firstname Lastname
09c0d27e71 update preview 2012-08-29 10:57:56 +02:00
Firstname Lastname
3a4ef0d6eb palette finished + firefox fix 2012-08-29 10:46:25 +02:00
Firstname Lastname
3664d87751 temp commit 2012-08-29 10:15:18 +02:00
Julian Descottes
6ea7f74d00 adding palette basics 2012-08-29 08:39:03 +02:00
Vince
5c58db1983 Merge https://github.com/juliandescottes/piskel 2012-08-29 01:15:20 +02:00
Vince
c1635b9d65 Shit cleaning :) 2012-08-29 01:14:28 +02:00
Julian Descottes
b64f3d46bc Update js/frameSheetModel.js
forgot a small change ...
2012-08-29 02:00:45 +03:00
Julian Descottes
4366fc42cc Added serialization/deserialization capabilities
Two changes to Framesheet :
*  serialize : basic implementation using JSON.stringify
* deserialize : added method
2012-08-29 00:57:55 +02:00
Vince
629959e625 Code cleaning: removeFrame & canvas DPI issue
Making the drawing canvas really scalable
Cleaning the removeFrame code
2012-08-28 23:30:55 +02:00
Vince
6616ec2870 Adding basic color picker 2012-08-28 22:43:32 +02:00
Julian Descottes
817d375d8f copied 2 pull requests from grosbouddha 2012-08-28 00:53:27 +02:00
Vince
651563f793 FrameSheet model object migration
Migration to a Domain object (currently a FrameSheetModel, feel free to
change its name). The model is being used by the slideshow (drawing
each tiles), animation preview (drawing animation) and drawing (update
model and redraw current tile).
Now the rendering information are not stored in a canvas element that
you paste from canvas to canvas but centralize in this model. The frame
is described as an array of array: that will allow different rendering
using the dpi constants and more flexibility (e.g. drawing a grid,
serializing the data).

Some minor modifications:
  - cleaning markup
  - adding background image to highlight transparent area
2012-08-27 02:05:13 +02:00