96 lines
3.1 KiB
C++
Executable File
96 lines
3.1 KiB
C++
Executable File
#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
|