• Armin Le Grand's avatar
    Reorganize FrameBorderPrimitive creation (II) · 31339211
    Armin Le Grand yazdı
    Step5: Move the view-dependent decomposition from
    BorderLinePrimitive2D to SdrFrameBorderPrimitive2D.
    
    It is now possible to use discrete sizes before the
    line and edge matching is done what will look much
    better. When it was done at BorderLinePrimitive2D
    and the matching was already done, that match was
    'displaced' with the adapted forced scale to discrete
    units.
    
    The space and size used when zooming out for a single
    discrete unit (pixel) can heavily vary - it just covers
    a much larger logical area than the 'real' line/poly
    would do. All this needs to be handled (also for bound
    ranges) and can only be in a good way using primitives.
    
    Adapted to no longer do view-dependent changes in
    BorderLinePrimitive2D. Adapted to do these now at
    SdrFrameBorderPrimitive2D. Currently used to force
    the existing border partial lines (up to three) to
    not get taller than one logical unit.
    
    Adapted to no longer switch off AntiAliased rendering
    in VclPixelProcessor2D for processBorderLinePrimitive2D,
    this is problematic with various renderers on various
    systems (e.g. vcl still falls back to render multiple
    one-pixel-lines when taller than 3.5 pixels which looks
    horrible combined with other parts like filled polygons)
    
    All this needs fine balancing on
    - all systems
    - all renderers
    - all apps (which all have their own table implementation)
    - all render targets (pixel/PDF/print/slideshow/...)
    
    Done as thorough as possible, but may need additional
    finetuning. May also be a motivation to move away from
    vcl and implement these urgetly needed system-dependent
    primitive renderers...
    
    Adapted UnitTest testDoublePixelProcessing with the needed
    comments.
    
    Change-Id: Ie88bb76c2474b6ab3764d45a9cd1669264492acd
    Reviewed-on: https://gerrit.libreoffice.org/62344
    Tested-by: Jenkins
    Reviewed-by: 's avatarArmin Le Grand <Armin.Le.Grand@cib.de>
    31339211
border.cxx 8.04 KB