Commit Graph

1094 Commits

Author SHA1 Message Date
Bartosz Kosiorek
08a690cf66 tdf#111486 Fix description of SAL_ macros after EMF+ refactor
Change-Id: If235956228d7f807817d9ffff3da652bd6485ffa
Reviewed-on: https://gerrit.libreoffice.org/43834
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-10-26 08:41:01 +02:00
Caolán McNamara
b184a8734f Resolves: tdf#49253 set an initial mask background
the gif in question has gif disposal mode "previous" set
on the first frame

Change-Id: I5234b0bd810af9e8e858dabac373fc4651dbb52e
Reviewed-on: https://gerrit.libreoffice.org/43613
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-24 18:20:26 +02:00
Stephan Bergmann
957e6c7968 loplugin:includeform: drawinglayer
Change-Id: I52693e59a37e36fa0bb21732efe90af84fe6d6c6
2017-10-23 22:46:09 +02:00
Noel Grandin
ead920a48a loplugin:redundantcast handle dynamic_cast
Change-Id: I7855c76e820efce96778b1c19ec71dffcc4b4abb
Reviewed-on: https://gerrit.libreoffice.org/43621
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-21 15:44:11 +02:00
Noel Grandin
da9d85ae69 use std::unique_ptr in wmfemfhelper::TargetHolder
Change-Id: I2fab3b9a111513ac711a6480eb240de99eea1991
Reviewed-on: https://gerrit.libreoffice.org/43486
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-18 14:57:10 +02:00
Bartosz Kosiorek
f2410ad4d0 tdf#31814 Resolve TODO from EMF+ DrawImage and DrawImagePoints
Change-Id: I1b128aa467286b5ae5e0d3cc298ee59f3e6ec12d
Reviewed-on: https://gerrit.libreoffice.org/43408
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-10-16 16:13:45 +02:00
Patrick Jaap
52a2a0101f tdf#31814 Fix for EMF+ DrawString and DrawImage
DrawString:
The value 'fontAttribute' is optional and may be null,
results in missing characters.

DrawImage:
The case of 'metafile' was missing and leads to
low resolution rendering.

