Changeset 820


Ignore:
Timestamp:
02/04/14 10:04:59 (10 years ago)
Author:
jts21
Message:

Implement PDF page background color, and fix exceptions on null color

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/io/PDF2Writer.java

    r819 r820  
    3737
    3838        private Document _pdfDocument;
    39 
     39        private Dimension _pageSize;
    4040        private PdfWriter _pdfWriter;
    4141        private float _height;
    4242
    4343        public PDF2Writer() {
    44                 Dimension d = FrameGraphics.getMaxSize();
    45                 _pdfDocument = new Document(new Rectangle(d.width, d.height));
     44                _pageSize = FrameGraphics.getMaxSize();
     45                _pdfDocument = new Document(new Rectangle(_pageSize.width, _pageSize.height));
    4646        }
    4747
     
    5858                        _pdfDocument.addCreator("Expeditee");
    5959                        _height = _pdfWriter.getPageSize().getHeight();
     60                        // set bg color
     61                        PdfContentByte cb = _pdfWriter.getDirectContent();
     62                        cb.setColorFill(start.getPaintBackgroundColor());
     63                        System.out.println(start.getBackgroundColor());
     64                        cb.rectangle(0, 0, _pageSize.width, _pageSize.height);
     65                        cb.fillStroke();
    6066                } catch (DocumentException e) {
    6167                        e.printStackTrace();
     
    128134                if(circle.getThickness() > 0) {
    129135                        cb.setLineWidth(circle.getThickness());
    130                         cb.setColorStroke(circle.getColor());
     136                        cb.setColorStroke(circle.getPaintColor());
    131137                        cb.fillStroke();
    132138                } else {
     
    181187                        }
    182188                        cb.closePath();
    183                         cb.setColorFill(currentItem.getFillColor());
    184                         if(currentItem.getThickness() > 0) {
     189                        Color fill = currentItem.getFillColor();
     190                        if(fill != null) {
     191                        cb.setColorFill(fill);
     192                        if(currentItem.getThickness() > 0) {
     193                                cb.setLineWidth(currentItem.getThickness());
     194                                cb.setColorStroke(currentLine.getPaintColor());
     195                                cb.fillStroke();
     196                        } else {
     197                                cb.fill();
     198                        }
     199                        } else if(currentItem.getThickness() > 0) {
    185200                                cb.setLineWidth(currentItem.getThickness());
    186                                 cb.setColorStroke(currentLine.getColor());
    187                                 cb.fillStroke();
    188                         } else {
    189                                 cb.fill();
     201                                cb.setColorStroke(currentLine.getPaintColor());
     202                                cb.stroke();
    190203                        }
    191204                } else {
     
    200213                                        if(l.getThickness() >= 0) {
    201214                                                cb.setLineWidth(l.getThickness());
    202                                                 cb.setColorStroke(l.getColor());
     215                                                cb.setColorStroke(l.getPaintColor());
    203216                                                cb.stroke();
    204217                                        }
    205                                         fillPolygon(cb, ((Line) l).getStartArrow(), l.getColor(), l.getColor(), l.getThickness());
    206                                         fillPolygon(cb, ((Line) l).getEndArrow(), l.getColor(), l.getColor(), l.getThickness());
     218                                        fillPolygon(cb, ((Line) l).getStartArrow(), l.getPaintColor(), l.getPaintColor(), l.getThickness());
     219                                        fillPolygon(cb, ((Line) l).getEndArrow(), l.getPaintColor(), l.getPaintColor(), l.getThickness());
    207220                                }
    208221                        }
Note: See TracChangeset for help on using the changeset viewer.