DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2012-04-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826

--- Comment #11 from Glenn Adams gl...@skynav.com 2012-04-07 01:41:58 UTC ---
resetting P2 open bugs to P3 pending further review

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2012-04-06 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826

Glenn Adams gl...@skynav.com changed:

   What|Removed |Added

   Priority|P2  |P3

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #9 from Andreas L. Delmelle adelme...@apache.org  2009-03-22 
02:05:39 PST ---

The method fop.fo.pagination.Region.getViewportRectangle() returns a rectangle
that takes into account the reference-orientation and writing-mode specified on
the passed simple-page-master. 
Note: Not sure why the page-master is needed as an argument, since every Region
has access to its parent (which can only be a simple-page-master). Some
refactoring of the related classes seems to be in order (see the various
implementations in org.apache.fop.fo.pagination).
The code blocks for initializing the pageWidthContext and pageHeightContext
seem to belong in protected final methods in SimplePageMaster, rather than
being repeated in every Region.

Anyway, the returned rectangle has a width that is correctly constrained by the
page-height if the page-master is rotated. So far, no real problem.

The method getViewportRectangle() is used in fop.area.Page. The returned
rectangle is transformed by the pageCTM, and stored in RegionViewport as the
viewArea. What seems slightly suspicious to me is that the position and
dimensions of the region-reference-area are based on that viewArea, without
taking into account that it may already be the result of a transform. (i.e. the
viewArea's width in absolute terms, will be taken as IPD for the region

Currently, for a rotated simple-page-master, the region-reference-area's IPD
will be conveniently set to the height of the viewArea, but this seems kind of
a fluke... :-/ 
Since the region inherits the reference-orientation, the CTM that is attached
to the RegionReference will also reflect the 'absolute' rotation of the page.
If we treat it as a non-inheritable, the value on the region becomes 0, which
should mean 'the same orientation as the page-reference-area',  but the effect
we get is that only the region-viewports appear rotated... The content appears
rotated back to the original page-viewport orientation. 

If we correct this --as happens in the patch-- by passing the
region-reference's 'absolute' rotation with regard to the page-viewport to
getCTMAndRelDims(), then we get get a correct CTM and dimensions for the
region-reference, but for the clipping rectangle the two CTMs (page and region)
are combined to transform the viewArea. That one's already transformed, hence
why we get the result in the attached PDF.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-10 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #4 from Chris Bowditch bowditch_ch...@hotmail.com  2009-03-10 
07:50:43 PST ---
Andreas - I have a question about your proposed change. Its really only for my
understanding: Suppose you have something like:

fo:simple-page-master name=a4
  fo:region-body reference-orientation=90/
/fo:simple-page-master
..
fo:flow flow-name=xsl-region-body
fo:blockText1
fo:block-container
fo:blockText2/fo:block
/fo:block-container
/fo:block
/fo:flow

The current behaviour of this is that both Text1 and Text2 will be rotated.
After your change can we expect Text1 and Text2 to have a different
orientation?

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-10 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #5 from Andreas L. Delmelle adelme...@apache.org  2009-03-10 
10:43:40 PST ---
(In reply to comment #4)
 Andreas - I have a question about your proposed change. Its really only for my
 understanding: Suppose you have something like:
 
snip / 
 The current behaviour of this is that both Text1 and Text2 will be rotated.
 After your change can we expect Text1 and Text2 to have a different
 orientation?

I think not, and IIC, this should not be the case.
Nevertheless, I recently bumped into precisely that effect when nesting
block-containers: the inner block-container would inherit the value of the
outer block-container, and thus be rotated another 90 degrees relative to the
outer b-c reference-area.
In the case you present, the region-body is rotated by 90 degrees. So, the
flow-reference-area will be rotated by 90 degrees with respect to the
page-reference-area. The block-container, having reference-orientation 0
relative to the flow-reference-area, will also be rotated by 90 degrees
relative to the page.

Result: with normal A4 dimensions (210x297), we will get a portrait page, with
both Text1 and Text2 appearing below each other in the page's lower-left
corner, rotated by the same amount wrt the page.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-10 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #7 from Andreas L. Delmelle adelme...@apache.org  2009-03-10 
11:48:16 PST ---

Forget the patch for the moment. Still too cheap. Just ran some more tests, and
after the change:
- the content is rotated OK, but...
- the clipping rectangle is off (rotated yet another 90 degrees)

All the tests I could have known it was not going to be that easy. ;-)

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-10 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #8 from Andreas L. Delmelle adelme...@apache.org  2009-03-10 
12:38:19 PST ---
Created an attachment (id=23367)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=23367)
PDF result before and after the patch


Sorry, previous remark was too fast again. Redoing the test after reverting the
changes shows no difference. In attach, the PDF result for
simple-page-master_reference-orientation.xml
The layout checks pass, but the issue did appear to exist before... The
clipping rectangle is rotated once too many, and the offset due to the
page-margins is taken into account twice. Seems to me the region-reference CTM
should be an identity CTM, no? (identical to the

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-09 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #1 from Andreas L. Delmelle adelme...@apache.org  2009-03-09 
11:32:21 PST ---

Just to keep track of the progress:

CTM.getCTMAndRelDims() seems to expect a *relative* reference-orientation (with
respect to the ancestor reference-area), so this would mean that we need to
pass in the difference between the simple-page-master's reference-orientation
and that of the region.

Simplest case:

simple-page-master reference-orientation=90 ...
  region-body ... !--no explicit value--

CTM.getCTMAndRelDims() expects -90. In current FOP Trunk it gets 90 (inherited
value). After fixing FOPropertyMapping, it gets 0.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-09 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #2 from Andreas L. Delmelle adelme...@apache.org  2009-03-09 
11:48:49 PST ---
(In reply to comment #1)
 CTM.getCTMAndRelDims() seems to expect a *relative* reference-orientation 
 (with
 respect to the ancestor reference-area), 

Note: the emphasis is due to the fact that the method signature and javadoc
indicate that it's an 'absolute' value. When checking the method body, we get
the idea of what this 'absolute' refers to.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


DO NOT REPLY [Bug 46826] reference-orientation treated as an inherited property

2009-03-09 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=46826





--- Comment #3 from Andreas L. Delmelle adelme...@apache.org  2009-03-09 
13:16:50 PST ---
Created an attachment (id=23362)
 -- (https://issues.apache.org/bugzilla/attachment.cgi?id=23362)
Proposed fix

Patch fixing the issue: very self-contained, since it's only the
region-reference-areas' placement that seemed to depend on it. An additional
parameter to a private method seemed reasonable enough to meet the requirements
of CTM.getCTMAndRelDims().

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.