Change-Id: I81566d884975fda832f4a5af6663c837f355c383
Reviewed-on: https://gerrit.libreoffice.org/43367
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-10-15 11:30:30 +02:00
Chris Sherlock
a2a3e06a29 drawinglayer: remove commented out code
Change-Id: I20fd2665f9fed59b45127dd4aa3dbce0fc58ac17
Reviewed-on: https://gerrit.libreoffice.org/43006
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01 22:54:10 +02:00
Chris Sherlock
6996c65015 tdf#31814 drawinglayer: dump EmfPlusRecordTypeComment records
When we get an EMF+ comment record (which is NOT an EMF comment
record, EMF has comment records which is how you store EMF+
records, EMF+ records also have comment records for "private
data") then if we are a debug build then dump the private data
to stdout.

To make this work, set:

SAL_LOG=+INFO.cppcanvas.emf+WARN.cppcanvas.emf

Change-Id: I293875f45b692971379a5945ff7feb273bc54c73
Reviewed-on: https://gerrit.libreoffice.org/42558
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01 21:11:38 +02:00
Chris Sherlock
d64dd40552 drawinglayer: should be warning, not info SAL_LOG messages
We should warn if EMF+ record < 12 bytes. Similarly, if the
record size is less than 12 bytes, that's evidence of a
corrupted EMF+ record, same with if the length or datasize
is too long. Thus we should warn at this point.

Also - if an if statement is not part of another if/else block
then best to have a newline separating them so they don't
look like they are part of that block.

Change-Id: I914c754fe7437d6d4b6f2e4aec2d28475eaf5d70
Reviewed-on: https://gerrit.libreoffice.org/43004
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01 21:11:16 +02:00
Muhammet Kara
50da5d0d1c simplify some OUString compareTo calls
to either startsWith or == or !=

Change-Id: I595dd9d89d32134827980c4ba10f88584430137d
Reviewed-on: https://gerrit.libreoffice.org/42988
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-01 15:58:22 +02:00
Noel Grandin
ce301dadcb convert GfxLink::IsEqual to operator==
exactly one use site

Change-Id: Id0a75d46c459be213e81b47aa6c1194c87aec848
Reviewed-on: https://gerrit.libreoffice.org/42891
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-29 08:52:34 +02:00
Patrick Jaap
3b1db9b7a9 tdf#112012 EMF+ dashed lines: correct dash length
Since the first guess of the right transformation seemed to be wrong,
here is the next try. The pure float value is multiplied with the pen width.
This is way more intuitive for me and renders the EMF files from the
bugtracker exactly like in MSO.

See 588c5b0cff for the previous patch.

Change-Id: I74e82a0f9800d950e0d989184765a53e520b48e6
Reviewed-on: https://gerrit.libreoffice.org/42810
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-09-28 22:36:18 +02:00
Tor Lillqvist
8e7897588d Rename the basegfx::tools namespace to basegfx::utils
Reduce potential confusion with the global tools namespace. Will
hopefully make it possible to remove the annoying initial :: when
referring to the global tools namespace. Unless we have even more
tools subnamespaces somewhere.

Thorsten said it was OK.

Change-Id: Id088dfe8f4244cb79df9aa988995b31a1758c996
Reviewed-on: https://gerrit.libreoffice.org/42644
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-09-26 14:18:41 +02:00
66kesara99
16549dc267 tdf#96505 Get rid of cargo cult "long" integer literals
Remove unnecessary "Long" literals in multiple locations

Change-Id: Icc44546f10fed841683053eee01b788274e0add1
Reviewed-on: https://gerrit.libreoffice.org/42683
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-24 20:18:56 +02:00
Mike Kaganski
d4b6e52439 Remove include of converters.hxx from precompiled_drawinglayer.hxx
Commit cf48347e7a didn't take into
account commit 632edfabe8 landed
before it.

Change-Id: I108027a460943b14194adcff4af2a41b7720f3be
Reviewed-on: https://gerrit.libreoffice.org/42677
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22 21:43:38 +02:00
Mike Kaganski
cf48347e7a Fresh run of bin/update_pch.sh
Change-Id: I69d4157aaf6570cecd51ea59df20556914942e06
Reviewed-on: https://gerrit.libreoffice.org/42565
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22 21:01:49 +02:00
Mike Kaganski
bb406680ce Put definition of _CRT_RAND_S into bin/update_pch
so it doesn't get removed again from sal/inc/pch/precompiled_sal.hxx
(see commit 4af9612f2b).

Also make necessary changes to some of the files that start to fail
building after running bin/update_pch.sh, so that the patch is
self-contained and leaves the tree in fully functional state.

tools namespace had to be prepended with :: to disambiguate from
drawinglayer::tools

vcl/inc/window.h includes were amended, because ExtTextInputAttr is
from vcl/commandevent.hxx, and enum class ShowTrackFlags is from
vcl/window.hxx

Change-Id: I47179622350754cba2f95d26a1bafd3dfbbc935b
Reviewed-on: https://gerrit.libreoffice.org/42559
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22 20:52:34 +02:00
Tor Lillqvist
632edfabe8 <drawinglayer/tools/converters.hxx> can be internal to drawinglayer
And while moving it, get rid of the 'drawinglyer::tools' subnamespace.
Less potential confusion with the global 'tools' namespace.

Change-Id: Iab3c25be0cec7f3d182228d122837e9f2ac9a529
Reviewed-on: https://gerrit.libreoffice.org/42619
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2017-09-22 11:04:46 +02:00
Noel Grandin
feddb8cb73 maPrimitiveColor in Shadow3DExtractingProcessor unused
since

    commit 9927e1ca23
    Date:   Wed Aug 9 16:00:16 2006 +0000
    #i39532#

Change-Id: I1db3db2c4860d6ad71085cc3cfdeb202eec7e24a
2017-09-18 13:47:29 +02:00
Andrea Gelmini
894115b573 Fix typos
Change-Id: I78653129638b25f16e0816b6fff11e02100c85e7
Reviewed-on: https://gerrit.libreoffice.org/42321
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2017-09-15 20:33:52 +02:00
Armin Le Grand
ab65fe804c borderline: Extended decompose
Decompose of BorderLinePrimitive2D extended to take care
of non-perpendicular line endings for matching. Improved
matching, one error in calc fixed

Change-Id: I869a75385711b58e6725daba0f22be8a98158ad9
2017-09-15 12:58:04 +02:00
Armin Le Grand
16fd7af90a borderline: extended the expand logic
Extended and checked the expand logic for creating
the line extends. Now creating quite the right lines,
will need to check some speccial cases. Also some
cleanups.

Change-Id: I3a3bd4d23c7017ecd873147df2d93af61de39fa6
2017-09-15 12:58:04 +02:00
Armin Le Grand
1f02af4dbd borderline: Added merge BorderLinePrimitive2D
Added BorderLinePrimitive2D merges for Writer and fixes.
2017-09-15 12:58:04 +02:00
Armin Le Grand
53599a9a18 borderline: merge redefined, mirrored Styles
Redefined merge of BorderlinePrimitives, removed old Writer
stuff for it. Also added support for handling Styles mirrored
for extension calculations.
2017-09-15 12:58:04 +02:00
Armin Le Grand
98ceb50c0a borderline: Adapted BorderLinePrimitive2D and usages
Big changes to BorderLinePrimitive2D and BorderLine, freeing
it from one/three entries, going to a free definition using
gaps with width but without color. Adapted usages and creation,
not yet tested much

Change-Id: Ic1255a790401901c3166d200205bc23322b37185
2017-09-15 12:58:03 +02:00
Armin Le Grand
fe14ddf250 borderline: Abstraction of BorderLinePrimitive
As preparation for more detailed definition of BorderLine
primitives I have adapted the BorderLine definition to
work with motre possibilities to define the LineStartEnd
definitions in a BorderLineExtend class. That one is
flexible to hold all kinds of definitions - from none to
all four possible extends (Start/End, Left/Right of vector)
Cleanup of DiagStyle and others: DiagStyle is not needed
anymore due to no longer using angles calculated, but
being based on vectors defining the geometry. Also cleaned
up quite a bit of no longer needed calculation stuff for
the control.
2017-09-15 12:58:03 +02:00
Patrick Jaap
588c5b0cff tdf#112012 EMF+ add dashed line support
add support for dashed lines as optional pen attribute.

Change-Id: I8c49d178e1b25eb0b8cd15c32c2fc47497efb21b
Reviewed-on: https://gerrit.libreoffice.org/41565
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-09-15 02:33:48 +02:00
Armin Le Grand
41c704a8d6 tdf#111853 Added TextFillColor to operator==
TextFillColor was added to TextSimplePortionPrimitive2D, but not added to
TextSimplePortionPrimitive2D::operator==, so when this changed it was not
detected. Added this.
Also added was bFilled and nWidthToFill, all defaulted. This is not accessible
for TextDecoratedPortionPrimitive2D and seems to be some special solution
just for one special case in DrawPortionInfo, only used from Outliner::DrawingTab,
so I am not sure if that change to the central TextSimplePortionPrimitive2D is
good and should stay

Change-Id: Ief8da74a8b66281e47c4c8a47131125e30b90e7d
Reviewed-on: https://gerrit.libreoffice.org/42188
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-09-12 13:26:40 +02:00
Noel Grandin
3428bd5fa3 clang-tidy modernize-use-emplace in d*
Change-Id: I79ac90faf24b4c741545e411dbaea7826c2df531
Reviewed-on: https://gerrit.libreoffice.org/42150
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-11 09:44:12 +02:00
Caolán McNamara
cf5b61967e Resolves: tdf#112145 pdf export of editengine highlight color fails sometimes
When setting a fill or line color on the outputdevice, put it back to its previous
setting when finished with the record, PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D
was the one in this case but protect the other similar ones here too

Change-Id: Ifb9b182d72bb6c48a9d9480270fde4384be6291e
Reviewed-on: https://gerrit.libreoffice.org/41761
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-09-03 21:22:35 +02:00
Thorsten Behrens
ebc11ae0b1 emfplus: cut over to new EMF+ renderer
We're on par with the old functionality now (modulo a few smaller
issues); overall QoS is much better, we get vector output on pdf
and print, and the need for large offscreen bitmap rendering goes
away.

