Commit Graph

113 Commits

Author SHA1 Message Date
jdescottes
bd99027852 feature : zoom
- Added MinimapController that displays a frame on the animated preview
  when zoomed in
- Added bounds for the offset to make sure it doesn't go crazy
- Added new utility Math.js with a minmax function
- TODO : the minimap controller has a lot of dependencies, see if could be
  cleaned up
- TODO : DrawingController knows the size of the picture it has to render
  only indirectly, which makes it hard in some cases (such as boundary
  checking performed during setOffset)
2013-11-01 23:11:11 +01:00
jdescottes
472906957a feature : zoom :
- Extracted layers rendering logic from DrawingController to dedicated
  class
- Turned RendererManager into Composite renderer (extends
  AbstractRenderer)
- AbstractRenderer no longer contains a render(frame) method, implementing
  the render differs too much between my current renderers to impose a
  single signature, but I should improve this later if too much time on ma
  hands
2013-11-01 17:12:59 +01:00
jdescottes
b7e8310b61 feature : zoom : continued
- simplified Renderer(s) architecture (removed decorator,
  CachedFrameRenderer simply inherits from FrameRenderer now)
- keeping AbstractRenderer to act as interface
- fixed issue with layers : forgot to clone the first frame while merging
  and therefore was modifying the original frame when I just wanted to
  create a tmp frame (FrameUtils.js)
- extracted the mousemove throttling delay used in DrawingController to
  Constants.js and reduced it from 40ms to 10ms
2013-11-01 16:27:23 +01:00
jdescottes
51f86afe6e feature : zoom
- Created AbstractRenderer in rendering package
- Created CachedRenderer and CachedFrameRenderer to extract basic frame
  caching logic from DrawingController
- Created RendererManager to synchronize updates made to several Renderer
  settings
- Moved FrameRenderer from pskl.rendering to pskl.rendering.frame
- Fixed the resize of the drawing area when the window is resized
2013-11-01 15:39:42 +01:00
jdescottes
7490651f83 Zoom initial implementation. No UI, only bound to mousewheel. Everything is broken, to amend ! 2013-10-29 22:16:39 +01:00
jdescottes
55e3607ecc Cleanup of saving/loading process 2013-10-10 00:06:11 +02:00
jdescottes
564f74265a Piskel website adaptations :
M CanvasRenderer : can set the color used to represent transparency
M app.js : modified code responsible for saving when in website mode
M PiskelController.js : just some argument renaming
2013-10-08 23:44:06 +02:00
jdescottes
2686a2e944 Layers:Review:Removed grid drawing routine : was never drawn 2013-09-30 22:44:02 +02:00
jdescottes
f514b6cd10 Layers:Review:Cleanup of GifExportController 2013-09-30 22:00:31 +02:00
jdescottes
7aa407970f Layers:Review:Rename LayersController to LayersListController 2013-09-30 21:22:58 +02:00
jdescottes
90f2fac2d3 Layers:Minor style changes 2013-09-29 23:33:40 +02:00
jdescottes
4eebff804b Layers:Review:Renamed layers-container to layers-list-container. Extracted URLs to Constant.js 2013-09-29 23:26:09 +02:00
jdescottes
76511058d1 Layers:Review:Rename renderers frame up/down to above/below 2013-09-29 23:16:32 +02:00
jdescottes
4f754c6af2 Layers:Review:Changed FrameRenderer className property to classes (array) 2013-09-29 23:14:10 +02:00
jdescottes
17ba93cc9f Layers:Review:Renamed layers canvases css classes to layers-above/below-canvas 2013-09-29 23:05:24 +02:00
Julian Descottes
be9238c9b1 Layers : FRAMESHEET_RESET -> PISKEL_RESET
Framesheet no longer exists.
2013-09-29 00:01:18 +02:00
Julian Descottes
ca427e0853 Dev environment : closure compiler + jshint update
Fixed error raised by closure compiler
Added es3 option to jshint (detect trailing commas)
Added curly option to jshint (missing curly braces for if/for blocks)
Removed trailing whitespaces (not enforced through jshint though)
2013-09-28 23:52:51 +02:00
jdescottes
1bc73125dc Fix jscolor : add jscolor.install to Palette Controller init sequence. Fix layer canvas update on DPI change 2013-09-26 22:43:45 +02:00
jdescottes
50ca22d91a Clear layers canvas before redraw 2013-09-26 21:53:37 +02:00
jdescottes
3a8d96f840 Arrow icons update 2013-09-26 07:47:11 +02:00
jdescottes
9395be3034 Layers : add layer icon. Position buttons on top of list. Fix name generation issue 2013-09-25 22:43:21 +02:00
jdescottes
80a9fe3396 First layer UI. Just functional, UX far from ideal 2013-09-25 00:11:12 +02:00
jdescottes
6528c7724b Issue 24 : Layers
!! NOT STABLE !!
Initial implementation. No UI update yet.
Check js/model/Piskel.js and js/model/Layer.js for an overview of the new
API.

