graphx 1.0.12
graphx: ^1.0.12 copied to clipboard
Render API on top of CustomPainter to power-up your Flutter apps to the next level.
1.0.12 #
- Missed a
1.0.11 #
- remove private constructors to pass Dart's static analysis
1.0.10 #
- fix Color opacity 0 flickering in Graphics.
- new demo in example gallery "Connected" (node garden).
- cleanup example code.
- fixes startDrag() exception when you remove the DisplayObject from the stage.
- adds Matrix.deltaTransformPoint(point).
- fixes
GKeyboard.justReleased()not working properly. - Breaking change:
GTextureUtilsdrawing methods now returns aGTextureinstead of aFuture<GTexture>. - MASSIVE comment documentation and code cleanup in the library.
1.0.9 #
- minor "fix" for pivot support when doing a rotation in 3d (still missing proper transforms)
- added [GPoint.multiply]
- added Support for variable fonts in [GIcon] with [GlyphVariation].
- added [GKeyboard.anyDown] and [KeyboardEventData.any]
- added [Graphics.beginPaint] to add raw Paint() instances in graphics.
- added [DisplayShader] as an utility wrapper for FragmentShaders and the complementary [graphics.beginShader] and [graphics.lineShaderStyle] and the utility [ResourceLoader.loadShader] to load the FragmentProgram from assets.
- added [graphics.blendMode()] to assign a [BlendMode] to the current drawing fill (or stroke).
- new [ColorfulShaders] example to demonstrate the new features.
- cleanup examples code.
1.0.8 #
- updated examples gallery
- updated README.md
- small fixes in demos and signal mapping in mouse event.
OutlineFilter(width, color)to create a border around the target object.- separate base_filter from blur_filter file for cleanup.
- added
currentObjectto GBaseFilter, so the filters can access transformation data from the DisplayObject (like OutlineFilter). - added
DisplayObject::onPreTransformsignal that runs at the beginning of the rendering (before any filter, mask or transformation is applied). - expose
stage!.controller.pointer.lastEventgetter to read last mouse/touch event independently of the signals events.
1.0.7 #
- upgrade to Flutter 3.7 constrains.
createImageSync()andcreateImageTextureSync()- small fixes in
GKeyboardandParticleSystem
1.0.6 #
GMovieClipcleanup- added
GTextureAtlas.fixedSizeTile()to fill sub-textures from a fixed size SpriteSheet.
1.0.5 #
- adds support for the new PointerPanZoom*Event family on Listenable that overrides the mouse Signal (mouse wheel) on desktop OS. Basically, currently on desktop builds, everytime a mouse wheel event is triggered, a PointerPanZoomEvent is dispatched on the Listenable. Check [MyButton] in [SimpleInteractionsMain] demo, for an example of how to use it.
- add Generic Type [T] support to addChild
- updated some samples for the API.
- added [ZoomPivotMain] sample to demonstrate the new PointerPanZoom event in Flutter.
- Fixed inner transformations in all [GDisplayObject] for mouseX/mouseY.
1.0.4 #
- updated to run with flutter 3.
1.0.3 #
- code updated to improve points.
1.0.2 #
- merged null-safety branch.
- upgraded Dart constraints >= 2.13
- changed
GKeyboardto useGKeysalias forLogicalKeyboardKey(breaking change in Flutter 2.5) . - defaults
SceneBuilderWidget.autoSizeto false, avoid exceptions on Flex widgets. - added warning message for empty sized widget layout in
SceneBuilderWidget. - put back
ResourceLoader.loadNetworkSvgand remove most nullable Futures for non network assets. - cleanup some code + dart analysis.
- cleanup examples code
1.0.1 #
- more null safety migrations.
- experimental GDropShadowFilter.innerShadow (hurts performance).
- add SceneBuilderWidget.autoSize to auto expand the scene on the parent widget.
- fix bug with GText in
LayoutUtils.row. - fix
EventSignalbug, remove() callbacks while dispatching them. - prevents assigning
NaNto GDisplayObject transform properties based ondouble. - some minor fixes and forced non-nullable properties.
1.0.0-nullsafety.0 #
- initial migration to null-safety
- fix non-working examples.
- fix a bug with GText layout.
0.9.9 #
- major fix for
GTweenwhen running lots of SceneControllers instances. - fix stage dispose exception with keyboard/pointer.
- added some more ColorFilters.
0.9.8 #
- major code refactoring, remove svg_flutter as dependency to avoid breaking changes.
- changed all methods that takes
inthex colors + alphas, toColor(beginFill, beginGradientFill, stage.color, etc). - fix
tracefor web anddartpadoutput. - renamed most common classes (that do not start with G) to follow a GName pattern.
- SimpleText > GText
- GxIcon > GIcon
- Sprite > GSprite
- GxPoint > GPoint, and so on...
- added dispose() to
KeyboardManagerandPointerManager... so it manages hot reloader better. - added
LayoutUtils.objectFit()to resizeGDisplayObject(specially Bitmaps), using BoxFit. - downgraded
flutter_svgto 0.18.1 in "example" to make it usable in beta channel. - refactor resource_loader.dart, changed most methods to use named params, now only stores in cache
if a
cacheIdis defined (and also returns the cached data). GTextnow uses Flutter'sTextStyleto make it more convenient.- added
ResourceLoader.loadNetworkTextureSimple()using a simple http call in flutter (useful for dartpad).
0.9.7 #
- added
MovieClip.gotoAndPlaylastFrame for animation. - exposed the
GifAtlas::textureFramesso they can be used in MovieClips. - added several methods from Flutters Path in
Graphics... (conicCurveTo(), arcToPoint(), arc()) with some new optional parameters for relative drawing. - added new signals for
stage.onMouseEnter,stage.onMouseLeaveto detect touch positions when it leaves the Widget area... ( useful for scene with buttons).
0.9.6+2 #
- change
flutter_svgversion to be compatible with stable branch.
0.9.6 #
- Improved docs.
- Removed animations.dart, GTween is used in favor of Juggler.
- Changed [GameUtils] to [Math], class to keep consistency with ActionScript/JS API.
- Improved gradient support in
Graphics. For the sake of representing all the options for different Gradient Shaders in GraphX, uncommon positional parameters where replaced by named parameters forlineGradientStyle()andbeginGradientFill(). - Fixed a bug with [StaticText.width] when using by default
double.infinity, unsupported in Flutter web non-SKIA target. - Minor bugfixes.
- Added package
httpandflutter_svgdependencies to facilitate some GraphX features. - Added [SvgUtils] with basic methods to work with svg data.
- Renamed [AssetsLoader] to [ResourceLoader], and moved to the
ionamespace; to avoid confusion with Flutter concepts where asset reference a local resource. - Added [NetworkImageLoader] class, to provide the ability to load remote images. Can be used with [ResourceLoader.loadNetworkTexture] and [ResourceLoader.loadNetworkSvg]. WARNING: no CORS workaround for web targets.
- Added cache capabilities to network images, and some new methods on [ResourceLoader]: loadNetworkSvg(), loadNetworkTexture(), loadSvg(), getSvgData().
- Added [StaticText.build()] to simplify the initialization and styling of [StaticText].
- Added [Keyboard], utility class to simplify interactions with
stage.keyboardduringupdate()phase [stage.onEnterFrame].
0.9.5 #
- Fixes
DisplayObject.visiblenot being updated on rendering. - Added
display object.setProps()as a shortcut to assign basic properties using GTween and immediate render. - Added
GlowFilter,DropShadowFilterandColorMatrixFilter. - Added
GTweenextension support to filters, can easily create tweens like:var glow = GlowFilter(4, 4, Colors.blue); box.filters = [glow]; stage.onMouseDown.add((event) { glow.tween(duration: .3, blurX: 12, color: Colors.green); }); stage.onMouseUp.add((event) { glow.tween(duration: .3, blurX: 4, color: Colors.blue); }); - Added
SystemUtils.usingSkiato restrict unsoported operations in regular Flutter web. - Fixed
GTween.overwrite=1so it finds the proper target object.
0.9.4 #
- fixes TextureAtlas XML parsing (some formarts were not readed properly).
- added support for hot-reload: Now you can use
SceneConfig.rebuildOnHotReloadandstage.onHotReloadto manage your own logic. - fixed some issues with dispose() not cleaning up vars (useful for hotReload).
- added SceneController access to the stage (
stage.controller). - Basic support for Flutter Web (no SKIA target needed!), will have to check all the APIs.
New
SystemUtils.usingSkiato check the compilation.
0.9.2 [0.9.3] #
- added
SceneController::resolveWindowsBounds()to get a GxRect in global coordinates, to calculate the screen offsets between GraphX scenes and other Widgets at different locations in the Widget tree. - StaticText now listens to systemFonts, to detect when fonts loaded at runtime (useful when using GoogleFonts package).
0.9.1 #
- GxIcon recreates
ParagraphBuilderon each style change (otherwise throws an exception in latest builds with web-skia in dev channel). - each DisplayObject has its own Painter now for
saveLayer, the bounding rect can't be skipped by$useSaveLayerBounds=true.
0.9.0 #
- GraphX moves to RC1!
- new
maskRectandmaskRectInvertedas an alternative tomaskfor masking DisplayObjects but makes scissor clipping withGxRect. - added
GxMatrix.clone() - added
GTween.timeScaleto have a global control over tween times and delays. - added
Graphics.beginBitmapFillandGraphics.lineBitmapStyleto Graphics, now you can fill shapes with Images! - improved
Graphics.beginGradientFillforGradientType.radial... now you can specify theradiusfor it. - added support
Graphics.drawTriangles(), (usesCanvas.drawVertices()), to create potentially 3d shapes. Supports solid fills: image, gradient, and color, but no strokes (lineStyle). - flipped CHANGELOG.md versions direction.
- more code cleanup and updated README.md!
0.0.1+9 #
- readme fix.
0.0.1+8 #
- big refactor to initialize SceneController(), now it takes the [SceneConfig] from the
constructor (
withLayers()was removed). - cleanup docs to reflect the change.
- no more [SceneRoot], now you can use [Sprite] directly as the root layer Scene!
0.0.1+7 #
- fix for mouse exit event not being detected when the scene is way too small and the pointer event happens too fast over the target.
- an improved README.md
0.0.1+6 #
- exported back graphics_clipper
- added experimental startDrag()/stopDrag() methods.
0.0.1+5 #
- added missing export in graphx.
- testing discord integration.
- GTween changed VoidCallback to Function to avoid linting errors.
0.0.1+4 #
- code clean up and minor fixes in the readme.
- adds
trace()global function, as an option toprint(). It allows you to pass up to 10 arguments, and configure stack information to show throughtraceConfig(). So it can print caller name ( method name), caller object (instance / class name where caller is), filename and line number with some custom format.
0.0.1+3 #
- Another improve to the README.md, gifs have links to videos, to check screencasts in better quality.
- Added help & social links.
- cleanup more code.
0.0.1+2 #
- Improved README.md with gif screencast samples.
- cleanup some code.
0.0.1 #
- Initial release.