Change-Id: I1fa92c5cad67579c3fcfa78f1bc68696bf1623ec
Reviewed-on: https://gerrit.libreoffice.org/41406
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-22 12:28:57 +02:00
Andrea Gelmini
35974dfc73 Fix typos
Change-Id: I3f3abc3c6e12536d4bc38f0c676d5fc20532a1e3
Reviewed-on: https://gerrit.libreoffice.org/41370
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2017-08-21 08:43:01 +02:00
Noel Grandin
eea6d3951b loplugin:unnecessaryparen
look for  statements like

    return (function());

Change-Id: I906cf2183489f87225b99b987caca67e39b26cc3
Reviewed-on: https://gerrit.libreoffice.org/41260
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-18 08:49:37 +02:00
Noel Grandin
2e8acde112 remove UL/L suffixes from integer constants on the RHS of expressions
Change-Id: I899a8126c9d971601fea6c77eca165718aea0ac5
Reviewed-on: https://gerrit.libreoffice.org/41237
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17 11:25:21 +02:00
Noel Grandin
ff1f6a5fc2 remove UL/L suffixes from integer constants in initialiser/call expressions
Change-Id: Iae081567c4fa5b88edbd12cf2fbafd2b8f31b300
Reviewed-on: https://gerrit.libreoffice.org/41214
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17 08:14:31 +02:00
Noel Grandin
224b770fa7 remove UL/L suffixes from shift-by-constant expressions
Change-Id: Ia470f643e3eefeccc14183133603db260460bd53
Reviewed-on: https://gerrit.libreoffice.org/41212
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17 08:14:03 +02:00
Thorsten Behrens
791f93e01a Fixup source layout in emf+ parser
Non-functional change, cleaning up dog's breakfast in the
grandfathered binary parser.

