| CARDS(3) | Library Functions Manual | CARDS(3) |
NAME
Cards_LoadCards,
Cards_LoadFreeCell,
Cards_InvertSurface — bitmap
resource loader
SYNOPSIS
#include
<cards.h>
int
Cards_LoadCards(SDL_Surface
*surfaces[], size_t count,
SDL_RWops *rw, enum Cards_Flag
flags);
int
Cards_LoadFreeCell(SDL_Surface
*surfaces[], size_t count,
SDL_RWops *rw, enum Cards_Flag
flags);
int
Cards_InvertSurface(SDL_Surface
*surface);
DESCRIPTION
Cards_LoadCards()
and Cards_LoadFreeCell() load bitmap resources into an
array of count surfaces. Resources can be loaded from
16-bit NE executables or from 32-bit PE executables.
Cards_LoadCards()
loads card bitmaps from a CARDS.DLL or Windows 3.0
SOL.EXE file rw.
Indices of loaded surfaces are defined by the following:
- Suit
Cards_Club,Cards_Diamond,Cards_Heart,Cards_Spade.- Rank
Cards_A,Cards_2,Cards_3,Cards_4,Cards_5,Cards_6,Cards_7,Cards_8,Cards_9,Cards_10,Cards_J,Cards_Q,Cards_K.- Back
Cards_Back1,Cards_Back2,Cards_Back3,Cards_Back4,Cards_Back5,Cards_Back6,Cards_Back7,Cards_Back8,Cards_Back9,Cards_Back10,Cards_Back11,Cards_Back12.- Other
Cards_Empty,Cards_X,Cards_O.
Where suit and rank constants are added together to form an index.
Note that there are gaps in the indices and some surface pointers will be
set to NULL. The maximum number of surfaces is
defined by Cards_CardCount.
The dimensions of the loaded surfaces are defined by
Cards_CardWidth and
Cards_CardHeight.
Cards_LoadCards()
accepts the following flags:
Cards_ColorKey- Use color key transparency for the
Cards_Empty,Cards_XandCards_Osurfaces. Cards_AlphaCorners- Make the rounded card corners transparent.
Cards_BlackBorders- Make all card borders black.
Cards_LoadFreeCell()
loads bitmaps from a FREECELL.EXE file
rw.
Indices of loaded surfaces are defined by
Cards_KingRight,
Cards_KingLeft and
Cards_KingWin. Note that there are gaps in the
indices and some surface pointers will be set to
NULL. The maximum number of surfaces is defined by
Cards_FreeCellCount.
The dimensions of the loaded surfaces are defined by
Cards_KingWidth and
Cards_KingHeight.
Cards_LoadFreeCell()
accepts the following flags:
Cards_ColorKey- Use color key transparency.
Cards_InvertSurface()
inverts the colors of a surface loaded by
Cards_LoadCards().
RETURN VALUES
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned.
FILES
The cards.dll repository contains various versions of the files CARDS.DLL, FREECELL.EXE and SOL.EXE.
EXAMPLES
See example.c.
ERRORS
Error messages are set with SDL_SetError()
and can be retrieved with SDL_GetError().
Cards_LoadCards() and
Cards_LoadFreeCell() may fail for the following
reasons: any SDL_RWops or
SDL_Surface error; invalid MZ, NE or PE signatures;
missing resource table; invalid resource hierarchy; missing resource.
Cards_InvertSurface() may fail for any
SDL_Surface error or if the surface format is not
supported.
STANDARDS
- The New Executable format, documented in exefmt.txt.
- The Portable Executable format, documented at https://docs.microsoft.com/en-us/windows/desktop/Debug/pe-format.
AUTHORS
June McEnroe <june@causal.agency>
| August 22, 2019 | OpenBSD 7.8 |