New branch 'feature/calctiledrendering4' available with the following commits: commit 54070217e629719a3fd94a7f071051056c135873 Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Fri Jul 11 16:35:58 2014 +0200
More pixel->document coordinate scaling. Change-Id: Iea3877c024d66fa6b80d447c749246148f2dc11d commit 8772ef136318bb589a0484cc37ec171fe3829b2d Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Fri Jul 11 10:23:15 2014 +0200 Add png dumping to LOK tiled rendering test. This allows for easier visual comparisons (i.e. currently the test would be failing for some tiles). Change-Id: I5b174375b57ffe0edd2700fdec411a83669e4a34 commit 293e9332629a5afbb2b08b870af80399b7b98d3a Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Fri Jul 11 09:07:06 2014 +0200 DON'T MERGE: the viewport doesn't get set otherwise? When writing the tiled rendering test, asserts were firing because the redraw area wasn't set on the page -- however I don't understand things well enought yet to know whether or not this is the correct solution.. (Especially as this happened only for certain tile configurations.) Change-Id: I187d639b00d0748e7cc9fd6cc33d555f02f9a081 commit 5087e21970a3f62f4f62348d79ce3b9df85eec1c Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Thu Jul 3 14:47:15 2014 +0200 Iterate from origin to tile area to ensure correct positioning. Change-Id: I29e881f9e67b84e208a198d2aad06db382d14698 commit 8265a55aa036d2453521723ca57e9ef27228639b Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Thu Jul 3 14:46:32 2014 +0200 Use logic units for visible-cells determination. This eliminates a bunch of LogicToPixel conversions, and also means that tiles starting other than the origin are correctly processed (as LogicToPixel run on a rectangle will also move that rectangle depending on the origin set in the output device). Change-Id: I42903fe23ad5f6baa1d5276d5dcc7ee038bd27cf commit b539322e04f1a9ea797725309c0797952935c72c Author: Andrzej Hunt <andrzej.h...@collabora.com> Date: Thu Jul 3 14:43:28 2014 +0200 Scale the origin for the Draw Layer (Calc Tiled Rendering). Since we're changing units, we also need to scale the origin by the correct amount. Change-Id: Ie0563376e8fa56f20c30da4fe3cc50546f18e84f commit 2475c5436771b496a37735bac6cb015a90c75fbd Author: Andrzej Hunt <andrzej.h...@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 fe0373c9b706ce524bf4e53c347ee14f256638b5 Author: Andrzej Hunt <andrzej.h...@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 44d0332017e786413a5eb77d1e101068f66f0623 Author: Andrzej Hunt <andrzej.h...@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 cd065ed0888db078bf8ff5fddb5ba5334e6f596c Author: Andrzej Hunt <andrzej.h...@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 cac4196fdaf200dd08290d65d6e7fb39fd7cbefb Author: Andrzej Hunt <andrzej.h...@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 da64c58871fe3378eb2cee8619f3d96ded4f2d93 Author: Andrzej Hunt <andrzej.h...@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 f77ef66c9c295a2cf2c50e4f180bfe69ec1d5759 Author: Andrzej Hunt <andrzej.h...@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 6f079c4733fb1c61c0ecdf9f96afc4b2c1181bbd Author: Andrzej Hunt <andrzej.h...@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 a44d6a802df00072d0538fe84e83b2b59ba04b29 Author: Andrzej Hunt <andrzej.h...@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 5c3efd0739fba25530642cc16b0e45d5611f5b74 Author: Andrzej Hunt <andrzej.h...@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 f3ee5edaf550c9683ee4b1bb7736e7bfaefd61c4 Author: Andrzej Hunt <andrzej.h...@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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits