Browse files


extra : convert_revision : svn%3Afc1ba2b4-ac28-11dd-a772-7fcde58d38e6/trunk%402
  • Loading branch information...
mihai.sucan committed Nov 6, 2008
1 parent 74492ac commit e5b8093e05698129fd3aa31c5b968ec995efd086
Showing with 10,860 additions and 0 deletions.
  1. +143 −0 CHANGES
  2. +674 −0 COPYING
  3. +16 −0 INSTALL
  4. +28 −0 README
  5. +35 −0 TODO
  6. BIN releases/paintweb-0.5-alpha.tar.gz
  7. +102 −0 src/colors/anpa.json
  8. +429 −0 src/colors/dic.json
  9. +88 −0 src/colors/macos.json
  10. +381 −0 src/colors/pantone-solid-coated.json
  11. +352 −0 src/colors/toyo94.json
  12. +700 −0 src/colors/trumatch.json
  13. +116 −0 src/colors/web.json
  14. +87 −0 src/colors/windows.json
  15. BIN src/images/box-bottom-left.png
  16. BIN src/images/box-bottom-middle.png
  17. BIN src/images/box-bottom-right.png
  18. BIN src/images/box-left-middle.png
  19. BIN src/images/box-right-middle.png
  20. BIN src/images/box-top-left.png
  21. BIN src/images/box-top-middle.png
  22. BIN src/images/box-top-right.png
  23. BIN src/images/buttons/close.png
  24. BIN src/images/buttons/color-picker.png
  25. BIN src/images/buttons/copy.png
  26. BIN src/images/buttons/curve.png
  27. BIN src/images/buttons/cut.png
  28. BIN src/images/buttons/drag.png
  29. BIN src/images/buttons/ellipse.png
  30. BIN src/images/buttons/eraser.png
  31. BIN src/images/buttons/help.png
  32. BIN src/images/buttons/insert-image.png
  33. BIN src/images/buttons/line-cap-round.png
  34. BIN src/images/buttons/line-cap-square.png
  35. BIN src/images/buttons/line-join-bevel.png
  36. BIN src/images/buttons/line-join-miter.png
  37. BIN src/images/buttons/line-join-round.png
  38. BIN src/images/buttons/line.png
  39. BIN src/images/buttons/new-image.png
  40. BIN src/images/buttons/paste.png
  41. BIN src/images/buttons/pencil.png
  42. BIN src/images/buttons/polygon.png
  43. BIN src/images/buttons/rect.png
  44. BIN src/images/buttons/redo.png
  45. BIN src/images/buttons/save.png
  46. BIN src/images/buttons/selection.png
  47. BIN src/images/buttons/shape-both.png
  48. BIN src/images/buttons/shape-fill.png
  49. BIN src/images/buttons/shape-stroke.png
  50. BIN src/images/buttons/text-bold.png
  51. BIN src/images/buttons/text-center.png
  52. BIN src/images/buttons/text-italic.png
  53. BIN src/images/buttons/text-left.png
  54. BIN src/images/buttons/text-right.png
  55. BIN src/images/buttons/text.png
  56. BIN src/images/buttons/undo.png
  57. BIN src/images/canvas-bgr-color.png
  58. BIN src/images/canvas-bottom-left.png
  59. BIN src/images/canvas-bottom-middle.png
  60. BIN src/images/canvas-bottom-right.png
  61. BIN src/images/canvas-top-left.png
  62. BIN src/images/canvas-top-middle.png
  63. BIN src/images/canvas-top-right.png
  64. BIN src/images/checker.png
  65. BIN src/images/color-editor-bgr.png
  66. BIN src/images/color-editor-button.png
  67. BIN src/images/color-editor-canvas-bgr.png
  68. BIN src/images/color-editor-field.png
  69. BIN src/images/color-editor-input-tabs.png
  70. BIN src/images/color-editor-preview.png
  71. BIN src/images/color-editor-tab-repeat.png
  72. BIN src/images/color-editor-tab.png
  73. BIN src/images/field-bgr.png
  74. BIN src/images/label-bgr.png
  75. BIN src/images/separator.png
  76. BIN src/images/toolbar-colors.png
  77. BIN src/images/toolbar.png
  78. BIN src/images/zoom.png
  79. +1,033 −0 src/index.css
  80. +322 −0 src/index.html
  81. +6,354 −0 src/index.js
