Release News
This describes the latest changes between the PySDL2 releases.
0.9.17
Released on 2023-12-30.
New Features:
Updated to wrap new function added in SDL_image 2.8.0 (PR #274).
Updated to wrap new hints added in SDL 2.28.2 and 2.28.5 (PR #274).
Updated to wrap new functions and constants in SDL2 2.30.10 (PR #277).
Updated to wrap new functions and constants in SDL_mixer 2.8.0 (PR #277).
Added a new function
get_key_state()for checking if a given key is currently down or up independently of the SDL event queue.
Fixed Bugs:
Fixed proper exporting of controller enum constants for the NVidia Shield and Joycon controllers.
0.9.16
Released on 2023-06-28.
New Features:
Updated to wrap new functions and constants in SDL2 2.28.0 (PR #266).
Added a new method
rcopy()for copying textures to a Renderer by aligning a given point on the texture to a given location on the rendering context. Useful for centering textures in the renderer.Added a new function
key_pressed()for easily checking if a given key has been pressed (or released).Added a new function
mouse_clicked()for easily checking if a mouse button has been pressed (or released), as well as aget_clicks()function for retrieving the pixel coordinates of any mouse clicks.Added a new function
get_text_input()for returning text input as a unicode string, as well asstart_text_input(),stop_text_input(), andtext_input_enabled()functions for toggling and querying whether SDL text input events are enabled.Added a new function
quit_requested()for easily checkingget_events()output for quit requests.
0.9.15
Released on 2023-01-08.
New Features:
Added a series of new functions
show_cursor(),hide_cursor(), andcursor_hidden()for changing and querying the visibility of the mouse cursor.Added new functions
mouse_coords()andwarp_mouse()for getting and setting the current position of the mouse cursor.Added a new function
mouse_delta()for checking the relative movement of the mouse cursor since last checked.Added a new function
mouse_button_state()and corresponding classButtonStatefor easily checking the current state of the mouse buttons.Added indexing support for
sdl2.SDL_Pointandsdl2.SDL_Rectto allow easier unpacking in Python (e.g.x, y, w, h = rect).Cache
sdl2.ext.Texturesizes for faster retrieval, improving render performance in some cases.Updated to wrap new functions and constants in SDL2 2.26.0 (PR #252 & #253).
from_image()now acceptsPIL.Image.Imageobjects directly in addition to image filepaths (PR #255 & #256).
Fixed Bugs:
Fixed bug preventing SDL Points and Rects from being used as
srcrectordstrectforcopy().Added a binding for
SDL_ResetHint, which was added in SDL 2.24.0 but got missed in PR #246.
0.9.14
Released on 2022-09-03.
New Features:
Added a new function
get_displays()and classDisplayInfoto provide an easier and more Pythonic API for getting information about the names, locations, and supported video modes of the connected displays.Extended
init()to allow initializing all SDL2 subsystems individually using keyword arguments (e.g.sdl2.ext.init(audio=True)to initialize the audio subsystem as well as the default video subsystem). Previously, this function only initailized the video subsystem.Updated to wrap new functions and constants in SDL2 2.24.0 (PR #246).
Added the error-handling
sdl2.ext.raise_sdl_err()function to the public API.Added informative exceptions when trying perform operations (e.g. show, hide, minimize) on a closed
sdl2.ext.Window, and generally improved memory safety of the Window class.
Fixed Bugs:
Fixed broken behaviour (and potential segfaults) with usage of
sdl2.SDL_GUIDToString()on Python 3.6 and older (PR #246).Fixed
sdl2.ext.draw()when drawing on 1bpp surfaces (PR #242).
API Changes:
Moved
sdl2.ext.SDLErrorandsdl2.ext.raise_sdl_err()internally to a new submodulesdl2.ext.err.sdl2.ext.Windowobjects can now be repositioned when closed (would previously raise anSDLErrorexception).
0.9.13
Released on 2022-07-26.
New Features:
Updated to wrap new functions and constants in SDL2_ttf 2.20.0 (PR #236).
Updated to wrap new functions and constants in SDL2_mixer 2.6.0 (PR #237).
Updated to wrap new functions and constants in SDL2_image 2.6.0 (PR #238).
Added a new function
sdl2.ext.load_svg()that allows loading simple SVG images at arbitrary resolutions with SDL2_image 2.6.0 or later (PR #238).Added experimental bindings for the new functions and constants in the SDL2 2.23.1 pre-release (PR #240).
0.9.12
Released on 2022-07-18.
New Features:
Updated to wrap new functions and constants in SDL2 2.0.22 (PR #226)
Added a new stable API for accessing the raw ctypes function bindings for each submodule. Each submodule (e.g.
sdl2.sdlttf,sdl2.video) now contains a_ctypesobject through which the raw ctypes function objects can be accessed by attribute or dict key (e.g.sdlttf._ctypes.TTF_Linked_Versionorsdl2.timer._ctypes["SDL_GetTicks"]). This new API allows proper access to the ctypes function objects for thesdlttf,sdlmixer,sdlimage, andsdlgfxmodules (which have been migrated to thin Python function wrappers around the ctypes bindings), and also allows developers to write code that will not break when other SDL2 modules are eventually migrated to similar Python-wrapped bindings.
Fixed Bugs:
Fixed a bug in
rw_from_object()where callingSDL_RWsize()on the resulting object would change the RWops’ current byte position unexpectedly.Fixed the type of the datasize argument for
SDL_LoadFile()to be a pointer to a c_size_t (was previously just c_size_t).Fixed namespace export for
SDL_RenderSetVSync()(issue #219)Re-added direction field for
SDL_MouseWheelEventevents, which was accidentally removed in PySDL2 0.9.10 (issue #217)Fixed namespace export for
AUDIO_F32MSBandSDL_AudioDeviceEvent.Fixed
SDL_LoadFile()with Python 3 and old versions of SDL2 (2.0.9 and older).Fixed a bug in
FontTTFthat prevented rendering text with empty lines.Fixed a bug in
Rendererthat prevented users from requesting a renderer backend by name (PR #224)Changed
SDL_abs()to be an actual ctypes binding instead of an alias for Python’s built-inabsfunction.Renamed the
SDL_Blitctypes function definition toSDL_blitto match the SDL2 headers.Fixed export of
SDL_TIMER_RESOLUTIONhint (was previously not accessable through thesdl2namespace).Updated
sdl2.dll.versionto better handle SDL2’s new versioning format and fixed unit tests accordingly (issue #228).Fixed various unit tests on big-endian platforms (PR #232).
Fixed 32-bit wraparound behaviour for
SDL_TICKS_PASSED(PR #235).Fixed
SDL_MUSTLOCKto allow checking surface pointers in addition to surfaces.
0.9.11
Released on 2022-01-27.
New Features:
Updated to wrap new functions and constants in SDL2 2.0.20 (PR #214)
Updated to wrap new functions and constants in SDL2_ttf 2.0.18 (PR #216)
0.9.10
Released on 2022-01-11.
New Features:
Updated the
sdlttf,sdlimage,sdlmixer, andsdlgfxmodules to use a new method of ctypes wrapping that allows functions to support kwargs (i.e. using function arguments by name), inline documentation, and more flexible handling of argument types and SDL errors (PR #199)Updated to wrap new functions and constants in SDL2 2.0.18 (PR #197)
Added full inline documentation for the
sdlttf,sdlimage, andsdlgfxmodules, as well as partial inline documentation for thesdlmixermodlue. In addition to Python-specific argument and return types, the new docstrings also include including code examples and documentation of Python-specific quirks (PR #200)Update bindings to allow for experimental SDL 2.0.3 support. Versions of SDL2 this old are not officially supported, but this should allow for basic PySDL2 support on old PowerPC macs (PR #202)
Added new
isiterable()andutf8()Python 2/3 compatibility functions to thecompatmodule for checking if an object is a non-string iterable and for converting input to a UTF-8 unicode string, respectively (PR #204)The
sdl2.ext.subsurface()function has been re-documented and rewritten to have improved input handling and type checking (PR #204)Improved inference of compression format for .tar archives in the
sdl2.ext.resourcessubmodule (PR #204)Added a new function
sdl2.ext.surface_to_ndarray()that returns a non-transposed copy of a given SDL surface as a 2D or 3D Numpy array (PR #204)Added new functions
sdl2.ext.load_bmp()andsdl2.ext.load_img()for importing image files using SDL2 and SDL_image, respectively. Both new functions automatically convert the obtained surfaces to the ARGB8888 pixel format by default (PR #205)Added a new function
sdl2.ext.save_bmp()for saving SDL surfaces to BMP files (PR #205)Added a new function
sdl2.ext.pillow_to_surface()for convertingPIL.Image.Imageobjects from the Pillow library to SDL surfaces (PR #205)Added a new class
sdl2.ext.Texturefor creating renderer textures from SDL surfaces, as a basic wrapper for thesdl2.SDL_Texturestructure (PR #207)Added a new function
sdl2.ext.set_texture_scale_quality()that globally sets the scaling method (nearest-neighbour, linear filtering, or anisotropic filtering) to use for new SDL textures (PR #207)Added a new method
sdl2.ext.Renderer.reset_logical_size()to reset a Renderer’s logical size to its original value (PR #207)Added a new method
sdl2.ext.Renderer.destroy()to safely destroy and free memory associated with a Renderer after it is no longer needed (PR #207)Added support for subpixel precision (i.e. using float coordinates) with the drawing and copying methods of the
Rendererclass when using SDL2 2.0.10 or newer (PR #207)Added
sdl2.ext.Renderer.blit()as an alias for thesdl2.ext.Renderer.copy()method (PR #207)Added a new method
remap()to theBitmapFontclass to allow specifying custom character widths and heights for each mapped character in a bitmap font (PR #208)Added a new argument
line_htosdl2.ext.BitmapFont.render_on()to allow specifying custom line heights (PR #208)Added the
FontTTFclass, providing a new and flexible Pythonic wrapper around thesdlttfmodule for opening and rendering text with TrueType and OpenType fonts. New features include custom line heights for multi-line text, left/right/center justification operations for multiline text, and specifying font sizes in units of pixels in addition to pt (PR #210)Updated PySDL2 to automatically find and use Homebrew SDL2 binaries on Apple Silicon macs if no other usable binaries can be found.
Fixed Bugs:
Fixed a typo in the
sdlttfbindings where an alias for theTTF_RenderUTF8_Shaded()function was incorrectly bound toTTF_RenderUTFinstead ofTTF_RenderUTF8.Fixed a bug introduced in 0.9.9 where the
SDL_WINDOW_INPUT_GRABBEDconstant was no longer exported.MemoryViewandPixelAccessobjects now support negative indexing (e.g.arr[-1][-1]for accessing the last element in a 2D array). In previous versions, negative indices would retrieve values from undefined sections of memory outside the surface (PR #204)Changed the functions in the
sdl2.ext.pixelaccessmodule to no longer try to unlock RLE surfaces once their corresponding view objects are deleted. This prevents a segmentation fault when a view is garbage-collected but the surface has already been freed (PR #204)Fixed a bug where the rectangle returned by
sdl2.ext.BitmapFont.render_on()would overestimate the size of the rendered text by one character in both width and height (PR #208)sdl2.ext.BitmapFont.contains()no longer assumes that the font map contains a space (PR #208)Rendering multiline text with the
sdl2.ext.BitmapFontclass now always splits lines using the newline (\n) character. Previously on Windows, it would only split on Windows-style line endings (\r\n) (PR #208)
API Changes:
Updated and redocumented the
stringify()andbyteify()Python 2/3 compatibility functions to better handle bytes encoding/decoding and no longer require specifying an encoding type (defaults to UTF-8 if not manually specified) (PR #204)The
subsurface()function now allows subsurface areas to be specified usingSDL_Rectobjects and surfaces to be passed either directly or as a pointer (PR #204)The
sdl2.ext.pixels2d()andsdl2.ext.pixels3d()functions no longer raise anExperimentalWarning(PR #204)Updated the
draw_line()anddraw_point()methods of theRendererclass to accept coordinates as lists of(x, y)tuples orSDL_Pointin addition to flat[x, y, x, y, x, y]lists (PR #207)Updated the
draw_rect()andfill()methods of theRendererclass to accept coordinates as lists ofSDL_Rectin addition to lists of(x, y, w, h)tuples (PR #207)Updated the
copy()method of theRendererclass to accept an(x, y)tuple as a destination, inferring the destination width and height from the dimensions of the copied texture (PR #207)Changed the
indexargument for theRendererclass to take the name of the reqested rendering back end as a string instead of an index for better clarity and cross-platform consistency (PR #207)
Deprecation Notices:
The
sdl2.ext.open_url()function has been deprecated (PR #204)The
sdl2.ext.load_image()function has been deprecated, as it unexpectedly produces different surface formats depending on the backend used. New projects should use the newsdl2.ext.load_img(),sdl2.ext.load_bmp(), and/orsdl2.ext.pillow_to_surface()functions instead (PR #205)The
sdl2.ext.get_image_formats()function has been deprecated, as it gives inaccurate results in most cases (PR #205)The
sdl2.ext.BitmapFont.can_render()method has been deprecated (PR #208)The
sdl2.ext.BitmapFont.render()method has been deprecated in favor ofsdl2.ext.BitmapFont.render_text(), which returns an SDL surface instead of a SoftwareSprite and ensures the output surface is in ARGB8888 format by default (PR #208)The
UIFactoryandUIProcessorclasses have been deprecated due to their complexity and maintenance burden. New functions and classes for creating GUIs with PySDL2 may be introduced in a future release (PR #209)The
FontManagerclass has been deprecated in favor of the new and more flexibleFontTTFclass (PR #210)
0.9.9
Released on 2021-09-02.
New Features:
Updated to wrap new functions and constants in SDL2 2.0.16 (PR #190)
Fixed bugs:
Reverted the fix for (issue #139), which inadvertantly caused a serious bug that prevented usage of any non-software renderer with windows created using
Windowobjects.
0.9.8
Released on 2021-08-06.
New Features:
Updated to wrap new functions and constants introduced in SDL2 2.0.12 and 2.0.14 (PR #163 & PR #181)
Fixed DLL loading issues with Python installed from the Microsoft Store on Windows (PR #185)
Added informative errors for when the newest SDL2 binaries found on the system are too old to be used by PySDL2 (issue #165)
Added support for passing
SDL_Rectobjects tosdl2.ext.draw.fill()(issue #169)Added support for passing
SDL_Surfacepointers directly to manysdl2.extfunctions, removing the need to explicitly use the.contentsattribute.Added
sdl2.ext.MessageBox,sdl2.ext.show_messagebox(), andsdl2.ext.show_alert()as Pythonic wrappers around the SDL2 MessageBox API (PR #188)
Fixed bugs:
Fixed
NameErrorwhen callingSDL_SetColorKey, by @mgorny (PR #166)Improved detection of SDL2 binaries on macOS, by @pvallet (PR #177 & PR #178)
Fixed a bug preventing
sdl2.ext.font.BitmapFontfrom being able to render, by @namelivia (PR #181)Fixed
sdl2.ext.Window.showbehaviour under Wayland (issue #139)Fixed a minor bug with the
helloworld.pyexample (issue #174)Fixed a bug that prevented the line clipping functions in
sdl2.ext.algorithmsfrom working if top and bottom arguments were specified backwards (issue #101)
0.9.7
Released on 2020-02-15.
The minimum required SDL version is 2.0.5
The minimum required SDL_ttf version is 2.0.14
The minimum required SDL_mixer version is 2.0.1
The minimum required SDL_image version is 2.0.1
Improved compatibility with older SDL2 releases by raising informative exceptions whenever a function requiring a newer SDL2 binary is called
added support for loading SDL2 .framework binaries on macOS
added built-in support for pip installation of SDL2 binaries on macOS and Windows using pysdl2-dll
fixed issue #75:
sdl2.SDL_JoystickGetGUIDString()andsdl2.SDL_GameControllerMappingForGUID()no longer cause a segfault on Python < 3.8fixed bug preventing use of background color with wrapped text using
sdl2.ext.FontManager.render()(PR #134)fixed issue #112: allow easy moving and resizing of
sdl2.ext.Window()objects through ‘position’ and ‘size’ attributes, added ‘open’ and ‘close’ methods to Window objectsfixed issue #126: the write method for RW objects created with
sdl2.rw_from_object()now returns the correct valuefixed issue #130: SDL_RW* functions now accept pointers to RW objects
fixed issue #135:
sdl2.SDL_GetPrefPath()andsdl2.SDL_GetPrefPath()now return bytestrings instead of pointers to strings.fixed issue #136:
sdl2.SysWMmsgnow properly defined and accessable for syswm events.fixed issue #148: added support for loading SDL2 .so binaries with numeric suffixes on Unix-like OSes (e.g. ‘libSDL2.so.2’)
fixed issue #152: restored compatibility with recent versions of PyPy
fixed transparency issues with pallete indexed PNGs (PR #159)
updated
sdl2to include the latest changes of SDL2 (release 2.0.10)updated
sdl2.sdlttfto include the latest changes of SDL2_ttf (release 2.0.15)updated
sdl2.sdlmixerto include the latest changes of SDL2_mixer (release 2.0.4)updated
sdl2.sdlimageto include the latest changes of SDL2_image (release 2.0.5)
Big thanks to all the GitHub users who filed bug reports and submitted pull requests for this release.
0.9.6
Released on 2017-09-30.
updated
sdl2to include the latest changes of SDL2 (release 2.0.6)fixed issue #98: wrap
sdl2.SDL_GetHintBoolean()correctlyfixed issue #99: wrap
sdl2.sdlmixer.Mix_PausedMusic()correctlyfixed issue #104:
sdl2.ext.Resources.scan()shows the correct path on errors nowfixed issue #106: fix
TextureSprite.__repr__()for an unset center propertyfixed some minor GC issues in
sdl2.ext.spriteandsdl2.ext.fontfixed the __getattr__ implementation for
sdl2.ext.ebs.Entityfixed background colour handling for multiline text surfaces
0.9.5
Released on 2016-10-20.
updated
sdl2to include the latest changes of SDL2 (release 2.0.5)fixed issue #94: added support for TrueType font collection (TTC) files
fixed issue #80: added flip and rotation support for TextureSprite objects
renamed
sdl2.ext.Renderer.rendererattribute tosdl2.ext.Renderer.sdlrenderer. The renderer attribute is deprecated and will be removed in a later version.
0.9.4
Released on 2016-07-07.
updated
sdl2to include the latest changes of SDL2 (release 2.0.4)updated
sdl2.sdlttfto include the latest changes of SDL_ttf (release 2.0.14)new
sdl2.ext.Renderer.logical_sizeattribute to set or retrieve the logical pixel size of a rendererfixed issue #48: be more noisy about DLL loading issues
fixed issue #65: misleading documentation for
sdl2.ext.Renderer.draw_line()fixed issue #67: Return a proper error code, when unittests running as subprocesses fail
fixed issue #72:
sdl2.video.SDL_GL_DrawableSize()not available on importfixed issue #76: define missing SDL_PRESSED and SDL_RELEASED constants
fixed issue #82: examples/gui.py fails due to an attribute error
fixed issue #83: fix compatibility with newer PIL versions in
sdl2.ext.image.load_image()fixed issue #84: The setter of
sdl2.ext.Renderer.scaleworks properly nowfixed issue #85: fix environment-dependent unit tests
fixed issue #87: fix incorrect MIX_INIT_* constants in
sdl2.sdlmixerfixed issue #88: use PILs Image.tobytes() instead of the deprecated Image.tostring()
fixed horizontical and vertical line drawing in
sdl2.ext.line()fixed a bug in
sdl2.ext.Renderer.draw_line()for odd numbers of pointsdropped IronPython support
0.9.3
Released on 2014-07-08.
updated
sdl2to include the latest changes of SDL2 (HG)new
sdl2.ext.Renderer.scaleattribute, which denotes the horizontal and vertical drawing scalenew
sdl2.ext.point_on_line()function to test, if a point lies on a line segmentPYSDL2_DLL_PATH can contain multiple paths separated by
os.pathsepto search for the libraries nowsdl2.ext.get_image_formats()only returns BMP image support now, if SDL2_image and PIL are not foundsdl2.ext.load_image()tries to usesdl2.SDL_LoadBMP()now, if SDL2_image and PIL are not foundfixed issue #55:
sdl2.SDL_GameControllerAddMappingsFromFile()does not raise a TypeError for Python 3.x anymorefixed issue #56:
sdl2.ext.Renderer.draw_line()andsdl2.ext.Renderer.draw_point()handle multiple lines (or points) as arguments properly nowfixed issue #57: if SDL2_image is not installed and PIL is used, the loaded pixel buffer of the image file is not referenced anymore after returning from
sdl2.ext.load_image(), causing random segmentation faultsfixed issue #58: raise a proper error, if
sdl2.ext.FontManager.render()could not render a text surfacefixed issue #59: The
sdl2.ext.TextureSpriteRenderSystem.sdlrendererattribute is correctly documented nowfixed a local variable and module name collision in
sdl2.ext.FontManager.render()
Thanks to Filip M. Nowak for the PYSDL2_DLL_PATH improvement.
0.9.2
Released on 2014-04-13.
fixed issue #32: the line clipping algorithms do not run into precision errors anymore
fixed issue #53 (again):
sdl2.video.SDL_GL_ResetAttributes()is properly wrapped now to retain backwards compatibility with previous SDL2 releasesfixed issue #54: text input is correctly converted for the text entry component
updated the example BMP files, which could not be loaded properly on some systems with SDL2_image and PIL
0.9.1
Released on 2014-04-05.
fixed issue #50: corrected the
sdl2.ext.load_image()documentationfixed issue #52:
sdl2.ext.Renderer.fill(),sdl2.ext.Renderer.draw_rect()andsdl2.ext.Renderer.draw_point()convert sequences correctly nowfixed issue #53: provide backwards compatibility for previous SDL2 releases by adding a wrapper func for
sdl2.cpuinfo.SDL_HasAVX()
0.9.0
Released on 2014-03-23.
IMPORTANT: This release breaks backwards-compatibility. See the notes for the issues #36 and #39.
updated
sdl2to include the latest changes of SDL2 (release 2.0.3)new
sdl2.ext.subsurface()function to create subsurfaces fromsdl2.SDL_Surfaceobjectsnew
sdl2.ext.SoftwareSprite.subsprite()method to createsdl2.ext.SoftwarSpriteobjects sharing pixel datathe unit test runner features a –logfile argument now to safe the unit test output to a file
issues #36, #39: the different render classes of sdl2.ext.sprite were renamed
the
sdl2.ext.RenderContextclass was renamed tosdl2.ext.Rendererto be consistent with with SDL2’s naming schemesdl2.ext.SpriteRendererwas renamed tosdl2.ext.SpriteRenderSystemsdl2.ext.SoftwareSpriteRendererwas renamed tosdl2.ext.SoftwareSpriteRenderSystemsdl2.ext.TextureSpriteRendererwas renamed tosdl2.ext.TextureSpriteRenderSystemsdl2.ext.SpriteFactory.create_sprite_renderer()was renamed tosdl2.ext.SpriteFactory.create_sprite_render_system()
fixed
sdl2.audio.SDL_LoadWAV()macro to provide the correct argumentsfixed issue #44: use a slightly less confusing
ValueError, if a renderer argument for thesdl2.ext.SpriteFactoryis not providedfixed issue #43: improved the code reference for the improved bouncing section in the docs
fixed issue #40: typo in a
RuntimeWarningmessage on loading the SDL2 librariesfixed issue #38: the points arguments of
sdl2.ext.Renderer.draw_points()are properly documented nowfixed issue #37:
sdl2.SDL_GetRendererOutputSize()is now acccessible via a wildcard importfixed issue #35: download location is now mentioned in the docs
fixed issue #12: remove confusing try/except on import in the examples
0.8.0
Released on 2013-12-30.
updated PD information to include the CC0 dedication, since giving software away is not enough anymore
updated
sdl2to include the latest changes of SDL2 (HG)fixed a wrong C mapping of
sdl2.rwops.SDL_FreeRW()fixed various issues within the
sdl2.ext.BitmapFontclassissue #26:
sdl2.SDL_AudioSpec.callbackis aSDL_AudioCallBack()nowissue #30: the SDL_Add/DelHintCallback() unittest works with PyPy now
issue #31:
sdl2.sdlmixer.SDL_MIXER_VERSION()returns the proper version now
Thanks to Sven Eckelmann, Marcel Rodrigues, Michael McCandless, Andreas Schiefer and Franz Schrober for providing fixes and improvements.
0.7.0
Released on 2013-10-27.
updated
sdl2to include the latest changes of SDL2 (release 2.0.1)fixed a bug in
sdl2.ext.FontManager.render(), which did not apply the text color correctlyissue #14: improved the error messages on failing DLL imports
issue #19: the
sdl2.ext.TextureSpriteRenderer.render()andsdl2.ext.SoftwareSpriteRenderer.render()methods do not misinterpret x and y arguments anymore, if set to 0issue #21:
sdl2.ext.load_image()raises a properUnsupportedError, if neither SDL_image nor PIL are usable
Thanks to Marcel Rodrigues, Roger Flores and otus for providing fixes and improvement ideas.
0.6.0
Released on 2013-09-01.
new
sdl2.ext.FontManager.sizeattribute, which gives a default size to be used for adding fonts or rendering textupdated
sdl2to include the latest changes of SDL2sdl2.ext.RenderContext.copy()accepts any 4-value sequence as source or destination rectangle nowissue #11: throw an
ImportErrorinstead of aRuntimeError, if a third-party DLL could not be imported properlyfixed a bug in the installation code, which caused
sdl2.examplesnot to install the required resources
Thanks to Steven Johnson for his enhancements to the FontManager class. Thanks to Marcel Rodrigues for the improvements to RenderContext.copy().
0.5.0
Released on 2013-08-14.
new
sdl2.ext.FontManagerclass, which provides simple TTF font rendering.new
sdl2.ext.SpriteFactory.from_text()method, which creates text spritesput the SDL2 dll path at the beginning of PATH, if a PYSDL2_DLL_PATH is provided to avoid loading issues for third party DLLs on Win32 platforms
minor documentation fixes
Thanks to Dan Gillett for providing the FontManager and from_text() enhancements and his patience regarding all the small change requests. Thanks to Mihail Latyshov for providing fixes to the documentation.
0.4.1
Released on 2013-07-26.
updated
sdl2to include the latest changes of SDL2improved DLL detection for DLLs not being in a library path
fixed a bug in
sdl2.ext.RenderContext.draw_rect()for drawing a single rectfixed a bug in the
repr()call forsdl2.ext.SoftwareSpriteissue #4: fixed a bug in
sdl2.ext.RenderContext.fill()for filling a single rectissue #5: fixed pip installation support
issue #6: fixed a bug in
sdl2.ext.get_events(), which did not handle more than 10 events in the queue correctlyissue #8:
sdl2.ext.SpriteFactory.create_texture_sprite()can create sprites to be used as rendering targets nowissue #9: improved error messages on trying to bind non-existent library functions via ctypes
minor documentation fixes
Thanks to Steven Johnson, Todd Rovito, Bil Bas and Dan McCombs for providing fixes and improvements.
0.4.0
Released on 2013-06-08.
new
sdl2.sdlmixermodule, which provides access to the SDL2_mixer libraryissue #1: fixed libc loading for cases where libc.so is a ld script
updated
sdl2andsdl2.sdlimageto include the latest changes of the libraries, they wrap
0.3.0
Released on 2013-05-07.
new
sdl2.sdlgfxmodule, which provides access to the SDL2_gfx librarynew
sdl2.ext.UIFactory.from_colormethod; it creates UI-supportive sprites from a colorfixed color argument bugs in
sdl2.ext.RenderContextmethodsfixed a module namespace issues in
sdl2.ext.pixelaccesssdl2.ext.SpriteFactorymethods do not use a defaultsizeargument anymore; it has to provided by the caller
0.2.0
Released on 2013-05-03.
removed sdl2.ext.scene; it now lives in python-utils
fixed
sdl2.hapticmodule usage for Python 3fixed
sdl2.SDL_WindowGetData()andsdl2.SDL_WindowSetData()wrappersfixed
sdl2.ext.RenderContext.copy()fixed
sdl2.ext.fontmodule usage for Python 3fixed
sdl2.ext.line()sdl2imports all submodules nowimproved documentation
0.1.0
Released on 2013-04-23.
Initial Release