Commit Graph

175 Commits

Author SHA1 Message Date
Noel Grandin
95b04f52b5 loplugin:useuniqueptr in cppcanvas
Change-Id: I8e995128a7a1c5911efc82a762dbe7be015b2050
Reviewed-on: https://gerrit.libreoffice.org/41493
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-24 08:43:48 +02:00
Ivan Safonov
c88d4ddfcd tdf#96099 Remove ActionSharedPtr typedef
Replace ActionSharedPtr by its definition.

Change-Id: Iedd14c85169230d961f0707671885451875529d7
Reviewed-on: https://gerrit.libreoffice.org/40340
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-12 20:51:57 +02:00
Noel Grandin
f74da1315a use more comphelper::InitAnyPropertySequence
Found with:
  git grep -n -A10 'Sequence.*Any' -- *.cxx | grep -B5 -w PropertyValueProvider
and:
  git grep -n 'Sequence.*Any.*( *&'

Change-Id: Icb18c98bdd3f8352817e443ff78de5df042859ad
Reviewed-on: https://gerrit.libreoffice.org/40389
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-25 12:03:17 +02:00
Noel Grandin
c0565f7011 loplugin:constparams in cppcanvas
Change-Id: Ic440819b5a1c71d2e4503b9a3b1e961c4ce123af
Reviewed-on: https://gerrit.libreoffice.org/40205
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-20 09:19:33 +02:00
Noel Grandin
2ccde70d60 teach redundantcast plugin about functional casts
Change-Id: Iac8ccd17d9e46ebb2cb55db7adb06c469bbd4ea0
Reviewed-on: https://gerrit.libreoffice.org/37910
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-30 08:50:31 +02:00
Thorsten Behrens
ca5b8804f0 cppcanvas: this assert can stay
Both sequences are supposed to be 4 - input there does not result
from parsing the EMF+ file.

Change-Id: Idcfa70d717b75ce226a8bae0ebe073002555ef17
Reviewed-on: https://gerrit.libreoffice.org/37861
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-05-21 00:09:07 +02:00
Chris Sherlock
8c0be54a7d tdf#43157: convert cppcanvas module away from OSL_ASSERT
2nd attempt, this time I've decided makes more sense to just produce
a warning.

Change-Id: Iaf373a2d38e8f47266b00ea869de38a584788d45
Reviewed-on: https://gerrit.libreoffice.org/37598
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-05-14 23:33:43 +02:00
Bartosz Kosiorek
43f5268c6f EMF+ tdf#31814 Add support of reading EmfPlusBoundaryPointData
The EmfPlusBoundaryPointData object specifies a closed cardinal spline boundary for a gradient brush.
This data is starting point for displaying correctly gradients.

Change-Id: I91b01417c6dc00a04dabfc5a035afe9085999240
Reviewed-on: https://gerrit.libreoffice.org/37519
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-05-12 14:38:35 +02:00
Bartosz Kosiorek
ac528503b4 EMF+ We already implemented most used EMF+ records.
Now it's time to enable warnings, to track not implemented cases,
to have clear notification what is wrong with imported image.

Change-Id: Ic880a5b7df03e4a98d4700bebb3d0f6d77980505
Reviewed-on: https://gerrit.libreoffice.org/37407
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-05-09 03:31:41 +02:00
Bartosz Kosiorek
4c40aeeaf3 tdf#31814 EMF+ Fix an issue when not all elements were displayed
On on EMF+ images generated by ChemDraw, some elements were not displayed.
After investigation, occurs that position of points was not read
properly in same cases. This commit fixes such cases.

Change-Id: I1d01d8defc41f4e437a669ef1268b8e33823cfc1
Reviewed-on: https://gerrit.libreoffice.org/37406
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Tested-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-05-09 00:04:44 +02:00
Chris Sherlock
97eb00c75e revert OSL_ASSERT changes
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07 17:03:35 +10:00
Chris Sherlock
bbd2d2c116 tdf#43157: convert cppcanvas module away from OSL_ASSERT to assert
Change-Id: I1db04c35cc004a33b0d2586f9eb1d21bc545eb81
2017-05-07 09:39:49 +10:00
Bartosz Kosiorek
a2c14edcc5 Fix number of EmfPlusEndContainer record
EmfPlusEndContainer record closes a graphics state container
that was previously opened by a begin container operation.

