/*
 * PSP Shell Graphics Manager - http://arnoldbronson.comli.com
 * -----------------------------------------------------------------------
 * 
 *
 * gfxmgr.h - Graphics/interface manager
 *
 * Copyright (c) 2011 Arnold Bronson <timmo2497@gmail.com>
 * 
 * 
 *
 * $Id$
 * $HeadURL$
 */

#ifndef	__ABGFXMGR_H__
#define	__ABGFXMGR_H__



/* Call this at the beginning of a plugin to ensure that 
 the entire PSP system will run correctly.
*/
extern int gfxMgrWaitModule();

/* Create a Dialog box with two options custom set text
 confirm_button = 1 if you want CROSS to be Confirm
 */
extern int gfxMgrTwoOptionDialog(char* msg, int confirm_button, char* option1, char* option2);


/* Public API:
 Renders a texture loaded with gfxMgrLoadTexture.
 Includes scaling.
 Theoretical maximum: 30 renders per cycle
 */
extern void gfxMgrRenderTexture
(
 void* texture, 
 int x, 
 int y, 
 int alpha,
 int rotation,
 int new_width,
 int new_height
 );

/* Public API:
 Renders a string.
 Theoretical maximum: 30 renders per cycle
 */
int gfxMgrRenderString
(
 char* string,
 float size,
 unsigned int colour,
 float angle,
 unsigned int shadowColour,
 unsigned int options,
 int x,
 int y
 );

/* Public API:
 Load a PNG texture.
 MAX 512 x 512 px
 */
extern void* gfxMgrLoadTexture(char* filename);

/* Public API:
 Free a texture loaded with gfxMgrLoadTexture
 */
extern int gfxMgrUnloadTexture(void* texid);



#endif
