korim v2.0.0 Release Notes

Release Date: 2020-11-23 // about 1 year ago
  • v1.12.29...v2.0.0

    ➕ 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