Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

img_pal.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= img_pal.h                                             Noviembre de 1999 =
00003 //=-------------------------------------------------------------------------=
00004 //= Clases de representacion y procesamiento basico de imagenes digitales   =
00005 //=-------------------------------------------------------------------------=
00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO   =
00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN   =
00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES,     = 
00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO,        =
00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO,  =
00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA   =
00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES       =
00013 //= ("ACTIVIDADES DE ALGO RIESGO").                                         =
00014 //=-------------------------------------------------------------------------=
00015 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00016 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00020 //===========================================================================
00021 
00022 #include "jed_defs.h"
00023 
00024 #ifndef __JEDILINK_IMG__
00025     #error "No incluya a img_pal.h, incluya a jed_img.h!"
00026 #endif
00027 
00028 #ifdef VEL_ROSITA
00029     #include "toolkits/media/jed_img.h"
00030 #endif
00031 
00032 class IMAGEN_PAL : public IMAGEN {
00033   private:
00034     PIXEL_PAL *Data;  // Arreglo dinamico de pixel's
00035     BOOLEAN modo_luminancia;
00036 
00037   public:
00038     //- Metodos standard de la clase IMAGEN ---------------------------------
00039     IMAGEN_PAL();
00040     virtual ~IMAGEN_PAL();
00041   #ifdef GL_ENABLED
00042     void pintar_gl(void);
00043     void activar_gl(void);
00044   #endif
00045     BOOLEAN init(int width, int height);
00046     void elim(void);
00047 
00048     //- Metodos especificos de la clase IMAGEN_PAL --------------------------
00049     BOOLEAN importar_wadsprite(FILE *fd);  // Importacion de datos
00050     BOOLEAN importar_wadflat(FILE *fd, WORD xtam = 64, WORD ytam = 64);
00051     BOOLEAN importar_sgibw(FILE *fd);
00052     inline void putcolorindex(int x, int y, BYTE index);
00053     inline BYTE getcolorindex(int x, int y);
00054     void pegar_subimagen(IMAGEN_PAL *sprite, int offset_x, int offset_y);
00055     void set_modo_luminancia(BOOLEAN m);
00056     void exportar_ppm(FILE *fd, PALETA *Pal);
00057 
00058 #ifdef NNN
00059     IMAGEN *copie(void);
00060 
00061     //- Metodos de consulta y actualizacion ---------------------------------
00062   #ifdef GL_ENABLED
00063     void activar_como_contexto_gl(void);
00064     void desactivar_como_contexto_gl(void);
00065   #endif
00066 
00067     //- Procesamiento de imagenes -------------------------------------------
00068     IMAGEN_PAL *exportar_a_grises(PALETA *Pal);
00069     void umbralizar(BYTE umbral);
00070     void umbralizar_adaptativo(void);
00071 #endif // NNN
00072 
00073 };
00074 
00075 //- Definicion de metodos inline de la clase IMAGEN_PAL ---------------------
00076 
00077 inline void
00078 IMAGEN_PAL::putcolorindex(int x, int y, BYTE index)
00079 /*
00080 PRE: tipo == IMAGEN_PALETA256
00081 */
00082 {
00083     PIXEL_PAL *fila = &(Data[x_tam * y]);
00084 
00085     fila[x].index = index;
00086 }
00087 
00088 inline BYTE
00089 IMAGEN_PAL::getcolorindex(int x, int y)
00090 /*
00091 PRE: tipo == IMAGEN_PALETA256
00092 */
00093 {
00094     PIXEL_PAL *fila = &(Data[x_tam * y]);
00095 
00096     return fila[x].index;
00097 }
00098 
00099 //===========================================================================
00100 //= EOF                                                                     =
00101 //===========================================================================
00102 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.