The ABLIT library provides a BltBitMap() compatible function call which adds the missing alpha channel and blend support to AmigaOS (4.0). It also contains some nice addons to integrate SDL_Surfaces into AmigaOS.
See the included readme for more information.
Available interfaces:
ablit/ablit.h:
- BltAlphaBitMap()
- BltAlphaBitMapRastPort() (v0.3)
- WriteAlphaPixelArray() (v0.3)
- ExtractMask() (v0.3)
- InjectMask() (v0.3)
ablit/ablit_SDL.h:
- SDL_BlitAlphaSurfaceBitMap()
- SDL_BlitAlphaBitMapSurface()
- SDL_BlitAlphaSurface()
- SDL_BlitAlphaBitMapRastPort() (v0.3)
ablit/ablit_utils.h:
- ABU_InitVideo() (supports windowed and fullscreen modes now)
- ABU_CloseVideo()
For more information check the header files. A complete documentation will
follow.
History:
v0.3: 11/21/2005
- added BltAlphaBitMapRastPort()
- added SDL_BlitAlphaSurfaceRastPort()
- added WriteAlphaPixelArray()
(cgx compatible call with alpha channel support)
- added ExtractAlphaMask() - untested
(create an 8bit bitmap out of alpha layer)
- added InjectAlphaMask() - untested
(inject an 8bit alpha mask into a 32bit bitmap)
- changed all calls to match AmigaOS camel case naming convention
(e.g. all "Bitmap" are now "BitMap")
- added ablit_util ABU_InitVideo can now handle window or
full screen mode.
- added some more direct ARGB32 target blits
(only with 32 bit source format for now, 16/24 bit is missing).
v0.2: 11/05/2005
- removed $VER tags from link library.
Doesn't make sence in a link lib
- fixed alignment exceptions (hope I got them all now),
16 bit source blits should work again
- cleaned up code into more generic patterns. Adding a color
format should only be a matter of changeing some macro
and no code changes any more -> easier maintenance.
- fixed clipping bugs in 16/32 bit formats
- removed C++ dependencies (libstdc++.a)
- lib is now independent from clib2 or newlib.
Should run with both now. (libalib.a & libalib_utils.a)
(I need a clib2 version of freetype to test SDL_ttf, though)
- restructured code for new functionality yet to come
- added some free ttf fonts for the demo
(see it's notes inside the fonts folder)
v0.1: 10/31/2005
- Forgot a debug message, slowed everything down
- added $VER in ablit and ablit_utils lib
v0.0: 10/31/2005
- First OS4Depot Release
TO DO:
- 32 bit target blits. All 32->ARGB32 is there now
- 24 bit target blits (currently not optimized and not fully tested)
- separated 8 bit alpha channel bitmap/surface:
- ExtractAlphaMask(), ApplyAlphaMask()
- BltBitMapAlphaMask(), SDL_BlitSurfaceAlphaMask()
- color key blits for source bitmaps < 32 bits
ablit_demo:
Demo with source code to demonstrate the blit functions
Requirements:
- libSDL.a
- libSDL_image.a
- libSDL_ttf.a
- libfreetype.a
Copyrights:
- You can copy the lib and the header files on for your own needs,
even in commercial usage. No seperate license required.
- The link library and the header files are provided AS IS.
No waranty! Use on your own risk.
- all other contributions in the archive are (C) by their respective
owner. If you find copyrighted material and think it should not be
part of this distribution, please let me know. I will remove them
immediately.
|