Pyjsdl Version History


Pyjsdl Module

Current Version: 0.27


0.27 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 mixer channel play promise handling.
  • add activeevent.
  • add closeevent.
  • add display set_icon.
  • update color object.
  • revise sprite to optimize.
  • revise vector elementwise object.
  • revise vector operator methods.
  • revise vector object instantiation.

0.26 2022-04-18

  • revise event set_blocked processing.
  • revise event object for performance.
  • refactor event handler for performance.
  • add key set_repeat method.
  • revise key event handler.
  • update key event handler.
  • update surface blit with optional rect return.
  • add surface alpha methods.
  • add surface blits method.

0.25 2021-11-07

  • revise sprite orderedupdates.
  • add sprite group alias.
  • refactor sprite collide methods.
  • add sprite layeredupdates.
  • add cursors get_cursor_types.
  • add canvas contextmenu handler.
  • add vector object.
  • revise mixer processing.
  • add mixer music object.
  • add mixer channel endevent.
  • add mixer channel queue.

0.24 2021-04-28

  • revise rect move/inflate args processing.
  • revise rect attributes.
  • revise ndarray shape for inheritance.
  • add env check.
  • revise quit method to stop mixer.
  • revise quit method to stop timers.
  • update time set_timer for event argument.
  • revise app to use webkit2.
  • update for python 2/3 compatibility.

0.23 2021-04-06

  • update event handling.
  • update surface get_at to return color object.
  • refactor surface colorkey methods.
  • revise sprite blit process.
  • update mask for optimization.
  • update ndarray and bitset for optimization.
  • update time wait to properly delay callback.
  • revise requestanimationframe shim.
  • update clock with performance time.
  • update clock tick with performance time.
  • update asynchronous loop process to optimize.
  • update for python 2/3 compatibility.

0.22 2019-04-06

  • add display set_callback method.
  • update Canvas handling of callback change.
  • add time set_timer method.
  • update sprite to revise member groups.
  • update sprite argument handling.
  • update sprite collide_mask to use mask.overlap.
  • refactoring rect for optimization.
  • update display setup to accept callback function or object with run method.
  • update rect to define __slots__.
  • add mouse set_cursor and get_cursor methods.
  • add surface toDataURL method.
  • update mouse set_cursor to use custom image.
  • update surface set_at to optimize.
  • update mouse set_cursor to use cursor data.
  • update transform rotozoom to optimize.
  • update display update method (_update) to optimize.
  • update surface blit method (_blit_clear) to optimize.
  • update draw arc of nonequal dimension to process properly.
  • update draw ellipse to use float scale argument.
  • update draw arc to optimize.
  • update asynchronous loop process to optimize.
  • refactoring time clock object.
  • revise with absolute import statements.
  • add display methods getAbsoluteLeft/getAbsoluteTop/getScrollLeft/getScrollTop.
  • add touch event support.
  • update font with minor rendering adjustment.
  • update font to include initiation from a file.
  • update event peek option of all types.
  • update event methods to optimize.
  • update color constructor to accept hex '#rrggbb' argument.
  • update draw methods to optimize context state change.
  • update draw methods to optimize with optional rect return.
  • add app.py to launch app in webkit on desktop.

0.21 2015-04-12

  • update font to improve fonts access.
  • add rect.contains method.
  • update image load methods for imagedata objects.
  • add display.setup_images method.
  • add key.name method.
  • add mask.toString method.
  • update display.update to properly handle clipping.
  • update surface.blit with clipping.
  • update rect union methods to process properly.
  • 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.
  • refactoring to isolate pyjs.
  • refactoring for optimization.
  • correct event.pump to maintain queue.
  • update IE9+ compatibility files in pyjs_changes.zip.
  • add mousewheel event listener.
  • release under MIT license.

0.20 2014-11-09

  • add rect union methods.
  • update methods to use rect intersection.
  • correct surface subsurface rect access.
  • add rect rectPool to utilize a rect pool.
  • update sprite draw for performance.
  • update sprite collide methods processing.
  • add rect clamp methods.
  • update display setup callback function.
  • update display repaint process.
  • add mixer.

