Changeset 87

Show
Ignore:
Timestamp:
26/12/07 13:49:38 (1 year ago)
Author:
altglass
Message:

AntiAliasing? improvement (notably for Playtree). SubBitmap? editing improved.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/vlcskineditor/Main.java

    r86 r87  
    4848   
    4949  //The version identification of the current build.    
    50   public final String VERSION = "0.6.1.b"; 
     50  public final String VERSION = "0.7.0.a"; 
    5151  //The directory in which the VLC executable is found 
    5252  String vlc_dir = ""; 
  • trunk/src/vlcskineditor/PreviewWindow.java

    r83 r87  
    118118    BufferedImage bi = (BufferedImage) createImage(getWidth(),getHeight());     
    119119    Graphics2D g2d = bi.createGraphics(); 
     120    g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); 
    120121    g2d.setColor(Color.WHITE); 
    121122    g2d.fillRect(0,0,getWidth(),getHeight()); 
  • trunk/src/vlcskineditor/items/Playtree.java

    r83 r87  
    638638    FontMetrics fm = g.getFontMetrics(); 
    639639    if(!bgimage.equals("none")) { 
    640       g.drawImage(s.getBitmapImage(bgimage),x+x_,y+y_,null); 
     640      g.drawImage(s.getBitmapImage(bgimage).getSubimage(0, 0, width, height),x+x_,y+y_,null); 
    641641    } 
    642642    else {       
  • trunk/src/vlcskineditor/items/Slider.java

    r86 r87  
    542542    draw(g,0,0); 
    543543  } 
    544   public void draw(Graphics2D g, int x_, int y_) { 
     544  public void draw(Graphics2D g, int x_, int y_) {     
    545545    if(!created) return; 
    546546    offsetx=x_; 
     
    555555    Point2D.Float p = b.getPoint(s.gvars.getSliderValue()); 
    556556    g.drawImage(si,(int)p.getX()+x+x_-si.getWidth()/2,(int)p.getY()+y+y_-si.getHeight()/2,null); 
    557     if(selected) {         
     557    if(selected) { 
    558558      g.setColor(Color.RED); 
    559559      for(float f=0f;f<=1f;f=f+0.1f) { 
  • trunk/src/vlcskineditor/items/Text.java

    r83 r87  
    415415        f = new Font(Font.SANS_SERIF,Font.PLAIN,12); 
    416416      }       
    417     } 
    418     g.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); 
     417    }     
    419418    g.setFont(f); 
    420419    g.setColor(Color.decode(color)); 
  • trunk/src/vlcskineditor/resources/SubBitmap.java

    r75 r87  
    108108      nbframes=Integer.parseInt(nbframes_tf.getText()); 
    109109      fps=Integer.parseInt(fps_tf.getText());    
    110       frame.setDefaultCloseOperation(frame.HIDE_ON_CLOSE);     
     110      frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);     
    111111      updateImage(); 
    112112      s.updateResources(); 
     
    124124      nbframes=Integer.parseInt(nbframes_tf.getText()); 
    125125      fps=Integer.parseInt(fps_tf.getText());    
    126       frame.setDefaultCloseOperation(frame.HIDE_ON_CLOSE);     
     126      frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);     
    127127      updateImage(); 
    128128      s.updateResources(); 
     
    135135      frame.setResizable(false); 
    136136      frame.setLayout(new FlowLayout()); 
    137       if(!created) frame.setDefaultCloseOperation(frame.DO_NOTHING_ON_CLOSE); 
     137      if(!created) frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); 
    138138      JLabel id_l = new JLabel("ID*:"); 
    139139      id_tf = new JTextField(); 
     
    190190      bounds.add(height_tf); 
    191191      x_l.setBounds(5,15,75,24); 
    192       x_tf.setBounds(85,15,150,24); 
     192      x_tf.setBounds(85,15,150,24);       
    193193      y_l.setBounds(5,45,75,24); 
    194194      y_tf.setBounds(85,45,150,24); 
     
    239239    frame.setVisible(true);     
    240240    sbew = new SubBitmapEditWindow(parent,this);     
     241    x_tf.addKeyListener(sbew); 
     242    y_tf.addKeyListener(sbew); 
     243    width_tf.addKeyListener(sbew); 
     244    height_tf.addKeyListener(sbew); 
     245    frame.addWindowListener(sbew); 
    241246  } 
    242247  public void actionPerformed(ActionEvent e) { 
     
    260265        return; 
    261266      } 
    262       frame.setVisible(false); 
    263       sbew.frame.setVisible(false); 
    264       sbew.frame = null; 
    265       sbew = null; 
     267      if(Integer.parseInt(x_tf.getText())+Integer.parseInt(width_tf.getText())>parent.image.getWidth()) { 
     268        JOptionPane.showMessageDialog(frame,"Specified dimensions are outside the parent bitmap!","Dimension not valid",JOptionPane.INFORMATION_MESSAGE); 
     269        return; 
     270      } 
     271      if(Integer.parseInt(y_tf.getText())+Integer.parseInt(height_tf.getText())>parent.image.getHeight()) { 
     272        JOptionPane.showMessageDialog(frame,"Specified dimensions are outside the parent bitmap!","Dimension not valid",JOptionPane.INFORMATION_MESSAGE); 
     273        return; 
     274      } 
     275      frame.setVisible(false);             
     276      destroyEditWindow(); 
    266277      update();       
    267278    } 
     
    283294    else if(e.getSource().equals(cancel_btn)) { 
    284295      frame.setVisible(false); 
    285       sbew.frame.setVisible(false); 
    286       sbew.frame = null; 
    287       sbew = null; 
     296      destroyEditWindow(); 
    288297      if(!created) parent.SubBitmaps.remove(this);       
    289298    } 
     299  } 
     300  public void destroyEditWindow() { 
     301    sbew.frame.setVisible(false); 
     302    x_tf.removeKeyListener(sbew); 
     303    y_tf.removeKeyListener(sbew); 
     304    width_tf.removeKeyListener(sbew); 
     305    height_tf.removeKeyListener(sbew); 
     306    frame.removeWindowListener(sbew); 
     307    sbew.frame = null; 
     308    sbew = null; 
    290309  } 
    291310  public String returnCode() { 
  • trunk/src/vlcskineditor/resources/SubBitmapEditWindow.java

    r75 r87  
    3232 * @author Daniel Dreibrodt 
    3333 */ 
    34 public class SubBitmapEditWindow extends JPanel implements MouseListener, MouseMotionListener
     34public class SubBitmapEditWindow extends JPanel implements MouseListener, MouseMotionListener, KeyListener, WindowListener
    3535   
    3636  public JFrame frame; 
     
    4343  int x1_org, y1_org, x2_org, y2_org; 
    4444  int maxx, maxy; 
     45  int drawcount; 
    4546   
    4647   
     
    6970    addMouseMotionListener(this); 
    7071  } 
    71   public void paint(Graphics g) { 
     72  @Override 
     73  public void paint(Graphics g) {     
    7274    if(b.image==null) return; 
     75    if(drawcount>=40) drawcount = 0; 
    7376    g.clearRect(0,0,getWidth(),getHeight()); 
    7477    g.drawImage(b.image,0,0,frame); 
     
    8487    y[2] = y2; 
    8588    y[3] = y2; 
    86     g.drawPolygon(x,y,4); 
     89    if(drawcount<=20 || starteddragging) 
     90    g.drawPolygon(x,y,4);     
     91    drawcount++; 
    8792  } 
     93  @Override 
    8894  public void update(Graphics g) { 
    8995    paint(g); 
     
    139145  } 
    140146  public void mouseExited(MouseEvent e) { 
     147  }    
     148  public void updateDimensions() { 
     149    if(!starteddragging) { 
     150      try { 
     151        x1 = Integer.parseInt(sb.x_tf.getText()); 
     152        x2 = x1 + Integer.parseInt(sb.width_tf.getText()); 
     153        y1 = Integer.parseInt(sb.y_tf.getText()); 
     154        y2 = y1 + Integer.parseInt(sb.height_tf.getText());  
     155      } 
     156      catch(NumberFormatException ex) { 
     157        /*empty*/ 
     158      } 
     159    } 
     160  } 
     161  public void keyTyped(KeyEvent e) {     
     162  } 
     163  public void keyPressed(KeyEvent e) { 
     164    updateDimensions(); 
     165  } 
     166  public void keyReleased(KeyEvent e) { 
     167    updateDimensions(); 
     168  } 
     169  public void windowOpened(WindowEvent e) {     
     170  } 
     171  public void windowClosing(WindowEvent e) { 
     172    sb.destroyEditWindow(); 
     173  } 
     174  public void windowClosed(WindowEvent e) { 
     175  } 
     176  public void windowIconified(WindowEvent e) { 
     177  } 
     178  public void windowDeiconified(WindowEvent e) { 
     179  } 
     180  public void windowActivated(WindowEvent e) { 
     181  } 
     182  public void windowDeactivated(WindowEvent e) { 
    141183  } 
    142184}