AgeCommit message (Collapse)AuthorFilesLines
2014-07-01DO NOT USEfeature/calctiledrendering2Andrzej Hunt3-4/+70
An early attempt at getting the column/rowbars cooperating with the tiled rendering-induced scaling/sizing changes. Change-Id: I15c2bc7210f26cededd63bc89dbd782e6e4c03b8
2014-07-01Kill saveAsWithOptions again. (merge error/oversight)Andrzej Hunt1-4/+0
The declaration sneaked in again when merging the libreofficekit tiled rendering changes, there's no actual implementation or use of this anywhere though. (cherry picked from commit 822cf7cb24eaa11ed3aa8d243370fba5bf6af889)
2014-07-01LOK DocView: handle document load failure without crashing.Michael Meeks1-7/+15
Change-Id: Icd668b3a7ec3ac58322a6af3f1da6008837d0b6b (cherry picked from commit 3c440aad56cdaf3e0c05af6c7967a3d15b183034)
2014-07-01Ensure we actually render all cells in the selected area.Andrzej Hunt1-0/+4
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
2014-07-01Take into account drawing layer for data area size.Andrzej Hunt1-2/+18
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
2014-07-01Use output device mapping for draw layer too.Andrzej Hunt1-1/+2
Otherwise draw layer items don't get scaled at all for tiled rendering. Change-Id: If65d460a83fb29b8eda692cb7c1f2bd9f7283e62
2014-07-01Set correct scaling for normal painting.Andrzej Hunt1-0/+5
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
2014-07-01Use output device scaling to determine cells in draw-area.Andrzej Hunt1-9/+10
Change-Id: Idf4e6ccb72090a55b6a9234cafae21821e3df0b0
2014-07-01Don't scale grid and cell dimensions multiple times.Andrzej Hunt2-17/+12
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
2014-07-01Implement data area size retrieval.Andrzej Hunt3-4/+49
Cell dimensions appear to be in TWIPs (but the drawing layer is in 100th mm).
2014-06-25Allow overriding of device for Paint, and use that for Tiles.Andrzej Hunt2-7/+14
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
2014-06-25Calc: Add tiled rendering device to the paint view.Andrzej Hunt1-0/+13
This prevents the previous warnings of SdrPageView::DrawLayer: Creating temporary SdrPageWindow (ObjectContact), \ this should never be needed Change-Id: I76cb7c9ed4d45bfcbd297f697314309b4e036f80
2014-06-25Render tiles from calc.Andrzej Hunt3-14/+32
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
2014-06-25fix buildCaolán McNamara1-5/+8
Change-Id: I33f06887b4b2b7950c6e322ccf1c7ec65240f9b0
2014-06-25LOK: tiled rendering / svp includes are Linux only too for now.Andrzej Hunt1-1/+4
Change-Id: Iacd8554698f309f79208fd8390800ae2c5fd8085
2014-06-25LOK: Tiled Rendering only useable on Linux.Andrzej Hunt1-0/+11
Change-Id: I90daddddb08c26c594109ecf926cb4ea64308770
2014-06-25Update libgltf: new build system and various fixesZolnai Tamás31-1274/+1357
Building: - The new tarball has reasonable build system so build libgltf as external package instead of compiling source files directly. - Freetype dependancy is removed Improvements comes with the new libgltf - Can rotate the models too (orbit mode) - Two camera handling mode: walkthrough and orbit (press M to change). - gltf_animation_set_time() works - FPS can be displayed without freetype (press F) Additional notes: - There were some bugs/regressions which are fixed during the integration (see patches). - License files are uddated now. - libgltf building is enabled only on those platforms on which gltf support actually works (windows and linux) Change-Id: Ia6c9c4da53a9b4fedba0d73aa5791489f8ad424b Reviewed-on: Reviewed-by: Zolnai Tamás <> Tested-by: Zolnai Tamás <>
2014-06-25MSWord uses \xb for linebreaks in DB fields, take 2 (bnc#878854)Luboš Luňák1-0/+1
This commit also does the conversion when reading the data from a data source using the mail merge wizard. Change-Id: Ia14417507b6ddce955fec26142a42ce51f77de4e
2014-06-25remove spurious com::sun::star::util prefixMichael Stahl3-4/+3
Change-Id: I002a14fe0cb0cbdb4d5da51db8da6c8208cf604e
2014-06-25remove spurious com::sun::star::text prefixMichael Stahl4-8/+8
Change-Id: I98d2fc7de3c2d3f95fb96192da83761ac1146172
2014-06-25remove spurious com::sun::star::forms prefixMichael Stahl2-2/+2
Change-Id: I5c7c1d888cda7f01685bce46a6092a2c30b856f9
2014-06-25remove spurious com::sun::star::frame prefixMichael Stahl1-2/+2
Change-Id: Ica1291e8d115ae7a7f1e99e569c9889e2b852f8a
2014-06-25remove spurious com::sun::star::script prefixMichael Stahl1-1/+1
Change-Id: I66fc14d1f26da0c91a455b0f63bde31210566c2c
2014-06-25remove spurious ::com::sun::star::sdbcx namespace prefixMichael Stahl9-12/+12
Change-Id: I37220af64c15259ab5bcf61b324d2a73ed8f5348
2014-06-25remove spurious com::sun::star::chaosMichael Stahl7-9/+9
Apparently some time before inital CVS import a global search-and-replace went horribly wrong and added spurious namespace prefixes everywhere. Change-Id: I4009bc3ab4b1d4c80412f75ad0e4628a382f99f0
2014-06-25SwView::EnterDrawTextMode: refuse to edit editeng text if texbox is attachedMiklos Vajna1-1/+14
Change-Id: If1b3e9807414e90341199eabfa937376084c097d
2014-06-25Add all the required conditions for vclplug_svp.Andrzej Hunt1-1/+3
As per, we only have this on linux AND headless. Change-Id: I708c89e38a661afb839ab1ac3e48ff9b2ecc040c
2014-06-25vclplug_svp only exists with ENABLE_HEADLESS.Andrzej Hunt1-1/+1
Change-Id: I72fc636b1187bc99370b43927b25ed6fb89fe8f3
2014-06-25Related: fdo#37401 adjust fix to original aCenter useCaolán McNamara1-1/+1
i.e. as far as I can see the bug came about during.... commit 74cb1c4cb5f72fd8cf80c6d144eda00841394647 Author: Ivo Hinkelmann <> Date: Tue Nov 14 12:37:46 2006 +0000 with 2006/10/27 12:14:08 aw 1.2.1208.5: #i39528# ::basegfx -> basegfx adaption in - Vector2D aFullVec(aStartPos - aEndPos); - Vector2D aOldVec(Vector2D(aRect.Left(), aCenter.Y()) - aRect.TopLeft()); ^^^^^^^^^^^ - double fFullLen = aFullVec.GetLength(); - double fOldLen = aOldVec.GetLength(); - double fNewBorder = (fFullLen * 100.0) / fOldLen; - sal_Int32 nNewBorder = 100 - (sal_Int32)(fNewBorder + 0.5); + basegfx::B2DVector aFullVec(aStartPos - aEndPos); + const basegfx::B2DPoint aTopLeft(aRange.getMinX(), aRange.getMinY()); + const basegfx::B2DPoint aCenterLeft(aRange.getMinX(), aRange.getHeight()); ^^^^^^^^^^^^^^^^^^ + const basegfx::B2DVector aOldVec(aCenterLeft - aTopLeft); + const double fFullLen(aFullVec.getLength()); + const double fOldLen(aOldVec.getLength()); + const double fNewBorder((fFullLen * 100.0) / fOldLen); + sal_Int32 nNewBorder(100L - FRound(fNewBorder)); Change-Id: I840caa5e49a04f9b6460c4fa8e3731f3e5ebde05
2014-06-25LOK DocView: clean up document on exit.Andrzej Hunt1-0/+12
Otherwise lock files etc. aren't cleaned up, which isn't particularly nice should when then opening the file in normal LibreOffice. Change-Id: I822b6fb582473674371a4c1d403d5a05adb7ea6b
2014-06-25Add zoom controls to gtktiledviewer.Andrzej Hunt1-5/+75
Change-Id: I33ae83a97be254a3d3716bd9ae05f089845fd536
2014-06-25LOK Docview: add set_zoomAndrzej Hunt2-11/+40
Change-Id: I902f3a134b4a7dcc721eff3f67376014a4276885
2014-06-25Use full sofficerc for LOK.Andrzej Hunt1-10/+1
Otherwise we get segfaults in cppu::idefaultConstructElements when exiting, in addition to complaints of: ignoring GError "Operation not supported" for <***RECURSION DETECTED***/log.txt> Change-Id: If2f56873f50ba957288d1e5591db967d248ee7a4
2014-06-25Add tiled rendering outline to Calc.Andrzej Hunt4-0/+55
(No real implementation yet.) Change-Id: I67b84b554dbb29db449d8c190ef816645a8bff07
2014-06-25Use ITiledRenderable for LIBLOK.Andrzej Hunt2-41/+24
Means that no changes should be required here once calc/impress/draw support tiled rendering. Change-Id: I0987d94303f39ba37e29b9ae7b2276e82dc0ccbf
2014-06-25Add ITiledRenderable.Andrzej Hunt3-1/+79
We want to have a simple interface that allows access to tiled rendering without digging into the internals of writer (and in the future calc/impress/draw). Change-Id: Ia9c278a48c919333186e5361ff25bb1ab603b846
2014-06-25LIBLOK: implement getDocumentType, make doctypes unique.Andrzej Hunt2-43/+90
Change-Id: I6cf810af55284cb6ddd9e0bfd879fd19508d127a
2014-06-25Prevent GTK assertions due to scrolled window not being initialised.Andrzej Hunt1-0/+6
Seems to be a gtk bug which we need to work around. The assertions don't actually seem to cause any harm (they just print a bunch of "Gtk-CRITICAL **: IA__gtk_range_get_adjustment: assertion `GTK_IS_RANGE (range)' failed" but probably best to avoid them. Change-Id: I5d1bb20bd5c0569c6d023a6148123208a15b9de2
2014-06-25Move gtktiledviewer into libreofficekit.Andrzej Hunt4-17/+10
desktop is no longer the right place for it now that libreofficekit has its own directory. Change-Id: I207f1d642e7e35c460ff85bb57aa142cb98023c8
2014-06-25Tiled Rendering: ensure rendered area is visible.Andrzej Hunt1-2/+8
MakeVisible only scrolls the view, so parts of the tile to be rendered might be outside the SwView's visible area, and therefore not painted. This however makes the background window (shown for the tilederendering app) unuseable (but that window is invisible for all practical uses of tiled rendering, and hence probably not a problem). Change-Id: I6c3c2846906163b362f7cff6d8c7ba308a58a7ad
2014-06-25Implement data area size retrieval.Andrzej Hunt2-70/+10
The scaling is wrong, but seems to work in principle (i.e. we get roughly 1.5x the correct size). Conflicts: sc/source/ui/view/gridwin4.cxx Change-Id: I6db1986e6cb1e5f3889ec3a462d999a9eab57331
2014-06-25Implement LibreOfficeKit gtk+ viewer widget.Andrzej Hunt5-0/+213
Very basic, but works. Change-Id: I0c521e833b53e13065e0be48e6fa767e44b29787
2014-06-25Remove outdated includes.Andrzej Hunt1-7/+0
These were needed for the X11 "context" rendering which is no longer used. Change-Id: Ib60c8fff9dad06b1f8f489eed66c3b3c3597e1ee
2014-06-25Kill gtktiledviewer's alpha channel hack.Andrzej Hunt1-5/+0
basebmp and vcl now set the alpha channel appropriately, so no need to do so in the viewer now. However it would perhaps make more sense to just use RGB instead of RGBA, seeing as the alpha channel is permanently set to be opaque. Change-Id: I86ad758c6a8bee21b265730727a76605e5850c0c
2014-06-25Fill the alpha channel by default for vcl 32-bit bitmaps too.Andrzej Hunt3-22/+31
Otherwise the alpha channel for bitmaps created directly is empty, indicating a transparent bitmap (although we don't actually handle transparency). This complements hardcoding of the alpha channel in basebmp. VCL bitmaps can be copied bit-for-bit directly into a basebmp bitmap, hence it's important to make sure we fill the alpha channel in vcl too. Conflicts: include/vcl/salbtype.hxx Change-Id: Icb2fa417db6625a6ffa6bd82eb5773ff75be5a3c
2014-06-25Add base value to set alpha channel for 32 bit colourspaces.Andrzej Hunt1-0/+10
Currently the alpha channel is completely ignored by basebmp. However this results in completely "transparent" output, meaning the client has to manually overwrite the alpha channel -- instead we now set it automatically when writing colourdata. Unfortunately this doesn't quite work -- it seems that drawing a non-opaque bitmap/image on top of the existing bitmap can erase the alpha channel information (i.e. these areas will once again be transparent -- for example document borders seem to have a transition effect overlayed onto them): presumably there is some method that bypasses our RGBMaskSetter (probably some form of direct manipulation of raw values?). manipulation in basebmp Change-Id: Ia4be6a748cc30191a4422121f9ec347d9198b225
2014-06-25Get rid of outdated comments.Andrzej Hunt1-21/+4
We can now set the colourspace as desired, and we return the rowstride too. Change-Id: Idf1e55a67b9e9ab58e82d7ed0be2813b682ec2ff
2014-06-25Upgrade gtktiledviewer to use its own buffer.Andrzej Hunt1-13/+29
Change-Id: I3f567ff19ee0d5b0d54aeef9b163b78567d72946
2014-06-25Use external buffer for LibLO tiled rendering.Andrzej Hunt3-22/+27
Means we can get rid of hackily storing a reference to the last buffer we created. Change-Id: I8092a7d87bc391301f75651a59b37fbd73ac64fd
2014-06-25Allow passing in external buffers to svp's VirtualDevice.Andrzej Hunt5-19/+44
We also want to be able to set whether or not the buffers should be painted to top down, so add that parameter as necessary (default seems to be false, however e.g. gtk requires this to be true, i.e. needed for tiled rendering). Change-Id: Id98882e4c7f62508ae5a976c0d8df743460a4ab2