summaryrefslogtreecommitdiff
path: root/canvas
AgeCommit message (Collapse)Author
2017-02-10tdf#105620: Fix placement of image embedded in graphicTor Lillqvist
Change-Id: I3d399fe4aab9260817f171d4e69388a19eb85d21 Reviewed-on: https://gerrit.libreoffice.org/33789 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 562ea5ef1bf2dd8b110109c6d531489780b51c30)
2017-01-25tdf#100151: Dispose of window if DX device creation failedAron Budea
Before, if the device lacked Direct3D capabilities, VclPtr handling became compromised, and caused a crash. This was particularly a problem in virtualized/remote desktop connections in Windows. Now mpWindow instance is disposed of right away if DX device creation fails. Change-Id: I639340380affdb31a93ce6dccd8df33a0a466df6 Reviewed-on: https://gerrit.libreoffice.org/33413 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit bb50474225f80b8aeea49f14ad66173462026a41) Reviewed-on: https://gerrit.libreoffice.org/33544 Reviewed-by: Aron Budea <aron.budea@collabora.com> Tested-by: Aron Budea <aron.budea@collabora.com>
2016-10-10Resolves: tdf#103026 invalid dash causes CAIRO_STATUS_INVALID_DASH stateCaolán McNamara
(cherry picked from commit c5d355e9c9cbc94eede8f438895e192d834f7096) Change-Id: I072635ff7c67022ebfd5bdb475e390f3aab7a51c Reviewed-on: https://gerrit.libreoffice.org/29553 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 91e0a73984f72e0f04e6087524332f6354f627d0)
2016-07-20Replace fallthrough comments with new SAL_FALLTHROUGH macroStephan Bergmann
...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in preparation of enabling -Wimplicit-fallthrough. (This is only relevant for C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.) Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but that would require adding back in dependencies on boost_headers to many libraries where we carefully removed any remaining Boost dependencies only recently. (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its future evolution will not have any impact on the stable URE interface.) C++17 will have a proper [[fallthroug]], eventually removing the need for a macro altogether. (cherry picked from commit 14cd5182c5f64c43581c82db8c958369152226ac) Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca
2016-07-20vcl: bmpacc.hxx -> bitmapaccess.hxxChris Sherlock
(cherry picked from commit 88730cdae3520b18fc073dc59bd0ed660e15d6b4) Change-Id: I4bb19d6103c4a6a902d86b62a857e3478493924c
2016-07-20vcl: rename Font::GetName to Font::GetFamilyNameChris Sherlock
Reviewed-on: https://gerrit.libreoffice.org/21529 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> (cherry picked from commit 28c96fc2553a5c3dee108f1e2060d7bc081a7e7e) Change-Id: Ie20871a3078bf875c1782b7761d60591a9c9704f
2016-07-20new loplugin rangedforcopy - use reference in range based forAndrzej Hunt
Inspired by 6e6ae9803796b120e95f6e89575e03c5fd0ed3c2 Change-Id: Ia0f264d3a6bbf076aa5080e3398683e50bc6ef01 Reviewed-on: https://gerrit.libreoffice.org/20190 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 9d0b06e9f728d01a2d2908e1e56cb4220cd414d5)
2016-07-12loplugin:unusedfields variousNoel Grandin
(cherry picked from commit 1f86864e97bea96fdc608f8c8b93024ad4684d51) Change-Id: I59d9f7f73677358b4ae57efda965d43718bdf0d5
2016-07-12Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> (cherry picked from commit a238b1f8d304bf1e2ffb357937f3ec888ee8ac89) Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
2016-02-25werror: declaration hides previous declarationDavid Ostrovsky
Change-Id: I0f8422a4f8c27ec253d917985d2593d8d87bb5f0 Reviewed-on: https://gerrit.libreoffice.org/22685 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit d375cafef68e8be9d0d35cbb535b8481a3913ace) Signed-off-by: Michael Stahl <mstahl@redhat.com>
2016-02-25werror: declaration hides previous declarationDavid Ostrovsky
Change-Id: Ia0fe8847f2a58fbccb25ecc6237f3b14a08da076 Reviewed-on: https://gerrit.libreoffice.org/22688 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit fbe9f840d541eab1a47a457c00fef00441f52364) Signed-off-by: Michael Stahl <mstahl@redhat.com>
2016-02-18Fix missing iterator include on MSVC 14.0David Ostrovsky
Change-Id: I55de612aef52038fd9979426950d4ae4131ca586 Reviewed-on: https://gerrit.libreoffice.org/22448 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org> (cherry picked from commit a3c70e760fa4203b7e6692f82d1d8a14214af3da) Signed-off-by: Michael Stahl <mstahl@redhat.com>
2015-12-21Resolves: tdf#93703 0 scaling is CAIRO_STATUS_INVALID_MATRIXCaolán McNamara
so more drawing to the surface fails prior to 4ac876084bb89b6460b31e090a666b395f66b1e8 we had a new cairo context each time to the error was thrown away along with the context and the new one would work Change-Id: I90ab1a943e8908e87f391bdfb8ccd5f3818e13d5 (cherry picked from commit f22d153a07231f2d41c7be9ba0e6b7ce963a0762)
2015-11-23VirtualDevices either match another device depth, or are 1 bitCaolán McNamara
cairo can therefore always render to a svp virtual device with need for a fallback Change-Id: I5d03ae541820389e26f7448444444be009fb28a4
2015-11-23establish that Virtual Devices either match Physical Device depth or ...Caolán McNamara
are 1 or (rarely) 8 bit and lock that down. Change-Id: I3d946ebef34ffb71c5adea7aa420af50e9584e05
2015-11-20Adapt Windows-only codeStephan Bergmann
...to b8793748b0eaaa3fe405587fcb2a3021adab833b "Seems more natural to pass a homogenous list by initializer_list" Change-Id: I1c6816a442b57572a307251de1de5652a9d2a63a
2015-11-20loplugin:unusedfields in canvasNoel Grandin
Change-Id: Ic532ebf1f929044d72ee3abca29c8275cbe837ac Reviewed-on: https://gerrit.libreoffice.org/20078 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-20Seems more natural to pass a homogenous list by initializer_listStephan Bergmann
...than by template parameter pack (even if that requires using ServiceDecl*, as initializer_list cannot take reference types) Change-Id: Ia986201b52d8daedfe925f132ebc79bc2c0ba378
2015-11-20loplugin:sallogareasStephan Bergmann
Change-Id: Ib1f06cb5f925535858bc14aab6f59ad7fd2a3a8d
2015-11-15use initialiser for Sequence<OUString>Noel Grandin
performed using: git grep -lP 'Sequence.*OUString.*\(1\)' | xargs perl -0777 -pi -e "s/Sequence<OUString> (\w+)\(1\); .*\[0\] = (\S+);/Sequence<OUString> \1 { \2 };/g" Change-Id: I4da56c80fa09bfc1e8f868794001e9921431e09f Reviewed-on: https://gerrit.libreoffice.org/19968 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-15use initialiser syntax for Sequence<OUString>Noel Grandin
replaced using the script: git grep -lP 'Sequence.*OUString.*\(1\)' | xargs perl -0777 -pi -e "s/Sequence< OUString > (\w+)\(1\); .*\[0\] = (\S+);/Sequence< OUString > \1 { \2 };/g" Change-Id: I23688a91562051a8eed11fc2a85599545c285c34 Reviewed-on: https://gerrit.libreoffice.org/19967 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-12Windows header sanitizationAshod Nakashian
Isolation of windows headers using prewin.h and postwin.h headers and making headers dependent on them more self contained. Conversion of TCHAR to WCHAR and LPCTSTR to LPCWSTR etc. and cleanup of unnecessary casts. Change-Id: I7eff5c477d9223a064bfb4d962ff6d61960ee69c Reviewed-on: https://gerrit.libreoffice.org/19901 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-12Bin mesa_headers completelyTor Lillqvist
We don't need them in a MSVC or OS X compilation either. Change-Id: I00181fe0a047df09bbdfcce34c07eb2ebc45a2da
2015-11-12Avoid mesa_headers on X11, also link with -lGL only where necesssaryTor Lillqvist
The GLEW headers are enough, and what we actually use in these places. In addition to handling GL extension things in its dynamic fashion, GLEW headers also have declarations for standard, non-extension, OpenGL API, including xgl and wgl ones. Most likely we don't need mesa_headers on Windows or OS X either, and can drop them completely. Change-Id: Ic0d8d6238c862f8fe4a74e99e95344dcbf540980
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I9e064592c4ee18a600aadfa20b3c89ecafc818d4
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann
Change-Id: I72cad7217bdfc2a1f3339c604ea4dc55ff661e2a
2015-11-02Replaced boost::bind by std::bind in canvas/source/opengl/ogl_canvashelper.cxxMario J. Rugiero
Chose not to use lambdas instead because the number of arguments in these calls would have made it way too verbose, hurting readability. Change-Id: I8662a937ec10ca0fac6cd7e0d78b6268e8023ada Reviewed-on: https://gerrit.libreoffice.org/19707 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2015-11-02Partial revert 'for_each -> range-based'Thorsten Behrens
There was a subtle change in semantics, the earlier loop was only iterating until aEnd, covering only unique elements of the vector. This partially reverts commit c04fd82433e9155ad61ebd92ca7b43a729a87890 Change-Id: I75c5f1b343c3fa8855f6d7f8f706b9259bc9f6df
2015-11-01boost::bind -> lambdas in canvas/source/simplecanvas/simplecanvasimpl.cxxMario J. Rugiero
Change-Id: If768595d3c3ec294d5a59ad42f26aacfd6e0fda3 Reviewed-on: https://gerrit.libreoffice.org/19708 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-01boost::bind -> lambdas in canvas/source/vcl subtreeMario J. Rugiero
Change-Id: I2b2e746197b94222c73b78379d64086adfb5e693 Reviewed-on: https://gerrit.libreoffice.org/19712 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-01std::for_each -> range based for in canvas/source/tools/verifyinput.cxxMario J. Rugiero
Change-Id: I71c714a459ea81a268f93f8ffc5286eb532794ca Reviewed-on: https://gerrit.libreoffice.org/19711 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-01for_each -> range-based for in canvas/source/tools/spriteredrawmanager.cxxMario J. Rugiero
Change-Id: Ibe089e53488a9ba6baded637b17a1aeee0908f79 Reviewed-on: https://gerrit.libreoffice.org/19709 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-01boost::bind -> lambdas in canvas/source/tools/surface.cxxMario J. Rugiero
Change-Id: I9a9c4832cf18b10e15d2a4de8944b404b082e990 Reviewed-on: https://gerrit.libreoffice.org/19710 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-31Replace boost::bind by lambdas in canvas/source/directx tree.Mario J. Rugiero
Change-Id: I1622f563b921a03234b9cb02de7c8abd00444129 Reviewed-on: https://gerrit.libreoffice.org/19703 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30tdf#93684 - Remove SalFrame::SyncRyan McCoskrie
Change-Id: Icae9cf0a17f9cdf9a671c7e7278019d6980602b1 Reviewed-on: https://gerrit.libreoffice.org/18453 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-10-30tdf#92272: We need to twiddle the bytes from BGR to RGBTor Lillqvist
As far as I see, the surfaces created in the DX canvas are of D3DFMT_A8R8G8B8 or D3DFMT_X8R8G8B8 format, which means that the bytes (in memory order, on little-endian Windows) are B,G,R,A/X. So if the desired destination wants R,G,B,A, we need to swap the blue and red bytes. Let's hope this doesn't break anything else... Change-Id: I1b90d2cf95418f6557cac633ec6fce27599e8a61
2015-10-30UNO: no need to use OUString constructor when calling createInstanceNoel Grandin
Change-Id: I37da28539b94706574116d0fff5f008aabfb5526 Reviewed-on: https://gerrit.libreoffice.org/19682 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-30use uno::Reference::set method instead of assignmentNoel Grandin
Change-Id: I58410209f32f988f258a588364e0b037c2790211
2015-10-30loplugin:unusedmethodsNoel Grandin
Change-Id: Id3b5cd75d4357336ed592ef11a3f34d209f8e95f Reviewed-on: https://gerrit.libreoffice.org/19636 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-10-07eliminate typedef only being used onceNoel Grandin
Change-Id: I1e54968a67f3edce3b2297ea1932d5b07e2da643
2015-10-07inline ISurfaceProxySharedPtr typedefNoel Grandin
some places were not using the typedef anyhow Change-Id: Idf92ad63b05101832827113701a85eca48c084c6
2015-10-02Fix typosAndrea Gelmini
Change-Id: I776c517ba87838c0c3391f79010a30fa7fe2abd3 Reviewed-on: https://gerrit.libreoffice.org/18939 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-09-18boost->stdCaolán McNamara
Change-Id: Ie490bf2c6921f393bdeed96b1a8815996b701bf0 Reviewed-on: https://gerrit.libreoffice.org/18670 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-14boost->stdCaolán McNamara
Change-Id: I3fd9e1599c5ad812879a58cf1dabbcd393105e1c Reviewed-on: https://gerrit.libreoffice.org/18564 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-13boost->stdCaolán McNamara
Change-Id: I9b4f884c6313a53fea543ea6f93175205351ad14 Reviewed-on: https://gerrit.libreoffice.org/18517 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-11coverity#1323755 Using invalid iteratorCaolán McNamara
try and help coverity to know that aEnd and maFragments.end() are the same place Change-Id: I9ce4187d5ed15d0ae26b69bb360dbd47c2a6a185
2015-09-08tdf#94006 - need an explicit dispose for GLContext's SystemChildWindow.Michael Meeks
Previously we would get an explicit ~OpenGLContext - and potentially leave FMR's around for other OGC users, now we treat the other users properly - we need an explicit dispose() to get Window::dispose ordering right. Change-Id: I5edcbd73399b6db3dbcfb391570f364f9ab0c70d Reviewed-on: https://gerrit.libreoffice.org/18412 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2015-09-08tdf#94006 - fix OpenGLContext mis-use in several places.Michael Meeks
gltf rendering, OpenGL canvas, GL transitions & GL capable (charts) Avoid GLX operations on un-initialized contexts. Change-Id: I7f523640f66ab656896181e5c865879234f6640e