Examples of Dimension2D


Examples of java.awt.geom.Dimension2D

        PrimitiveComposer foreground = stamper.getForeground();

        foreground.setFont(font,16);
        foreground.setFillColor(redColor);

        Dimension2D pageSize = page.getSize();
        int pageNumber = page.getIndex() + 1;
        boolean pageIsEven = (pageNumber % 2 == 0);
        foreground.showText(
          Integer.toString(pageNumber),
          new Point2D.Double(
            (pageIsEven
              ? margin
              : pageSize.getWidth() - margin),
            pageSize.getHeight() - margin
            ),
          (pageIsEven
            ? AlignmentXEnum.Left
            : AlignmentXEnum.Right),
          AlignmentYEnum.Bottom,
View Full Code Here

Examples of java.awt.geom.Dimension2D

    // Create a content composer for the page content stream!
    PrimitiveComposer composer = new PrimitiveComposer(page);

    String[] steps = new String[5];
    Color<?>[] colors = new Color<?>[5];
    Dimension2D pageSize = page.getSize();

    buildSteps(composer, steps, colors, pageSize);

    buildLegend(composer, steps, colors, pageSize);
View Full Code Here

Examples of java.awt.geom.Dimension2D

      pageSize.getHeight() * .5
      );
    blockComposer.begin(frame,AlignmentXEnum.Left,AlignmentYEnum.Top);
    composer.setFont(ResourceName_DefaultFont,24);
    blockComposer.showText("Page coordinates sample");
    Dimension2D breakSize = new Dimension(8,4);
    blockComposer.showBreak(breakSize);
    composer.setFont(ResourceName_DefaultFont,8);
    blockComposer.showText(
      "This sample shows the effects of the manipulation of the CTM (Current Transformation Matrix), "
        + "that is the mathematical device which affects the page coordinate system used to place "
View Full Code Here

Examples of java.awt.geom.Dimension2D

    )
  {
    double height = 0, width = 0;
    for(Page page : getPages())
    {
      Dimension2D pageSize = page.getSize();
      height = Math.max(height,pageSize.getHeight());
      width = Math.max(width,pageSize.getWidth());
    }
    return new org.pdfclown.util.math.geom.Dimension(width,height);
  }
View Full Code Here

Examples of java.awt.geom.Dimension2D

    // 2. Create a content composer for the content stream!
    PrimitiveComposer composer = new PrimitiveComposer(page);

    // 3. Inserting contents...
    Dimension2D pageSize = page.getSize();
    // 3.1. Showing the form on the page...
    {
      // Form 1.
      composer.showXObject(
        form,
        new Point2D.Double(pageSize.getWidth()/2,pageSize.getHeight()/2),
        new Dimension(300,0),
        AlignmentXEnum.Center,
        AlignmentYEnum.Middle,
        45
        );
      // Form 2.
      composer.showXObject(
        form,
        new Point2D.Double(0,pageSize.getHeight()),
        new Dimension(0,300),
        AlignmentXEnum.Left,
        AlignmentYEnum.Bottom,
        0
        );
      // Form 3.
      composer.showXObject(
        form,
        new Point2D.Double(pageSize.getWidth(),pageSize.getHeight()),
        new Dimension(80,200),
        AlignmentXEnum.Right,
        AlignmentYEnum.Bottom,
        0
        );
    }
    // 3.2. Showing the comments on the page...
    {
      BlockComposer blockComposer = new BlockComposer(composer);
      blockComposer.begin(
        new Rectangle2D.Double(
          18,
          18,
          pageSize.getWidth() * .5,
          pageSize.getHeight() * .5
          ),
        AlignmentXEnum.Justify,
        AlignmentYEnum.Top
        );
      StandardType1Font bodyFont = new StandardType1Font(
        document,
        StandardType1Font.FamilyEnum.Courier,
        true,
        false
        );
      composer.setFont(bodyFont,24);
      blockComposer.showText("Page-to-form sample");
      Dimension2D breakSize = new Dimension(0,8);
      blockComposer.showBreak(breakSize);
      composer.setFont(bodyFont,8);
      blockComposer.showText("This sample shows how to convert a page to a reusable form that can be placed multiple times on other pages scaling, rotating, anchoring and aligning it.");
      blockComposer.showBreak(breakSize);
      blockComposer.showText("On this page you can see some of the above-mentioned transformations:");
      breakSize.setSize(8,8);
      blockComposer.showBreak(breakSize);
      blockComposer.showText("1. anchored to the center of the page, rotated by 45 degrees counterclockwise, 300 point wide (preserved proportions);"); blockComposer.showBreak(breakSize);
      blockComposer.showText("2. anchored to the bottom-left corner of the page, 300 point high (preserved proportions);"); blockComposer.showBreak(breakSize);
      blockComposer.showText("3. anchored to the bottom-right corner of the page, 80 point wide and 200 point high (altered proportions).");
      blockComposer.end();
View Full Code Here

Examples of java.awt.geom.Dimension2D

            pageOrientation
            )
          );

        // Drawing the text label on the page...
        Dimension2D pageSize = page.getSize();
        PrimitiveComposer composer = new PrimitiveComposer(page);
        composer.setFont(bodyFont,32);
        composer.showText(
          pageFormat + " (" + pageOrientation + ")"// Text.
          new Point2D.Double(
            pageSize.getWidth() / 2,
            pageSize.getHeight() / 2
            ), // Location: page center.
          AlignmentXEnum.Center, // Place the text on horizontal center of the location.
          AlignmentYEnum.Middle, // Place the text on vertical middle of the location.
          45 // Rotate the text 45 degrees counterclockwise.
          );
