// Autor: Fábio Dalla Vecchia - RA:981091 package pckInterface; import java.awt.*; // importa a classe de Layout personalizado // import InterfaceLayout; // Classe: CanvasMapaCalculado // Autor: Fábio Dalla Vecchia - RA:981091 // Canvas que controla o Mapa Reduzido mostrado no canto direito superior da tela class CanvasMapaCalculado extends Canvas { private int largura; private int altura; // acessíveis ao Applet protected String msg = "Mapa Calculado da Unicamp/Barão Geraldo"; protected boolean msgStatus=false; // Objetos gráficos que serao acessíveis aos pcks* para se desenhar o mapa public Graphics GraficoMapaCalculado; // gráficos contidos no buffer da imagem do mapa calculado public Image ImagemMapaCalculado; // buffer da imagem do mapa calculado // Posicoes do Mouse no Mapa Calculado public int MousePosX, MousePosY; // Construtor // Autor: Fábio Dalla Vecchia - RA:981091 public CanvasMapaCalculado( 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( ImagemMapaCalculado,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 Calculado 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 Calculado: ("+x+","+y+")" ); return true; } return false; } // Cria um buffer para conter o MapaCalculado // o buffer e os graficos do buffer sao publicos // Autor: Fábio Dalla Vecchia - RA:981091 public void CriaMapaCalculado(int larg,int alt) { largura = larg; altura = alt; // Inicializa o double buffer (usado para se desenhar graficos offscreen) ImagemMapaCalculado = createImage( larg,alt ); // Cria mapa calculado com as dimensoes passadas GraficoMapaCalculado = ImagemMapaCalculado.getGraphics(); // pinta o mapa com uma cor para inicializacao GraficoMapaCalculado.setColor( Color.black ); GraficoMapaCalculado.fillRect( 0,0,larg-1,alt-1 ); } // Retorna os gráficos do buffer do MapaCalculado // para que os outros pacotes possam atualizar seu conteudo // Autor: Fábio Dalla Vecchia - RA:981091 public Graphics getGraphicsMapaCalculado() { return (GraficoMapaCalculado); } // Autor: Fábio Dalla Vecchia - RA:981091 public int getLarguraGraphicsMapaCalculado() { return (largura); } // Autor: Fábio Dalla Vecchia - RA:981091 public int getAlturaGraphicsMapaCalculado() { return (altura); } }