- New HParticles behavior
- New HSphereLayout class
- New HScreenshot class
- New HGroupColorPool class
- Updated HTween class
- Updated HPixelColorist class
- Updated HConstants (new colors)
- Updated HShape class
- Updated HPath class
- Updated HVertex class
- Fixes infinite recursion bug in HMath
- New HSprite and HAttractor classes
- updates to HGRoup and HRotate
- refactor file/directory structure to meet Processing Library Guidelines.
- Incorporate Ant build support
- Debug against Java 8
- new fields for HConstants:
ROTATIONX
ROTATIONY
ROTATIONZ
DROTATIONX
DROTATIONY
DROTATIONZ
- HTween and HOscillator can now have 3D rotation
- the bounds limit for picking a random position for HShapeLayout is now more accurate, when the layout's target is rotated.
- new HStage methods:
showsFPS(boolean)
showsFPS()
- new HOscillator methods:
nextRaw()
returns and increments the raw oscillator value, depending on the current waveform (range: [-1.0, 1.0]); it also updates the "current" valuescurr()
,curr1()
,curr2()
&curr3()
returns the current values
- restructured HTween, so it stores only the scale factor rather than the size when using
HConstants.SCALE
- new HTween methods:
nextRaw()
returns and increments the raw tween value (range: [0,1] plus spring); it also updates the "current" valuescurr()
,curr1()
,curr2()
&curr3()
returns the current values
- removed the ff. HMath methods (these are redundant to PApplet's
random()
methods):random()
random(float)
random(float,float)
- the following methods now use PApplet's
random()
method (this means that these methods are now affected byPApplet::seed()
andHMath.tempSeed()
):HMath.randomInt(float)
andHMath.randomInt(float,float)
HShapeLayout.getNextPoint()
HRandomTrigger.runBehavior()
- made the ff. fields private / protected:
HTrigger._callback
HVector._x
HVector._y
HVector._z
HColorTransform._percA
HColorTransform._percR
HColorTransform._percG
HColorTransform._percB
HRandomTrigger._chance
- removed unused HWarnings field
VERTEXPX_ERR
- new interface:
HImageHolder
(this is a common interface for any class that can hold and return a PImage)HImageHolder image(Object)
PImage image()
- HImage now implements HImageHolder
- HStage now implements HImageHolder
HStage.background()
&backgroundImg()
are now chainable- marked the ff. HPixelColorist methods for deprecation:
setImage(Object)
getImage()
- HPixelColorist now implements HImageHolder with the ff. new methods as replacement of the recently deprecated methods:
image(Object)
image()
- new HRect getter method:
rounding()
- privatized the following HRect fields:
_tl
_tr
_bl
_br
- HColors now implements HConstants
- new HTween getter methods:
start()
start1()
start2()
start3()
end1()
end2()
end3()
- HTween now registers itself by default
- new HCallback constant:
HConstants.NOP
- implemented using HConstants.NOP on the ff classes:
HDrawablePool
HTrigger
and its subclassesHTween
- privatized the following HDrawablePool fields:
_onCreate
_onRequest
_onRelease
- removed the ff fields / methods from HDrawablePool:
_listener
listener()
listener(HPoolListener)
- removed unused interfaces / classes:
HPoolListener
HPoolAdapter
- new HDrawable methods for rotating children:
rotatesChildren(boolean)
&rotatesChildren()
- removed the casting for
HDrawable.add()
andHDrawable.remove()
- renamed the following protected HDrawable fields:
_anchorPercX
->_anchorU
_anchorPercY
->_anchorV
_alphaPerc
->_anchorPc
- renamed the following HDrawable methods:
anchorPerc(float,float)
->anchorUV(float,float)
anchorPerc()
->anchorUV()
anchorPercX(float)
->anchorU(float)
anchorPercX()
->anchorU()
anchorPercY(float)
->anchorV(float)
anchorPercY()
->anchorV()
alphaPerc(float)
->alphaPc(float)
alphaPerc()
->alphaPc()
alphaShiftPerc(float)
->alphaShiftPc(float)
- marked
HStage.autoClear(boolean)
for deprecation - new HStage method:
autoClears(boolean)
(as replacement of autoClear(boolean).)
- new HDrawable methods for styling children:
stylesChildren(boolean)
&stylesChildren()
onStyleChange()
(protected)
- HGroup now styles its children by default
- refactors on the
HPath.adjust()
method
- new HMath comparator methods:
lessThan(float,float,float)
&lessThan(float,float,float)
greaterThan(float,float,float)
&greaterThan(float,float,float)
isEqual(float,float,float)
&isEqual(float,float,float)
isZero(float,float)
&isZero(float)
- added a pixel tolerance of 1.5 for linear hitboxes in HPath
- hitbox detection for HPath now changes depending on mode and presence of fill color
- moved the ff constant fields from HConstants to HDrawable:
DEFAULT_FILL
DEFAULT_STROKE
DEFAULT_WIDTH
DEFAULT_HEIGHT
- renamed
HPath.startPath()
tobeginPath()
in order to be more consistent with Processing's naming standards - HPath can now draw its bezier handles by setting
drawsHandles(true)
- the method
HMath.bezierParam()
(both of them) no longer removes values in the params array that are not within the range[0,1]
- renamed HVertexNEW to HVertex
- renamed and replaced HVertexNEW to HVertex
- new static HColors method:
isTransparent(int)
note: the following changes are not yet put into the pde files due to their experimental nature
- implemented adjustments for some edge cases in
HVertexNEW.intersectTest()
- various debugs and refactors for
HVertexNEW
andHPathNEW
- new HMath methods:
- bezierTangent(float,float,float,float,float)
- bezierTangent(float,float,float,float)
- organized existing HMath methods (i.e. the bezier stuff are clumped together)
- bugfix:
HPath.createCopy()
now copies its vertices properly - some further code for HPathNEW and HVertexNEW
- marked
HOscillator.createCopy()
as deprecated
- HGroup is now set to transform/resize its children by default; to turn this off, call
transformsChildren(false)
- the
transformsChildren()
method for HStage is now deactivated
- restored the
HOscillator.createCopy()
method due to backwards compatibility issues - debug: HOscillator skips a step every 359 steps
- if HOscillator's property field is equal to
HConstants.SCALE
, it now stores the min and max values as raw scale factors, instead of width and height
- removed the unused
HNonChild
interface in favor ofinvalidChild(HDrawable)
- new HDrawable methods:
invalidChild(HDrawable)
checks if the caller will be an invalid child of the passed drawableonResize(float,float,float,float)
listener method that is called on every resizetransformsChildren()
andtransformsChildren(boolean)
gets and sets the flag that determines if the drawable's children will be resized and moved along with it
- moved the code for adjusting proportional HDrawable sizes to
onResize()
- HDrawable now stores all its boolean values (including
_proportional
) in a byte sized bitset - new HDrawable constants (all are of type byte):
BITMASK_PROPORTIONAL
is the bitmask for the "proportional" bit flagBITMASK_TRANSFORM_CHILDREN
is the bitmask for the "transforms children" bit flagBITMASK_STYLE_CHILDREN
is the bitmask for the "styles children" bit flag (will be used for a future feature)BITMASK_ROTATE_CHILDREN
is the bitmask for the "rotates children" bit flag (will be used for a future feature)
- HOscillator now has an internal structure similar to HTween
- the property H.SCALE is now treated like H.SIZE in when
runBehavior()
is called, except that the min and max values are multiplied by the target's width and height. - included z coordinate oscillation for HOscillator
- z coordinates can now oscillate with H.LOCATION
- removed unused constructor
new HOscillator(HDrawable)
- removed deprecated method
HOscillator.createCopy()
- new HOscillator methods:
minimum(float,float)
&minimum(float,float,float)
maximum(float,float)
&maximum(float,float,float)
range(float,float,float,float)
&range(float,float,float,float,float,float)
min1()
,min2()
&min3()
max1()
,max2()
&max3()
relativeVal1()
,relativeVal2()
,relativeVal3()
- java packaging changes:
- moved HMouse from the
hype.core.event
package tohype.core.util
- split the "core" classes from the extended classes (core generally contains the superclasses and other core classes, while extended generally contains the subclasses)
- merged the classes from the
trigger
package intobehavior
.
- moved HMouse from the
- rename: HSwarmer -> HDirectable
- new interface: HNonChild (this will indicate if a drawable could not be added inside another drawable sometime in the future)
- removed casting requirements for
H.add()
andH.remove()
for the ff classes:- HCanvas
- HEllipse
- HGroup
- HImage
- HPath
- HRect
- HShape
- HText
- new HDrawable methods:
x2u(float)
-- converts anx
coordinate to its UV coordinate equvialent, or percentage of the drawable's width (if width is 0, then it computes with 100)y2u(float)
-- same as above, but with y and heightu2x(float)
-- converts au
coordinate to its XY coordinate equivalentv2y(float)
-- same as above, but with y and height
- new class:
hype.util.HVertexNEW
(this will replace HPath.HVertex soon) - new method:
HMath.bezierParam(float,float,float,float,float[])
(this is like the other bezierParam(), but for quadratic bezier curves) bb
- bugfix: HPath overrides fill and stroke during random colors mode, even if
fillOnly()
orstrokeOnly()
are set - bugfix: HTween doesn't reset its current value when it's finished its tweening
- the HDrawable methods
contains(float,float,float)
andcontainsRel(float,float,float)
now takes for account the drawable's own z coordinates.
- changes for HTween:
- ending position should now sit exactly at the values defined by
end()
. - bugfix #21: processing.js incompatibility with
HTween.start()
andend()
- code cleanup and refactors
- ending position should now sit exactly at the values defined by
- hitbox checking for 3d points
- made HShape store a static set of random colors instead of fetching it upon
draw()
whenrandomColors()
is called. - removed the ff. HShape methods:
randomColors()
randomColors(HColorPool,boolean)
randomColors(HColorPool)
now returnsthis
- new static HMath methods:
bezierParam()
solveCubic()
solveQuadratic()
- added paper.js' license to license.txt
- hitbox checking for HPath's bezier curves
- bugfix: HTween didn't override
unregister()
andregister()
so it would return itself as HTween, instead of HBehavior
- new HBehavior method:
registered(boolean)
- new static HMath method:
round512(float)
(sets rounds a given) float to the nearest 1/152 interval. - changes to HConstants:
- new constant: HConstants.Z
- the values for property constants are have been changed to reflect the inclusion of HConstants.Z
- various HTween refinements and changes:
- more accurate callback triggering by using
round512()
- methods
start()
&end()
now take ellipsis arguments - removed
startPt()
,endPt()
,curr()
andcurrPt()
andnextVal()
methods - HConstants.Z is now available for HTween
- z coordinates are now computed with HTween when using HConstants.LOC
- HTween now passes itself to the callback, instead of the current value
- more accurate callback triggering by using
- new stuff for HBundle:
- new method:
HBundle.bool(String,boolean)
- new HDrawable extras shortcut:
HDrawable.bool(String,boolean)
- bugfix:
num(String,float)
now creates a new extras bundle when extras is null
- new method:
- bugfix:
HColorPool.getColor(int)
didn't properly seed their colors - renamed
HDrawable._alpha
into_alphaPerc
- initial documentation contents for HDrawable
- width and/or height in
HDrawable.anchor(float,float)
,anchorX(float)
andanchorY(float)
are now assumed to be 100 when its width and/or height is 0 to prevent division-by-zero errors. - new method:
HSwarm.addGoal(float,float,float)
- new file: changelog.txt
- migrate documentation from markdown to Doxygen
- set the default size of HDrawable from 64x64 to 100x100
- the values for HConstants.DEFAULT_WIDTH & DEFAULT_HEIGHT are now 100
- new HMouse method:
moved()
- rename: HColorUtil -> HColors
- remove deprecated HColors methods:
multiply()
multiplyAlpha()
multiplyRed()
multiplyGreen()
multiplyBlue()
- migrate PApplet math calls to Math
- various new HMath methods:
dist()
random()
map()
- remove deprecated
HMath.init()
method - remove unimplemented HEventTrigger
- new HDrawable methods:
firstChild()
lastChild()
- HVector is no longer a subclass of PVector. Now it's just a container of x, y & z values