// Autor: Fábio Dalla Vecchia - RA:981091 package pckInterface; import java.awt.*; // importa a classe de Layout personalizado // import InterfaceLayout; // Classe: CanvasMapaReduzido // Autor: Fábio Dalla Vecchia - RA:981091 // Canvas que controla o Mapa Reduzido mostrado no canto direito superior da tela class CanvasMapaReduzido extends Canvas { private int largura; private int altura; // acessíveis ao Applet protected String msg = "Mapa reduzido da Unicamp/Barão Geraldo"; protected boolean msgStatus=false; // Objetos gráficos que serao acessíveis aos pcks* para se desenhar o mapa reduzido public Graphics GraficoMapaReduzido; // gráficos contidos no buffer da imagem do mapa reduzido public Image ImagemMapaReduzido; // buffer da imagem do mapa reduzido // Posicoes do Mouse no Mapa Calculado public int MousePosX, MousePosY; // construtor // Autor: Fábio Dalla Vecchia - RA:981091 public CanvasMapaReduzido( int larg,int alt ) { largura = larg; altura = alt; // img = img_map; reshape( 0,0,larg,alt ); } // Autor: Fábio Dalla Vecchia - RA:981091 public void paint( Graphics g ) { g.setColor( Color.blue ); g.drawImage( ImagemMapaReduzido,0,0,this ); g.drawRect(0,0,largura-1,altura-1); // desenha borda } // Quando mouse passa sobre controle, exibimos uma mensagem // na linha de estado inferior da tela // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseEnter( Event evt,int x,int y ) { //showStatus( "Mapa reduzido da Unicamp/Barão Geraldo" ); msgStatus=true; return( true ); } // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseExit( Event evt,int x,int y ) { msgStatus=false; return true; } // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseDrag( Event evt,int x, int y ) { return (mouseDown(evt,x,y)); } // Autor: Fábio Dalla Vecchia - RA:981091 public boolean mouseDown( Event evt,int x, int y ) { // Pega posicao X,Y do mouse no canvas do mapa MousePosX = x; MousePosY = y; repaint(); if( x < largura && y < altura ) { System.out.println( "Mouse no Mapa Reduzido: ("+x+","+y+")" ); return true; } return false; } // Cria um buffer para conter o MapaReduzido // o buffer e os graficos do buffer sao publicos public void CriaMapaReduzido(int larg,int alt) { largura = larg; altura = alt; // Inicializa o double buffer (usado para se desenhar graficos offscreen) ImagemMapaReduzido = createImage( larg,alt ); // Cria mapa calculado com as dimensoes passadas GraficoMapaReduzido = ImagemMapaReduzido.getGraphics(); // pinta o mapa com uma cor para inicializacao GraficoMapaReduzido.setColor( Color.black ); GraficoMapaReduzido.fillRect( 0,0,larg-1,alt-1 ); } // Retorna os gráficos do buffer do MapaReduzido // para que os outros pacotes possam atualizar seu conteudo public Graphics getGraphicsMapaReduzido() { return (GraficoMapaReduzido); } public int getLarguraGraphicsMapaReduzido() { return (largura); } public int getAlturaGraphicsMapaReduzido() { return (altura); } }