Commit Graph

666 Commits

Author SHA1 Message Date
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
374efa7253 Skeleton of drawinglayer object called OpenGLObject
- Shape name: com.sun.star.drawing.OpenGLObject
- Drawinglayer object: SdrOpenGLObject
- Uno object: SvxOpenGLObject
- View contact: ViewContactOfOpenGL
- Primitive: OpenGLPrimitive2D

Change-Id: I7fc0829d58cb4a8432d0e3007c90223707e5dd84
2014-03-17 23:48:28 +01:00
2f59eae88a remove whitespace
Change-Id: Ie03ffe6e02fe7c4d67a5a6752bc6fa24377da7cd
2014-03-10 18:17:21 +01:00
ff6f3164df Simplify DrawWave
This patch simplifies the DrawWave logic. Callers of that code would try to
figure out what size wave to draw and pass down a style integer to
DrawWaveLine, but DrawWaveLine already has logic which trims the height of the
wave so it doesn't need the hint.

This doesn't change the UNO API
(::com::sun::awt::FontUnderline::SMALLWAVE), but it does get rid of
internal usages and maps those small waves to normal.

Note that changing the zoom in Calc right now causes spelling underlines to
disappear. That bug is not related to these changes.

Conflicts:
	editeng/source/editeng/impedit3.cxx

Change-Id: I3caa2a74a0f5228b924d4e1b0a77f96eaef5fa00
Reviewed-on: https://gerrit.libreoffice.org/8168
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2014-03-05 09:01:11 -06:00
43c5a22e63 remove unused code in drawinglayer
drawinglayer::attribute::SdrFillGraphicAttribute::getLogSize()

Change-Id: Ib1d958e57598dd3db392de98c4d2e2df1bfc98de
2014-03-05 09:17:43 +02:00
2c62596cf2 fdo#75260: Correctly draw double lines for both Writer and Calc.
Fix all sorts of incorrect double line handling in drawinglayer in order to
draw thick-thin double line types correctly.  Also change handling of border
lines in writer tables. There are still some outstanding issues but it's
much better than how it was before.

Also realized that Word and Excel handle simple thin double lines differently;
Word varies widths of all of the lines and the gap whereas Excel only has one
fixed size for its double line.  For this reason I decided to add a separate
double line type (DOUBLE_THIN) to handle Excel's double line.

Change-Id: Iaaa353b6e4f998b524262bea59260b4333e0cdb4
2014-03-04 22:02:37 -05:00
d0d1534b6b Remove visual noise from drawinglayer
Change-Id: Ida745b9d994d09081ad3d18cdf2494a97438dc56
Reviewed-on: https://gerrit.libreoffice.org/8253
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2014-02-27 07:10:49 -06:00
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
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
e8f8f24c84 vcl: sal_Bool -> bool
Change-Id: I2a3e3d3e3266ea0f0fafdd91362076a4aa160f0e
2014-02-21 12:53:51 +01:00
a18a1a4545 Remove vcl/settings.hxx from vcl/svapp.hxx and vcl/outdev.hxx
Added vcl/settings.hxx to all cxx files which require it.
This helps to speed up compilation after changes to the settings.

Conflicts:
	sc/source/ui/dbgui/pvlaydlg.cxx

Change-Id: I211a0735c47f72d6879f6f15339355abfe0e3cf4
Reviewed-on: https://gerrit.libreoffice.org/7933
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-20 16:22:17 +00:00
b540f91728 fix crash on ios 2014-02-14 16:27:57 -08:00
45befb3685 "stati" considered both pretentious and incorrect Latin
As one knows, the Latin plural of the noun status is statūs.

Change-Id: I6b19c57aa2aedcc1337736becc93d8802fe03f2e
2014-01-30 14:04:29 +01:00
0583c889c3 sd/qa: Remove InteropGrabBag property from XML dumps
The InteropGrabBag property adds a lot of noise to this tests and it
doesn't actually have any purpose, because we are building their own
tests for InteropGrabBag-supported document attributes.

We have removed this property by default but we left a flag to enable
it when it's convenient for debugging.

Change-Id: I97cc7ba171783222a57ab5a96e5755070b949505
2014-01-28 10:36:11 +01:00
fb0cce507f Resolves: #i123950# unified and redefined CropPrimitive2D::get2DDecomposition
(cherry picked from commit 08d42c4da0a3f6dc105080102c1b1de4bce987a1)

