private void paint(Graphics g, Componente componente) { if (componente instanceof InstanciaComponente) { if (touchedBlocks.contains(componente)) { if (isCurrentState(componente)) { setComponentePalette(componente, Cor.CURRENT_BLOCK, Cor.CURRENT_BLOCK); componente.getPalette().setFont(componente.getPalette().getFont(Fonts.Tipo_8_Bold)); if (glow != null) { Image offsetImg = ((InstanciaComponente) componente).C_B.funcao_Desenho; int x = ((InstanciaComponente) componente).Posicao_X + (offsetImg.getWidth(this) / 2) - (glow.getWidth(this) / 2); int y = ((InstanciaComponente) componente).Posicao_Y + (offsetImg.getHeight(this) / 2) - (glow.getHeight(this) / 2); g.drawImage(glow, x, y, this); } } else { setComponentePalette(componente, Cor.TOUCHED_BLOCK, Cor.TOUCHED_BLOCK); } } else { setComponentePalette(componente, Cor.UNTOUCHED_BLOCK, Cor.UNTOUCHED_BLOCK); } } else { if (touchedLines.contains(componente)) { setComponentePalette(componente, Cor.TOUCHED_LINE, Cor.TOUCHED_LINE); } else { setComponentePalette(componente, Cor.UNTOUCHED_LINE, Cor.UNTOUCHED_LINE); } } componente.paint(g); }
private void setComponentePalette(Componente comp, Color component, Color invalido) { // comp.getPalette().setColor(Colors.Activo, Color.blue); comp.getPalette().setColor(Colors.Componente, component); comp.getPalette().setColor(Colors.Invalido, invalido); }