private void createNormalPage()

in src/main/java/org/apache/pdfbox/jbig2/JBIG2Page.java [154:200]


    private void createNormalPage(PageInformation pageInformation)
            throws IOException, IntegerMaxValueException, InvalidHeaderValueException
    {

        pageBitmap = new Bitmap(pageInformation.getWidth(), pageInformation.getHeight());

        // Page 79, 3)
        // If default pixel value is not 0, byte will be filled with 0xff
        if (pageInformation.getDefaultPixelValue() != 0)
        {
            pageBitmap.fillBitmap((byte) 0xff);
        }

        for (SegmentHeader s : segments.values())
        {
            // Page 79, 5)
            switch (s.getSegmentType())
            {
            case 6: // Immediate text region
            case 7: // Immediate lossless text region
            case 22: // Immediate halftone region
            case 23: // Immediate lossless halftone region
            case 38: // Immediate generic region
            case 39: // Immediate lossless generic region
            case 42: // Immediate generic refinement region
            case 43: // Immediate lossless generic refinement region
                final Region r = (Region) s.getSegmentData();

                final Bitmap regionBitmap = r.getRegionBitmap();

                if (fitsPage(pageInformation, regionBitmap))
                {
                    pageBitmap = regionBitmap;
                }
                else
                {
                    final RegionSegmentInformation regionInfo = r.getRegionInfo();
                    final CombinationOperator op = getCombinationOperator(pageInformation,
                            regionInfo.getCombinationOperator());
                    Bitmaps.blit(regionBitmap, pageBitmap, regionInfo.getXLocation(),
                            regionInfo.getYLocation(), op);
                }

                break;
            }
        }
    }