PyJ2D Version History

PyJ2D Module
Current Version: 0.32


0.32 2022-04-17
-add key set_repeat method.
-update surface blit with optional rect return.
-revise time tick framerate handling.
-add surface convert methods.
-add surface alpha methods.
-add surface blits method.

0.31 2021-11-07
-revise sprite orderedupdates.
-add sprite group alias.
-refactor sprite collide methods.
-add sprite layeredupdates.
-add cursors get_cursor_types.
-add vector object.
-revise mixer processing.
-add mixer music object.
-add hscroll mouseevent.
-add mixer channel endevent.
-add mixer channel queue.

0.30 2021-04-28
-center display frame.
-revise rect move and union methods.
-revise rect attributes.
-revise rect move/inflate args processing.
-add env check.
-revise quit method to stop timers.
-update time set_timer for event argument.
-update for python 2/3 compatibility.

0.29 2021-04-06
-update event handling.
-update exception handling of color object.
-update mixer endian setting.
-update subsurface exception.
-update for python 2/3 compatibility.

0.28 2019-04-06
-update jpanel with event handling that registers appropriate mouse position.
-add time set_timer method.
-update display repaint to sync with program iteration.
-update sprite to revise member groups.
-update sprite argument handling.
-update sprite collide_mask to use mask.overlap.
-add mouse set_cursor and get_cursor methods.
-update mouse set_cursor to use custom image.
-update mouse set_cursor to use cursor data.
-update transform rotozoom to optimize.
-update surface area blit to optimize.
-update display update method to optimize.
-add util timer for profiling.
-update draw arc with dimension adjustment.
-update time clock for accuracy.
-revise with absolute import statements.
-update font with rendering adjustment.
-update event peek option of all types.
-update event methods to optimize.
-update draw methods to optimize with optional rect return.

0.27 2015-04-12
-update font to enhance fonts access.
-update image load to allow file-like argument.
-update draw methods to int convert argument.
-add mask.toString method.
-add rect iter method.
-add rect collide methods – collidelistall, collidedict, and collidedictall.
-add sprite collide methods – collide_rect_ratio, collide_circle, and collide_circle_ratio.
-add mousewheel event listener.
-released under MIT license.

0.26 2014-11-09
-add rect union methods.
-update methods to use rect intersection.
-update surface blit rect computation.
-update initialization to stabilize timing.
-add rect rectPool to utilize a rect pool.
-update sprite draw for performance.
-update sprite collide methods processing.
-add rect clamp methods.
-update mixer write for non-integral frames.
-update mixer quit to properly stop thread.
-add mouse set_visible method.

0.25 2014-08-20
-update mixer thread interrupt.
-update handling of display surface graphics2d object.
-update display.set_mode to accept additional arguments.
-add display set_caption/set_icon to set JFrame title/icon.
-add display.get_active method.
-update event object constructor to properly handle arguments.
-add key.get_mods method.
-update mouse.get_pressed to properly return state of all buttons.
-restructured event handler to capture all mouse motion events.
-add event member buttons.
-change event key location to event.loc (KEY_LOCATION_LEFT|RIGHT|STANDARD|NUMPAD|UNKNOWN).
-correct event.pump to maintain queue.
-add event.dict access.
-update mouse.get_rel process on frame exit.
-update event.rel to properly return with multiple access.
-update event modKey set to use Java HashSet with earlier Jython releases, defined in __init__.py (HashSet not sets import due to compile problem).
-update event eventtype list as a set object.
-update rect inflate/inflate_ip positioning.
-update display to repaint on dispatch thread.

0.24 2014-04-24
-update transform.rotozoom for correct scaling.
-update thread interrupt handling.
-add mixer.

0.23 2014-02-27
-updated Event.get to accept eventtype argument.
-updated Event.poll and Event.wait to return JEvent object.
-updated Event.poll noevent return.
-updated Rect.clip return for non-overlap.
-updated Rect attribute positioning.
-updated Rect inflate/inflate_ip positioning.
-added Rect equality and nonzero methods.
-added Color object.
-updated to use Color object.
-updated draw methods with minor adjustments.
-updated to use Rect object.
-updated Sprite group update to account for member changes.
-added Surfarray methods.
-added draw.ellipse method.
-changed license from GPL to LGPL.

0.22 2013-03-30
-added Font.get_linesize, Font.get_ascent, Font.get_descent
-updated Font.render to adjust rendering postion.
-updated Font.size to adjust surface size.
-updated Event/JEvent for proper function of UserEvent.

0.21 2012-02-08
-updated pyj2d.quit
-changed Mask.print to Mask.print_mask

0.20 2012-01-10
-updated Event to properly handle UserEvent
-updated Font/SysFont __init__ to handle style
-updated Rect.__init__ for obj with rect attribute
-updated Sprite.__init__ to accept Group argument
-updated Sprite OrderedUpdates.__iter__ to return ordered iterator
-updated Sprite OrderedUpdates.sprites
-updated Surface set_at/get_at to raise IndexError on ArrayOutOfBoundsException
-refactored code
-generated documentation with Epydoc

0.19 2012-01-05
-added key events
-updated Event object to include key events
-updated Event to use Java event constants
-updated Event object to include relative mouse position
-updated Sprite Group/GroupSingle/RenderUpdates to hold sprites in a dict attribute
-updated Surface to bit check type argument
-updated Time Clock.get_time and Clock.tick to return time between ticks

0.18 2011-12-28
-updated Sprite Class
-updated Sprite Group/GroupSingle/RenderUpdates to subclass dict
-added Sprite OrderedUpdates
-updated Sprite collision methods to use iterator to sprites

0.17 2011-12-23
-updated Frame to register mouse press event
-updated Mouse.get_pressed to use registered mouse press event instead of Event.poll_mouse
-updated Rect.__init__, several Rect methods to ensure type, and added Rect.clip
-updated Surface methods __init__, copy, subsurface, set_at, blit
-updated Event methods updateQueue (to check event allowed), post, clear, and added methods set_blocked, set_allowed, get_blocked, peek
-updated Sprite.spritecollide to use Sprite.collide_mask
-updated RenderUpdates.draw
-updated Draw.lines
-added Surfarray.blit_array
-added Mask

0.16 2011-12-14
-added Rect.__getattr__ to retrieve positional attributes
-updated Surface.__init__ to include bufferedimage argument to convert to Surface subclass, updated Surface.subsurface and Image.load to reflect change
-updated Surface.fill to return Rect
-updated Transform.rotate to properly center and resize image upon rotation.
-added Transform.scale2x and Transform.flip

0.15 2011-12-10
-updated Applet to launch Runnable Thread containing app
-updated Display to repaint to Jpanel instead of Jframe and repaint procedure
-updated Draw to include both filled and unfilled, and return bounding rect
-updated Transform to include scale

0.14 2011-12-06
-updated display.update
-fixed draw.polygon
-updated mouse.get_pos retrieve from panel instead of frame to correct alignment
-updated rect move/inflate to offset change
-updated Surface init

0.13 2011-12-04
-added font
-added direct mouse input
-module globals in env.py
-updated draw rect argument
-added draw.polygon
-updated event.get
-added event.poll_mouse
-updated rect to access data by index
-updated surface.blit to return Rect subclass
-updated surface get_at and set_at
– *tuple error in Jython applet

0.12 2011-12-01
-fixed time.py Clock.delay()
-added event handling
-added mouse events

0.11 2011-11-28
-fixed image.py image loading from jar on Windows
-os.path set path with \ but Java getResource needed /

0.10 2011-11-21
-initial release