• Armin Le Grand's avatar
    editviewoverlay: Allow EditView to run in Overlay · f06b48a5
    Armin Le Grand yazdı
    This is the first basic functionality to get the active
    EditView with EditEngine work in the Overlay which all
    Apps support. Reason is that the current EditEngine 'plugs'
    into the Window and uses Invalidate() calls to repaint
    deeply everything under a text change. While this is
    acceptable for simple cases it can get very slow when
    there are excessive, expensive to paint objects in the
    background, e.g. MasterPages in Draw/Impress with gradients
    and other stuff. This was avoided in older versions (LO51)
    by 'guessing' a good BackgrundColor by the EditEngine,
    not invalidating but painting actively using that guess
    (with better or worse results) which someone removed.
    For the future it is anyways the better way to get the
    EditEngine functionality to Overlay and using Primitives,
    this will be a first step. This may enable Text Editing
    without repainting the Background (fast), using a non-XOR
    selection paint and more. It will need thorough testing
    and further experimenting due to EditEngine being used in
    many places (DrawObjects, Calc Cells, Formular Fields,
    Controls, ...)
    
    Change-Id: Ib9eb0f3999fd61a82ddf7a60ab1ea6ccda3a60da
    f06b48a5
svdoutl.cxx 3.22 KB