Change-Id: If3592959b1580e869413910460ccf5b6c9f6f25d
Reviewed-on: https://gerrit.libreoffice.org/41230
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-17 03:27:35 +02:00
Patrick Jaap
e67dbbf9d2 new EMF+ Parser: Basic implementation for Graphic Stacks
Some basic code for push/pop events of the graphic stacks.
Each draw/fill action is also transferred to the currend state.
The implementation follows the one from the old parser.

Change-Id: Ib6411046801023dfa72b16038a9e8ede4c628942
Reviewed-on: https://gerrit.libreoffice.org/40867
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-16 21:21:59 +02:00
Patrick Jaap
50553df006 new EMF+ Parser: Implementation of EmfPlusRecordTypeDrawDriverString
The Implementation follows closely EmfPlusRecordTypeDrawString.
For each set of characters with the same PosY a TextSimplePortionPrimitive2D
is created.

Change-Id: I04e4d11dc3c4e1e5bd16aefa8e7f00556aa5282b
Reviewed-on: https://gerrit.libreoffice.org/40716
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-16 15:34:39 +02:00
Patrick Jaap
5f040a4b0d new EMF+ Parser: Implementation of drawImage
this small patch implements the EMF+ Record darwImage.
It generates a BitmapPrimitive2D.

Change-Id: I90d9a788ed9f520041c392d11f0d97f8e4233796
Reviewed-on: https://gerrit.libreoffice.org/40866
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-09 10:16:31 +02:00
Andrea Gelmini
200d950985 Fix typos
Change-Id: I24a1e979afe57d9dd139ac07bafc1ec908893152
Reviewed-on: https://gerrit.libreoffice.org/40875
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-08 13:45:20 +02:00
Patrick Jaap
70dd00331e new EMF+ Parser: Implementation of fillPolygon
This implementation replaces hte old one.
It uses the workaround hatch blending from the old implentation (basically just copied)
It provides correct linear gradients, with correct transformations
PathGradients are approximated via RadialGradients.
Also, there is a better line width choice, solving problems caused by pictures like tdf#38580.