View Full Code Here

Examples of java.awt.geom.Dimension2D

        initialCtm = new AffineTransform(); // Identity.
      }
      else // Device-dependent.
      {
        IContentContext contentContext = getScanner().getContentContext();
        Dimension2D canvasSize = getScanner().getCanvasSize();

        // Axes orientation.
        RotationEnum rotation = contentContext.getRotation();
        switch(rotation)
        {
          case Downward:
            initialCtm = new AffineTransform(1, 0, 0, -1, 0, canvasSize.getHeight());
            break;
          case Leftward:
            initialCtm = new AffineTransform(0, 1, 1, 0, 0, 0);
            break;
          case Upward:
            initialCtm = new AffineTransform(-1, 0, 0, 1, canvasSize.getWidth(), 0);
            break;
          case Rightward:
            initialCtm = new AffineTransform(0, -1, -1, 0, canvasSize.getWidth(), canvasSize.getHeight());
            break;
          default:
            throw new NotImplementedException();
        }

        // Scaling.
        Rectangle2D contentBox = contentContext.getBox();
        Dimension2D rotatedCanvasSize = rotation.transform(canvasSize);
        initialCtm.scale(
          rotatedCanvasSize.getWidth() / contentBox.getWidth(),
          rotatedCanvasSize.getHeight() / contentBox.getHeight()
          );

        // Origin alignment.
        initialCtm.translate(-contentBox.getMinX(), -contentBox.getMinY());
      }
View Full Code Here