Change-Id: I80d977ba53b98ef87b70e0dca2008c1980f901f9
Reviewed-on: https://gerrit.libreoffice.org/37217
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-05-04 22:20:47 +02:00
Noel Grandin
0dbf528c29 loplugin:checkunusedparams in cppcanvas and dbaccess
Change-Id: Ia66e6326f3d1750b4e46a3f9f7127e7ed4aa99ca
Reviewed-on: https://gerrit.libreoffice.org/37068
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-02 08:19:37 +02:00
Caolán McNamara
36977f7404 crashtesting: more crashing on exporting fdo31814-3.emf to odg
Change-Id: I4cb359b426daed6c5d83c4ed4b85fe87de9d739a
2017-04-27 16:58:30 +01:00
Caolán McNamara
c63a90453b crashtesting: crash on exporting fdo31814-3.emf to odg
since

commit f9af0abce2
Date:   Sat Apr 15 01:44:46 2017 +0200

    EMF+ Add initial support for EmfPlusStringFormat Object

    The EmfPlusStringFormat object specifies text layout, display manipulations,
    and language identification. With this commit the support for font language
    and country was added. Also Bold style is applied,
    for strings which needs that.

elsewhere the pattern is to mask with 0xff to restrict to the hardcoded
256 size, so do that here too

