korim v2.0.0 Release Notes
Release Date: 2020-11-23 // over 3 years ago-
➕ Additions:
- RGBA now is a Paint too and replaces ColorPaint
- ➕ Added MutableAtlas and AtlasPacker
- BmpSlice is now Resourceable from korio
- ➕ Added BitmapSlice.withName
- Implemented DistanceBitmap via Dead Reckoning Algorithm
- ➕ Added extension Bitmap.distanceMap
- 👌 Support creating an empty NativeImage specifying premultiplied
- ➕ Added BitmapEffect and Bitmap32.applyEffect to building a new Bitmap applying blur, drop shadow and border at runtime
- ➕ Added Bitmap32.blur, Bitmap32.border
- ➕ Added ColorTransform full name aliases
- Extra constructors, methods and properties for RGBAf
- 👌 Support constructing BitmapFont from other Font (TTF or other BitmapFont) specifying a BitmapEffect. Added Font.toBitmapFont
- 👌 Support reading a BitmapFont with mipmaps
- 👌 Support writing generated BitmapFont into a VfsFile: BitmapFont.writeToFile
- Font is now Resourceable
- 👍 Font.renderGlyphToBitmap now support applying BitmapEffect
- ➕ Added VfsFile.readFont supporting both: Bitmap and TTF font reading
- Implemented SystemFont by constructing a catalog of TTF fonts in the native font directories for each operating system, fallback on JS with an embedded TTF font
- ➕ Added TextAlignment combining VerticalAlign and HorizontalAlign, and Context2d includes the alignment property to set both alignments at once
- ➕ Added BitmapVector: a bitmap that includes a drawable and computes lazily
- Context2d scale, rotate, translate variants with blocks for changing the transform locally
- 👍 Context2d.drawShape now supports any Drawable in addition to Shape
- ➕ Added BmpSlice.writeTo
🛠 Fixes:
- 👍 Better BitmapFont generation
- 🛠 Fixed some TTF vector glyphs
- 🛠 Fixed some TTF metrics
- 🛠 Fixed vector font rendering in some cases
- 🛠 Fixes BitmapFont rendering positions
Optimizations:
- ⚡️ Optimized Bitmap8.copyUnchecked
- ⚡️ Optimized BitmapIndexed operations
- ⚡️ Optimized RGBA.hexString and RGBA.hexStringNoAlpha
- ⚡️ Optimized TtfFont reading by using FastByteArrayInputStream
💥 Breaking changes:
- 📦 Moved vector.paint package to paint
- 📇 Renamed Bitmap32.premultiplyInplace to premultiplyInplaceIfRequired
- Atlas2 unified with Atlas
- ✂ Removed deprecated methods
- ✂ Removed unused FontOrigin class
- ColorTransform.colorAdd is now ColorAdd instead of Int
- Context2d.StrokeInfo -> StrokeInfo