package pckInterface;

import java.awt.*;

// Linha abaixo incluida para teste da classe TratadorDeEventos
// Fabio Azevedo, RA 952215.
import TratadorDeEventos;

// importa a classe de Layout personalizado
// import InterfaceLayout;

// Classe: CanvasBotaoZoomIn
// Autor: Fábio Dalla Vecchia - RA:981091
// Canvas que controla o Botao Zoom IN
class CanvasBotaoZoomIn extends Canvas {
    private int largura;
    private int altura;
    private Image img[] = new Image[2];

    // TratadorDeEventos (Fabio Azevedo, RA 952215.)
    private TratadorDeEventos objTrataEv = new TratadorDeEventos();

    // acessíveis ao Applet
    protected boolean BotaoPressionado = false;
    protected String msg = "Clique para Zoom In no Mapa";
    protected boolean msgStatus=false;
    
    private int Estado = 0;

    // Construtor
    public CanvasBotaoZoomIn( int larg,int alt, Image imagem[]) {
        largura = larg;
        altura = alt;
        img[0] = imagem[0]; // botão não clicado
        img[1] = imagem[1]; // botão clicado

        reshape( 0,0,larg,alt );
        }

    // Mouse foi pressionado
    public boolean mouseDown( Event evt,int x,int y ) {
        BotaoPressionado = true;
        // TratadorDeEventos (Fabio Azevedo, RA 952215.)
        objTrataEv.BotaoZoomInPressionado();
        repaint();
        return( true );
        }

    // Botão do mouse foi solto
    public boolean mouseUp( Event evt,int x,int y ) {
        BotaoPressionado = false; // by fdv
        repaint();
        return( true );
        }
                         
    // Quando mouse passa sobre controle, exibimos uma mensagem
    // na linha de estado inferior da tela
    public boolean mouseEnter( Event evt,int x,int y ) {
        //showStatus( msg );
        msgStatus=true;
        repaint();
        return( true );
        }

    // Limpa linha de status quando mouse sai do controle
    public boolean mouseExit( Event evt,int x,int y ) {
        BotaoPressionado = false; 
        //showStatus( "" );
        msgStatus=false;
        repaint();
        return( true );
        }

    public void update( Graphics g ) {
        // Muda estado do controle (pressionado ou não)
        if( !BotaoPressionado )
            Estado = 0;
        else 
            Estado = 1;
        paint( g );
        }

    public void paint( Graphics g ) {
        g.drawImage( img[Estado],0,0,this );
        }
    } 
    
