Hi all, Armin,
Armin Le Grand schrieb am 24.05.2022 um 13:35:
Hi all, Regina,
So the issue seems to be that the original proposal is quite a few years
old, and that meanwhile the Writer implementation has already been
extended. - the Writer implementation already supports rotation,
with several errors, see bug 147763.
double-precision bounding box calculations is prepared (so can be used
but is of course not adapted) - has the bounding box updates done when
properties change - support for drawinglayer fill attributes - and
(that's the strongest argument) has all the interactions plugged into
Writer's view code It doesn't make too much sense to use an SdrObject
then instead. We could 'artificially' do so, reference it from SW frames
& render it.
I see it different. From ODF point of view there exists nothing like a
"Writer-image", but it is always a <draw:frame> element with
<draw:image> child element. So foreign applications will treat our
"Writer-image" the same as they treat our "Draw-image".
The problems are manifold:
- The Items involved are just in different places in the models
- The Item hierarchy in SW for frames is different (there is some
'parent' fame, additionally)
- The adaption of the frame's dimensions to the rotation, it's reaction
to that and e.g. text floating around *has* to be done at he SW frame
- A potential SdrGrafObj would have to be rendered by Frame's Paint
(artificially) and not by SW's DrawingLayer paint (has own Z-Order,
heaven/hell does not fit to frames, etc...)
Shouldn't we just gradually extend Draw-images with the features they
lack compared to Writer-images until Writer-images are no longer needed?
This would then also benefit Draw/Impress.
[skip some implementation detail]
It should *not* be done in general for SdrGrafObj - that brings us in
the situation that you might have a FrameStyle AND a dashed line at the
same time - that might be technically solvable, but would combine the
already tricky FrameStyle decompositions with doing it additionally
dashed - nothing we should try to achieve from my POV. Does that
combination even have a used case in reality..?
PowerPoint has compound (frame border like) line styles for all objects,
including presentation objects and images. They are lost on import.
PowerPoint even allows to combine them with dash-styles. So we need this
kind of border/line anyway.
It is better and technically no problem to stick the needed Primitives
together like Lego - that's what they are designed for.
Still, the actual rendering code in drawinglayer should be expanded to
support Writer borders, and then be used from the Writer image
implementation, too. What is then technically desirable I guess, is to
continue with nominally two image *core* implementations for Writer and
the rest (due to gui interactions), but consolidate the attributes (so
we're supporting the same features everywhere - dashes for Writer
borders, double/multi-line borders for draw/impress), use the same
rendering code for fills and borders, and keep the Writer frame /
SdrGrafObj as gutted façade. Which would be essentially a modified
I don't know drawinglayer. So to be sure to get your idea correctly:
Implement compound lines and dash styles in drawinglayer so, that both
are usable from all object kinds. And adapt Writer-image and Draw-image
to use it. That would mean to extend the features of Writer-images too?
What about shadow? We have nice shadow with blur and arbitrary direction
on Draw-images, but only the frame shadow on Writer-images. Would you
adapt Writer-images to the shadow features of Draw-images?
And what do you want to do about the different 'size' behavior of
Write-images and Draw-images? Writer-images size has border and shadow
inclusive and Draw-images exclusive.
To unsubscribe e-mail to: email@example.com
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.documentfoundation.org/www/board-discuss/
Impressum (Legal Info)
: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (MPLv2
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our trademark policy