Examples of java.awt.geom.Dimension2D

  {
    // 1. Add the page to the document!
    Page page = new Page(document); // Instantiates the page inside the document context.
    document.getPages().add(page); // Puts the page in the pages collection.

    Dimension2D pageSize = page.getSize();

    // 2. Create a content composer for the page!
    PrimitiveComposer composer = new PrimitiveComposer(page);

    // 3. Drawing the page contents...
    try
    {
      composer.setFont(
        new StandardType1Font(
          document,
          StandardType1Font.FamilyEnum.Courier,
          true,
          false
          ),
        32
        );
    }
    catch(Exception e)
    {throw new RuntimeException(e);}

    {
      BlockComposer blockComposer = new BlockComposer(composer);
      blockComposer.begin(new Rectangle2D.Double(30,0,pageSize.getWidth()-60,50),AlignmentXEnum.Center,AlignmentYEnum.Middle);
      blockComposer.showText("Curves");
      blockComposer.end();
    }

    // 3.1. Arcs.
View Full Code Here

Examples of java.awt.geom.Dimension2D

  {
    // 1. Add the page to the document!
    Page page = new Page(document); // Instantiates the page inside the document context.
    document.getPages().add(page); // Puts the page in the pages collection.

    Dimension2D pageSize = page.getSize();

    // 2. Create a content composer for the page!
    PrimitiveComposer composer = new PrimitiveComposer(page);

    // 3. Drawing the page contents...
    try
    {
      composer.setFont(
        new StandardType1Font(
          document,
          StandardType1Font.FamilyEnum.Courier,
          true,
          false
          ),
        32
        );
    }
    catch(Exception e)
    {throw new RuntimeException(e);}

    {
      BlockComposer blockComposer = new BlockComposer(composer);
      blockComposer.begin(new Rectangle2D.Double(30,0,pageSize.getWidth()-60,50),AlignmentXEnum.Center,AlignmentYEnum.Middle);
      blockComposer.showText("Miscellaneous");
      blockComposer.end();
    }

    composer.beginLocalState();
View Full Code Here

Examples of java.awt.geom.Dimension2D

  {
    // 1. Add the page to the document!
    Page page = new Page(document); // Instantiates the page inside the document context.
    document.getPages().add(page); // Puts the page in the pages collection.

    Dimension2D pageSize = page.getSize();

    // 2. Create a content composer for the page!
    PrimitiveComposer composer = new PrimitiveComposer(page);
    // 3. Inserting contents...
    // Set the font to use!
    try
    {
      composer.setFont(
        new StandardType1Font(
          document,
          StandardType1Font.FamilyEnum.Courier,
          true,
          false
          ),
        32
        );
    }
    catch(Exception e)
    {}

    EnumSet<AlignmentXEnum> xAlignments = EnumSet.allOf(AlignmentXEnum.class);
    EnumSet<AlignmentYEnum> yAlignments = EnumSet.allOf(AlignmentYEnum.class);
    int step = (int)(pageSize.getHeight()) / ((xAlignments.size()-1) * yAlignments.size()+1);

    BlockComposer blockComposer = new BlockComposer(composer);
    Rectangle2D frame = new Rectangle2D.Double(
      30,
      0,
      pageSize.getWidth()-60,
      step/2
      );
    blockComposer.begin(frame,AlignmentXEnum.Center,AlignmentYEnum.Middle);
    blockComposer.showText(
      "Simple text alignment"
      );
    blockComposer.end();

    frame = new Rectangle2D.Double(
      30,
      pageSize.getHeight()-step/2,
      pageSize.getWidth()-60,
      step/2 -10
      );
    blockComposer.begin(frame,AlignmentXEnum.Left,AlignmentYEnum.Bottom);
    composer.setFont(composer.getState().getFont(),10);
    blockComposer.showText(
      "NOTE: showText(...) methods return the actual bounding box of the text shown.\n"
        + "NOTE: The rotation parameter can be freely defined as a floating point value."
      );
    blockComposer.end();

    composer.setFont(composer.getState().getFont(),12);
    int x = 30;
    int y = step;
    int alignmentIndex = 0;
    for(AlignmentXEnum alignmentX
      : EnumSet.allOf(AlignmentXEnum.class))
    {
      /*
        NOTE: As text shown through PrimitiveComposer has no bounding box constraining its extension,
        applying the justified alignment has no effect (it degrades to center alignment);
        in order to get such an effect, use BlockComposer instead.
      */
      if(alignmentX.equals(AlignmentXEnum.Justify))
        continue;

      for(AlignmentYEnum alignmentY
        : EnumSet.allOf(AlignmentYEnum.class))
      {
        if(alignmentIndex % 2 == 0)
        {
          composer.beginLocalState();
          composer.setFillColor(BackColor);
          composer.drawRectangle(
            new Rectangle2D.Double(
              0,
              y-step/2,
              pageSize.getWidth(),
              step
              )
            );
          composer.fill();
          composer.end();
        }

        composer.showText(
          alignmentX + " " + alignmentY + ":",
          new Point2D.Double(x,y),
          AlignmentXEnum.Left,
          AlignmentYEnum.Middle,
          0
          );

        y+=step;
        alignmentIndex++;
      }
    }

    float rotationStep = 0;
    float rotation = 0;
    for(
      int columnIndex = 0;
      columnIndex < 2;
      columnIndex++
      )
    {
      switch(columnIndex)
      {
        case 0:
          x = 200;
          rotationStep = 0;
          break;
        case 1:
          x = (int)pageSize.getWidth() / 2 + 100;
          rotationStep = 360 / ((xAlignments.size()-1) * yAlignments.size()-1);
          break;
      }
      y = step;
      rotation = 0;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.