Change-Id: Ida4f36a5de83b6325702a153b642abe5e45982ee
Reviewed-on: https://gerrit.libreoffice.org/40831
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-08-08 09:47:59 +02:00
Andrea Gelmini
c81d7eb7cd Fix typos
Change-Id: I4969e9e66de602a8c79774460a0215ef9d150372
Reviewed-on: https://gerrit.libreoffice.org/40795
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-07 20:29:58 +02:00
Andrea Gelmini
079375ad56 Fix typo in code
Not sure, show and ask to real devs

Change-Id: Iddd457f62105e4bf6260353c64fb3019ab56a4d5
Reviewed-on: https://gerrit.libreoffice.org/40797
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-06 18:29:11 +02:00
Patrick Jaap
5a9e731d00 new EMF+ Parser: Basic Text Primitives for EmfPlusRecordTypeDrawString
Implementation of basic text primitives. It supports text, textstyle (bold, italic, font, font size, direction, color, locale.
The positions are well-transformed.

Also a few adjustments and supplements for EMFplus font and stringformat

Change-Id: I2670b5d0f6b9ddcaa9ffc8262d8aee13ba224b77
Reviewed-on: https://gerrit.libreoffice.org/40635
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-04 09:20:35 +02:00
Patrick Jaap
a3926e25bb new EMF+ parser: EMFPPlusDrawPolygon: use correct pen width
the current implementation uses PolyPolygonHairlinePrimitive2D for
polygons. This patch uses a PolyPolygonStrokePrimitive2D which makes
use of the correct (transformed) pen width and some basic join and cap
attributes.

Change-Id: Ifbd8cbbc41004d9d45f3c48f2c13fe449025a229
Reviewed-on: https://gerrit.libreoffice.org/40638
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-04 09:19:35 +02:00
Noel Grandin
3dcf6dfcee remove unnecessary use of 'this->'
Change-Id: I5c115389af7d24c18ddaf5fbec8c00f35017a5b4
Reviewed-on: https://gerrit.libreoffice.org/40671
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-02 13:45:36 +02:00
Noel Grandin
612b489d3e loplugin:checkunusedparams
the "check for taking address of function" part was generating false+

Change-Id: Iad6203850901229b7b1b2f8938c68ec703cd343f
Reviewed-on: https://gerrit.libreoffice.org/40613
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-01 11:06:26 +02:00
Armin Le Grand
d62d07b3d2 Corrected HitTest for layouted text
For text layouted using EditEngine the HitTest in SVX is
identifying Field like URLs. Thus ist is better to use the
anyways more precise primitives for HitTest (rotation/shear/
mirror, ...). This was necessary since the former mechanism
which used a combination of primitive-beased HitTest and then
using an Outliner to get the position/content of the Field
landed on different positions e.g. when the layout needed to
use multiple lines for the contained URL, but there could
be more cases found.
Adapted the text decompositon, the primitive HitTest and
the TextHirearchyFieldPrimitive2D accordingly.

Change-Id: Ice559e20d02547fdcfcf9783e7cc5481706aab03
Reviewed-on: https://gerrit.libreoffice.org/40591
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-07-31 21:26:03 +02:00