Difference between revisions of "Porting pushStyle(), popStyle(), and boolean() to Processing.js"
m |
|||
Line 1: | Line 1: | ||
== Project Name == | == Project Name == | ||
− | Porting | + | Porting Processing to Processing.js |
== Project Description == | == Project Description == | ||
− | [http://processingjs.org/ Processing.js] remains incomplete as a port of [http://processing.org/ Processing]. | + | [http://processingjs.org/ Processing.js] remains incomplete as a port of [http://processing.org/ Processing]. The following functions are targeted: |
+ | *[http://processing.org/reference/pushStyle_.html ''pushStyle()''] | ||
+ | *[http://processing.org/reference/popStyle_.html ''popStyle()''] | ||
+ | *[http://processing.org/reference/boolean_.html ''boolean()''] | ||
+ | *[http://processing.org/reference/strokeCap_.html ''strokeCap()''] | ||
+ | *[http://processing.org/reference/strokeJoin_.html ''strokeJoin()''] | ||
+ | *[http://processing.org/reference/text_.html ''text()''] (bug fix) | ||
+ | *[http://processing.org/reference/min_.html ''min()''] (bug fix) | ||
+ | *[http://processing.org/reference/max_.html ''max()''] (bug fix) | ||
== Resources == | == Resources == | ||
Line 41: | Line 49: | ||
===strokeJoin()=== | ===strokeJoin()=== | ||
+ | |||
+ | ===text()=== | ||
+ | *Partially implementation missing ability to take int, float, double, and byte arguments. | ||
+ | *float and doubles rounded to thousandths digit. | ||
+ | *.5 rounds down rather than up. | ||
==Things to do== | ==Things to do== | ||
Line 69: | Line 82: | ||
|[[User:mlam19|Matthew Lam]] | |[[User:mlam19|Matthew Lam]] | ||
|[http://matrix.senecac.on.ca/~mlam19/processingjs/strokeJoinTest1.html Test page] | |[http://matrix.senecac.on.ca/~mlam19/processingjs/strokeJoinTest1.html Test page] | ||
+ | |- | ||
+ | |Test cases for ''text()'' | ||
+ | |Done | ||
+ | |[[User:mlam19|Matthew Lam]] | ||
+ | |[http://matrix.senecac.on.ca/~mlam19/processingjs/textTest1.html Test page] | ||
|} | |} | ||
Line 77: | Line 95: | ||
!Notes | !Notes | ||
!Resources | !Resources | ||
+ | |- | ||
+ | |0.4 | ||
+ | |''text()'' implementation enhanced. | ||
+ | | | ||
+ | *[http://github.com/mlam19/processing-js/commit/b43a4854c31c27175edd4aa885bb431a79981daa Final GitHub commit] | ||
+ | *[https://processing-js.lighthouseapp.com/projects/41284/tickets/191/a/382850/patch.diff Patch] | ||
|- | |- | ||
|0.3 | |0.3 | ||
− | |''strokeCap()'' and '' | + | |''strokeCap()'' and ''strokeJoin()'' ported. |
|[http://github.com/mlam19/processing-js/commit/e748d89186f033d33f829235b45d5ca0391be684 Final GitHub commit] | |[http://github.com/mlam19/processing-js/commit/e748d89186f033d33f829235b45d5ca0391be684 Final GitHub commit] | ||
|- | |- | ||
Line 95: | Line 119: | ||
!Date | !Date | ||
!Notes | !Notes | ||
+ | |- | ||
+ | |Jan. 20, 2010 | ||
+ | |[http://wobblyretroaction.blogspot.com/2010/01/dps911-project-processingjs-v04.html Release 0.4 announcement] | ||
|- | |- | ||
|Jan. 14, 2010 | |Jan. 14, 2010 |
Revision as of 09:08, 20 January 2010
Contents
Project Name
Porting Processing to Processing.js
Project Description
Processing.js remains incomplete as a port of Processing. The following functions are targeted:
- pushStyle()
- popStyle()
- boolean()
- strokeCap()
- strokeJoin()
- text() (bug fix)
- min() (bug fix)
- max() (bug fix)
Resources
Project Leader(s)
Project Contributor(s)
Project Details
pushStyle() and popStyle()
- The number of states saved is tracked by pushedStates.
- pushStyle() calls curContext.save() and increments pushedStates by one.
- Excess pops are ignored.
Related Mozilla bugs
- #451165 - CanvasRenderingContext2D.fillStyle and strokeStyle accept invalid colours
- pushStyle() and popStyle() use CanvasRenderingContext2D.save() and restore(). These functions save fillStyle and strokeStyle.
boolean()
- Non-zero numeric values become true
- Bytes (0's and 1's) are interpreted as numeric values.
- null and undefine become false.
- Boolean arguments are returned as themselves.
strokeCap()
- Modifies context.lineCap.
- ROUND -> context.lineCap="round";
- SQUARE -> context.lineCap="butt";
- PROJECT -> context.lineCap="square";
- Processing default (ROUND) set in function init.
- function size modified to respect previous settings.
- Used to recreate context and reset settings, which overwrote the desired default.
strokeJoin()
text()
- Partially implementation missing ability to take int, float, double, and byte arguments.
- float and doubles rounded to thousandths digit.
- .5 rounds down rather than up.
Things to do
Description | Status | Assigned to | Link |
---|---|---|---|
Test cases for pushStyle() and popStyle() | Done | Matthew Lam | Test page |
Test cases for boolean() | Done | Matthew Lam | Test page |
Test cases for strokeCap() | Done | Matthew Lam | Test page |
Test cases for strokeJoin() | Done | Matthew Lam | Test page |
Test cases for text() | Done | Matthew Lam | Test page |
Releases
Version | Notes | Resources |
---|---|---|
0.4 | text() implementation enhanced. | |
0.3 | strokeCap() and strokeJoin() ported. | Final GitHub commit |
0.2 | Bug fixes for pushStyle(), popStyle(), and boolean(). Functions now functional. | Patch |
0.1 | Basic functionality for pushStyle() and popStyle(). Totally untested code for boolean(). | Patch |
Project News
Date | Notes |
---|---|
Jan. 20, 2010 | Release 0.4 announcement |
Jan. 14, 2010 | Project continuation blog |
Dec. 9, 2009 | Release 0.3 announcement. |
Dec. 2, 2009 | strokeJoin() completed. |
Nov. 29, 2009 | strokeCap() completed. |
Nov. 19, 2009 | Release 0.2 announcement. |
Oct. 19, 2009 | Release 0.1 announcement. |
Oct. 12, 2009 | Project expanded to include boolean(). |
Sept. 28, 2009 | Basic improvements allow the rudimentary Processing example to function in Processing.js. |
Sept. 27, 2009 | The initial project proposal has been posted. Repository at github created. |