Commit graph

519 commits

Author SHA1 Message Date
Jonathan Puckey
f57a7ba0d9 Use Math.min / Math.max to clamp component values in color classes. 2011-03-09 16:48:53 +01:00
Jonathan Puckey
08d66ae231 Color: small change. 2011-03-09 15:50:32 +01:00
Jonathan Puckey
87de9f4fa8 Further refactoring in Color. 2011-03-09 15:25:41 +01:00
Jonathan Puckey
30d2f16c8c Color: save a var statement. 2011-03-09 15:00:13 +01:00
Jonathan Puckey
da92ff9773 Check for min and max values in the different color component setters. 2011-03-09 14:48:16 +01:00
Jürg Lehni
41ce6279f1 Merge remote-tracking branch 'origin/master'
Conflicts:
	src/color/Color.js
2011-03-09 13:34:13 +00:00
Jürg Lehni
9fd0381b82 Minor clean-ups. 2011-03-09 13:31:40 +00:00
Jonathan Puckey
b7902635bf Color#setAlpha: comment out code using Math.min and Math.max, which was supposed to just be there to explain what is happening. 2011-03-09 14:31:30 +01:00
Jonathan Puckey
bda24fbd54 Color: simplify stringToRGB again. 2011-03-09 14:29:19 +01:00
Jonathan Puckey
eacf346aab Color: reintroduce hexToRGB to be called from stringToRGB. 2011-03-09 14:23:18 +01:00
Jonathan Puckey
741652aa9c Color: combine stringToRgb, namedToRgb and hexToRgb and optimize a bit. 2011-03-09 14:20:09 +01:00
Jonathan Puckey
526711ffd4 Fix and improve performance of Raster#getPixel. 2011-03-09 13:38:58 +01:00
Jonathan Puckey
00c4b5ee34 Small change to HSBColor#setHue. 2011-03-09 02:30:50 +01:00
Jonathan Puckey
6a26cf3228 Add HSBColor to load.js. 2011-03-09 02:24:35 +01:00
Jonathan Puckey
62db3e56dd Implement HSBColor, introduce Color#convert(type) and refactor color classes. 2011-03-09 02:23:39 +01:00
Jürg Lehni
526e2ea0ba Hide Curve#getLength() parameters from Bootstrap so it injects bean too. 2011-03-08 17:31:36 +00:00
Jürg Lehni
72469dc65f Clean up PlacedSymbol constructor, make sure it declares parameters. 2011-03-08 17:21:05 +00:00
Jürg Lehni
195b089424 Clean up Path.* constructors and make sure they handle Base.read() returning null. 2011-03-08 17:20:30 +00:00
Jürg Lehni
484b2b0c94 Test code for Path#segments change observation. 2011-03-08 17:20:03 +00:00
Jürg Lehni
3927836441 Declare functions that work both as getters for beans and also as callalble functions with optional parameters differently, since they do not inject beans anymore if they declare parameters. 2011-03-08 17:19:02 +00:00
Jürg Lehni
dd9340d522 Handle all the calls to Base.read() differently, by checking result for null and bailing out if it is. 2011-03-08 17:17:36 +00:00
Jürg Lehni
ea9a1d2c47 Fix Base.read() to correctly read existing objects even when length > 1. 2011-03-08 17:08:30 +00:00
Jürg Lehni
74167ff28d Add test code for segments list that detects change. 2011-03-08 13:19:08 +00:00
Jürg Lehni
fc0d3efd29 Simplify Path constructor further. 2011-03-08 13:03:57 +00:00
Jürg Lehni
e35fb1efb6 Move populating of segments list to Path#setSegments() and rely on it in constructor. 2011-03-08 13:03:11 +00:00
Jürg Lehni
848befe103 No need to create a new segments array in setSegments, just set length of existing one instead. 2011-03-08 13:00:32 +00:00
Jürg Lehni
7a4e49c5d5 Clean up Document#draw a bit and define param outside of loop. 2011-03-08 12:55:52 +00:00
Jürg Lehni
456e9f2815 Use variable definition chaining in Raster. 2011-03-08 12:55:34 +00:00
Jürg Lehni
6a67052090 Update copyright / licensing comments. 2011-03-08 01:41:50 +00:00
Jürg Lehni
34a6c7871c Clean-up loading code. 2011-03-08 01:07:26 +00:00
Jürg Lehni
2e55cd9871 Clean up source loading sequence, and rename test_function.js to helpers.js 2011-03-08 01:05:01 +00:00
Jürg Lehni
4680283ce7 Simply use document.write() for script loading, as load.js seems not ready for primetime yet (it magically half-broke QUnit on Safari). 2011-03-08 00:58:47 +00:00
Jürg Lehni
de797aa0fe Improve load.js mechanism and make it work for QUnit too. 2011-03-08 00:17:42 +00:00
Jürg Lehni
8f78513174 Change naming of exported PaperScript methods. 2011-03-08 00:17:19 +00:00
Jürg Lehni
798bcd709a Since Firefox does not seem to support the <base> tag for script loading, roll our own solution through the load.js calls. 2011-03-07 23:11:41 +00:00
Jürg Lehni
3dd523a683 Merge remote-tracking branch 'origin/master' 2011-03-07 18:37:03 +00:00
Jürg Lehni
e32549aaf2 Switch to using load.js for loading the various parts of the library during development. 2011-03-07 18:36:42 +00:00
Jürg Lehni
6db184341a Fix a small syntax error. 2011-03-07 18:36:13 +00:00
Jürg Lehni
b4356078a7 Export PaperScript.install, so it can be loaded after onload. 2011-03-07 18:35:48 +00:00
Jürg Lehni
3685a614a5 Add copyright / license comment to main file and include Line.js and BlendMode.js in compiled library. 2011-03-07 18:34:17 +00:00
Jonathan Puckey
781fd4adda Fix Size#dot. 2011-03-07 18:49:43 +01:00
Jonathan Puckey
6b5ce7c18c Merge remote branch 'origin/master' 2011-03-07 18:39:25 +01:00
Jonathan Puckey
dc25512f73 Compress getters and setters of translateX / translateY / scaleX / scaleY / rotateX / rotateY. 2011-03-07 18:38:50 +01:00
Jürg Lehni
c4c5b070b5 Minor code clean-up. 2011-03-07 16:51:12 +00:00
Jürg Lehni
2a0c393b85 Simplify HSB code a little. 2011-03-07 16:51:00 +00:00
Jürg Lehni
350fef00ec Simplify new getter / setter generation code a bit. 2011-03-07 16:49:24 +00:00
Jürg Lehni
ff2b740c68 Use local references to often called Math functions, allowing uglify to shorten them further. 2011-03-07 16:49:02 +00:00
Jonathan Puckey
d713102734 Implement Color#saturation / Color#hue / Color#brightness and allow chaining of color channel setters. 2011-03-07 15:59:35 +01:00
Jonathan Puckey
513bd1da67 Merge remote branch 'origin/master' 2011-03-07 13:42:58 +01:00
Jonathan Puckey
69829e03f6 Rectangle: optimize creation of corner getters / setters and combine multiple variable declarations. 2011-03-07 13:42:50 +01:00
Jürg Lehni
8895209e3b Merge remote-tracking branch 'origin/master' 2011-03-07 12:01:33 +00:00
Jürg Lehni
59cb7e937e Add control over maximum iterations to Numerical.findRoot(). 2011-03-07 11:59:43 +00:00
Jonathan Puckey
5e99833ebb Merge remote branch 'origin/master' 2011-03-07 12:59:08 +01:00
Jürg Lehni
d9b8809f3c Further clean up getParameter() code. 2011-03-07 11:58:41 +00:00
Jonathan Puckey
1b7dbd659d Compress Rectangle corner getters and setters. 2011-03-07 12:58:00 +01:00
Jürg Lehni
7956b50886 Use === for undefined comparisons. 2011-03-07 11:52:04 +00:00
Jürg Lehni
1e8dffac08 Clean up getParameter() code. 2011-03-07 11:51:01 +00:00
Jürg Lehni
0ddfc9ef33 Add support for sub ranges and negatives lengths in Curve#getParameter(), a prerequirement for adding dash support. 2011-03-07 11:37:42 +00:00
Jürg Lehni
2ac9a13e2a Give Numerical methods more meaningful names. 2011-03-07 11:12:00 +00:00
Jürg Lehni
f5c79bf709 Clean up PaperScript code a bit. 2011-03-07 11:10:45 +00:00
Jürg Lehni
6d8c7787bd Export ToolEvent too. 2011-03-07 11:08:58 +00:00
Jürg Lehni
26caf099ca No need for all the .0 in brent() code. 2011-03-07 02:43:07 +00:00
Jürg Lehni
08545983d7 Minor clean-ups. 2011-03-07 02:38:07 +00:00
Jürg Lehni
4dd4072f6b Use push() instead fo concat() for better getParameter() performance. 2011-03-07 02:35:06 +00:00
Jürg Lehni
3d7e66053c Simplify getLength() for line ranges. 2011-03-07 02:33:36 +00:00
Jürg Lehni
172212c222 Clean-up code and comments. 2011-03-07 02:28:49 +00:00
Jürg Lehni
add0bcf1fd Yet more optimisations in getParameter(), both for straight lines and curves. 2011-03-07 02:26:59 +00:00
Jürg Lehni
0e8c346888 Further optimise getParameter() / getLength() code by reusing a integrand function and taking advantage of integral ranges. 2011-03-07 02:22:33 +00:00
Jürg Lehni
3447d11a6f Some minor clean-ups. 2011-03-07 01:40:18 +00:00
Jürg Lehni
027a5e67b9 Add getLength() optimisation for straight lines. 2011-03-07 01:37:18 +00:00
Jürg Lehni
f7f5a70b1c Fix recently newly introduced bug in getStrokeBounds(). 2011-03-07 01:30:45 +00:00
Jürg Lehni
e1a7aff2f0 Add copyright notice and license file. 2011-03-07 00:50:44 +00:00
Jürg Lehni
91160bc5d7 Add copyright notices. 2011-03-07 00:40:48 +00:00
Jürg Lehni
003cfbd32b Format Gauss tables nicer. 2011-03-07 00:38:33 +00:00
Jürg Lehni
0bfca81140 Clean-up getBounds() code and move to its own scope at the end of Path. 2011-03-07 00:36:44 +00:00
Jürg Lehni
9fdbd0146d Rename MathUtils to Numerical. 2011-03-07 00:21:04 +00:00
Jürg Lehni
58f5c8554e Add comments about initial guess. 2011-03-07 00:17:43 +00:00
Jürg Lehni
83fea3bf4e Clean up MathUtils code. 2011-03-07 00:17:32 +00:00
Jürg Lehni
65900f8790 Implement Curve#getParameter() using MathUtils.brent(), with the astonishing result that performance can match the Java side on Chrome! 2011-03-07 00:00:45 +00:00
Jürg Lehni
b1e90efc9e Add Van Wijngaarden–Dekker–Brent method for root finding, ported from Numerical Recipes in C. 2011-03-06 23:25:57 +00:00
Jürg Lehni
29e57cc521 Replace slow simpson() method with insanely fast Gauss-Legendre Numerical Integration by Jim Armstrong which was further optimised. 2011-03-06 23:24:33 +00:00
Jürg Lehni
c4ad95b0ac More variable chaining... 2011-03-06 22:06:24 +00:00
Jürg Lehni
4c13ca6961 Fix syntax errors (that magically work on Safari). 2011-03-06 22:06:06 +00:00
Jürg Lehni
87981efeb5 Massive refactoring of transform() / getBounds() code: getBounds() / getStrokeBounds() now supports an optional Matrix parameter which is used to on the fly transform all coordinates and stroke definitions before bounds are calculated. This even supports the correct determination of rotated ellipse bounds for round strokes in symbols. 2011-03-06 21:26:38 +00:00
Jürg Lehni
6def2b9d3a Clean-up Path#arcTo() code. 2011-03-06 21:13:55 +00:00
Jürg Lehni
2d4cf2cc72 Replace beans access to Item#position with getter calls. 2011-03-06 21:12:11 +00:00
Jürg Lehni
8ddf5a3d90 Add Matrix#createShiftless(), to return a copy of the matrix that lacks the translation. 2011-03-06 21:10:47 +00:00
Jürg Lehni
670512d123 Finally figured out why Matrix#applyToContext was not working right: The parameters where not passed in the right sequence! 2011-03-06 21:09:52 +00:00
Jürg Lehni
994b9deb8f Fix Matrix#toString() to print values in correct sequence. 2011-03-06 21:08:37 +00:00
Jürg Lehni
607fe8f5d6 Improve argument handling in Matrix constructor. 2011-03-06 21:07:44 +00:00
Jürg Lehni
a7d08bcc08 Use variable definition chaining in Matrix where possible. 2011-03-06 21:06:46 +00:00
Jürg Lehni
32d0f31c31 Introduce Matrix.create() and use where applicable. 2011-03-06 21:05:24 +00:00
Jürg Lehni
47d55e19f5 Impove various angle related code in Point. 2011-03-06 21:03:43 +00:00
Jürg Lehni
420e0435ed Shorten create() methods, except for Point where it might have a performance impact. 2011-03-06 21:02:57 +00:00
Jürg Lehni
90b94a8d83 Various simplificiations and clean-ups in Path constructors. 2011-03-06 18:46:28 +00:00
Jürg Lehni
deb78b78cf Define fast Rectangle.create() and use it internally where applicable. 2011-03-06 18:45:56 +00:00
Jürg Lehni
4070f98374 Clean up calculateBounds(). 2011-03-06 18:33:52 +00:00
Jürg Lehni
836da3ce47 Make getCurrentSegment() a real private. 2011-03-06 15:21:12 +00:00
Jürg Lehni
dfb11610e7 Define getCurrentSegment() as private and make sure it's not used as a bean. 2011-03-06 15:17:06 +00:00
Jürg Lehni
162dab66a7 Clean up code. 2011-03-06 15:15:21 +00:00