// Esta clase tiene la configuracion del stack, esto facilita el paso de // parametros importantes entre el stack y su ventana de configuracion. #ifndef STACKCONF_H #define STACKCONF_H #include "General.h" #include "AreaGrafica.h" class C_StackDeImagenes; class C_StackConfig { protected: // Informacion para desplegar stack... C_StackDeImagenes *Stack; // El Stack asociado. C_AreaGrafica *AreaGrafica; // El AreaGrafica asociada. bool HayZoom; // Si esta en Zoom. int ImagenesEnX; // Cuantas Imagenes en X. int ImagenesEnY; // Cuantas en Y. int Escala; // Escala de las imagenes. int EscalaTemp; // Guarda la escala actual si hay zoom. int EscalaMax; // Escala maxima de despliegue. int ImagenInicial; // Imagen donde se inicia despliegue. int ImagenActual; // La imagen actualmente seleccionada. int AnchoDeImagen; // El ancho de la imagen. int AltoDeImagen; // El alto de la imagen. int FranjaAncho; // Franja que hay entre imagenes. int FranjaAlto; // Franja que hay entre imagenes. int AnchoEscalado; // El ancho de la imagen a escala. int AltoEscalado; // El alto de la imagen a escala. float Intensidad; // Intensidad de despliegue. void CalculaFranjaAncho(); // Calcula la franja a lo ancho. void CalculaFranjaAlto(); // Calcula a alto. void CalculaAnchoEscalado(); // Calcula el ancho con escala void CalculaAltoEscalado(); // Calcula el alto con escala void CalculaImagenesEnArea(); // Calcula cuantas imagenes caben en el Area. public: C_StackConfig(); // Constructor C_StackConfig(C_StackConfig &Fuente); // Constructor de copia void AsociaStack(C_StackDeImagenes *NuevoStack) {Stack=NuevoStack;} void AsociaAreaGrafica(C_AreaGrafica *NuevaArea) {AreaGrafica=NuevaArea;} void Copia(C_StackConfig &Fuente); // Copia a partir de otro void Copia(const C_StackConfig *Fuente);// Copia a partir de otro bool LeeHayZoom() {return HayZoom;} int LeeImagenesEnX() {return ImagenesEnX;} int LeeImagenesEnY() {return ImagenesEnY;} int LeeEscala() {return Escala;} int LeeEscalaMaxima() {return EscalaMax;} int LeeImagenInicial() {return ImagenInicial;} int LeeImagenActual() {return ImagenActual;} int LeeAnchoDeImagen() {return AnchoDeImagen;} int LeeAltoDeImagen() {return AltoDeImagen;} int LeeFranjaAncho() {return FranjaAncho;} int LeeFranjaAlto() {return FranjaAlto;} int LeeAnchoEscalado() {return AnchoEscalado;} int LeeAltoEscalado() {return AltoEscalado;} float LeeIntensidad() {return Intensidad;} void CambiaHayZoom(bool NuevoEstado); void CambiaImagenesEnX(int NuevoX); void CambiaImagenesEnY(int NuevoY); void CambiaEscala(int NuevaEscala); void CambiaEscalaMaxima(); void CambiaImagenInicial(int NuevaImagen) {ImagenInicial=NuevaImagen;} void CambiaImagenActual(int NuevaImagen) {ImagenActual=NuevaImagen;} void CambiaAnchoDeImagen(int NuevoAncho); void CambiaAltoDeImagen(int NuevoAlto); void CambiaIntensidad(float NuevaInt) {Intensidad=NuevaInt;} void ReiniciaValores(); void ActualizaValores(); }; #endif