96 lines
3.1 KiB
C
Raw Normal View History

#ifndef __IMAGE_H
#define __IMAGE_H
#ifndef __OBJECT_H
#include <object.h>
#endif
///////////////////////////////////////////////////////////
// TImage
///////////////////////////////////////////////////////////
// @doc EXTERNAL
// @class TImage | Classe per la gestione delle imagini a video
//
// @base public | TObject
class TImage : public TObject
// @author:(INTERNAL) Guido
{
// @access Private Member
// @cmember:(INTERNAL) Immagine de gestire
XVT_IMAGE _image;
// @cmember:(INTERNAL) Rettangolo originale (origine 0,0 e dimensioni originali) dell'immagine
RCT _src;
// @cmember:(INTERNAL) Rettangolo di visualizzazione dell'immagine (dove mettere l'immagine)
RCT _dst;
// @access Public Member
public:
// @cmember Fa corrispondere la palette della finestra a quella dell'immagine
void set_palette(WINDOW w) const;
// @cmember Permette di settare la posizione della figura
void set_pos(int x, int y);
// @cmember Disegna l'immagine nella poszione di default e nella dimensione
// di defalut
void draw(WINDOW w) const ;
// @cmember Disegna l'immagine con dimensione default in un punto dello schermo
void draw(WINDOW w, int x, int y) const;
// @cmember Disegna/modifica l'immagine sullo schermo
void draw(WINDOW w, const RCT& dst) const;
// @cmember Disegna l'immagine sulla finestra
void draw(WINDOW w, const RCT& dst, const RCT& src) const;
// @cmember Setta un pixel
void set_pixel(int x, int y, COLOR c);
// @cmember Legge un pixel
COLOR get_pixel(int x, int y) const;
// @cmember Setta l'immagine e le sue dimensioni
XVT_IMAGE set(XVT_IMAGE i);
// @cmember Legge l'immagine dal file
XVT_IMAGE load(const char* n);
// @cmember Legge l'immagine dal file di risorse
XVT_IMAGE load(short id);
// @cmember Controlla che l'immagine sia un oggetto valido (diverso da NULL)
virtual bool ok() const
{ return _image != NULL; }
// @cmember Ritorna la larghezza dell'immagine
short width() const
{ return _src.right; }
// @cmember Ritorna l'altezza dell'immagine
short height() const
{ return _src.bottom; }
// @cmember Ritorna il rettangolo dell'immagine originale
const RCT& rect() const
{ return _src; }
// @cmember Setta i colori dell'immagine in modo da renderla trasparente
// usando i colori di default (di Morpurgo)
void convert_to_default_colors();
// @cmember Setta i colori dell'immagine in modo da renderla trasparente
// usando l'angolo in alto a sinistra dell'imagine stessa
void convert_transparent_color(COLOR transparent);
// @cmember Setta l'<p n>.esime entry della paletta al colore <p c>
void set_clut(byte n, COLOR c);
// @cmember Costruttore. Viene passato il nome del file
TImage(const char* n);
// @cmember Costruttore. Viene passato l'identificatore dell'immagine sul file di risorsa
TImage(short id);
// @cmember Costruttore. Viene passata l'immagine e le sue diemsioni
TImage(const TImage& i, short width = -1, short height = -1);
// @cmember Costruttore. Viene passata l'immagine e le sue diemsioni
TImage(short width, short height, XVT_IMAGE_FORMAT fmt = XVT_IMAGE_CL8);
// @cmember Distruttore
virtual ~TImage();
};
#endif