#ifndef __Desktop__H
#define __Desktop__H

#include "WimpLib:Coords.h"
#include "WimpLib:Sprites.h"
#include "kernel.h"

#ifdef __cplusplus
extern "C" {
#endif

void Desktop_SetStdColour(int c);

CSize Desktop_GetNamedSpriteSize(const char* pSpriteName);
CSize Desktop_GetSpriteSize(const CSpriteHdr* pSprite);
const _kernel_oserror* Desktop_PlotNamedSprite(const char* pSpriteName, CPoint pt, const CSpriteFactors* pfactors);
const _kernel_oserror* Desktop_PlotSprite(const CSpriteHdr* pSprite, CPoint pt, const CSpriteFactors* pfactors);

int Desktop_GetTextWidth(const char* ptext);
void Desktop_PlotText(const char* ptext, const CRect* prct);
void Desktop_RightPlotText(const char* ptext, const CRect* prct);

const MouseShape* Desktop_GetPointer(void); // returns NULL if none set by user
void Desktop_SetPointer(const MouseShape* shape);
void Desktop_ResetPointer(void);

#ifdef __cplusplus
}
#endif

#endif
