https://bugs.documentfoundation.org/show_bug.cgi?id=96922

Armin Le Grand (CIB) <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|[email protected] |[email protected]
                   |desktop.org                 |

--- Comment #5 from Armin Le Grand (CIB) <[email protected]> ---
The assumption ("Since there is no obvious reason to ever ignore a passed
RedrawArea, simply always use it for the ViewPort, not just when printing.") is
wrong. It is useful for geometry processing/extracting without any clipping. In
that case the drawinglayer::primitive2d::BackgroundColorPrimitive2D decomposes
to nothing by purpose.
Nonetheless all this is part of the EditView visualization and thus should in
principle be dependent on the IsPageVisible() setting. Th eproblem with that is
described in the comment at
ViewObjectContactOfPageBackground::createPrimitive2DSequence:

    // Initialize background. Dependent of IsPageVisible, use
ApplicationBackgroundColor or ApplicationDocumentColor. Most
    // old renderers for export (html, pdf, gallery, ...) set the page to not
visible (SetPageVisible(false)). They expect the
    // given OutputDevice to be initialized with the ApplicationDocumentColor
then.

It is just too dangerous to identify all these places (currently nine) and to
give all of them a working replacement for initializing the Background for
whatever paint target may be used.

For the future there is the idea(C) to have all EditView-dependent primitives
(overlay, page, page background, ...) encapsulated in a group primitive for
that purpose that is only handled when it is an EditView processing, but we are
not at that yet.

For now, the best solution will/should be to use the existing
SetPagePaintingAllowed at the SdrView which gets used as
SetPageProcessingActive(rView.IsPagePaintingAllowed()) when the
sdr::contact::DisplayInfo is created. With that set to false, all the VOCs
involved in EditView PageVisualisation, including PageBackground, will be
invisible (see ViewObjectContactOfPageSubObject::isPrimitiveVisible).

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to