• Miklos Vajna's avatar
    tdf#107966 vcl opengl: fix not drawn 1px wide polypolygons · 75e152a7
    Miklos Vajna yazdı
    Visible at e.g. in Calc: Format Cells/Borders/Line Styles.
    
    The problem was that first commit
    2e99e4e1 (opengl: use MVP matrix in
    vertex shaders, pixel offsets, 2015-07-08) introduced the concept of
    pixel offsets, setting the value (implicitly) to 0 in
    OpenGLSalGraphicsImpl::DrawTrapezoid(), but using 0.5 in
    OpenGLSalGraphicsImpl::FlushLinesOrTriangles().
    
    This is fine, but then later commit
    2003076c (opengl: batch draw
    polypolygons, 2016-05-29) changed
    OpenGLSalGraphicsImpl::drawPolyPolygon() to use deferred drawing instead
    of DrawTrapezoid(), without doing any translation of the input
    polypolygon. This resulted in loss of those polygons when used in the
    above mentioned dialog, which has a listbox of bitmaps, where each line
    style preview is drawn on a virtual device with a height of 1px. So at
    the end the 1px offset meant the previews were simply missing.
    
    ('make CppunitTest_vcl_gen SAL_USE_VCLPLUGIN=gen SAL_FORCEGL=1' is
    needed on Linux to see the test failing without the fix.)
    
    Change-Id: Ia9f3d6e7cb38a43fe2f8a41746b538af68add43c
    Reviewed-on: https://gerrit.libreoffice.org/69920Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.com>
    Tested-by: Jenkins
    75e152a7
CppunitTest_vcl_gen.mk 1.13 KB