[Libreoffice-commits] core.git: Changes to 'feature/calctiledrendering_alt'

Andrzej Hunt andrzej.hunt at collabora.com
Mon Aug 11 23:48:01 PDT 2014


New branch 'feature/calctiledrendering_alt' available with the following commits:
commit 7e00e97534a6df416d10f6d098dc746daf3030da
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 21:23:35 2014 +0200

    Return to pixRect in Paint.
    
    Change-Id: I8ee807ba94c3e372b8dd1cbbf9302aaf9e85f323

commit 2904c469fc84fe7fb973e499d9d8b34c4919b3b3
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 21:22:59 2014 +0200

    Move variable definition closer to point of use.
    
    Previously it was in a very unlogical location.
    
    Change-Id: I6a09244eb1aa3bf413ae98e215c2667adcc96907

commit 3413e93dae1a915596c9621a49c73ba9c005a9b6
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 21:21:32 2014 +0200

    Return logic units for GetMergeSizePixel too.
    
    This is used for some cell drawing etc.
    
    This commit by itself isn't so useful as the clients also need
    to be updated to work with logic units rather than pixels. We should
    probably also rename the method at some point.
    
    Change-Id: I7e563d21885261b0dabe55e6e535b066b68a07a3

commit 4fbdd7b3f789b9cb74f1f23ab11a198d9848d023
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 21:04:53 2014 +0200

    Use correct scalings for col/row-bar text too.
    
    Change-Id: I55d7a965bfef6a459d98845a329d1f399e23d63f

commit 67910e62ff07fa80326c082e268af34deac5703c
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 19:56:53 2014 +0200

    Use late conversions for col/row-bars too.
    
    Change-Id: I258408fef0f0c18b20c8973c2182fac2d5ed3298

commit 1adb6dc0f02d8b91b0631cf80aa6b29d6a71e4d4
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 19:51:17 2014 +0200

    Remove bad check.
    
    This was an issue with Tiled Rendering when we still used the FillData.
    
    We don't use FillData anymore, and more importantly we do actually
    want to be able to redraw just one column/row at a time (where
    nStart==nEnd).
    
    Change-Id: I3f8b85556d3b6d6cf7cdc50db93db1fa3119e9fc

commit cf1ed90aa1f04790fc6e71531d100c086a6f1e95
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 19:48:40 2014 +0200

    DON'T MERGE: more work needed.
    
    Change-Id: Id3cb2f0146ffec4b4bd3ae2f06690e1cde8182b1

commit 9ce8b6ac09c3828a7c5a366cbf9b0dac5c864395
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Wed Jun 25 22:37:54 2014 +0100

    Use OutputDevice scaling for column-/rowbars too.
    
    This means we now match the new gridwindow dimensions. There
    are however some issues around selection/painting now, which
    are presumably related to some parts of the code still assuming
    pixel rather than logical dimensions.
    
    Change-Id: I15c2bc7210f26cededd63bc89dbd782e6e4c03b8

commit ef51fd2d815820c86c371e543730306f1e61bcfc
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 11:04:40 2014 +0200

    Pass PaintMapMode through to DrawGrid/DrawBackground.
    
    Change-Id: I1e89babc968278fb504a9afdb409ecc1a8142fc5

commit 4758f53c2396220493bf2e75f7e0ded6f7d043d0
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Thu Jun 26 17:06:58 2014 +0100

    Ensure we actually render all cells in the selected area.
    
    Only cells within maVisibleRange are rendered, even if we request
    a larger area (and maVisibleRange is otherwise not updated for tiled
    rendering). Hence we should explicitly set it here.
    
    Change-Id: I399be9df1f266a2b3d32a95483960b21f561c6b3

commit 05dfc5de62eb2fc52e533134c153742190eac7e0
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Thu Jun 26 14:30:08 2014 +0100

    Take into account drawing layer for data area size.
    
    The drawing layer could potentially have items that are outwith
    the data area, but we probably want to have them included for
    tiled rendering.
    
    Change-Id: I958c4fa29491cdb0fd80392dfcfa033306f2b76c