Change-Id: Iba5bcc3fabe836c963b3eef47a864e87425675c7
2017-04-27 16:58:30 +01:00
Bartosz Kosiorek
e31c535b57 tdf#47243 tdf#39327 tdf#103639 Proper scaling of SetPageTransform
The EmfPlusSetPageTransform record specifies scaling factors and units for converting page space
coordinates to device space coordinates.
In previous implementation I made scaling after translating page scaling.
For some images it was working correctly (if there wasn't translating).
WIth this commit I fixed this issue.

Change-Id: I1e9e78ecdab663328f86a960d8547ad0a7fc1314
Reviewed-on: https://gerrit.libreoffice.org/37010
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-27 16:25:50 +02:00
Chris Sherlock
da64d198ec tools: svstream.hxx needs only errcode.hxx & not errinf.hxx
Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca
Reviewed-on: https://gerrit.libreoffice.org/36896
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-04-25 09:31:31 +02:00
Bartosz Kosiorek
78a3a30487 tdf#47243 tdf#39327 Add support for SetPageTransform
Change-Id: Iea78cf1e9ca99c97814d9eaa4a65ad4b83a2bbe2
Reviewed-on: https://gerrit.libreoffice.org/36749
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-24 09:53:00 +02:00
Bartosz Kosiorek
f9af0abce2 EMF+ Add initial support for EmfPlusStringFormat Object
The EmfPlusStringFormat object specifies text layout, display manipulations,
and language identification. With this commit the support for font language
and country was added. Also Bold style is applied,
for strings which needs that.

Change-Id: Id9735a9ddb959aebd20d6d4d1bb5da0fa9c1fb85
Reviewed-on: https://gerrit.libreoffice.org/36555
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-24 09:52:17 +02:00
Bartosz Kosiorek
715df6e9f8 tdf#107159 EMF+ Add support for EmfPlusDrawArc record
EmfPlusDrawArc record specifies drawing the arc of an ellipse.

Change-Id: I87788a9b14f518a383cbc5b804af635427e4c395
Reviewed-on: https://gerrit.libreoffice.org/36537
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-16 14:32:44 +02:00
Bartosz Kosiorek
fe62003caa tdf#106084 EMF+ Add support for EmfPlusScaleWorldTransform record
The EmfPlusScaleWorldTransform record performs a scaling on the current world space transform.

Change-Id: I03717b28a88d574d597174c6ca3446f937c96a15
Reviewed-on: https://gerrit.libreoffice.org/36320
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-13 18:31:55 +02:00
Bartosz Kosiorek
5726633455 tdf#39053 EMF+ Draw an extra line between the last point and the first point.
The EmfPlusDrawlLines record specifies drawing a series of connected lines.
Bit 0x2000 indicates whether to draw an extra line between the last point
and the first point, to close the shape.
In this commit support of additional line which close shape was added.

Change-Id: I47ae3d8003cbfdd5b8ff5ba78e1ebe10f97af04b
Reviewed-on: https://gerrit.libreoffice.org/36317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-13 18:30:37 +02:00
Bartosz Kosiorek
fcb32f1cbc tdf#106084 EMF+ Add support for EmfPlusTranslateWorldTransform record
The EmfPlusTranslateWorldTransform record performs a translation
on the current world space transform.

Change-Id: I3e5744060c8a6d758bcc2804c6798e0208d2191f
Reviewed-on: https://gerrit.libreoffice.org/36287
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-13 18:30:02 +02:00
Bartosz Kosiorek
2e7c94f505 tdf#107034 EMF+ Add support for import EmfPlusDrawPie record
The EmfPlusDrawPie record specifies drawing a section of the interior of an ellipse.

Change-Id: Icd9d64117cc612d348c531932931f31e4d04e567
Reviewed-on: https://gerrit.libreoffice.org/36286
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-13 13:28:05 +02:00
Bartosz Kosiorek
9b693d896b tdf#107019 EMF+ Add support for import EmfPlusRecordTypeDrawBeziers record
EmfPlusDrawBeziers record defines the pen strokes for drawing a Bezier spline.

Change-Id: I6ae08a861bcbadd373741781af0011528947243e
Reviewed-on: https://gerrit.libreoffice.org/36280
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-13 13:26:20 +02:00
Bartosz Kosiorek
a45feba83e tdf#107016 EMF+ Add support of import EmfPlusRecordTypeDrawRects record
EmfPlusDrawRectss record defines the pen strokes for drawing a series of rectangles.

Change-Id: Iaa061f8502fb51de44d2e65a1c92daf297b79d2b
Reviewed-on: https://gerrit.libreoffice.org/36261
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-11 11:02:18 +02:00
Bartosz Kosiorek
723ee43cf6 Replace EmfPlusRecordType decimal valuse with hex
Change-Id: Ia5f248282e663e86b76a8c90fb5dd55d112f6912
Reviewed-on: https://gerrit.libreoffice.org/36260
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-04-07 23:17:06 +00:00
Miklos Vajna
a5a571307f tdf#82580 tools: rename Rectangle to tools::Rectangle
Mostly generated using

make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle"

Except some modules have their own foo::tools namespace, so there have
to use ::tools::Rectangle. This commit just moves the class from the
global namespace, it does not update pre/postwin.h yet.

Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2
Reviewed-on: https://gerrit.libreoffice.org/35923
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
2017-03-31 06:27:11 +00:00
Stephan Bergmann
43f2a7d979 Better make the zero-initialization more explicit
...if initializing these members is necessary at all; a bit hard to tell from
the code.

Change-Id: I3ddb25c35f0d1b44a092bdb2cb0192ce619f947c
2017-02-23 08:49:32 +01:00
Noel Grandin
2489000d3f loplugin:useuniqueptr extend to check local vars
just the simple and obvious case for now, of a local var being allocated
and deleted inside a single local block, and the delete happening at the
end of the block

Change-Id: I3a7a094da543debdcd2374737c2ecff91d644625
Reviewed-on: https://gerrit.libreoffice.org/33749
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-01 12:15:22 +00:00
Mark Page
f671121525 Split emfplus.cxx into multiple files
This helps make emfplus.cxx more readable.
No source code was changed, only moved except these
renamed to avoid inheritance warnings::
EMFPBrush::transformation renamed to brush_transformation
EMFPPen::transformation renamed to pen_transformation
Change-Id: I6952d6300c9c459833c2dda2b715d851b9e80de7
Reviewed-on: https://gerrit.libreoffice.org/31165
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
2017-01-23 11:44:45 +00:00
Stephan Bergmann
ef3a9951e0 loplugin:unnecessaryoverride (dtors) in cppcanvas
Change-Id: I4f6f6e36a965b5c01ffd51b1710fa8cc57d497fa
2016-11-28 14:14:53 +01:00
Noel Grandin
a2b77b4368 loplugin:singlevalfields in basic..idl
Also fix obvious bug in the initialisation of the
connectivity::odbc::OConnection::m_bClosed field.
Probably closes some kind of connection leak there.

Change-Id: I04579cf91bcd6d6c51c697d83971da4142743a82
Reviewed-on: https://gerrit.libreoffice.org/28932
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-16 08:30:26 +00:00
Michael Stahl
b647996a9b replace sal_Size with std::size_t (or sal_uInt64 for SvStream pos)
... except in include/rtl, include/sal, include/uno, where sal_Size is
retained for compatibility, and where callers of rtl functions pass in
pointers that are incompatible on MSVC.

Change-Id: I8344453780689f5120ba0870e44965b6d292450c
2016-09-15 12:01:11 +02:00
Stephan Bergmann
91dd2db17b loplugin:override: No more need for the "MSVC dtor override" workaround
The issue of 362d4f0cd4 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.

(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to

  OOO_DLLPUBLIC_CHARTTOOLS    virtual ~CloseableLifeTimeManager();

in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro.  Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)

Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-13 13:19:22 +02:00
Michael Stahl
62d270116b tools: rename SvStream::Read/Write to ReadBytes/WriteBytes
Change-Id: Ib788a30d413436aa03f813aa2fddcbc4d6cd2f9a
Reviewed-on: https://gerrit.libreoffice.org/25972
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-06-06 18:09:11 +00:00
Caolán McNamara
aa330a9ddc cppcheck: allocaCalled
Change-Id: I253f71f851621d8a3d1244468b9da63ba2d10b09
2016-01-02 20:32:43 +00:00
Noel Grandin
c2ef6387de loplugin:unusedfields in cppcanvas
Change-Id: Ibba6a89ba87970bf08c44e8a70ce0dd1e9f75956
Reviewed-on: https://gerrit.libreoffice.org/20081
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-20 13:47:52 +00:00
Stephan Bergmann
61f168d987 Add SvStream::ReadUtf16 (don't assume sal_Unicode is unsigned short)
Change-Id: I74f34e3389582617fa83f8f4a3d6867cf87189e1
2015-11-17 10:36:13 +01:00
Stephan Bergmann
311fd06af4 loplugin:nullptr (automatic rewrite)
Change-Id: I68f6c78d1a539a960efbcf81be1e5b2bd26c2bc5
2015-11-10 10:31:20 +01:00
Mike Kaganski
daecb93aff tdf#93750 allow for EMF+ record padding up to 11 bytes
When an array of EMF+ has extra bytes in the end, that are less than 12,
they should not be  treated as another EMF+ record, but simply ignored.

Change-Id: I34701c00916812c8a6a4b69730f602da81719b35
Reviewed-on: https://gerrit.libreoffice.org/18110
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2015-08-31 19:01:21 +00:00
Noel Grandin
4712396b3b loplugin: defaultparams
Change-Id: I906912f29448bfc72e8139546aa09525c959867f
2015-08-11 09:48:17 +02:00
Caolán McNamara
4a121d402f this SAL_INFO uses brush which might be NULL
Change-Id: Id69b55b266fe62934b53fc765030cfd044d0c74a
2015-07-05 20:24:50 +01:00
Stephan Bergmann
98215b5bdb loplugin:cstylecast: deal with remaining pointer casts
Change-Id: Iafb0d21bc7e6483d7ca9e9ea05234ef78dbb18b2
2015-06-08 16:24:04 +02:00
Julien Nabet
3aebc670e1 Remove include stdio (part2)
Change-Id: Iae58d107d8df1c543a165086fb2b7c288e7121dd
Reviewed-on: https://gerrit.libreoffice.org/15775
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2015-05-18 05:33:52 +00:00
Tor Lillqvist
d883c12556 Get rid of the initial :: for the vcl namespace
We used it all over the place without leading :: already anyway, even
in many files in include. So let's be consistent. In the majority of
cases, prefer the easier-on-the-eyes choice, not the "safe" one.

In those files in include where *all* existing uses of ::vcl:: indeed
used the :: prefix, there let's keep it for consistency.

Change-Id: If99cb41d3bf290d38c601d91125c3c8d935e61d0
2015-04-30 07:27:52 +03:00
Noel Grandin
26ec80f47d loplugin:staticmethods
Change-Id: I33a8ca28b0c3bf1c31758d93238e74927bebde9c
2015-04-13 09:37:12 +02:00
Stephan Bergmann
d18aa94868 Clean up C-style casts from pointers to void
Change-Id: I680f6d79c27c83cf41edb8ba3acfcfc8dab26a76
2015-03-28 19:09:18 +01:00
Noel Grandin
7f8f277b94 fdo#84938: convert STREAM_ #defines to 'enum class'
Change-Id: Ibbf14c7e9a5c1883c1311d4c86f948f74f8e473e
2015-01-07 11:20:44 +02:00