C:/devkitPro/SVNProjects/uLibrary/Source/drawing.h File Reference

Main file about drawing in µLib. More...


Data Structures

struct  UL_IMAGE

Defines

#define UL_SCREEN_WIDTH   256
#define UL_SCREEN_HEIGHT   192
#define ulEnableEdgeAntialiasing()   (GFX_CONTROL |= GL_ANTIALIAS)
#define ulDisableEdgeAntialiasing()   (GFX_CONTROL &= ~GL_ANTIALIAS)
#define ulSetTransparentColor(color)   (ul_colorKeyEnabled = 1, ul_colorKeyValue = color)
#define ulDisableTransparentColor()   (ul_colorKeyEnabled = 0)
#define ulSetImageTint(img, tint)   (img->tint1 = img->tint2 = img->tint3 = img->tint4 = tint)
#define ulSetImageTile(img, x0, y0, x1, y1)   ({ (img)->offsetX0 = x0; (img)->offsetY0 = y0; (img)->offsetX1 = x1; (img)->offsetY1 = y1; (img)->stretchX = (x1) - (x0); (img)->stretchY = (y1) - (y0); })
#define ulSetImageTileSize(img, x0, y0, x1, y1)   ({ (img)->offsetX0 = x0; (img)->offsetY0 = y0; (img)->offsetX1 = (x0) + (x1); (img)->offsetY1 = (y0) + (y1); (img)->stretchX = x1; (img)->stretchY = y1; })
#define ulResetImageTile(img)   ({ (img)->offsetX0 = 0; (img)->offsetY0 = 0; (img)->offsetX1 = (img)->sizeX; (img)->offsetY1 = (img)->sizeY; (img)->stretchX = (img)->sizeX; (img)->stretchY = (img)->sizeY; })
#define ulImageIsPaletted(img)   (img->format >= UL_PF_PAL5_A3 && img->format <= UL_PF_PAL3_A5)
#define ulImageSetRotCenter(img)   ((img)->centerX = ulAbs((img)->offsetX1 - (img)->offsetX0) >> 1, (img)->centerY = ulAbs((img)->offsetY1 - (img)->offsetY0) >> 1)
#define ulGetImageLineAddr(img, y)   ((char*)((img)->texture) + (y)*(((img)->sysSizeX * ul_pixelWidth[(img)->format])>>3))
#define ulGetImagePixelAddr(img, x, y)   ((char*)((img)->texture) + ((((y)*(img)->sysSizeX + (x)) * ul_pixelWidth[(img)->format])>>3))
#define ulGetImageTotalSize(img)   (((img)->sysSizeX * (img)->sysSizeY * ul_pixelWidth[(img)->format]) >> 3)
#define ulSetDepth(z)   (ul_currentDepth = z)
#define ulGetDepth()   ul_currentDepth
#define ulSetAutoDepth(enable)   (ul_autoDepth = enable)
#define ulVertexBegin(vtype)   ( GFX_BEGIN = vtype )
#define ulVertexEnd()   ( GFX_END = 0 )
#define ulVertexHandleDepth()   ( ul_currentDepth += ul_autoDepth )
#define ulVertexUVXY(u, v, x, y)
#define ulVertexXY(x, y)
#define ulVertexColor(color)   ( GFX_COLOR = color )
#define ulDisableTexture()   (GFX_TEX_FORMAT = 0)

Typedefs

typedef unsigned short UL_COLOR

Enumerations

enum  UL_SPECIAL_EFFECT { UL_FX_DEFAULT = 0, UL_FX_ALPHA = 1 }
enum  UL_IMAGE_FORMATS {
  UL_PF_PAL5_A3 = 1, UL_PF_PAL2, UL_PF_PAL4, UL_PF_PAL8,
  UL_PF_COMPRESSED, UL_PF_PAL3_A5, UL_PF_5551, UL_PF_5550
}
enum  UL_IMAGE_STATES { UL_STATE_NONE = 0, UL_STATE_RAM, UL_STATE_RAM_BLOCK, UL_STATE_VRAM }
enum  UL_LOCK_REASON { UL_LOCK_NONE = 0, UL_LOCK_PIXELS = 1, UL_LOCK_PALETTE = 2 }

Functions

void ulInitGfx ()
void ulInitDualScreenMode ()
void ulStopDualScreenMode ()
void ulStartDrawing2D ()
void ulEndDrawing ()
void ulSyncFrame ()
void ulEndFrame ()
void ulSetScreenWindow (int x0, int y0, int x1, int y1)
void ulSetScreenClipping (int x0, int y0, int x1, int y1)
void ulResetScreenClipping ()
void ulDrawFillRect (s16 x0, s16 y0, s16 x1, s16 y1, UL_COLOR color)
void ulDrawLine (s16 x0, s16 y0, s16 x1, s16 y1, UL_COLOR color)
void ulDrawRect (s16 x0, s16 y0, s16 x1, s16 y1, UL_COLOR color)
void ulDrawGradientRect (s16 x0, s16 y0, s16 x1, s16 y1, UL_COLOR color1, UL_COLOR color2, UL_COLOR color3, UL_COLOR color4)
UL_IMAGEulCreateImage (int width, int height, int location, int format, int palCount)
int ulCreateImagePalette (UL_IMAGE *img, int location, int palCount)
UL_IMAGEulConvertImageToPaletted (UL_IMAGE *imgOriginal, int newLocation, int newFormat)
int ulRealizeImage (UL_IMAGE *img)
int ulUnrealizeImage (UL_IMAGE *img)
void ulDeleteImage (UL_IMAGE *img)
UL_IMAGEulLoadImagePNG (VIRTUAL_FILE *f, int location, int pixelFormat)
UL_IMAGEulLoadImageJPG (VIRTUAL_FILE *f, int location, int pixelFormat)
UL_IMAGEulLoadImageGIF (VIRTUAL_FILE *f, int location, int pixelFormat)
void ulDrawImage (UL_IMAGE *img)
void ulDrawImageXY (UL_IMAGE *img, s16 x, s16 y)
void ulResetImageProperties (UL_IMAGE *img)
void ulMirrorImageH (UL_IMAGE *img, int mirrorState)
void ulMirrorImageV (UL_IMAGE *img, int mirrorState)
void * ulLockImage (UL_IMAGE *img, UL_LOCK_REASON lockReason)
void ulUnlockImage (UL_IMAGE *img, UL_LOCK_REASON lockReason)
void ulSetImagePixel (UL_IMAGE *img, int x, int y, int pixelValue)
int ulGetImagePixel (UL_IMAGE *img, int x, int y)
void ulSetTexture (UL_IMAGE *img)
void ulSetAlpha (UL_SPECIAL_EFFECT effect, int coeff, int polygroup)
void ulSetMainLcd (int position)
int ulGetMainLcd ()
void ulSetRegCapture (bool enable, uint8 srcBlend, uint8 destBlend, uint8 bank, uint8 offset, uint8 size, uint8 source, uint8 srcOffset)

Variables

const u8 ul_pixelSizes []
u8 ul_firstPaletteColorOpaque


Detailed Description

Main file about drawing in µLib.


Generated on Sat Jul 14 23:39:33 2007 by  doxygen 1.5.2