Ignore:
Timestamp:
05/10/18 16:04:51 (6 years ago)
Author:
davidb
Message:

Reworking of the code-base to separate logic from graphics. This version of Expeditee now supports a JFX graphics as an alternative to SWING

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/importer/pdfImporter.java

    r919 r1102  
    1919package org.expeditee.importer;
    2020
    21 import java.awt.Color;
    22 import java.awt.Graphics;
    23 import java.awt.Image;
    24 import java.awt.Point;
    25 import java.awt.Rectangle;
    26 import java.awt.image.BufferedImage;
    2721import java.io.File;
    2822import java.io.IOException;
     
    3125import java.nio.channels.FileChannel;
    3226
    33 import javax.imageio.ImageIO;
    34 
    35 import org.expeditee.gui.Browser;
     27import org.expeditee.core.Colour;
     28import org.expeditee.core.Image;
     29import org.expeditee.core.Point;
     30import org.expeditee.gio.DragAndDropManager;
     31import org.expeditee.gio.EcosystemManager;
     32import org.expeditee.gio.GraphicsManager;
     33import org.expeditee.gui.DisplayController;
    3634import org.expeditee.gui.Frame;
    3735import org.expeditee.gui.FrameCreator;
     
    5452                final int x = 0;
    5553                final int y = 60;
    56                 final int width = Browser._theBrowser.getSize().width;
     54                final int width = EcosystemManager.getGraphicsManager().getWindowSize().width;
    5755                System.out.println(width);
    5856               
     
    6563                }
    6664               
    67                 final Text link = FrameDNDTransferHandler.importString(name, location);
     65                final Text link = DragAndDropManager.importString(name, location);
    6866                link.setLink(name+"1");
    6967               
     
    9795                                        Frame _currentFrame=null;
    9896                                        Text nextButton=null, prevButton=null;
    99                                         final float spacing=((Text)FrameCreator.createButton("Next", null, null, 10F, 10F)).getBoundsWidth() + 30F;
     97                                        final int spacing=((Text)FrameCreator.createButton("Next", null, null, 10, 10)).getBoundsWidth() + 30;
    10098                     
    10199                      //make images from the pdf pages, write frames with those images
     
    128126                              }
    129127                              //generate the image
    130                               Image img = page.getImage(w, h, //width & height
    131                                       new Rectangle(0, 0, (int)page.getBBox().getWidth(), (int)page.getBBox().getHeight()), //clip rect
    132                                       null, //null for the ImageObserver
    133                                       true, //fill background with white
    134                                       true //block until drawing is done
    135                                       );
     128                              Image img = Image.createImage(w, h, page);
    136129                              //Create a buffered image to store the image in
    137                               BufferedImage bimg = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
    138                               Graphics g = bimg.createGraphics();
     130                              Image bimg = Image.createImage(img.getWidth(), img.getHeight(), false);
     131                              GraphicsManager g = EcosystemManager.getGraphicsManager();
    139132                              //Paint the image onto the buffered image
    140                               g.drawImage(img, 0, 0, null);
    141                               g.dispose();
     133                              g.pushDrawingSurface(bimg);
     134                              g.drawImage(img, new Point(0, 0));
     135                              g.popDrawingSurface();
    142136                              //save it as a file
    143137                              File out = new File(framesetPath+i+".png");
    144                               ImageIO.write(bimg, "png", out);
     138                              bimg.writeToDisk("png", out);
    145139                              //generate a frame with that image
    146140                              System.out.println(width);
     
    150144                                                {
    151145                                                  //put a next button on the previous frame (points to current frame)
    152                                                   nextButton=(Text)FrameCreator.createButton("Next", null, null, 10F, 10F);
     146                                                  nextButton=(Text)FrameCreator.createButton("Next", null, null, 10, 10);
    153147                                                        nextButton.setID(_currentFrame.getNextItemID());
    154148                                                        nextButton.addAction("next");
    155149                                                        _currentFrame.addItem(nextButton);
    156150                                                        //put a previous button on the current frame (points to previous frame)
    157                                                         prevButton=(Text)FrameCreator.createButton("Prev", null, null, (i<pages)?spacing:10F, 10F);
     151                                                        prevButton=(Text)FrameCreator.createButton("Prev", null, null, (i<pages)?spacing:10, 10);
    158152                                                        prevButton.setID(currentFrame.getNextItemID());
    159153                                                        prevButton.addAction("previous");
     
    162156                                                else
    163157                                                {
    164                                                         prevButton=(Text)FrameCreator.createButton("Home", null, null, (i<pages)?spacing:10F, 10F);
     158                                                        prevButton=(Text)FrameCreator.createButton("Home", null, null, (i<pages)?spacing:10, 10);
    165159                                                        prevButton.setID(currentFrame.getNextItemID());
    166160                                                        prevButton.addAction("GotoHome");
     
    171165                                                if(i<pages) currentFrame = FrameIO.CreateFrame(frameset.getFramesetName(), name, null);
    172166                                        }
    173                                         prevButton=(Text)FrameCreator.createButton("Home", null, null, spacing, 10F);
     167                                        prevButton=(Text)FrameCreator.createButton("Home", null, null, spacing, 10);
    174168                                        prevButton.setID(currentFrame.getNextItemID());
    175169                                        prevButton.addAction("gotohome");
    176170                                        currentFrame.addItem(prevButton);
    177171                                        FrameIO.SaveFrame(currentFrame,true);
    178                                         MessageBay.displayMessage(f.getName() + " import complete", Color.GREEN);
    179                                         FrameGraphics.requestRefresh(true);
     172                                        MessageBay.displayMessage(f.getName() + " import complete", Colour.GREEN);
     173                                        DisplayController.requestRefresh(true);
    180174                                } catch (Exception e) {
    181175                                        e.printStackTrace();
     
    184178                        }
    185179                }.start();
    186                 FrameGraphics.refresh(true);
     180                DisplayController.requestRefresh(true);
    187181                //return source;
    188182                return link;
Note: See TracChangeset for help on using the changeset viewer.