#define MODULO extern

#if defined (_FREC_F_H)
 #undef  MODULO
 #define MODULO
#endif



#define GENERADOR                         1 // selecciona el GENERADOR
#define OSCILOSCOPIO                      0 // selecciona el OSCILOSCOPIO

#define ON                                1 // activado
#define OFF                               0 // desactivado

#define INICIO                           -1 // Seleccion de marca Inicio
#define TODO                              0 //                    TODA
#define FIN                               1 //                    Fin

#define IZQUIERDA                         3 // Desplazamientos Arriba
#define DERECHA                           4 // Desplazamientos Arriba
#define ARRIBA                            0 // Desplazamientos Arriba
#define CENTRAR                           1 //                 Centrar
#define ABAJO                             2 //                 Abajo

#define PINTA                          -125 // Pinta
#define BORRA                          -126 // Borra


extern int SaltosMatrixX,         // Saltos en la Matrix X
           SaltosMatrixY;         // Saltos en la Matrix Y

extern long MRK_begin, MRK_end,   // Marcas de comienzo y final originales
            oldMRK_begin,         // >>>>>>>>>>>>>>>>>>>>>>>>>>>
            oldMRK_end;           // >>> marcas de arrastre  >>>

extern char GenOsc,               // para quien son los controles
            GenOscf[2];           // quien est  funcionando ahora

extern int  IncrementoMarca;      // incremento al desplazar la marca


// Variables para la onda GENERADA

MODULO int  *OndaGenerada;  // OndaGrande  ( Puntero a la onda completa )
MODULO int  *oOndaGenerada; // Fondo de la Onda GRANDEo y MINIo
MODULO char *cOndaGenerada; // Fondo Mini Onda
MODULO int  *mOndaGenerada; // Fondo de la Onda GRANDEo y MINIo

extern long oDesde,         // Inicio de la onda a mostrar
            oHasta;         // Fin de la onda a mostrar

extern int oAncho,          // Ancho de la ventana de visualizaci˘n
           oAlto;           // Alto de la ventana de vizualizaci˘n

extern int ceroOGenerada;   // Cero de la onda Generada

extern int Desplazamiento,  // Desplazamiento virtual de la onda
           mAnchoMarco;     // Ancho a mostrar ( reducido )

extern char Tonda;          // Tipo de onda a tratar
extern int  Dispersion;     // Dispercion entre puntos

void EnviaRecibe( void );
void Redibuja_MiniOnda( void );
void DesplazaOnda( char Lugar );
void SeleccionaControles( void );
void ReajusteTierra( char aDonde );
void Retoca_Punto( int Px, int Ax );
void ReajustaTipoOnda( int PorDonde );
void Dibuja_OndaSeleccionada( char QueHago );
void DesplazaMarca( char IncrementoMarca, char InicioFin );
void DibujaOnda( int Desde, int Hasta, int Ancho, int Alto, char GrandeMini );


