Commit Graph

708 Commits

Author SHA1 Message Date
Noel Grandin
af5ebbf783 create a macro library for implementing bit-flags types
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>,
changed from a macro- to a template-based solution.  (Unfortunately MSVC 2012
does not support explicit conversion operators.  Worked around that with
explicit #ifs rather than some HAVE_EXPLICIT_CONVERSION_OPERATORS and
SAL_EXPLICIT_CONVERSION_OPERATOR ainticipating we hopefully soon move to a
baseline that requires unconditional support for them.)

Change-Id: I4a89643b218d247e8e4a861faba458ec6dfe1396
2014-10-13 17:45:57 +02:00
Stephan Bergmann
1eb35713bc Remove leftover SAL_WNODEPRECATED_DECLARATIONS_PUSH/POP
...from times when code used std::auto_ptr.

Change-Id: Ia4eca8b0b95a8846886884404009e895daba8a22
2014-10-01 18:48:14 +02:00
Noel Grandin
15eceec17e loplugin: cstylecast
Change-Id: I6fb9e1b1d55d5bc8e71bfbae599a4f9744d559f1
2014-10-01 13:08:43 +02:00
Noel Grandin
c9d4a2887c fdo#82577: Handle PolyPolygon
Put the TOOLS PolyPolygon class in the tools namespace. Avoids clash with the Windows
PolyPolygon typedef.

Change-Id: I811ecbb3d55ba4ce66e4555a8586f60fcd57fb66
2014-09-30 11:47:41 +02:00
Stephan Bergmann
476f5aad6e cppcanvas: std::auto_ptr -> std::unique_ptr
Change-Id: Ic4584e4fe22c81c30d110ff65e79217f690f56f0
2014-09-30 10:33:25 +02:00
Caolán McNamara
d7fdf70c44 coverity#1241427 Unchecked dynamic_cast
Change-Id: Ie011d0bcc504c6c17a525abb368e69009a3d2d2e
2014-09-25 13:14:47 +01:00
Noel Grandin
827c46e7d7 fdo#82577: Handle Window
Put the VCL Window class in the vcl namespace. Avoids clash with the X11
Window typedef.

Change-Id: Ib1beb7ab4ad75562a42aeb252732a073d25eff1a
2014-09-23 14:11:39 +03:00
Noel Grandin
60e78fbb80 fdo#82577: Handle Font
Put the VCL Font class in the vcl namespace. Avoids clash with the X11
Font typedef.

Change-Id: I1a84f7cad8b31697b9860a3418f7dff794ff6537
2014-09-18 08:54:37 +02:00
Noel Grandin
a69f8ea61c vcl: convert push flags to type-safe enum-like class
Change-Id: Ib49a0dd5ecee0225f51bea2ff1c0ab5326595a47
2014-08-21 09:17:32 +02:00
Noel Grandin
794d5ac4ac vcl: use enum for complex text layout constants
Since these constants are bitfield flags, we define some methods to make
working with them reasonably type safe.

Move the definitions to outdevstate.hxx, since we need the values there,
and that appears to be the "root most" header file.

Also dump TEXT_LAYOUT_BIDI_LTR constant, since it means the same thing
as TEXT_LAYOUT_DEFAULT (ie. 0), and leaving it in causes people to write
weird code thinking that it's a real flag.

Change-Id: Iddab86cd6c78181ceb8caa48e77e1f5a8e526343
Reviewed-on: https://gerrit.libreoffice.org/10676
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-08-20 09:01:26 -05:00
Stephan Bergmann
5631661e1f Missing test dependencies
Change-Id: I7ea8f2b02b66a15e86e20948536c34017d6a3999
2014-08-08 17:41:33 +02:00
Caolán McNamara
c3e8faa10e coverity#1228877 Structurally dead code
Change-Id: If3a3de8bae4c2d1b8e39d3255cd8ee7e985b4404
2014-08-07 18:00:45 +01:00
David Tardon
7dc96ebc05 fdo#81799 we need cppuhelper here too
Change-Id: I719557813180c3f862ef4b00e24142fdbbb0daf0
2014-07-29 10:08:12 +02:00
Arnaud Versini
8124418d7a Use better coordinates for unit test of fdo#77229
Change-Id: I5fae217687e12313451da5bf4b4e6f914551b628
Reviewed-on: https://gerrit.libreoffice.org/10447
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
2014-07-28 08:01:43 +00:00
Norbert Thiebaud
cd3d26b7ed vcl consitent use of long for corrdinate
most of length in vcl are calculated in 'long'
but array of X position tend to be in sal_Int32.
As a prep work to be able to support 'double'
as the base type of Device Coordinate, harmonize
the use of 'long' for non-float coordinate.