Piskels can be saved on the existing service.

Previous piskels cannot be loaded. This should be fixed soon.
2013-09-22 21:02:43 +02:00
jdescottes
4f6863eb8a Gif export panel first draft 2013-09-07 17:50:43 +02:00
jdescottes
73b98850db Added cheap lazy templates + logic to switch between setting controllers 2013-08-12 07:31:09 +02:00
jdescottes
f468790baa Merge from master + added more jshint checks (undef and latedef). Very helpful to catch post merge issues. 2013-08-10 14:28:10 +02:00
jdescottes
87a68bfe21 Dev environment:force indentation to 2 spaces. Added new grunt module, grunt-leading-indent to check space consistency, and modified jshint options to enforce 2 spaces 2013-08-10 12:11:16 +02:00
jdescottes
21172249a3 Added fix for PreviewFilmController for very big piskels : limit DPI to 1 2013-08-05 23:55:19 +02:00
jdescottes
1977141076 Fixed size related issues. Selection Manager no longer depends on the frameoverlay which is now only manipulated by the tools 2013-08-05 23:34:11 +02:00
Julian Descottes
66d19cf9ca Merge pull request #112 from juliandescottes/fix-canvas-size-with-grid
Fix canvas size when grid display is active
2013-06-19 22:23:55 -07:00
jdescottes
a01afe2cfd Changed sortable items selector to a more robust one 2013-06-20 00:32:53 +02:00
jdescottes
07ced5a3b2 Exclude add-frame-button from sortable items in preview-film 2013-06-20 00:05:23 +02:00
Vince
4618cb643a Fix canvas size when grid display is active
- Dynamic resizing of canvas when display_grid is activated/deactivated
 - Adding a main-wrapper to get a perfect alignement at the top and
bottom the application screen
 - fix DPI update on page load (independent of grid option).
 - fix available width for DPI calculation (using margin-box, was using
only content before)
2013-06-19 19:01:12 +02:00
jdescottes
6cb145ae34 Merge branch 'master' into user-settings 2013-06-19 07:38:13 +02:00
jdescottes
0fe2e981b0 Reverted back to onchange due to lack of support of input range in firefox 21 2013-06-19 00:29:07 +02:00
Vince
5913b19641 Plug canvas background settings on UserSettings storage
Canvas background class are now manager at the FrameRenderer level
instead of CSS classes at the top of the DOM.
2013-06-17 23:10:35 +02:00
Vince
9eac3414a3 Clean grid code: semantic names and tiny refactor using UserSettings 2013-06-17 23:06:17 +02:00
Vince
9a3a87bd57 Fix travis 2013-06-17 21:03:22 +02:00
Vince
1d4ff1d2de Create an event based UserSettings and use it for the grid diplay state. 2013-06-17 20:24:27 +02:00
Vince
889d5c0d53 Add basic UserSettings persistence static utility.
Based on localStorage for now.
2013-06-17 19:54:43 +02:00
Vince
97ddc6ecc1 Adding simple backgorund picker (without persistence) 2013-06-17 11:36:56 +02:00
Vince
453f77cdd6 Nit: fix indentation 2013-06-17 10:37:08 +02:00
Vince
458f56f1ec Move toggling code to settingscontroller 2013-06-16 10:36:26 +02:00
Vince
955a49d2dd Adding SettingsController 2013-06-16 10:17:50 +02:00
Vince
765f75f255 Fix preview frames scrollers
They were not properly updated when content was re-becoming smaller
than the scroller.
2013-06-16 09:38:31 +02:00
Patrick Brosset
f6f02c7c1f correct slider init value and better FX slider event handling 2013-06-15 21:27:08 +02:00
Vince
13de7cbcfb New layout: application actions sticking to the right edge 2013-06-15 19:04:36 +02:00
Vince
92561db1c6 Fix contextmenu right click (active only above drawing canvas) 2013-06-14 13:18:26 +02:00
Vince
460c391326 Code cleanup + unsued images removal 2013-06-14 13:17:20 +02:00
Vince
2b18165f86 Fix scroller overflows apparitions 2013-06-13 23:20:51 +02:00