Thu, 17 November 2005
Sun, 30 October 2005
I've finally gotten around to moving many of our TLA archives over to Darcs. I simply sealed the TLA versions and imported the sealed snapshot into Darcs, without transferring the history.
Sun, 13 February 2005
The egg file is available in releases.
2005-01-06 18:15:03 GMT Michael Bridgen <email@example.com> patch-8 Summary: Added text and font extents Revision: chicken-cairo--dev--0.1--patch-8 - cairo_text_extents_t and cairo_font_extents_t types These are not returned from a function, so we have to allocate them as a (GC-able) byte vector and make C think it's a spot of memory. - Functions for determining the extents of text and fonts. - Updated example 2004-12-04 17:52:21 GMT Tony Garnock-Jones <firstname.lastname@example.org> patch-7 Summary: Adapt to chicken-sdl's recent case changes, and upcase the cairo binding too Revision: chicken-cairo--dev--0.1--patch-7 A few constants changed to UPPER_CASE, both references to SDL constants, and the flags defined in cairo.scm. Also removed test-cairo from the Makefile - it doesn't need to be compiled now that we have sdl-csi. 2004-11-30 00:40:37 GMT Michael Bridgen <email@example.com> patch-6 Summary: Font and text rendering Revision: chicken-cairo--dev--0.1--patch-6 Just a start on these -- enough to see something painted, which is exciting. 2004-11-17 19:40:06 GMT Tony Garnock-Jones <firstname.lastname@example.org> patch-5 Summary: cairo.setup file, to make 'make install' (and the egg) work Revision: chicken-cairo--dev--0.1--patch-5 2004-11-15 22:33:03 GMT Michael Bridgen <email@example.com> patch-4 Summary: Query functions Revision: chicken-cairo--dev--0.1--patch-4 Might come in handy ('specially alpha) 2004-11-15 14:02:26 GMT Michael Bridgen <firstname.lastname@example.org> patch-3 Summary: Matrix operations (untested) Revision: chicken-cairo--dev--0.1--patch-3 Added the cairo_matrix_* functions -- untested, except for the compilation unit test. Just a bunch of typing really. 2004-11-11 00:19:12 GMT Michael Bridgen <email@example.com> patch-2 Summary: Some documentation and decorations Revision: chicken-cairo--dev--0.1--patch-2 Added some documentation regarding obscure/non-obvious things; divided into sets of functions with headers for navigation.
I've cycled our GNU/arch archives to 2005, meaning that the previous archive link is wrong. To correct:
tla register-archive http://www.eighty-twenty.org/archives/2004 tla register-archive http://www.eighty-twenty.org/archives/2005
Thu, 30 December 2004
Interesting changes include:
- Case changes: constant definitions are now in uppercase, matching the C API.
- The SDL egg now supports SDL_net networking.
- The sdl-csi program is now installed in the bin directory, as part of the normal installation of the egg
- Added missing sdl-quit-sub-system parameter; added sdl-set-color-key! (thanks to Felix Winkelmann)
- Added a sdl-pixel-format-bytes-per-pixel accessor (thanks to Sunnan)
- Added getter/setter for SDL errors.
- The *sdl-rect-nil* global has been replaced by #f.
- The problem on MacOS X (and probably also Windows) regarding sdl-init has been better documented (in the README)
Wed, 01 December 2004
Below is the relevant part of the changelog:
2004-12-01 13:18:11 GMT Tony Garnock-Jones <firstname.lastname@example.org> patch-10 Summary: Incorporate changes suggested by Alex Shinn Revision: chicken-sdl--main--0--patch-10 - (sdl-fill-rect) is now generic in the kind of colour it expects - either an unsigned integer, or an SDL_Color structure. - Added procedures (ttf-size-text!) and (ttf-size-utf8!). 2004-11-19 16:38:01 GMT Tony Garnock-Jones <email@example.com> patch-9 Summary: Returned TTF_Fonts now have a NULL check Revision: chicken-sdl--main--0--patch-9 Previously, calling (ttf-open-font) when the path specified was invalid in some way would result in the construction of a ttf-font structure with a pointer value of #f, and there was no way of checking the success or failure of (ttf-open-font) without explicitly calling (ttf-font-pointer), which is bad style. I've changed the foreign-type wrap procedure to check for a #f pointer before constructing the ttf-font structure. If the pointer is #f, the whole result is #f - otherwise a ttf-font structure is built as usual. 2004-11-15 12:09:04 GMT Tony Garnock-Jones <firstname.lastname@example.org> patch-8 Summary: Replace timer functionality Revision: chicken-sdl--main--0--patch-8 It is problematic supporting SDL_AddTimer and SDL_RemoveTimer from chicken, since they a) are implemented using setitimer(2) and b) involve callbacks from C to Scheme. Each would be fine on its own, but taken together they interfere with the main Scheme thread. As it happens, the SDL_WaitEvent function is implemented in terms of polling (!) for events, with a short delay if none present themselves - the usual pragmatic tradeoff for event-based systems on Unix-like machines - and so we will be doing no worse if we do a similar thing ourselves. Hence, I've written a Scheme-based timer library which integrates with SDL's event loop, calling SDL_Delay(10) when there's no work just like SDL_WaitEvent. This does of course mean that the user must now either use (sdl-wait-event!), which manages timeouts itself, or must instead somehow arrange for periodic calls to (sdl-process-timer-queue!). The timer library is implemented in timer.scm, and depends on a leftist-heap implementation from heap.scm. These two modules ought probably to be split out into eggs of their own, and distributed as part of some kind of general utility library for chicken. For now, they're (include)d directly into sdl.scm, to avoid needing to install more than one file for this extension.
Tue, 09 November 2004
For your consideration, alpha releases of SDL and Cairo bindings for Chicken Scheme.
Both are available in our GNU/Arch archive at
tla register-archive http://www.eighty-twenty.org/archives
tla abrowse email@example.com