Change-Id: I7cb33301ff6a5e2c62247b36a4e07e168a58a323
2014-07-20 22:10:59 +02:00
Tomaž Vajngerl
a34e2e08b6 emf+: recognise some more object types
Change-Id: I33fec62e4bc38eeaf014eeb1210db2904af033f6
2014-07-20 21:02:50 +02:00
Tomaž Vajngerl
f97c5397f0 emf+: emulate hatch with color blend
Change-Id: I2ac8f790c79c269d4c1fa650e703c3645c567ca4
2014-07-20 21:02:50 +02:00
Tomaž Vajngerl
816f4be79c bnc#881024 Handle 0 font height just like outdev & drawinglayer
Change-Id: I80055e4101873e0ddd408ac1f0ee9c75cc3bf6b3
2014-07-20 21:02:49 +02:00
Tomaž Vajngerl
cef094efd7 emf+: Log type name instead of the type number
Change-Id: I5c4f7c5713a559815bd46328907673d114fee011
2014-07-20 21:02:49 +02:00
Stephan Bergmann
e50ef195bc New loplugin:stringconcat
Change-Id: Id7c517fb37bc28797c45fc0dde83e866f2aa4aac
2014-07-01 15:45:52 +02:00
Noel Grandin
3e82897353 improve the inlinesimplememberfunctions clang plugin
Change-Id: I6d5a952901648e01904ef5c37f953c517304d31e
2014-06-17 10:55:17 +02:00
Stephan Bergmann
798f410a94 Fix vclplug_* dependencies for gb_CppunitTest_use_vcl
...and replace gb_CppunitTest_unset_headless with
gb_CppunitTest_use_vcl_non_headless.

Change-Id: Ibd859f98ed8df09988ca26ffcee26e06e25d8313
2014-06-12 13:49:45 +02:00
Stephan Bergmann
eaf7e4f1b2 Lets assume gb_CppunitTest_unset_headless was cargo cult here
Change-Id: I9d4255f0ddcaf375706556d0c0baf2a5a0762bbf
2014-06-12 12:56:21 +02:00
Thomas Arnhold
13b2519800 update_pch: add a bunch of pch files
connectivity: 3m52s ->  2m47s
 cppcanvas:      28s ->    13s
 cppuhelper:     20s ->    14s
 dbaccess:     2m38s ->  2m01s
 hwpfilter:      16s ->    13s
 sot:            21s ->    16s

Change-Id: I49286bfe6be73dd1b861be632b95e17a99e82f8a
2014-06-04 21:18:40 +02:00
Stephan Bergmann
369d95931f DeInitVCL at end of tests
This required some changes to the framework:

* Init-/DeInitVCL is no longer done per individual test in BootstrapFixture, but
  once per CppunitTest invocation in a new vclbootstrapprotector (similarly to
  the exisiting unobootstrapprotector).  CppunitTests that need VCL now need to
  declare gb_CppunitTest_use_vcl.

* For things to work properly, the UNO component context needs to be disposed
  from within DeInitVCL (cf. Desktop's Application::DeInit called from
  DeInitVCL).  The easiest solution was to introduce an
  Application::setDeInitHook (where the hook is called from DeInitVCL)
  specifically for vclbootstrapprotector to call.

* PythonTests don't (yet) call DeInitVCL; they still hook into
  BootstrapFixture's original test_init functionality (to call InitVCL), and do
  not make use of the vclbootstrapprotector.

Change-Id: I4f3a3c75db30b58c1cd49d81c51db14902ed68b2
2014-06-04 08:55:12 +02:00
Stephan Bergmann
bb78022488 Fix memory leak in test code
Change-Id: I318878b3fa883eebbc081a6faf6a594dad2c6e26
2014-05-30 15:55:01 +02:00
Thomas Arnhold
563c236710 cppcheck: Function parameter 'rStartPos' should be passed by reference
Change-Id: Ie453e1a95b54de07463b6f5052a23d6632400b8d
2014-05-22 12:50:52 +02:00
Thomas Arnhold
cf10dd612d cppcheck: Function parameter 'rLineInfo' should be passed by reference
Change-Id: I5bd3f808a0ca61731c5ceb57100d1b30a3163e98
2014-05-22 12:50:51 +02:00
Thomas Arnhold
2bd7767d01 Resolves fdo#70681: fixincludeguards.pl: all that's left
Change-Id: I3e51a62710bb46c8255fd228d41d9300c90a1fb5
Reviewed-on: https://gerrit.libreoffice.org/9360
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-05-15 12:50:46 +00:00
Julien Nabet
4c0ec2a1dd Blind fix for red Tinderboxes, following
Change-Id: I590a682af7fc1879ae63cda3aea73063ba4c84f4
2014-05-10 06:57:15 +02:00
Jan Holesovsky
261b1ad80a '!= false' is redundant, and confusing - kill it.
Change-Id: I1a52b9ce7b590e8cf274a2daaa1c55cfc1efe48b
2014-05-09 22:28:44 +02:00
Caolán McNamara
9f1e44e190 coverity#738576 Uninitialized pointer field
Change-Id: Id945cf9549b7f633f7deb1f237a2bf6536f221c1
2014-04-28 10:31:02 +01:00
Caolán McNamara
76f74ef908 coverity#738575 Uninitialized pointer field
Change-Id: Ib65f0e95ef2a837b6c5791d9e2dce5fe8025da33
2014-04-28 10:31:02 +01:00
Caolán McNamara
b3e332b4a7 coverity#738574 Uninitialized scalar field
Change-Id: Ia7cca6e2a2bc3240a32509697a999461491a2747
2014-04-28 10:31:02 +01:00
Caolán McNamara
766d5e4ec0 coverity#738573 Uninitialized scalar field
Change-Id: I8b112fa0095cc6ed15c9198a312a0b6fce3a8d28
2014-04-28 10:31:02 +01:00
Andras Timar
c79a5f87b1 remove executable bit
Change-Id: I91f6e861f6d0dbea1b57ac73857e0c706b27f681
2014-04-17 15:11:14 +02:00
Miklos Vajna
bcd243793e CppunitTest_cppcanvas_emfplus: disable this in case there is no display to use
This test is already disabled on non-Linux, but it fails in case there
is no display to use. For now just disable it in that case.