Change-Id: I2d5f52de8e9fa595012a953affbaba9d54f4f2a9
2014-01-23 14:10:59 +00:00
d17c9ee705 fdo#73886: Let's keep the "left" border outer and "right" inner.
This reduces the complexity a bit.

Change-Id: Ieefb57be86e5b66f319920fa61c88d0027c38164
2014-01-22 11:40:20 -05:00
d19de47c2d fdo#73886: Check the right width in case the left width is zero.
Change-Id: I6a0b1dd7382f1d3c7266ba56dbfdc557737380c2
2014-01-22 09:03:08 -05:00
ce6b20442a bool improvements
Change-Id: I703c854efd0e3456bfdc2e9ec527283a04bd31aa
2014-01-21 18:24:06 +01:00
15974abe63 fdo#73487: Center thick border lines around cell grid.
This reduces the amount of gap at line joins. Plus it generally looks better
this way.

Change-Id: Ifd21cd0bc1f61f8a875b1bad9cfb33564c18b9ae
2014-01-20 18:39:54 -05:00
4b2b4133c2 Handle double lines for screen rendering.
Double lines are always drawn as 2 parallel hair lines that are 1 pixel
apart, at any zoom level.

Change-Id: I2796477d0ea45c9880aa8057bd1a10104df96673
2014-01-20 14:37:04 -05:00
01104522ef Ensure that the pixel line is at least 1 pixel wide.
Without this, some dashed lines may not get drawn at all at some zoom levels.

Change-Id: I273c1548325d14f56618df8ca4166aac58a3ff3f
2014-01-20 14:37:04 -05:00
41bee5b831 Do the same when the pixel thickness is zero.
Change-Id: Icfbb295abb19cf58477f4f14f4a7294a540151c2
2014-01-20 14:37:03 -05:00
30f97564f8 Substitute dashed line with a solid line at lower zoom levels.
Change-Id: I0437409b6a5d6163fadf777df5c028950727e786
2014-01-20 14:37:03 -05:00
ae22838d2f Better on-screen drawing of vertical dashed lines.
Change-Id: I53d5f8b0278d1228cd941221a07cd360943c5ce6
2014-01-20 14:37:03 -05:00
b3b57c7a3a Same solid line treatment for vertical lines during on-screen drawing.
Change-Id: Idb352dc2afeb2ee7b48620c972c2a186209228ea
2014-01-20 14:37:02 -05:00
ec1a3157c1 Better pixelization of dashed lines for screen rendering.
Now the dashed lines are evenly placed on screen.  For now, horizontal lines
only.  I'll work on vertical lines later.

Change-Id: I474e9c8214e5f079ea2cfca12b35381d8fcf2ae1
2014-01-20 14:37:02 -05:00
6a3fb868b2 Draw horizontal solid border lines directly in the pixel processor.
This makes slightly skinnier solid lines which look better on screen.

Change-Id: Ia7764be4a53d1dd6bb60ecb3ba5c8966403e4e6c
2014-01-20 14:37:01 -05:00
849482c0ea -Werror,-Wunused-variable
Change-Id: I39d15f863f4e1fd585b03bfc5f8854fb66af3b4c
2014-01-18 00:37:49 +01:00
225509026f Double line looks a bit too apart.
Change-Id: I14676b6e8282a76d0be9dc0cc78e01837726e494
2014-01-17 11:33:16 -05:00
5489b897bf Distance value has been already scaled; no need to apply scaling twice.
Change-Id: Id3ffc253dbd50fd23e924b4e1a349ab5c2c8518b
2014-01-17 11:33:15 -05:00
0a8ddb61b1 Apply dashing without consulting current map unit.
Using scaling is sufficient.

Change-Id: If976bec3940772432d814a77681170d7c99306d2
2014-01-17 11:33:15 -05:00
5250a9ae8e Use this pattern scale to scale things for better line pattern generation.
This works much better across different output devices.

Change-Id: Ie89e7284d9063f98fc5a31c505b64f8ce99a7ce1
2014-01-17 11:33:15 -05:00
f2ff3b1054 Pass scaling to borderline primitive objects.
This will be used when generating line patterns.

