// Decompiled by DJ v3.6.6.79 Copyright 2004 Atanas Neshkov  Date: 18.05.2007 23:13:27
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   Composer.java

package composer;

import com.birosoft.liquid.LiquidLookAndFeel;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.PrintStream;
import javax.swing.*;

// Referenced classes of package composer:
//            MainWindow, Vals

public class Composer
{

    public static Image toImage(BufferedImage bufferedImage)
    {
        return Toolkit.getDefaultToolkit().createImage(bufferedImage.getSource());
    }

    public static BufferedImage toBufferedImage(Image image)
    {
        if(image instanceof BufferedImage)
            return (BufferedImage)image;
        image = (new ImageIcon(image)).getImage();
        boolean hasAlpha = true;
        BufferedImage bimage = null;
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        try
        {
            int transparency = 1;
            if(hasAlpha)
                transparency = 2;
            GraphicsDevice gs = ge.getDefaultScreenDevice();
            GraphicsConfiguration gc = gs.getDefaultConfiguration();
            bimage = gc.createCompatibleImage(image.getWidth(null), image.getHeight(null), transparency);
        }
        catch(HeadlessException e) { }
        if(bimage == null)
        {
            int type = 1;
            if(hasAlpha)
                type = 2;
            bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type);
        }
        Graphics g = bimage.createGraphics();
        g.drawImage(image, 0, 0, null);
        g.dispose();
        return bimage;
    }

    public Composer()
    {
        packFrame = false;
        MainWindow frame = new MainWindow();
        if(packFrame)
            frame.pack();
        else
            frame.validate();
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if(frameSize.height > screenSize.height)
            frameSize.height = screenSize.height;
        if(frameSize.width > screenSize.width)
            frameSize.width = screenSize.width;
        frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        try
        {
            String m = frame.vals.getProperty("Maximized");
            int x = (new Double(frame.vals.getProperty("X"))).intValue();
            int y = (new Double(frame.vals.getProperty("Y"))).intValue();
            int w = (new Double(frame.vals.getProperty("Width"))).intValue();
            int h = (new Double(frame.vals.getProperty("Height"))).intValue();
            int main = (new Double(frame.vals.getProperty("Main"))).intValue();
            int sub = (new Double(frame.vals.getProperty("Sub"))).intValue();
            frame.mainSplitPane.setDividerLocation(main);
            frame.subSplitPane.setDividerLocation(sub);
            if(m.equals("yes"))
            {
                frame.setExtendedState(6);
            } else
            {
                frame.setSize(new Dimension(w, h));
                frame.setLocation(x, y);
            }
        }
        catch(Throwable t) { }
        frame.showAbout();
        frame.setVisible(true);
    }

    public static void printCharArray(String before, byte b[], String after)
    {
        System.out.print(before);
        for(int i = 0; i < b.length; i++)
            System.out.print((char)b[i]);

        System.out.print(after);
    }

    public static void main(String args[])
    {
        try
        {
            javax.swing.LookAndFeel laf = new LiquidLookAndFeel();
            UIManager.setLookAndFeel(laf);
            JDialog.setDefaultLookAndFeelDecorated(true);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        new Composer();
    }

    boolean packFrame;
    public static int cBufferSize = 4096;

}