Commit graph

1408 commits

Author SHA1 Message Date
Jürg Lehni
6ea63fde43 Handle case of nearly singular matrix separately. 2011-06-05 21:45:29 +01:00
Jürg Lehni
27c7248a2d Clean up and shorten code. 2011-06-05 21:44:34 +01:00
Jonathan Puckey
d2759c2371 Improve Segment constructor example. 2011-06-05 22:44:32 +02:00
Jonathan Puckey
9d4afcfe9c Add another Path#add example. 2011-06-05 22:44:01 +02:00
Jonathan Puckey
5513687daa Add Path#smooth examples. 2011-06-05 22:43:36 +02:00
Jürg Lehni
12e770c032 Merge remote-tracking branch 'origin/master' 2011-06-05 21:32:10 +01:00
Jürg Lehni
bcb5df9f04 Clean up. 2011-06-05 21:31:58 +01:00
Jürg Lehni
ca18b20785 Remove Douglas–Peucker algorithm again since it produced ackward results. 2011-06-05 21:29:19 +01:00
Jürg Lehni
42f5b5e26e Implement Douglas–Peucker algorithm for point reduction before the curve fitting. 2011-06-05 21:28:49 +01:00
Jürg Lehni
aef8dcf2d3 Check for determinant singularity and handle separately. 2011-06-05 21:27:24 +01:00
Jürg Lehni
7d2742cd94 Rename PathFitter#process() -> #fit(). 2011-06-05 21:26:01 +01:00
Jürg Lehni
4854e56e1d Filter out adjacent duplicate points. 2011-06-05 21:25:38 +01:00
Jürg Lehni
df29ef2d2c Define Line#getDistance(point). 2011-06-05 21:24:38 +01:00
Jonathan Puckey
fe901fa96b Add to and improve Path documentation. 2011-06-05 22:02:30 +02:00
Jürg Lehni
28c680ac94 Implement PathFitter and Path#pointsToCurves(). 2011-06-05 19:27:18 +01:00
Jürg Lehni
caec7599be Fix a bug with Segment constructor where two passed points with the first one having an x-coordinate of 0 would accidentaly be considered the two coordinate values for the point property. 2011-06-05 18:41:58 +01:00
Jonathan Puckey
e4eb463204 Path: document arcTo and curveTo. 2011-06-05 18:40:33 +02:00
Jonathan Puckey
14e2a61d25 Add examples to Path#arcTo docs. 2011-06-05 17:22:35 +02:00
Jonathan Puckey
ab09a44dc6 Add examples to Path#join documentation. 2011-06-05 16:12:31 +02:00
Jonathan Puckey
c10aa01de0 Fix a bug in Path#join. 2011-06-05 15:56:37 +02:00
Jonathan Puckey
5770ebc9ff Merge remote branch 'origin/master' 2011-06-05 15:04:43 +02:00
Jonathan Puckey
deec7512cc Path: fix return type in #getLocationAt documentation. 2011-06-05 15:04:34 +02:00
Jonathan Puckey
34b510bf1c Path: add examples to #getPointAt, #getNormalAt and #getTangentAt. 2011-06-05 15:00:43 +02:00
Jonathan Puckey
bb956c890f Add documentation stub for Path#arcTo(through, to) 2011-06-05 14:52:01 +02:00
Jonathan Puckey
4e0a857ee7 Fix a problem in Path#arcTo where it wasn't defaulting to a clockwise arc. 2011-06-05 14:51:37 +02:00
Jürg Lehni
b3d771a870 Remove Curve#transform() which is currently broken anyhow. 2011-06-05 13:27:39 +01:00
Jürg Lehni
e76c4e0de1 Implement Path#curvesToPoints() using the new PathFlattener class. 2011-06-05 13:21:00 +01:00
Jürg Lehni
74b9da9882 Define PathFlattener#evaluate() for curve evaluation at given offsets. 2011-06-05 13:20:20 +01:00
Jürg Lehni
c296eb0883 Fix wrong direction of tangent evaluation at t = 1. 2011-06-05 13:09:53 +01:00
Jürg Lehni
c2c5955717 Rename Curve#getCurvesValues() -> #getValues(). 2011-06-05 12:40:07 +01:00
Jürg Lehni
cb3834f41c Expose the previously private evalutate() function through Curve.evaluate(), make it work with curve value arrays, and use it the for various evaluation methods (#getPoint/Tangent/Normal). 2011-06-05 12:37:43 +01:00
Jürg Lehni
14816a872e Define Curve constructor for 8 parameters and implement Curve#getPart() that returns a new sub curve. 2011-06-05 12:36:26 +01:00
Jürg Lehni
3a0f43050e Rename length to offset. 2011-06-05 11:34:40 +01:00
Jürg Lehni
ef10c2797c Add Curve#getPart but hide for now as more work is required. 2011-06-05 11:34:24 +01:00
Jürg Lehni
b5a0979f58 Access internal Curve coordinate properties directly rather than through beans. 2011-06-05 11:33:55 +01:00
Jürg Lehni
47085e44ca Fix drawing of closed paths that was broken in recent commit. 2011-06-05 11:20:28 +01:00
Jürg Lehni
6095723e70 Fix single equal compare. 2011-06-04 21:46:48 +01:00
Jürg Lehni
90be683113 Clean up and add more comments. 2011-06-04 19:25:50 +01:00
Jürg Lehni
263fa8cbd9 Add comments. 2011-06-04 18:35:00 +01:00
Jürg Lehni
fafb6d1d76 Convert CurveFlattener to PathFlattener, which can handle drawing of parts accross curve boundaries. 2011-06-04 18:25:41 +01:00
Jürg Lehni
e097ff1303 Include copyright notice and clean up. 2011-06-04 16:12:55 +01:00
Jürg Lehni
72ac909713 Include CurveFlattener.js in build. 2011-06-04 16:12:40 +01:00
Jürg Lehni
5fa43efb79 Merge remote-tracking branch 'origin/master' 2011-06-04 16:08:52 +01:00
Jürg Lehni
6c74ace1ed Implement dashed stroke support. Work in progress. 2011-06-04 16:08:40 +01:00
Jürg Lehni
e5290c3f47 More work on Path#draw(). 2011-06-04 15:28:06 +01:00
Jürg Lehni
45a04891ee Clean up. 2011-06-04 15:16:30 +01:00
Jürg Lehni
91886211b5 Simplify Path#draw() by defining a private drawSegment() that's used to close paths too. 2011-06-04 15:16:21 +01:00
Jürg Lehni
4cc3ef87cd Add View#canvas. 2011-06-04 15:15:35 +01:00
Jonathan Puckey
a96b272f7a Documentation edits. 2011-06-04 15:50:29 +02:00
Jürg Lehni
ce01d2cc59 Start implementing CurveFlattener, as required for dashing. 2011-06-04 12:40:58 +01:00
Jürg Lehni
bff3e14155 Implement a first crude version of Curve.isSufficientlyFlat() 2011-06-04 12:40:36 +01:00
Jürg Lehni
5581eefd0c Define default value of t = 0.5 in Curve.subdivide(). 2011-06-04 12:40:07 +01:00
Jonathan Puckey
5e05f38df0 Path docs: add return tag for #getLocationAt. 2011-06-03 23:06:05 +02:00
Jonathan Puckey
d77e9cfb4f Path docs: add Positions on Paths and Curves group title and temporary Path Smoothing group title. 2011-06-03 23:05:22 +02:00
Jonathan Puckey
083099a919 Add Path#closed example. 2011-06-03 23:04:18 +02:00
Jonathan Puckey
8bb8baa199 Merge remote branch 'origin/master' 2011-06-03 22:30:23 +02:00
Jonathan Puckey
9f6e4f0491 Point docs: rename Vectorial Math Functions grouptitle to Vector Math Functions. 2011-06-03 22:30:06 +02:00
Jonathan Puckey
7abdce4f9c Implement Symbol#place(position) 2011-06-03 22:25:37 +02:00
Jürg Lehni
7c57324b3a Switch to Bootstrap.js version that is produced by compiling it with CORE_ONLY flag, and adapt Base.js so Base still gets exported. 2011-06-03 21:20:36 +01:00
Jürg Lehni
aade3391e5 Merge remote-tracking branch 'origin/master' 2011-06-03 17:46:48 +01:00
Jonathan Puckey
96ac41e5c5 Item & PathStyle: implement paperscript examples. 2011-06-03 18:45:01 +02:00
Jonathan Puckey
e273a048cd Group docs: change the height of the constructor example. 2011-06-03 18:44:22 +02:00
Jonathan Puckey
730572b118 Improve Item examples. 2011-06-03 15:34:10 +02:00
Jürg Lehni
702269675a Start adding support for rhino-canvas on server. 2011-06-03 14:05:55 +01:00
Jonathan Puckey
e9260562f2 Improve Group example code. 2011-06-03 14:25:25 +02:00
Jürg Lehni
931e5374b9 Merge remote-tracking branch 'origin/master' 2011-06-03 10:59:29 +01:00
Jürg Lehni
3ef55b2b4e No need for variable chaining here. 2011-06-03 10:59:20 +01:00
Jonathan Puckey
298c304660 Merge remote branch 'origin/master' 2011-06-03 11:34:34 +02:00
Jonathan Puckey
7d1297fcf4 Path#draw: Fix drawing of selected path handles. 2011-06-03 11:33:34 +02:00
Jürg Lehni
4e5e3c9bfd Instead of cloning each value that is set on PathStyle, just clone values in #initialize() / #setStyle(). 2011-06-03 08:27:49 +01:00
Jürg Lehni
02b6db1c7e Do not cache the value returned by Item#position directly, but the bounds' center that is used to create it. 2011-06-03 00:04:02 +01:00
Jürg Lehni
1b197741fa Add support for calculation of cumulative positioned offsets and use it to correctly determine visibility and event positions within canvases nested in relative divs. 2011-06-02 20:43:54 +01:00
Jonathan Puckey
5c88bdfac9 PlacedSymbol docs: use splitpane for constructor example. 2011-06-02 20:56:08 +02:00
Jürg Lehni
99e4cc7645 Add TODO comment about mousedown events not having delta set the first time. 2011-06-02 15:38:12 +01:00
Jürg Lehni
2ab7568d5d Fix typo. 2011-06-02 15:36:44 +01:00
Jürg Lehni
a1cbd53e23 Use modulo again in hsb conversion. 2011-06-02 15:33:46 +01:00
Jürg Lehni
016476d1dc Make sure mousemove events have lastPoint set even for the first move so event.delta is always defined for them. 2011-06-02 15:33:30 +01:00
Jürg Lehni
8b7eea4663 Merge remote-tracking branch 'origin/master' 2011-06-02 14:40:40 +01:00
Jürg Lehni
4a51ff4215 Remove unneeded blend mode. 2011-06-02 14:33:42 +01:00
Jonathan Puckey
5cede5f6ed Update Item#blendMode documentation. 2011-06-02 15:00:16 +02:00
Jonathan Puckey
4455b1c33c Documentation: fix Key.isDown example. 2011-06-02 14:48:21 +02:00
Jonathan Puckey
018ac46e87 Small improvement to Item#strokeCap docs. 2011-06-02 14:17:47 +02:00
Jonathan Puckey
5e9c64d9c8 View#onFrame docs: use code tags in description. 2011-06-02 14:17:02 +02:00
Jonathan Puckey
4d0db25e51 Item & PathStyle: improve documentation. 2011-06-02 13:58:56 +02:00
Jonathan Puckey
0e6811f022 Item: document and add examples to the different removeOn functions. 2011-06-02 13:32:00 +02:00
Jonathan Puckey
371428b9ee Item docs: improve #scale examples. 2011-06-02 12:59:30 +02:00
Jürg Lehni
c07fee0e6b Shorten variable names. 2011-06-02 09:38:13 +01:00
Jürg Lehni
bb11b74fa3 Clean up comments: No need for reference to Context Blender, since code has completely changed. 2011-06-02 09:36:49 +01:00
Jürg Lehni
9be8c154b7 Clean up code. 2011-06-02 09:34:10 +01:00
Jürg Lehni
1c886c125c Make HSB converters private again in Color, and shorten code. 2011-06-02 09:34:02 +01:00
Jürg Lehni
b02b4bf7a3 Implement HSL blend modes according to PDF specs. 2011-06-02 09:33:41 +01:00
Jürg Lehni
0e3ed65206 Go back to old luminescence values since the new ones produces to large values occasionally. 2011-06-02 09:05:23 +01:00
Jürg Lehni
a1d3b1a167 Rename and shorten RGB/HSB converters. 2011-06-02 00:19:00 +01:00
Jürg Lehni
3a310f19cc Directly access inner property. 2011-06-02 00:16:28 +01:00
Jürg Lehni
7dbda50431 Use more precise values for luminescence calculation. 2011-06-02 00:15:32 +01:00
Jürg Lehni
5e7998d803 Rename parameter. 2011-06-01 20:34:35 +01:00
Jürg Lehni
09e3010ed5 Merge remote-tracking branch 'origin/master' 2011-06-01 20:32:54 +01:00
Jürg Lehni
f7bdfc5019 Clean up comments. 2011-06-01 20:32:37 +01:00
Jürg Lehni
6558574980 Clean up code. 2011-06-01 20:23:20 +01:00
Jürg Lehni
7de0859a85 Clean up comments. 2011-06-01 20:21:41 +01:00
Jürg Lehni
d5952ba043 Implement HSB blend modes. 2011-06-01 20:21:25 +01:00
Jürg Lehni
ad8f046880 Expose HSB converters since they are required in BlendMode 2011-06-01 20:21:08 +01:00
Jürg Lehni
05a01604ca Shorten css code. 2011-06-01 20:20:50 +01:00
Jürg Lehni
09e9298bf4 Fix blend modes to work correctly with alpha channels. 2011-06-01 19:25:43 +01:00
Jonathan Puckey
884446f606 Merge remote branch 'origin/master' 2011-06-01 19:49:57 +02:00
Jürg Lehni
0d1fcfbb81 Remove unused blend mode 'normal'. 2011-06-01 17:21:14 +01:00
Jürg Lehni
f58aa2a23b Add comment about overlay mode being the reverse of hard-light. 2011-06-01 17:11:06 +01:00
Jürg Lehni
3850e4a53b Optimise code for normal and multiply blend modes by precalculating values. 2011-06-01 17:10:40 +01:00
Jürg Lehni
8bbb3744fe Use min() / max() in darken / lighten for shorter code. 2011-06-01 17:09:32 +01:00
Jürg Lehni
b08abcdd69 Remove 'unsupported' blend mode. 2011-06-01 16:50:14 +01:00
Jürg Lehni
9142c974c3 Revert to longer version of blend mode code as it is faster. 2011-06-01 16:49:48 +01:00
Jürg Lehni
62f5204810 Shorten variable names. 2011-06-01 16:45:42 +01:00
Jürg Lehni
44605433d1 Further shorten and simplify BlendMode cide by having process() only process one pixel value at a time. 2011-06-01 16:34:57 +01:00
Jürg Lehni
9fa193d26f Move opacity precalculation out of variable definition. 2011-06-01 15:31:02 +01:00
Jürg Lehni
117a828b2b Don't set dst[i + 3] directly, set dA2 instead. 2011-06-01 14:01:46 +01:00
Jürg Lehni
acecb1a2c1 Clean up variable names. 2011-06-01 14:01:22 +01:00
Jürg Lehni
b9739aa26a Optimise blend mode loop by pre-calculating divisions. 2011-06-01 14:00:50 +01:00
Jürg Lehni
4a9f0d726f Pre-calculate opacity value. 2011-06-01 14:00:02 +01:00
Jürg Lehni
a1d996df05 Clean up formating. 2011-06-01 13:42:34 +01:00
Jürg Lehni
69e989f834 No need to set dst[i + 3] again after changing dA2, since we are now only setting it after calling process() from the main loop. 2011-06-01 13:42:22 +01:00
Jürg Lehni
c47d281308 Speed up blend-modes by using a lookup table for process functions rather than a switch() statement for each pixel. 2011-06-01 13:37:36 +01:00
Jonathan Puckey
c1d4161782 Merge remote branch 'origin/master' 2011-06-01 12:19:30 +02:00
Jürg Lehni
29967153c3 Clean up TODO comments... 2011-06-01 10:49:43 +01:00
Jürg Lehni
2a5f885f50 "for var in" is good practise in such a case, as we don't need additional functionality of Base.each(). 2011-06-01 09:57:18 +01:00
Jonathan Puckey
5dd5694e3b Merge branch 'master' of github.com:scriptographer/paper.js 2011-06-01 10:56:16 +02:00
Jürg Lehni
ad335374cd Copyrights are included correctly in the paper.js file. 2011-05-31 22:22:07 +01:00
Jürg Lehni
90631b9dd0 Merge remote-tracking branch 'origin/master' 2011-05-31 22:16:27 +01:00
Jonathan Puckey
932527ee5c Improve Item's path style documentation. 2011-05-31 16:48:48 +02:00
Jonathan Puckey
7087b5476d Clean up Matrix#setToRotation. 2011-05-31 16:19:43 +02:00
Jonathan Puckey
d2827e35c6 Documentation: clean up Size example code. 2011-05-31 16:18:59 +02:00
Jonathan Puckey
c39d092ee4 Documentation: Clean up Point example code. 2011-05-31 16:16:15 +02:00
Jonathan Puckey
97c8a7cb83 Clean up Line#getSide. 2011-05-31 16:13:42 +02:00
Jonathan Puckey
7a4c44ec7b Matrix documentation. 2011-05-31 16:08:25 +02:00
Jonathan Puckey
434268fbd1 Document the properties of PaperScope to be global. 2011-05-31 15:18:37 +02:00
Jonathan Puckey
2b8f1b71ec Documentation: use inline code tags for boolean and number values, 2011-05-31 14:28:42 +02:00
Jonathan Puckey
31bf3ffa70 Matrix: add param tags to #applyToContext documentation. 2011-05-31 14:25:24 +02:00
Jonathan Puckey
8b7d7b68e1 Size: fix typo in documentation. 2011-05-31 14:24:30 +02:00
Jonathan Puckey
33cc1b47b8 View: Move onResize below onFrame and document both of them. 2011-05-31 14:24:13 +02:00
Jonathan Puckey
7eb35bf6fb Point documentation: add examples to Point.min, Point.max and Point.random. 2011-05-31 01:19:33 +02:00
Jonathan Puckey
2e2b7cad24 PlacedSymbol docs: make constructor argument optional. 2011-05-30 20:09:46 +02:00
Jonathan Puckey
6892608ecd Documentation: rename 'Sample Code:' to 'Example:' 2011-05-30 19:55:40 +02:00
Jonathan Puckey
17fcb923ff Documentation: rearrange @example tags, improve examples, rename boolean -> Boolean and misc smaller edits. 2011-05-30 19:42:17 +02:00
Jürg Lehni
6effdcd450 Move comment. 2011-05-30 17:04:15 +01:00
Jonathan Puckey
16f521b8a2 Path.Constructors docs: move @example tags to the end of the comments and shorten the lines of the examples. 2011-05-30 17:13:19 +02:00
Jürg Lehni
1e9f2dc057 Fix typos. 2011-05-30 15:17:44 +01:00
Jürg Lehni
78f43b52b9 Set default styles for Project#currentStyle. 2011-05-29 21:35:46 +01:00
Jürg Lehni
15da2fe257 Implement Item#isAbove / #isBelow and define tests for it. 2011-05-29 19:54:43 +01:00
Jürg Lehni
ba42295942 Change variable name in #isEditable() to reflect what's being checked more correctly. 2011-05-29 19:22:59 +01:00
Jürg Lehni
9d00541987 Clean up PORT comments. 2011-05-29 19:20:10 +01:00
Jonathan Puckey
f9eca3efbf Docs: improve the description of the Size class. 2011-05-29 17:40:23 +02:00