 /* 'mrTemplateSet.h' */

 /* Nagłowek typów bazowych Mirus */
#include "mrDatatypes.h"
 /* Nagłówek definicji błędów Mirus */
#include "mrError.h"
 /* Nagłówek obrazu RGBA biblioteki Mirus */
#include "mrRGBAImage.h"
 /* Nagłowek ekranu Mirus */
#include "mrScreen.h"
 /* Nagłówek tekstury Mirus */
#include "mrTexture.h"

 /* Załączaj ten plik tylko raz */
#pragma once

 /* Klasa prostokątnego obszaru tesktury Mirus */
class mrRectText
{
public:
 mrReal32         m_fLeft;
 mrReal32         m_fTop;
 mrReal32         m_fRight;
 mrReal32         m_fBottom;
};

 /* Klasa identyfikatora komórki w zestawie szablonów biblioteki Mirus */
class mrCellID
{
public:
 mrUInt32      m_iX;
 mrUInt32      m_iY;
};

 /* Klasa zestawu szablonów Mirus */
class mrTemplateSet
{
protected:
  /* Informacja o teksturze */
 mrTexture *        m_pkTexture;
 mrUInt32           m_iTextureWidth;
 mrUInt32           m_iTextureHeight;

  /* Informacja o komórce */
 mrUInt32           m_iCellWidth;
 mrUInt32           m_iCellHeight;

public:
  /* Konstruktory / Destruktor */
 mrTemplateSet (void);
 ~mrTemplateSet (void);

  /* Procedury manipulujące szablonem */
 void Create (mrTexture * pkTexture, mrUInt32 iTextureWidth, 
              mrUInt32 iTextureHeight, mrUInt32 iCellWidth, 
              mrUInt32 iCellHeight); 

 void GetUV (mrCellID kPosition, mrRectText * pkUVRect);

  /* Procedury obsługowe tekstur */
 void SetActiveTexture (void);

 mrUInt32 GetTextureWidth (void);
 mrUInt32 GetTextureHeight (void);
 mrUInt32 GetCellWidth (void);
 mrUInt32 GetCellHeight (void);
};