@@ -0,0 +1,143 @@
+- Paint.Web is now an open-source project. I picked the GPLv3 license.
+- The project is now hosted at Google Code:
+- Updated to include Paint.Web.
+- Packaged Paint.Web version 0.5 alpha, build 20081106.
+- New: CMYK color space (without visualisation).
+- New: color palettes in the color editor. The available palettes are imported from Photoshop.
+- Updated color editor GUI which now includes the color palettes.
+- Added the active and old color preview.
+- Added close, cancel and save color. Saved colors are added to a custom colors palette. The changes made are not persistent (I should use HTML 5 Storage).
+- Added the possibility to double-click on the color visualisation to toggle double-size mode. The same applies to the color palettes tab.
+- Fixed the color picker tool.
+- Some HTML code reorganization and associated CSS changes.
+- Some code clean ups, and changes. More would be needed, given the fact the application grew beyond initial expectations.
+- Completely new Color editor replacing the ugly one.
+ - It uses canvas to plot a color visualisation for each active input. This is done using Canvas. Color visualisations are available for HSV, RGB and CIE Lab.
+ - Color inputs for HSV, RGB, CIE Lab, HEX, and Alpha.
+ - New GUI, which is still a work in progress. It will change in the upcoming version.
+ - Color palettes support, with imported Adobe Color Palettes (.aco files from Photoshop). This is not yet implemented.
+ - Lots of things are customizable: the canvas size (color visualisation), the input min/max values, CIE Lab settings, and more.
+- New: Shadows API support. This was very recently implemented in Firefox 3.1 nightlies. It was a breeze to add this. ;)
+ - Shadows work with any drawing tool.
+- Overall improvements for keyboard shortcuts implementation. Added support for using the up/down keys in inputs of type=number.
+- Improvements for canvas resizing. Now the state is saved before the resize, and restored after resize.
+- Improved compatibility with the latest WebKitGTK svn trunk builds - keyboard shortcuts and box dragging. Still, keyboard shortcuts don't work entirely. ;)
+- Some code reorganization:
+ - moved some code from init() into a new init_properties() method.
+ - also all color-related code has been rewritten/moved into the _me.coloreditor object which has its own initialization routine.
+- The user interface is now faster: all the buttons have "CSS sprites". This means that the hover/active/disabled icons are all in the same file, per icon. So, now when the user hovers, say, the rectangle icon, only the background position changes. Previously, it had to load a separate PNG file.
+- Improved graphics for the Properties and the Help windows/boxes.
+- Changed the default shape type to "both".
+- Stroke color is now blue by default.
+- Added the Shift key modifier to the Curve tool for snapping the second point on the X/Y axis.
+- Added a status message to the polygon tool which informs the user how to end drawing the shape. This shows after 3 points have been drawn.
+- Renamed the canvas_mevent() method to ev_canvas().
+- Renamed the keypress() method to ev_keypress().
+- Implemented draggable windows. The tool bar, the main, properties and the help windows can all be dragged now. The user can now easily reposition them as desired. The implementation is in the _me.boxes object.
+- The color picker now changes the title automatically when the user picks the fill or the stroke color. If the user clicks the fill/stroke colors, then the color picker shows on screen and the title properly tells which color is about to be changed. In the previous builds, it was quite confusing: you never knew which color you were changing. ;)
+- Added the "Close" button to the color picker and to the Help window.
+- Added the X global keyboard shortcut. Similar to Photoshop: this swaps the fill and stroke colors.
+- Now the polygon tool draws blue squares in the place of each point added by the user, to provide additional visual feedback - similar to the way the Curve tool works.
+- Some minor bug fixes for the Curve tool.
+- The color picker tool now allows Shift+Click for changing the stroke color. Until now the tool allow a click for changing the fill color, and a right-click for the stroke color. In Opera right-click doesn't work. As such, Shift+Click is more convenient for Opera users.
+- Bug fixes to the Selection tool. For example: in previous build the pasted image data would always be positioned at x and y 0, irrespective of the zoom level and scroll position. Because of that, the Paste option seemed not to work "where's the pasted image?". Now, the tool determines the scroll position and the zoom level, and it properly picks the initial position for the pasted image.
+- Renamed the ev._char property to ev._key. This is the property added by the ev_keypress(ev) method to the DOM Event object, for use by the event handlers called for any configured keyboard shortcut.
+- Implemented proper support for keyboard shortcuts per tool:
+-- Each keypress event is handled only by ev_keypress().
+-- The method adds two properties: ev._kid and ev._key. For example:
+_kid: alt-backspace ; _key: backspace
+_kid: shift-s ; _key: s
+-- Then the method calls ev_canvas(ev) which checks if there's any event handler within the current tool, for the keypress event.
+-- If there's one, the keypress event handler of the tool is executed, otherwise the ev_canvas() method simply returns false.
+-- Based on _kid and _key, the event handler of any tool can determine which actions to execute. For example: if (ev._kid == 'alt-backspace') { img.fillRect() }
+-- If the tool does not have any action for the exact key combination, the event handler must return false.
+-- When the tool keypress event handler returns false, the ev_canvas() method also returns false.
+-- When ev_canvas() returns false, the ev_keypress() method uses the _kid to check if there's any global keyboard shortcut configured (_me.kshortcuts). If yes, then it activates and/or it calls the configured tool/function.
+-- The default action of keypress events is prevented only when any key combination is recognized by the event handler of the active tool, or by the ev_keypress() method (global shortcut). The active tool takes precedence: it can override global keyboard shortcuts.
+Ugly ( :) ) scheme of the keypress event:
+ - _kid and _key added to ev
+ - ev_canvas(ev) executed:
+ - tool.keypress available
+ - tool.keypress(ev) executed
+ - tool.keypress(ev) return false
+ - ev_canvas(ev) return false
+ - ev_keypress() checks kshortcuts
+ - tool.keypress(ev) return true
+ - ev_canvas(ev) return true
+ - ev_keypress() execution stops
+ - tool.keypress not available
+ - ev_canvas(ev) return false
+ - ev_keypress() checks kshortcuts
+- Added the Escape key for tools:
+ - drop selection
+ - cancel drawing rectangle, ellipse, line, polygon, curve
+ - cancel insert image / add text
+ - cancel color picker
+ - cancel Hand tool (go back to the previous tool)
+- Added the Return key for tools:
+ - Selection: transformation mode toggle (enable/disable). This allows the user to quickly draw a selection, press Enter, and start manipulating the selected image data (pixels).
+ - Polygon: end drawing the polygon, by accepting the shape.
+- The Delete key deletes the selected pixels.
+- The Alt-Backspace key combination fills the selection with a flat color (fillStyle). This works only when the transformation mode is disabled.
+- (near) final version 0.5
+- New: a working GUI :) designed by Marius
+- New: keyboard shortcuts across the board
+- New: Zoom image
+- New: Cut/Copy/Paste selection
+- New: Insert image
+- New: Save image (to PNG)
+- New: Insert text (only in Firefox 3.1 for now)
+- New: Clear image (with the Shift key modifier)
+- New: Canvas resizer
+- New: Drag tool
+- New: Help option
+- Fixes for the Curve tool
+- Some fixes/improvements for the Selection tool
+- Changes to the way tools get activated
+- Changes to the way the canvas mouse X/Y coordinates events are passed to the tools
+- initial release
+- incomplete feature-set
+- no GUI
+vim:set spell spl=en fenc=utf-8 ff=unix:
Oops, something went wrong.

0 comments on commit e5b8093

Please sign in to comment.