Commit Graph

53 Commits

Author SHA1 Message Date
jdescottes
e0d63bf295 fix : renderer resize on window resize 2013-11-02 00:00:38 +01:00
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
2686a2e944 Layers:Review:Removed grid drawing routine : was never drawn 2013-09-30 22:44:02 +02:00
jdescottes
90f2fac2d3 Layers:Minor style changes 2013-09-29 23:33:40 +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
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
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
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
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
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
Vince
9eac3414a3 Clean grid code: semantic names and tiny refactor using UserSettings 2013-06-17 23:06:17 +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
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
31062a70a9 proto init implementation + less 2013-06-12 14:53:47 +02:00
grosbouddha
fba6693426 Make jshint quiet now 2013-05-27 23:42:53 +02:00
jdescottes
9b40b11703 Support secondary color for color picker 2013-04-09 07:24:07 +02:00
grosbouddha
1441dcd67a Adding simple color picker
Left click colorpicker tool:
- Create PRIMARY/SECONDARY_COLOR_SELECTED/UPDATED events
- remove isPrimary arguments
2013-04-09 01:32:30 +02:00
juliandescottes
c7a8233adc Saving and reading FPS from model 2012-09-20 23:57:26 +02:00
juliandescottes
016649bb46 Fixed overlap between drawing canvas and preview. 2012-09-16 23:34:00 +02:00
juliandescottes
0d1775b24c Dynamic size for frame 2012-09-16 18:48:32 +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
ba6879875c Fixed dynamic dpi update for drawing canvas, added throttle on resize event. 2012-09-14 00:33:46 +02:00
Vince
e85fe32f02 Basic rectangular select tool basic 2012-09-13 22:57:32 +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
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
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
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
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
9dc7afee61 Moving drawing canvas code from piskel.js to drawingController.js 2012-09-08 18:44:06 +02:00
juliandescottes
869f3d2e00 fixed bug when resizing 2012-09-08 17:57:21 +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
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