Examples of BlockRenderBox


Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

          }
          finishBlockBox(box);
        }
        else
        {
          final BlockRenderBox box = (BlockRenderBox) node;
          if (startBlockBox(box))
          {
            processBoxChilds(box);
          }
          finishBlockBox(box);
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

          sectionType = CellMarker.SectionType.TYPE_HEADER;
          if (isProcessWatermark())
          {
            startProcessing(logicalPage.getWatermarkArea());
          }
          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          startProcessing(headerArea);
          headerProcessed = true;
        }

        sectionType = CellMarker.SectionType.TYPE_NORMALFLOW;
        processBoxChilds(logicalPage);
        if (iterativeUpdate == false)
        {
          sectionType = CellMarker.SectionType.TYPE_REPEAT_FOOTER;
          final BlockRenderBox repeatFooterBox = logicalPage.getRepeatFooterArea();
          startProcessing(repeatFooterBox);

          sectionType = CellMarker.SectionType.TYPE_FOOTER;
          final BlockRenderBox pageFooterBox = logicalPage.getFooterArea();
          startProcessing(pageFooterBox);
        }
      }
      sectionType = CellMarker.SectionType.TYPE_INVALID;
      finishBox(logicalPage);
      //ModelPrinter.print(logicalPage);
    }
    else
    {
      // The page-header and footer area are not aligned/shifted within the logical pagebox.
      // All areas have their own coordinate system starting at (0,0). We apply a manual shift here
      // so that we dont have to modify the nodes (which invalidates the cache, and therefore is ugly)

      //Log.debug ("Content Processing " + pageOffset + " -> " + pageEnd);
      effectiveHeaderSize = 0;
      pageOffset = logicalPage.getPageOffset();
      pageEndPosition = (logicalPage.getPageEnd());
      sectionType = CellMarker.SectionType.TYPE_INVALID;
      if (startBox(logicalPage))
      {
        if (headerProcessed == false)
        {
          sectionType = CellMarker.SectionType.TYPE_HEADER;
          pageOffset = 0;
          contentOffset = 0;
          effectiveHeaderSize = 0;

          if (isProcessWatermark())
          {
            final BlockRenderBox watermarkArea = logicalPage.getWatermarkArea();
            pageEndPosition = watermarkArea.getHeight();
            startProcessing(watermarkArea);
          }
          final BlockRenderBox headerArea = logicalPage.getHeaderArea();
          pageEndPosition = headerArea.getHeight();
          startProcessing(headerArea);
          contentOffset = headerArea.getHeight();
          headerProcessed = true;
        }

        sectionType = CellMarker.SectionType.TYPE_NORMALFLOW;
        pageOffset = logicalPage.getPageOffset();
        pageEndPosition = logicalPage.getPageEnd();
        effectiveHeaderSize = contentOffset;
        processBoxChilds(logicalPage);

        if (iterativeUpdate == false)
        {
          pageOffset = 0;

          sectionType = CellMarker.SectionType.TYPE_REPEAT_FOOTER;
          final BlockRenderBox repeatFooterArea = logicalPage.getRepeatFooterArea();
          final long repeatFooterOffset = contentOffset + (logicalPage.getPageEnd() - logicalPage.getPageOffset());
          final long repeatFooterPageEnd = repeatFooterOffset + repeatFooterArea.getHeight();
          effectiveHeaderSize = repeatFooterOffset;
          pageEndPosition = repeatFooterPageEnd;
          startProcessing(repeatFooterArea);

          final BlockRenderBox footerArea = logicalPage.getFooterArea();
          sectionType = CellMarker.SectionType.TYPE_FOOTER;
          final long footerPageEnd = repeatFooterPageEnd + footerArea.getHeight();
          effectiveHeaderSize = repeatFooterPageEnd;
          pageEndPosition = footerPageEnd;
          startProcessing(footerArea);
        }
      }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

  }

  public static long restrictPageAreaHeights(final LogicalPageBox pageBox,
                                             final long[] allCurrentBreaks)
  {
    final BlockRenderBox headerArea = pageBox.getHeaderArea();
    final long headerHeight = Math.min(headerArea.getHeight(), allCurrentBreaks[0]);
    headerArea.setHeight(headerHeight);

    final BlockRenderBox footerArea = pageBox.getFooterArea();
    final BlockRenderBox repeatFooterArea = pageBox.getRepeatFooterArea();
    if (allCurrentBreaks.length > 1)
    {
      final long lastBreakLocal = allCurrentBreaks[allCurrentBreaks.length - 1];
      final long lastPageHeight = lastBreakLocal - allCurrentBreaks[allCurrentBreaks.length - 2];
      final long footerHeight = Math.min(footerArea.getHeight(), lastPageHeight);
      footerArea.setHeight(footerHeight);

      final long repeatFooterHeight = Math.min(repeatFooterArea.getHeight(), lastPageHeight);
      repeatFooterArea.setHeight(repeatFooterHeight);
    }

    final long footerHeight = footerArea.getHeight();
    final long repeatFooterHeight = repeatFooterArea.getHeight();
    // Assertion: Make sure that we do not run into a infinite loop..
    return headerHeight + repeatFooterHeight + footerHeight;
  }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

    this.collectAttributes = collectAttributes;
    this.retval = null;


    initFromPosition(gridX, gridY, gridWidth, gridHeight);
    final BlockRenderBox headerArea = logicalPageBox.getHeaderArea();
    if (unalignedPagebands == false)
    {
      contentShift = 0;
      startProcessing(headerArea);
      startProcessing(logicalPageBox);
      startProcessing(logicalPageBox.getRepeatFooterArea());
      startProcessing(logicalPageBox.getFooterArea());
      return retval;
    }

    switch (sectionType)
    {
      case TYPE_HEADER:
      {
        contentShift = 0;
        startProcessing(headerArea);
        return retval;
      }
      case TYPE_NORMALFLOW:
      {
        final BlockRenderBox contentArea = logicalPageBox.getContentArea();
        final long contentStart = headerArea.getHeight() + contentArea.getY();
        contentShift = contentStart - logicalPageBox.getPageOffset();
        startProcessing(contentArea);
        return retval;
      }
      case TYPE_REPEAT_FOOTER:
      {
        final BlockRenderBox contentArea = logicalPageBox.getContentArea();
        final long contentStart = headerArea.getHeight() + contentArea.getY();
        final BlockRenderBox footerArea = logicalPageBox.getRepeatFooterArea();
        contentShift = contentStart + contentArea.getHeight();
        startProcessing(footerArea);
        return retval;
      }
      case TYPE_FOOTER:
      {
        final BlockRenderBox contentArea = logicalPageBox.getContentArea();
        final long contentStart = headerArea.getHeight() + contentArea.getY();
        final BlockRenderBox repeatFooterArea = logicalPageBox.getRepeatFooterArea();
        final BlockRenderBox footerArea = logicalPageBox.getFooterArea();
        contentShift = contentStart + contentArea.getHeight() + repeatFooterArea.getHeight();
        startProcessing(footerArea);
        return retval;
      }
      case TYPE_INVALID:
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

    this.collectAttributes = collectAttributes;
    this.retval = null;


    initFromPosition(gridX, gridY, gridWidth, gridHeight);
    final BlockRenderBox headerArea = logicalPageBox.getHeaderArea();
    if (unalignedPagebands == false)
    {
      contentShift = 0;
    }
    else
    {
      switch (sectionType)
      {
        case TYPE_HEADER:
        {
          contentShift = 0;
          break;
        }
        case TYPE_NORMALFLOW:
        {
          final BlockRenderBox contentArea = logicalPageBox.getContentArea();
          final long contentStart = headerArea.getHeight() + contentArea.getY();
          contentShift = contentStart - logicalPageBox.getPageOffset();
          break;
        }
        case TYPE_REPEAT_FOOTER:
        {
          final BlockRenderBox contentArea = logicalPageBox.getContentArea();
          final long contentStart = headerArea.getHeight() + contentArea.getY();
          contentShift = contentStart + contentArea.getHeight();
          break;
        }
        case TYPE_FOOTER:
        {
          final BlockRenderBox contentArea = logicalPageBox.getContentArea();
          final long contentStart = headerArea.getHeight() + contentArea.getY();
          final BlockRenderBox repeatFooterArea = logicalPageBox.getRepeatFooterArea();
          contentShift = contentStart + contentArea.getHeight() + repeatFooterArea.getHeight();
          break;
        }
        case TYPE_INVALID:
          return null;
        default:
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

    final LayoutBuilderStrategy builderStrategy = new DefaultLayoutBuilderStrategy();
    final DefaultRenderNodeFactory renderNodeFactory = new DefaultRenderNodeFactory();
    renderNodeFactory.initialize(new DebugOutputProcessorMetaData());

    final RenderBox parentBox = new BlockRenderBox();
    builder.initialize(new DefaultProcessingContext(), parentBox, renderNodeFactory);
    builder.startSection();

    ReportFooter reportFooter = new ReportFooter();
    reportFooter.setComputedStyle(new SimpleStyleSheet(reportFooter.getDefaultStyleSheet()));
    builderStrategy.add(new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>());
    builderStrategy.add(new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>());
    builderStrategy.add(new DebugExpressionRuntime(), builder, reportFooter, new ArrayList<InlineSubreportMarker>());

    builder.endSection();

    assertEquals(3, countChilds((RenderBox) parentBox.getFirstChild()));
  }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

    builder.setCollapseProgressMarker(true);

    final DefaultRenderNodeFactory renderNodeFactory = new DefaultRenderNodeFactory();
    renderNodeFactory.initialize(new DebugOutputProcessorMetaData());

    final RenderBox parentBox = new BlockRenderBox();
    builder.initialize(new DefaultProcessingContext(), parentBox, renderNodeFactory);
    builder.startSection();

    builder.addProgressMarkerBox();
    builder.addProgressMarkerBox();
    builder.addProgressMarkerBox();

    builder.endSection();

    assertEquals(1, countChilds((RenderBox) parentBox.getFirstChild()));
  }
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

  protected void processRootBand(final StrictBounds pageBounds)
  {
    startProcessing(rootBox.getWatermarkArea());

    final BlockRenderBox headerArea = rootBox.getHeaderArea();
    final BlockRenderBox footerArea = rootBox.getFooterArea();
    final BlockRenderBox repeatFooterArea = rootBox.getRepeatFooterArea();
    final StrictBounds headerBounds =
        new StrictBounds(headerArea.getX(), headerArea.getY(), headerArea.getWidth(), headerArea.getHeight());
    final StrictBounds footerBounds =
        new StrictBounds(footerArea.getX(), footerArea.getY(), footerArea.getWidth(), footerArea.getHeight());
    final StrictBounds repeatFooterBounds = new StrictBounds
        (repeatFooterArea.getX(), repeatFooterArea.getY(), repeatFooterArea.getWidth(), repeatFooterArea.getHeight());
    final StrictBounds contentBounds = new StrictBounds
        (rootBox.getX(), headerArea.getY() + headerArea.getHeight(),
            rootBox.getWidth(), repeatFooterArea.getY() - headerArea.getHeight());

    final double headerHeight = StrictGeomUtility.toExternalValue(drawArea.getHeight());

    final Shape clip = this.graphics.getClip();
    setDrawArea(headerBounds);
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

          (resolverStyleSheet.getBooleanStyleProperty(BandStyleKeys.PAGEBREAK_BEFORE),
              (resolverStyleSheet.getBooleanStyleProperty(BandStyleKeys.PAGEBREAK_AFTER)));

      final SimpleStyleSheet reportStyle = new SimpleStyleSheet(styleSheet);
      final BoxDefinition boxDefinition = renderNodeFactory.getBoxDefinition(reportStyle);
      box = new BlockRenderBox
          (reportStyle, element.getObjectID(), boxDefinition, SubReportType.INSTANCE, element.getAttributes(), null);
    }
    else
    {
      box = renderNodeFactory.produceRenderBox(element, resolverStyleSheet, BandStyleKeys.LAYOUT_BLOCK, stateKey);
View Full Code Here

Examples of org.pentaho.reporting.engine.classic.core.layout.model.BlockRenderBox

    }
    if (BandStyleKeys.LAYOUT_BLOCK.equals(layoutType))
    {
      final SimpleStyleSheet styleSheet = bandCache.getStyleSheet(elementStyleSheet);
      final BoxDefinition boxDefinition = boxDefinitionFactory.getBoxDefinition(styleSheet);
      return new BlockRenderBox(styleSheet, objectID, boxDefinition, elementType, attributes, stateKey);
    }
    if (LAYOUT_PARAGRAPH_LINEBOX.equals(layoutType))
    {
      // The non-inheritable styles will be applied to the auto-generated paragraph box. The inlinebox itself
      // only receives the inheritable styles so that it can inherit it to its next child ..
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.