0.19 2014-08-20

  • update bitset array to avoid js reserved work.
  • update quit function to terminate program iteration.
  • update transform.rotozoom for correct scaling.
  • add env.pyjs_mode with strict/optimized bool attributes to check pyjs-S/-O mode.
  • correct modifier keys keyevent detect with pyjs -S compilation (worked in -O) with sets membership testing of onKeyDown keycode that appears due to js/pyjs numeric difference.
  • update display event to properly clear modifier keys held with onMouseLeave event.
  • update display set_caption/get_caption to access Canvas element id.
  • add display.get_active method.
  • restructure event handler to isolate from UserEvent and JEvent objects.
  • update display.update for performance.
  • update event eventtype list as a set object.
  • update rect inflate/inflate_ip positioning.

0.18 2014-02-27

  • update Pyjsarray typedarray constructor for Chrome compatibility.
  • update Surface constructor to int convert argument.
  • update Transform.rotate positioning.
  • update Transform rotate/flip to restore context.
  • add Textbox/Textarea resize method.
  • update Surface.resize for width/height attributes.
  • update Canvas.resize to align elements.
  • update Canvas to subclass Surface.
  • update Canvas with buffered surface optional.
  • add display.is_canvas and update Canvas blit not buffered/image load not converted to canvas surface in IE8; Pyjs VML-Canvas requires IE8 quirk mode - no .
  • update Surface constructor to take optional arguments.
  • update Event.poll noevent return.
  • update Surface.get_at to return color tuple.
  • update Rect attribute positioning.
  • add Rect equality and nonzero methods.
  • add util.Pyjs_Mode to check Pyjs compilation mode.
  • add Color object.
  • update to use Color object.
  • update Rect constructor.
  • update draw methods with minor adjustments.
  • update Mask.fill method.
  • update to use Rect object.
  • update Sprite group update to account for member changes.
  • update util.Timer for output to textarea rather than console logger.
  • update Surfarray array2d PyImageInteger processing.
  • update Surfarray make_surface method.
  • add draw.ellipse method.
  • update Pyjsarray Typedarray constructor when type not implemented.
  • change license from GPL to LGPL.

0.17 2013-11-01

  • update Pyjsarray ImageData object for IE compatibility.
  • add util.call to call unbound methods.
  • update Surface.blit to int convert argument.
  • update Rect.inflate and Rect.inflate_ip for proper positioning.
  • add Textbox/Textarea and display.textbox_init for text input.
  • update mouse positioning with page scroll position.
  • update Surfarray.blit_array.
  • add Pyjsarray Ndarray methods.

0.16 2013-09-01

  • add Surfarray using Pyjsarray.
  • update Pyjsarray with Ndarray and ImageData objects.
  • update image.load
  • update display.update rect processing
  • add display.update_rect method
  • update display.update/display.update_rect/surface._blit_clear rect clipping

0.15 2013-07-30

  • add Mask using Pyjsarray and Pyjsbitset.
  • add Pyjsarray and Pyjsbitset based on JavaScript TypedArray object.
  • add Surface get_at/set_at using Canvas getImageData and putImageData.
  • update Surface.subarray.
  • update Canvas and Surface to use pyjamas.Canvas.HTML5Canvas.
  • update Rect.createIntersection.
  • update pyjs_changes.zip - Pyjs git update for HTML5canvas usage.

0.14 2013-05-15

  • add Font rendering to canvas.
  • update Event so key event works in IE browser.
  • update Display.update rect argument for pyjs -O compilation.
  • update Event key handling for IE browser.
  • update Sprite Group __contains__ to work with pyjs.
  • update Surface.blit to take rect argument and return rect.
  • update Surface.fill color argument.
  • modifie pyjs0.8+ git-130513build (pyjs_changes.zip) i. IE9+ compatibility: edit pyjs/src/pyjs/boilerplate/home.nocache.html and pyjs/src/pyjs/browser.py, and add to top of main program html in pyjs output. ii. HTML5canvas usage: rename library/pyjamas/Canvas/HTML5Canvas.ie6.py.

0.13 2013-05-04

  • add key events to Canvas.
  • update Event for process JS key events.
  • update Mouse methods variable.

0.12 2013-04-29

  • add mouse events to Canvas.
  • update Event to process JS mouse events.
  • update Mouse.get_pressed and Mouse.get_pos for JS mouse events.
  • update Time.wait to use JS Timeout.

0.11 2013-04-26

  • update Sprite.clear to allow callable argument.
  • update Surface._blit_clear with clipping.
  • update Surface.blits to directly call drawImage.
  • update Surface.fill rect argument.
  • update Draw.arc, Transform.rotate, and Rect with int() division.

0.10 2013-04-24

  • initial release