Difference between revisions of "Porting pushStyle(), popStyle(), and boolean() to Processing.js"
m |
|||
Line 1: | Line 1: | ||
== Project Name == | == Project Name == | ||
− | Porting pushStyle(), popStyle(), and | + | Porting pushStyle(), popStyle(), boolean(), and strokeCap() to Processing.js |
== Project Description == | == Project Description == | ||
− | [http://processingjs.org/ Processing.js] remains incomplete as a port of [http://processing.org/ Processing]. Among the features still to be implemented are the functions [http://processing.org/reference/pushStyle_.html ''pushStyle()''], [http://processing.org/reference/popStyle_.html ''popStyle()''], | + | [http://processingjs.org/ Processing.js] remains incomplete as a port of [http://processing.org/ Processing]. Among the features still to be implemented are the functions [http://processing.org/reference/pushStyle_.html ''pushStyle()''], [http://processing.org/reference/popStyle_.html ''popStyle()''], [http://processing.org/reference/boolean_.html ''boolean()''], and [http://processing.org/reference/strokeCap_.html ''strokeCap()'']. The first two functions automatically save style information for later retrieval and reuse. ''boolean()'' "converts" arguments into a boolean value. ''strokeCap()'' determines how the ends of lines are rendered. |
== Resources == | == Resources == | ||
Line 17: | Line 17: | ||
== Project Details == | == Project Details == | ||
===pushStyle() and popStyle()=== | ===pushStyle() and popStyle()=== | ||
− | The number of states saved is tracked by ''pushedStates''. | + | *The number of states saved is tracked by ''pushedStates''. |
+ | *''pushStyle()'' calls ''curContext.save()'' and increments ''pushedStates'' by one. | ||
+ | *Excess pops are ignored. | ||
− | + | ===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. | ||
====Related Mozilla bugs==== | ====Related Mozilla bugs==== |
Revision as of 14:36, 23 November 2009
Contents
Project Name
Porting pushStyle(), popStyle(), boolean(), and strokeCap() to Processing.js
Project Description
Processing.js remains incomplete as a port of Processing. Among the features still to be implemented are the functions pushStyle(), popStyle(), boolean(), and strokeCap(). The first two functions automatically save style information for later retrieval and reuse. boolean() "converts" arguments into a boolean value. strokeCap() determines how the ends of lines are rendered.
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.
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.
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()
Things to do
Description | Status | Assigned to | Link |
---|---|---|---|
Test cases for pushStyle() and popStyle() | In progress | Matthew Lam | Test page |
Test cases for boolean() | In progress | Matthew Lam | Test page |
Releases
Version | Notes | Resources |
---|---|---|
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 |
---|---|
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. |