Change-Id: I2fa0298bd3e34df1cb304d9be41e471835484d83
2014-01-17 11:33:14 -05:00
e128bf2aef Draw double lined table border somewhat more pleasantly.
Still a scaling issue remains when printed.

Change-Id: I4aab8b976fefc6fd9fc5c08da8173de1326b9a4c
2014-01-17 11:33:14 -05:00
7b708d3006 Always disable anti-aliasing when drawing table borders.
Change-Id: Idede8220ac36c5bd4a88ceda33a99333f7b9fe90
2014-01-17 11:33:13 -05:00
3136b39e0d Use hairlines judiciously to draw very thin patterned strokes correctly.
This prevents some dashed or dotted lines from being skipped when printing
or in print preview.

Change-Id: I9d0a8ae743241d17d65935f4bf0d122e4313bff8
2014-01-17 11:33:12 -05:00
2c702a31f0 Fixed comment.
Change-Id: I48d8ed8e218508f4f2d8f377fa9052ba02e61f37
2014-01-17 11:33:11 -05:00
c8e9038b13 fdo#72530: drawinglayer: fix PDF export of lossless picture
Don't pass empty Rectangle to PDFExtOutDevData::EndGroup(), it will
result in early return from PDFWriterImpl::drawJPGBitmap() and no
picture in the PDF.  Passing in the same Rectangle for the 3rd and 4th
parameter will avoid cropping in PDFExtOutDevData.

(regression from 677df250becd5cde71c6310f647e78ac3763347e)

Change-Id: Icf110fe3e635319419fcacc7bc684c792a34d6ad
2014-01-17 15:19:32 +01:00
a5351434fb fix rendering issues in iOS with aqua 2014-01-16 12:55:57 -08:00
c648d08720 convert SvStream::operator<< overloads to more explicit methods
This is in preparation for more conversion of SvStream::operator<< calls
to use more explicit method names.
This converts the subclasses that have their own convenience overloads
of operator<< to use normal methods.

Change-Id: I5efd5d9a24c264cb86d2471303dd5849bf91ba80
2014-01-16 16:08:34 +01:00
deecab601a longparas: xub_StrLen->sal_Int32
Change-Id: I171caa791e1d2a0baa4444a460a7f20ad5428571
2014-01-13 10:04:18 +00:00
70863f08d8 Use bool
Change-Id: I2d06ae03650b318a1318d0e2b026352e22404fdd
2014-01-10 17:52:55 +01:00
01541c21b6 Resolves: #i124002# use own logical size for graphics...
do not adapt PrefSize of these in rendering stack

(cherry picked from commit b57f921795c7249d82ca739884c0116574426194)

Conflicts:
	drawinglayer/source/attribute/sdrfillgraphicattribute.cxx

Change-Id: I3eff4438a42209ad4c259dfdbed4869ae046bfc6
2014-01-09 17:02:43 +00:00
249107f62c Typos
Change-Id: I27ada8b5154968e521d9e67f21473aa85776e70e
2013-12-23 07:59:24 +01:00
b55259eeb5 typo fixes
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-12-20 15:55:00 +01:00
a78f683b1e fdo#72260: guard against duplicate "name" attribute
Change-Id: I1ee4b82e04318a50db8bb54bd5c7e00c79177d37
Reviewed-on: https://gerrit.libreoffice.org/6984
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2013-12-08 07:35:11 +00:00
a9562d5e3c XShapeDumper: empty name should not be dumped
Change-Id: Ic1ab8840c9e543cebf322de922b01739684789ad
2013-12-08 14:18:56 +07:00
4c57554ff1 add vim modelines for drawinglayer/source/dumper/* 2013-12-08 14:18:53 +07:00
2241fd5302 remove unnecessary RTL_CONSTASCII_STRINGPARAM in OString::equalsIgnoreAsciiL
Convert code like:
    aStr.equalsIgnoreAsciiCaseL(RTL_CONSTASCII_STRINGPARAM("XGRAD_SEQ_BEGIN"))
to:
    aStr.equalsIgnoreAsciiCase("XGRAD_SEQ_BEGIN")
which compiles down to the same code.

Change-Id: Ia69289d853d292b2f27b68863cb6f6ecdbf1a71e
2013-11-22 08:07:18 +02:00
fa2498cb3e Typo
Change-Id: I4cbaf4b51a3e6a0029c81c8242ae03857a42ddc1
2013-11-21 18:12:01 +01:00