commit 554c888341210feeebccdaa2f281996c8c8b9d66
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 09:39:06 2014 +0200

    Use output device mapping for draw layer too.
    
    Otherwise draw layer items don't get scaled at all for tiled
    rendering.
    
    Change-Id: I4ed54f61420eae82fcf4692b8e9b605a3338fc52

commit 373d18fbed8d439317a292ffab26b06bc12f71b7
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 09:17:56 2014 +0200

    Set correct scaling for normal painting.
    
    As we no longer read the scaling from the viewdata, we should
    instead set it on the output device when doing normal rendering.
    
    However the grid still doesn't exactly match the external axes yet,
    there are probably more rounding errors wherever they are painted.
    
    Change-Id: I25b1bd9b344115578fe892aa94fbf753a3c10c81

commit 8a6ee4b5c0954fea6b95213ee45de13336fa0caf
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 09:15:08 2014 +0200

    Use output device scaling to determine cells in draw-area.
    
    Change-Id: Idf4e6ccb72090a55b6a9234cafae21821e3df0b0

commit b72d20b165ee1610338cf23cc9cd2216280fc0e1
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Aug 11 08:48:07 2014 +0200

    Don't scale grid and cell dimensions multiple times.
    
    Previously we had multiple layers of scaling, with rounding
    errors propagating, leading to up to 5% differences in expected
    and rendered sheet widths -- for tiled rendering dimensions have
    to scale accurately as we may paint the same tile at multiple zoom
    levels, by eliminating multiple scaling and letting the output
    device instead deal with the scaling once we can eliminate these
    errors. (However currently rendering of text/images isn't quite right.)
    
    Change-Id: I0a725fd5c030f3c089c2bbd25947088c321eb2d4

commit 6bd11d23d1bd95ace6af35ec0edd2c0de8f3e08b
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Wed Jun 18 09:33:16 2014 +0100

    Implement data area size retrieval.
    
    Cell dimensions appear to be in TWIPs (but the drawing layer is in 100th mm).

commit 97a3734b62737d3105312d80bfc32820f0a80c6a
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Wed Jun 18 08:28:04 2014 +0100

    Allow overriding of device for Paint, and use that for Tiles.
    
    Paint handles figuring out which cells are within the visible area
    for us etc.
    
    Gridwin being a Window which paints to itself is a bit of a pain,
    since we now need to be able to reroute painting calls to alternative
    output devices, however these changes seem to be sufficient to at least
    get the cells in the desired tile rendered.
    
    Change-Id: I7bd1434c97acc6e9ef6e1e63cbcf039b987c88e4

commit c3522cef7386055ee4ae56cd75a29c2512241303
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Jun 16 16:19:56 2014 +0100

    Calc: Add tiled rendering device to the paint view.
    
    This prevents the previous warnings of
    SdrPageView::DrawLayer: Creating temporary SdrPageWindow (ObjectContact), \
    this should never be needed
    
    Change-Id: I76cb7c9ed4d45bfcbd297f697314309b4e036f80

commit e088d7c50277d7187046f899a145e44e17d6a722
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Mon Jun 16 15:00:02 2014 +0100

    Render tiles from calc.
    
    Currently the document size and number of cells to be rendered
    is hardcoded, this will need some more work to select the correct
    cells for a given tile (i.e. cells from location). Also, there
    isn't really a "size" for a calc sheet, so presumably we'd need
    to instead return the area containing cells that aren't empty,
    whilst still being able to render larger tiles? (And in any case
    the client will need to be aware of this and provide an appropriate
    interface, i.e. the current LO UI simply extends the sheet ad-infinitum.)
    
    We also currently get some warnings most likely related to the way
    we push our OutputDevice into the rendering methods:
    SdrPageView::DrawLayer: Creating temporary SdrPageWindow (ObjectContact), \
    this should never be needed
    
    Change-Id: Ia9d64d7de6c22d5b401350f88497a7ec106f1973



More information about the Libreoffice-commits mailing list