Jeremias Maerki [Wed, 29 Jun 2005 13:15:43 +0000 (13:15 +0000)]
Bugfix: IPD for footnote region now correct in multi-column layout.
Next step at multi-column layout:
- A multi-column section that needs column balancing is normally rendered until the next-to-last page. The rest of the element are re-broken by a special balancing page breaker.
- Multiple spans supported in area tree and through break handling.
- There are still problems with footnotes and column balancing.
- Main layout loop changed to render an element list right after it's broken. The block lists are not collected anymore and then rendered.
Bugfix: PageViewportProvider had a one-off (when accessing through "relative to current element list")
Jeremias Maerki [Wed, 29 Jun 2005 13:14:55 +0000 (13:14 +0000)]
My first laughable attempt at a page breaker for balancing columns. Doesn't work if the element list fits into the first available area and doesn't balance exactly like I would like it to when the balancing actually gets active.
But it's better than nothing to start with.
Jeremias Maerki [Wed, 29 Jun 2005 12:41:31 +0000 (12:41 +0000)]
notifyFlowsFinished() indirectly used by multi-column layout to determine the restart point after span changes.
getRemainingBPD() is used by the page breaking process in multi-column layout (multiple spans).
Jeremias Maerki [Mon, 27 Jun 2005 18:00:17 +0000 (18:00 +0000)]
This is a work-around for the missing TOC on the FAQ page.
The FAQ stylesheet generates exactly one top-level section ("Questions") and multiple nested sections. Therefore, setting the min-sections value to "3" disables the TOC for the FAQ page. It would be great if one could override this value on a single page to force the TOC to appear.
Jeremias Maerki [Wed, 22 Jun 2005 14:59:54 +0000 (14:59 +0000)]
breaks supported on tables, table-row and table-cell content now. Cheap approach for now. TableContentLM is not yet restartable, but the Breaker handles that pretty well.
Improved page break handling to support the different break classes even if no new block sequence is started.
Jeremias Maerki [Tue, 21 Jun 2005 12:04:12 +0000 (12:04 +0000)]
Test cases showing ClassCastExceptions with fo:blocks inside fo:inline and fo:wrapper because InlineLayoutManager currently doesn't expect block-level nodes.
Jeremias Maerki [Mon, 20 Jun 2005 09:02:42 +0000 (09:02 +0000)]
Bugzilla: #35358
Fixed the following:
Dialog appearing when panel embedded in custom apps.
NullPointerExceptions when embedding PreviewPanel.
PreviewPanel docs inaccurate.
Submitted by: Richard Wheeldon <richardw.at.geoquip-rnd.demon.co.uk>
Jeremias Maerki [Wed, 15 Jun 2005 12:24:01 +0000 (12:24 +0000)]
Bugzilla: #35358
Improvements on Viewer application:
- Separated out the preview panels and control logic from the buttons and dialog to make it easier to use elsewhere.
- Added a continuous scrolling mode similar to that used by acrobat reader. Also added continuous facing mode.
- Added fit-width and fit-to-page zoom options.
Submitted by: Richard Wheeldon <richardw.at.geoquip-rnd.demon.co.uk>
Jeremias Maerki [Wed, 15 Jun 2005 09:08:35 +0000 (09:08 +0000)]
Page breaking process now respects changing available BPD (not IPD) over multiple pages.
PageSequenceMaster allows backtracking.
PageViewports are delivered through a PageViewportProvider class which caches PVs and handles cases where the breaking algorithm allocates PVs that turn out to be unused later (because of hard breaks which may cause blank pages, for example).
Glen Mazza [Fri, 10 Jun 2005 03:56:49 +0000 (03:56 +0000)]
Removed unused functions. Team, I switched from generatesInlineAreas() calls
to "instanceof InlineLevelLayoutManager", because AFAICT there is a 1-to-1 mapping
between the two. If no one has problems with this, I will be removing
the generatesInlineAreas() implementations next.
Jeremias Maerki [Thu, 9 Jun 2005 12:49:05 +0000 (12:49 +0000)]
Default compression set to packbits which is widely supported. Uncompressed TIFFs are huge.
Enable encoding of color bitmaps (ideas stolen from Batik's TIFFTranscoder)
Commented the code that converts the color bitmap into a black and white image. The FAX compression types are not supported by the Batik TIFF codec so I disabled this. Later we will probably need a config switch to enable B/W images.
Resolution is written to the TIFF file.
Jeremias Maerki [Thu, 9 Jun 2005 09:56:24 +0000 (09:56 +0000)]
I don't know what change actually did this during the last few days but it seems that the pageSequence starts now come in the right order to the Area Tree Renderer so I have to change the checks now. I didn't bother to track down the oddity back then.
Jeremias Maerki [Thu, 9 Jun 2005 08:49:27 +0000 (08:49 +0000)]
Bugzilla: #33760
Resurrected Java2D/AWT Renderer (including bitmap output to PNG and TIFF using the Batik codecs and print capability).
Submitted by: Renaud Richardet <renaud.richardet.at.gmail.com>
Changes on the original patch:
- PageViewport: isResolved() caused a NPE which I fixed.
Jeremias Maerki [Thu, 9 Jun 2005 06:45:49 +0000 (06:45 +0000)]
Improvement for FOText instance creation. The text is consolidated into single FOText nodes instead of multiple ones due to multiple SAX characters() calls. This fixes some of the layout engine tests that failed in certain environments.
Submitted by: "Hock Szabolcs" <Hock.Szabolcs.at.t-online.co.hu>
Glen Mazza [Tue, 7 Jun 2005 20:43:43 +0000 (20:43 +0000)]
Removed LM.initialize() -- switched to internal initialization of all LM's.
Did initialization from constructor, as that appeared sufficient for all of them.
Should for any LM, initialization not be available until the parentLM set,
then we just need to do this process within a setParent() override.
Also removed calls to superclass initialization, because as yet no initialization
was occurring in those superclasses.
Jeremias Maerki [Tue, 31 May 2005 12:48:17 +0000 (12:48 +0000)]
Adjustments after bugfixes in table layout. I didn't recognize the wrong page breaks.
Additional constellations for markers (and tables in general) checked.
Jeremias Maerki [Tue, 31 May 2005 12:46:14 +0000 (12:46 +0000)]
Bugfix: getMaxRemainingHeight() was not very accurate and resulted in wrong element lists. Mostly problems with calculations when row spans are involved.
Bugfix: rows that are dynamically created by a row span are now correctly handled.
Bugfix: Proper reset of variables for empty grid units during the stepping process.
Jeremias Maerki [Mon, 30 May 2005 09:11:10 +0000 (09:11 +0000)]
New member variable "index" on Position (used for first/last checks).
Position numbering implemented in BlockStackingLayoutManager (see member variables: lastGeneratedPosition and smallestPosNumberChecked)
Use notifyPos to give a Position an index (Don't reuse Position instances that get an index!)
Flags on TableContentPosition indicating first and last status (see TableStepper).
New way of determining first/last area implemented on all currently implemented block-level FOs.
Removed obsolete isBogus() method from LayoutManager.
Removed duplicate wrapPositionElements() method in FlowLayoutManager.
Some javadocs here and there.
Jeremias Maerki [Wed, 25 May 2005 19:19:46 +0000 (19:19 +0000)]
Support for multiple pages in PDFDocumentGraphics2D. Same approach as for AbstractPSDocumentGraphics2D.
Call to nextPage() closes current page, the first subsequent painting operation prepares a new page.