Skip to content

Releases: mac-comp127/kilt-graphics

"Images galore" edition

19 Apr 04:08
Compare
Choose a tag to compare

Enhancements:

  • You can now directly create Image objects from a BufferedImage rather than just a saved image file.

“May a thousand CanvasWindows bloom” edition

26 Oct 00:55
Compare
Choose a tag to compare

Enhancements

  • GraphicsText.setFont now accepts a comma-separated list of font families to try, for better cross-platform support.
  • Line now has a constructor that take two Points.
  • Console output is slightly tidier and more CLI-friendly.

Fixes

  • App exits when all CanvasWindows are closed, not when any CanvasWindow is closed. This makes it practical for the first time to write multi-window apps.

Breaking changes

  • kilt-graphics now requires Java 17 or newer.

“Going in circles” edition

24 Sep 23:42
Compare
Choose a tag to compare

Enhancements

  • Added wrapAround() methods to Point.

“All Your Meme” edition

10 Mar 19:46
Compare
Choose a tag to compare

Enhancements

  • GraphicsText now implements Strokable, can draw outlined text (#24)

Fixes

  • The missing image placeholder generated by Image when the image file is not found is no longer blurry and illegible on macOS Big Sur

“Words matter” edition

23 Oct 21:17
Compare
Choose a tag to compare

Enhancements

  • GraphicsText now supports multi-line text, word wrapping, and right or center alignment (#22)

Fixes

  • Button titles no longer cropped on Windows; style is somewhat less ugly (#21, #23)

“11th hour features make 11.5th hour bugs” edition

20 Oct 02:11
Compare
Choose a tag to compare

Fixes

  • GraphicsGroup.remove() now uses object identity instead of equality. Previously, the method could remove a different element with an identical shape, causing unexpected results. (#18, #20)
  • All subclasses of GraphicsObject now have consistent equals() behavior. (Before, some used identity, and some took into account various parts of the shape.) (#19, #20)

Breaking changes

  • The subclassing contract for GraphicsObject, which we don’t really treat as public API, has once again changed.

“A turn for the better” edition

18 Oct 19:27
Compare
Choose a tag to compare

Enhancements

Fixes

  • getWidth(), getSize(), and getBounds() are now mutually consistent for all GraphicsObject types. (They had been inconsistent, for example, for GraphicsText.)

Breaking changes

  • The subclassing API of GraphicsObject has changed: more methods are final, different methods are abstract.
  • GraphicsGroup no longer forces its bounding box to include (0,0). This will alter the apparent size of some graphics groups, and may affect arithmetic that depends on the size of groups.

“Text avalanche” edition

11 Oct 05:28
Compare
Choose a tag to compare

Fixed

  • Improved performance for kinetic text whose position is changing, but whose actual text content is not.

“Everybody wait your turn” edition

01 Oct 18:14
Compare
Choose a tag to compare

Fixed

  • Fixed race condition between animation timer and main thread exit

Special double-speed “module schedule” edition

25 Sep 00:46
Compare
Choose a tag to compare

Enhancements

  • Canvas.animate() now accepts lambda with a dt parameter, allowing animations to compensate for actual frame rate (#13)
  • Added GraphicsText.intersects() (#14, ht @bretjackson)
  • Added setSize(double,double) to Ellipse to match Rectangle

Fixed

  • App no longer crashes when an event callback scheduled before main() exits enqueues another post-main callback
  • Animations now run with a faster and much more stable frame rate (#13)
  • TextField.setText() no longer triggers an onChange event if the text didn’t actually change