PyJ2D Version History
Current Version: 0.33
0.33 2025-01-18
- revise surface alpha.
- update transform to preserve surface alpha.
- add vector copy method.
- revise mixer set_num_channels method.
- refactor mixer music rewind method.
- revise surface convert.
- add activeevent.
- add closeevent.
- update color object.
- revise sprite to optimize.
- revise vector elementwise object.
- revise vector operator methods.
- revise vector object instantiation.
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.
- release 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.
- restructure 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
- update Event.get to accept eventtype argument.
- update Event.poll and Event.wait to return JEvent object.
- update Event.poll noevent return.
- update Rect.clip return for non-overlap.
- update Rect attribute positioning.
- update Rect inflate/inflate_ip positioning.
- add Rect equality and nonzero methods.
- add Color object.
- update to use Color object.
- update draw methods with minor adjustments.
- update to use Rect object.
- update Sprite group update to account for member changes.
- add Surfarray methods.
- add draw.ellipse method.
- change license from GPL to LGPL.
0.22 2013-03-30
- add Font.get_linesize, Font.get_ascent, Font.get_descent
- update Font.render to adjust rendering postion.
- update Font.size to adjust surface size.
- update Event/JEvent for proper function of UserEvent.
0.21 2012-02-08
- update pyj2d.quit
- change Mask.print to Mask.print_mask
0.20 2012-01-10
- update Event to properly handle UserEvent
- update Font/SysFont __init__ to handle style
- update Rect.__init__ for obj with rect attribute
- update Sprite.__init__ to accept Group argument
- update Sprite OrderedUpdates.__iter__ to return ordered iterator
- update Sprite OrderedUpdates.sprites
- update Surface set_at/get_at to raise IndexError on ArrayOutOfBoundsException
- refactor code
- generate documentation with Epydoc
0.19 2012-01-05
- add key events
- update Event object to include key events
- update Event to use Java event constants
- update Event object to include relative mouse position
- update Sprite Group/GroupSingle/RenderUpdates to hold sprites in a dict attribute
- update Surface to bit check type argument
- update Time Clock.get_time and Clock.tick to return time between ticks
0.18 2011-12-28
- update Sprite Class
- update Sprite Group/GroupSingle/RenderUpdates to subclass dict
- add Sprite OrderedUpdates
- update Sprite collision methods to use iterator to sprites
0.17 2011-12-23
- update Frame to register mouse press event
- update Mouse.get_pressed to use registered mouse press event instead of Event.poll_mouse
- update Rect.__init__, several Rect methods to ensure type, and add Rect.clip
- update Surface methods __init__, copy, subsurface, set_at, blit
- update Event methods updateQueue (to check event allowed), post, clear, and add methods set_blocked, set_allowed, get_blocked, peek
- update Sprite.spritecollide to use Sprite.collide_mask
- update RenderUpdates.draw
- update Draw.lines
- add Surfarray.blit_array
- add Mask
0.16 2011-12-14
- add Rect.__getattr__ to retrieve positional attributes
- update Surface.__init__ to include bufferedimage argument to convert to Surface subclass, update Surface.subsurface and Image.load to reflect change
- update Surface.fill to return Rect
- update Transform.rotate to properly center and resize image upon rotation.
- add Transform.scale2x and Transform.flip
0.15 2011-12-10
- update Applet to launch Runnable Thread containing app
- update Display to repaint to Jpanel instead of Jframe and repaint procedure
- update Draw to include both filled and unfilled, and return bounding rect
- update Transform to include scale
0.14 2011-12-06
- update display.update
- fix draw.polygon
- update mouse.get_pos retrieve from panel instead of frame to correct alignment
- update rect move/inflate to offset change
- update Surface init
0.13 2011-12-04
- add font
- add direct mouse input
- module globals in env.py
- update draw rect argument
- add draw.polygon
- update event.get
- add event.poll_mouse
- update rect to access data by index
- update surface.blit to return Rect subclass
- update surface get_at and set_at
- : *tuple error in Jython applet
0.12 2011-12-01
- fix time.py Clock.delay()
- add event handling
- add mouse events
0.11 2011-11-28
- fix image.py image loading from jar on Windows
- : os.path set path with \ but Java getResource needed /