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

Andrzej Hunt andrzej.hunt at collabora.com
Wed Jun 25 05:12:58 PDT 2014


New branch 'feature/calctiledrendering' available with the following commits:
commit 1ada2868130bf3b21ab999def2a75287bf546fad
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Tue Jun 24 22:06:59 2014 +0100

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

commit 055ce58b26ad6fa4540fdc466ce74e331b326b29
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Tue Jun 24 21:16:15 2014 +0100

    Turns out document coordinates are already in TWIPs.
    
    This now means that fonts are also correctly scaled,
    whereas the 100th mm mapping caused fonts to be scaled
    differently to the grid (i.e. looked ugly).
    
    Change-Id: Ib8b913490823a7ba406e52291e52d50053ae32b8

commit 0e7ac3aa3100fa308eaadc899bc8b34484508ac6
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Fri Jun 20 11:07:33 2014 +0100

    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 91150eb602168c2840d18936cbba99ae4bc0e19d
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Fri Jun 20 10:35:45 2014 +0100

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

commit 2b65462e88669b3ff231efae4bbbeff8078119f0
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Fri Jun 20 09:38:50 2014 +0100

    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 2afb77f1c97d0c69926ce4859361286902a59922
Author: Andrzej Hunt <andrzej.hunt at collabora.com>
Date:   Fri Jun 20 09:35:16 2014 +0100

    Return TWIPS for calc document size.
    
    We already use TWIPS for other uses of tiled rendering, so might
    as well stay consistent.
    
    Change-Id: I5897480f152c1ee9734443296d152436a049e32d

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

    Implement data area size retrieval.
    
    The scaling is wrong, but seems to work in principle
    (i.e. we get roughly 1.5x the correct size).
    
    Change-Id: I6db1986e6cb1e5f3889ec3a462d999a9eab57331

commit d0c62da6a0b5c0ed5cbbc222099b8fa1217b7d2e
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 cac773ce7ab4c5a55156c3f3482cb455ffe0ed16
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 50d570deebf733652edafc50ec3b940427384e04
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