arved       01/06/10 10:02:24

  Modified:    src/org/apache/fop/fo/flow ExternalGraphic.java
  Log:
  SGK/AHS: inling of images
  
  Revision  Changes    Path
  1.9       +61 -9     xml-fop/src/org/apache/fop/fo/flow/ExternalGraphic.java
  
  Index: ExternalGraphic.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/flow/ExternalGraphic.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ExternalGraphic.java      2001/03/04 21:34:51     1.8
  +++ ExternalGraphic.java      2001/06/10 17:02:24     1.9
  @@ -44,9 +44,7 @@
   import org.apache.fop.fo.*;
   import org.apache.fop.messaging.MessageHandler;
   import org.apache.fop.fo.properties.*;
  -import org.apache.fop.layout.Area;
  -import org.apache.fop.layout.BlockArea;
  -import org.apache.fop.layout.FontState;
  +import org.apache.fop.layout.*;
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.image.*;
   
  @@ -58,6 +56,8 @@
   
   public class ExternalGraphic extends FObj {
   
  +     int breakAfter;
  +     int breakBefore;
        int align;
        int startIndent;
        int endIndent;
  @@ -103,7 +103,7 @@
                        this.id = this.properties.get("id").getString();
   
                        area.getIDReferences().createID(id);
  -
  +/*
                        if (area instanceof BlockArea) {
                                area.end();
                        }
  @@ -114,6 +114,7 @@
                                                forcedStartOffset;
                        }
   
  +*/
                        this.marker = 0;
                }
   
  @@ -172,13 +173,64 @@
   
                        imageArea.start();
                        imageArea.end();
  -                     area.addChild(imageArea);
  -                     area.increaseHeight(imageArea.getHeight());
  +                     //area.addChild(imageArea);
  +                     //area.increaseHeight(imageArea.getHeight());
   
                        if (spaceAfter != 0) {
                                area.addDisplaySpace(spaceAfter);
                        }
  +                       if (breakBefore == BreakBefore.PAGE || ((spaceBefore + 
imageArea.getHeight()) > area.spaceLeft()))                            {
  +                             return new Status(Status.FORCE_PAGE_BREAK);
  +                             }
  +
  +                     if (breakBefore == BreakBefore.ODD_PAGE) {
  +                     return new Status(Status.FORCE_PAGE_BREAK_ODD);
  +                     }
  +
  +                     if (breakBefore == BreakBefore.EVEN_PAGE) {
  +                     return new Status(Status.FORCE_PAGE_BREAK_EVEN);
  +                     }
  +     
  +
  +                     if (area instanceof BlockArea) {
  +                         BlockArea ba = (BlockArea)area;
  +                         LineArea la = ba.getCurrentLineArea();
  +                         if(la == null) {
  +                             return new Status(Status.AREA_FULL_NONE);
  +                          }
  +                         la.addPending();
  +                         if(imageArea.getContentWidth() > la.getRemainingWidth()) {
  +                             la = ba.createNextLineArea();
  +                             if(la == null) {
  +                             return new Status(Status.AREA_FULL_NONE);
  +                          }
  +                     }
  +                     la.addInlineArea(imageArea);
  +                     } else {
  +                         area.addChild(imageArea);
  +                         area.increaseHeight(imageArea.getContentHeight());
  +                     }
  +                     imageArea.setPage(area.getPage());
  +
  +                     if (breakAfter == BreakAfter.PAGE) {
  +                             this.marker = BREAK_AFTER;
  +                             return new Status(Status.FORCE_PAGE_BREAK);
  +                     }
  +
  +                     if (breakAfter == BreakAfter.ODD_PAGE) {
  +                             this.marker = BREAK_AFTER;
  +                             return new Status(Status.FORCE_PAGE_BREAK_ODD);
  +                     }
  +
  +                     if (breakAfter == BreakAfter.EVEN_PAGE) {
  +                             this.marker = BREAK_AFTER;
  +                             return new Status(Status.FORCE_PAGE_BREAK_EVEN);
  +                     }
  +
  +
   
  +
  +
                }
                catch (MalformedURLException urlex) {
                        // bad URL
  @@ -191,9 +243,9 @@
                                        imgex.getMessage());
                }
   
  -             if (area instanceof BlockArea) {
  -                     area.start();
  -             }
  +             //if (area instanceof BlockArea) {
  +             //      area.start();
  +             //}
   
                return new Status(Status.OK);
        }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to