diff options
author | Michael Stahl <mstahl@redhat.com> | 2015-04-10 23:02:01 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2015-04-10 23:36:04 +0200 |
commit | c5cf8824a619401627f18abc7b3049551c71ac2a (patch) | |
tree | 0ce5a89721b3cd4962c2ee7868a681f377aff5fe /sw/inc/IDocumentSettingAccess.hxx | |
parent | be096cbf64700466f621e51665d48650b0915635 (diff) |
tdf#86578: sw: fix rendering of legacy documents with fly achored at fly
Resurrect the special hack "lcl_SubtractFlys" that effectively paints
"lower" flys on top of "higher" flys, defying the z-ordering, if the
lower fly is *anchored* in or at the higher fly.
It turns out that this is not obvious to emulate in any other way that it
is currently implemented:
One idea would be to split up painting of the fly background from the
foreground, by creating 2 different view objects per fly as children
of the SdrPage when decomposing it in svx; but the problem is, they will
be ordered in z-order of the flys, and the point would be to paint the
backgrounds first and in a different order, call it "anchoring order".
What that order should be is hard to tell, there is a conflict between
the defined z-order and the flys that are part of one "anchoring
hierarchy" and should have their backgrounds re-ordered, because
entirely unrelated flys that could belong to different "anchoring
hierarchies" but overlap the first ones may result in a cyclic ordering.
Painting one "anchoring hierarchy" recursively would not get
z-order of flys from different anchoring hierarchies right.
Another difficulty is that heaven-layer backgrounds would need to be
painted before hell-layer ones.
Another aspect of the lcl_SubtractFlys is that it entirely ignores
drawing shapes; only Writer's own flys are handled.
Since none of the above makes much sense, we clearly want to
deprecate the lcl_SubtractFlys rendering.
Introduce a new compatibility flag "SubtractFlysAnchoredAtFlys" so that
the legacy rendering is only active for legacy documents, while new ones
remain free from its taint.
(regression from 6e61ecd09679a66060f932835622821d39e92f01)
Change-Id: I710fe79710b89c8f865ebb7162e14713aac6cc4a
Diffstat (limited to 'sw/inc/IDocumentSettingAccess.hxx')
-rw-r--r-- | sw/inc/IDocumentSettingAccess.hxx | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx index 6aa43922ae88..ab907b2d30fa 100644 --- a/sw/inc/IDocumentSettingAccess.hxx +++ b/sw/inc/IDocumentSettingAccess.hxx @@ -75,6 +75,7 @@ enum class DocumentSettingId // MS Word still wraps text around objects with less space than LO would. SURROUND_TEXT_WRAP_SMALL, PROP_LINE_SPACING_SHRINKS_FIRST_LINE, + SUBTRACT_FLYS, // COMPATIBILITY FLAGS END BROWSE_MODE, HTML_MODE, |