- 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:
ROTATIONXROTATIONYROTATIONZDROTATIONXDROTATIONYDROTATIONZ
- 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._callbackHVector._xHVector._yHVector._zHColorTransform._percAHColorTransform._percRHColorTransform._percGHColorTransform._percBHRandomTrigger._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:
HDrawablePoolHTriggerand its subclassesHTween
- privatized the following HDrawablePool fields:
_onCreate_onRequest_onRelease
- removed the ff fields / methods from HDrawablePool:
_listenerlistener()listener(HPoolListener)
- removed unused interfaces / classes:
HPoolListenerHPoolAdapter
- 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_FILLDEFAULT_STROKEDEFAULT_WIDTHDEFAULT_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
HVertexNEWandHPathNEW - 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
HNonChildinterface 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_PROPORTIONALis the bitmask for the "proportional" bit flagBITMASK_TRANSFORM_CHILDRENis the bitmask for the "transforms children" bit flagBITMASK_STYLE_CHILDRENis the bitmask for the "styles children" bit flag (will be used for a future feature)BITMASK_ROTATE_CHILDRENis 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.eventpackage 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
triggerpackage 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 anxcoordinate 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 aucoordinate 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._alphainto_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