Change-Id: I29c52e803a1fca5f2bdeeb655c573ad8fef622e8
2014-04-10 14:08:16 +02:00
Miklos Vajna
c3d90aa384 fdo#77229 testcase
We didn't have EMF+ rendering testcases so far, let's see if it works
out to render into a bitmap and then just assert pixel position colors
there. It's better than nothing for missing shapes at least.

Change-Id: I2d1c63fef1127f69af7156ed6c99553845f77c9f
2014-04-10 12:21:31 +02:00
Miklos Vajna
c2af50eb6d fdo#77229 EMF+ rendering: improve EmfPlusSetClipPath's CombineModeExclude case
This is still not perfect, but at least we now don't do the opposite of
what was asked.

Change-Id: I5e144c5ec2987902e65b2eb472259d9c39bbbd11
2014-04-09 11:06:31 +02:00
Stephan Bergmann
2cc2a39a95 Clean up function declarations
Change-Id: I54f8a16cd64375d1398b6582175b0941ba68696e
2014-04-09 09:55:40 +02:00
Noel Grandin
8ab93ae45e cppcanvas: sal_Bool->bool
Change-Id: I3dc076f3593d4d083d5e25e41e007eadc97d2978
2014-04-07 13:53:48 +02:00
Stephan Bergmann
8f6c55a839 Replace SV_DECL/IMPL_REF macros with SvRef template
Change-Id: I0ef2e67f6d61e0ce118c0f5e926b8194ef9d8058
2014-04-07 12:38:27 +02:00
Stephan Bergmann
362d4f0cd4 Explicitly mark overriding destructors as "virtual"
It appears that the C++ standard allows overriding destructors to be marked
"override," but at least some MSVC versions complain about it, so at least make
sure such destructors are explicitly marked "virtual."

Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-04-01 19:22:54 +02:00
Stephan Bergmann
70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
Noel Grandin
86a32589e9 Find places where OUString and OString are passed by value.
It's not very efficient, because we generally end up copying it twice -
once into the parameter and again into the destination OUString.

So I create a clang plugin that finds such places and generates a
warning so that we can convert them to pass-by-reference.

Change-Id: I5341a6ea9e3190f4b4c05c42c85595e3dcd83361
2014-03-18 08:32:26 +02:00
Stephan Bergmann
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
Alexander Wilms
8448d136ec Remove visual noise from cppcanvas
Change-Id: I961e6a9e227962096b57569a8b8160841cacd950
2014-02-25 21:25:30 +01:00
Douglas Mencken
63de81621a Update little-to-big endian GetSwapFloat functions
rSt >> pPtr[3] >> pPtr[2] >> pPtr[1] >> pPtr[0] results in error:
  no match for 'operator>>' in 'rSt >> *(pPtr + 3u)'

Change-Id: I1820bac8c72f7633ab01a17bf5d073b988e1b58c
Reviewed-on: https://gerrit.libreoffice.org/8207
Tested-by: Michael Stahl <mstahl@redhat.com>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2014-02-25 13:43:28 +00:00
Norbert Thiebaud
9aee4d1c9e harmonize Tell() Seek() type.
Change-Id: I2e472aa0279d0763762d3c660207cd74da512626
2014-02-24 23:14:45 -06:00
Alexander Wilms
0ce0c369aa Remove unneccessary comments
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb
Reviewed-on: https://gerrit.libreoffice.org/8182
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-23 03:38:49 +00:00