Age | Commit message (Collapse) | Author |
|
This change provides 1st changes to get Gradients with
muti color stops imported from MSO in the oox import
filter. It supports currently multiple ColorStops and
transparency. Also 'border'(s) should work, but
-remember- this is work in progress.
Since it is work in progress it is currently and
temporaily secured by ENV VAR "MCGR_TEST=0", so when
not using this the master version will not be touched
at all.
The number defines various ColorStop tests, 0 for none,
but some changes are active, e.g. MSO import. You may
try 1 or 16 to see all your Gradients hard replaced by
something using that feature.
I will take care fo cleaning this up again when the
feature progresses/gets complete.
Change-Id: I92e10d8cd5150733741a6def20a542abf97bd903
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149682
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I9fba920c60690f136cae956dae17e2f5e5081f19
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149839
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Instead of (ab)using SdrObjKind::NONE for the temporary, empty
SdrObject instance in writer when creating a new frame, use a new
SdrObjKind::NewFrame kind for the object and use a empty SdrObject
instance EmptyObject - minimal implementation of SdrObject).
Change-Id: I0277a8f0cf7bfd428e106258ae8710b77e62c41b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149924
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I18ab490074051831dd31b3953308e372ca2b469f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149904
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Rather than using it's superclass XWindowPeer and implicitly relying on it being XVclWindowPeer and casting it everywhere.
Change-Id: Icfb46f3b920d00f4a167a31803a71bbb0368d05c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149894
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9d0fe4ab878c9d3a4a6d842be5cd534b97bf77a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149822
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
(cherry picked from commit 48650acef94147c2100eade8c583fddc770b94ef)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149876
Tested-by: Jenkins
|
|
they should deal in terms of the fast property IDS, they should not need
to override setPropertyValueImpl, so just remove this, and standardise
on the subclasses overriding setFastPropertyValueImpl
Change-Id: I190955ccc4ae3e07dd481a1044f3c074dd1a40aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149836
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which does exactly the same thing as the method it overrides
Change-Id: Ib227011795f0cf6336fb1e01c14636a9996bb164
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149835
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia745a0d7568cf8f9180ed2e28cfd11da94cd186a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149834
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
when applying my upcoming patch to also consider O[U]StringBuffer
Change-Id: I8cf6a47ad357ddc73e2c430d966be72d5efd1485
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149767
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I6c9eef0a2167f738cdab8171d082becfca401d25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149740
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir@collabora.com>
|
|
Change-Id: Ia9ae20b8c73ddd762424c99eedbaf145fed81935
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148142
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Since commit 22b50f1937de67e4ad9e692d6964aa5b8d33af7a (use libtiff for
tiff import, 2022-05-21), transparent TIFs are imported correctly.
As the result, reqif export started to output the transparent TIF
images as GIFs, because XOutFlags::UseGifIfSensible handles case of
transparency, and XOutFlags::UseNativeIfPossible didn't handle TIF.
Additionally, the resulting mediatype was reported incorrectly:
<reqif-xhtml:object data="[...].gif" type="image/tiff" ... >
1. Handle TIFs in XOutBitmap::WriteGraphic when XOutFlags::UseNativeIfPossible
is specified.
2. Return the corrected mediatype from XOutBitmap::WriteGraphic,
to inform the caller about the possible change.
3. Remove the XOutFlags::UseGifIfSensible flag when doing the
reqif export, to avoid the format change at all.
Change-Id: I99f7cfb8d12ef66d372700ec810bd8b269868ffd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149744
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Similar to commit f20162304d73bc01955e9ef6506c3bd1c7016c48
(Rule out OString(std::nullptr_t), 2015-07-12); after that,
OUString was changed to have only one ctor taking pointer
in LIBO_INTERNAL_ONLY case, so became a similar issue.
Change-Id: Iac851d1c24c0616ee52a112b81ba71877c28c493
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149696
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
"VCL expect
... correct frame size for native menubars"
This reverts
commit afc828b9833b7a612369e95606ba56d41ef2c369
Date: Sat May 28 23:47:21 2022 +0200
VCL expect correct frame size for native menubars
... and renove the wrong framesize hack in the Qt backend
because it caused several regressions and unfortunately
the commit also doesn't fix all of the bugs mentioned
in its commit message (while some previous patch sets of the
change did address more, yet had other issues, s.a. the discussion
in the commit's Gerrit change [1]).
While e.g. the drag and drop issues reported in tdf#153458
and tdf#153800 could be fixed by translating the event position
using `mapToParent()` (as is done in
`QtWidget::fillSalAbstractMouseEvent` with the above commit
in place), I currently don't see how to address the other
issues and the overall direction of the change is not fully
clear to me at this point. (There are also other pending changes
in the relation change still pending in Gerrit that would presumably
need more work/analysis.)
After all, it seems the best way forward to revert the
commit for now.
This also reverts the follow-up commit
commit 25da92004038c03c0feedf373e8038e7ee3e0c37
Date: Thu Jul 21 11:33:02 2022 +0200
Make JunitTest_toolkit_unoapi_1 succeed again on macOS
that fixed a test failure introduced by the above commit.
Luckily, there seem to be no follow-up commits that
depend on this and the commits can be reverted cleanly
without the need to resolve any conflicts manually.
This reverts commit 25da92004038c03c0feedf373e8038e7ee3e0c37.
This reverts commit afc828b9833b7a612369e95606ba56d41ef2c369.
[1] https://gerrit.libreoffice.org/c/core/+/135082
Change-Id: I4c099ad7de8cbbad10da391ede4770d8c748fbde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149495
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This patch reverts the previously added "LibreOffice Dark" application color set and adds it to the automatic colors. Switching between light and dark changes the Automatic color accordingly instead switching to another color scheme. The added System Theme option makes Light/Dark follow the actual OS appearance.
Reverts 6dfc49bb6a72bf6bb79167b12f0d2d0c5a155d06 (Introduce dark color set),
546ad5d17d3e363b75337c336cfb2b2f8acc55e3 (color scheme translatable),
9f0cf00d29298ed55737928ec4dddc50ac850cd8 (Update view options string based on theme)
Change-Id: Ibf491f2e510fac5f1d27a7166560c4ec281d98d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149059
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
...after 58dd5870a77344754ea459d8423d1b3787a6a813 "Avoid dangling references to
temporary O[U]StringConcatMarker instances" caused e.g.
> In file included from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/string.hxx:49,
> from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/ustring.hxx:43,
> from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/osl/module.hxx:31,
> from /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/sal/osl/all/loadmodulerelative.cxx:26:
> /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/stringconcat.hxx:468:8: error: partial specialization ‘struct rtl::StringConcat<C, rtl::StringConcatMarker<C>, T2, Dummy>’ is not more specialized than [-fpermissive]
> 468 | struct StringConcat<C, StringConcatMarker<C>, T2, Dummy>
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_callgrind_linux/include/rtl/stringconcat.hxx:190:8: note: primary template ‘template<class C, class T1, class T2, typename std::enable_if<(allowStringConcat<C, T1> && allowStringConcat<C, T2>), int>::type <anonymous> > struct rtl::StringConcat’
> 190 | struct StringConcat
> | ^~~~~~~~~~~~
(<https://ci.libreoffice.org/job/lo_callgrind_linux/13174/>) with GCC 11.02.
(But what fixes it for recent versions of GCC would start to fail with
> In file included from sal/osl/all/loadmodulerelative.cxx:26:
> In file included from include/osl/module.hxx:31:
> In file included from include/rtl/ustring.hxx:43:
> In file included from include/rtl/string.hxx:49:
> include/rtl/stringconcat.hxx:468:8: error: non-type template argument specializes a template parameter with dependent type 'std::enable_if_t<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int>' (aka 'typename enable_if<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int>::type')
> struct StringConcat<C, StringConcatMarker<C>, T2>
> ^
> include/rtl/stringconcat.hxx:189:125: note: template parameter is declared here
> template <typename C, typename T1, typename T2, std::enable_if_t<allowStringConcat<C, T1> && allowStringConcat<C, T2>, int> = 0 >
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
for e.g. Clang 17 trunk.)
Change-Id: I6110d5a2813b561748654065e76bb4b6ab2f82d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149644
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Replace boilerplate with something that actually helps remembering which
one is which.
Change-Id: Ia74b69d756cd31006b6f56726aeb37dc86880238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149636
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I907d234b20be5e3c7bee0d44407f1bf4c4b49f05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149175
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
|
|
...which were created in O[U]String::Concat and bound to O[U]StringConcat::left.
Thanks to Mike Kaganski for finding this.
Change-Id: Id7838bc55eec7cba8860c2ec21a247bf4abd3c62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149629
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
... SvXMLAutoStylePoolP and SvXMLNamespaceMap
See tdf#94879 for motivation.
Change-Id: I306ceadd6d3753b76188fed3707b4df63c10bb8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149621
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 3
A form field whose hidden flag is not set and whose rectangle is not outside the crop-box shall have a TU key present or all its Widget annotations shall have alternative descriptions (in the form of an Alt entry in the enclosing structure elements)
Form controls are weird because they have an SdrObject with the usual
name/title/description plus a property "HelpText" on the control itself
which is already exported as "/TU" on the /Annot unless it's empty.
Exporting the SdrObject properties via ObjectInfoPrimitive2D doesn't
work as tragically that is only created for form controls when painting
to the screen while PDF export takes a detour that needs special
handling.
Change-Id: Id96f7dd13f190ab439c099cd1f4acb70c1c9fdc9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149554
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The auto-fit algorithm has been tweaked to be more in-line with
the expectations of OOXML. This means a couple of changes to what
properties are scaled by the algorithm have been made:
- most properties that influence the X axis position or size (for
example indent) are not scaled down or changed by scaling.
- properties that influence y axis position and size are scaled
by a separate parameter (like in the OOXML). This is used in the
auto-fit algorithm in a different way.
- if line spacing is proportional, it is now scaled with the
spacing parameter. Fixed line spacing doesn't get scaled.
- the main scaling X,Y parameter only scales the fonts.
- trying hard to scale the fonts to the nearest pt (point) value
With this change the scaling is much more stable than it was
before - for example it doesn't matter what the unscaled font
size is, when it is scaled down to the text box size, it (should)
always look the same (for example scaling from 32pt -> 10pt or
64pt -> 10pt or even 999pt -> 10pt).
The algorithm is also rewritten to be better at finding a fit and
is also better at find a good fit, but it can take more iterations
by doing so (there are ways to improve it however). Previous
algorithm used a linear search to converge to the best fit in less
iterations, but the issue with that was that it could in some cases
miss a solution (especially since change to floating point scaling
parameter). The new algorithm now uses a binary search - always
trying the middle of the search space.
OOXML export and import was also changed to take advantage of the
font scaling and spacing scaling parameters. The additional
scaling at export that was needed to have consistent OOXML support
was removed.
Change-Id: I8f3bb8d43a01931f18bd7ffdf8e0ba40caa73d8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149207
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Similar to commit f3ffdc1a5fe965016550f20ada405ef638bf5f75
(Introduce non-static query() and queryThrow() to css::uno::Reference,
2023-03-23), this adds a syntactic sugar for css::uno::Reference ctors:
css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(anAny, css::uno::UNO_QUERY);
would become
auto xSomeInterface(anAny.query<css::SomeNamespace::SomeInterface>());
and
css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(anAny, css::uno::UNO_QUERY_THROW);
would become
auto xSomeInterface(anAny.queryThrow<css::SomeNamespace::SomeInterface>());
Change-Id: I06f8d97fe200a7dd03ecc965a431eb54b10a3c91
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149549
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I6af7a8933662dc5b8585c14d1cb66e2aad883252
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149444
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
in favor of sidebar deck
Change-Id: I2daf34edbe71341ebc44ca9b966c97f8e494d583
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149433
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Change-Id: I5234aca76153e1a781b7df1d3fbea8bb856af921
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149430
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
to better distinguish it from nAnimCount
Change-Id: I2fc5912964e8d48a991dfe0d755e5ce27d9e0905
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149458
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
To do this, I re-organized FillGradientPrimitive2D and
how it creates it's decompose. This provides the needed
tooling to also do a more direct rendering in primitive
processors if needed.
The decompose no longer collects the matrices & colors
as a 1st step in a helper data struecture (so I removed
B2DHomMatrixAndBColor). It now uses a lambda function
callback that hands over the matrix & color for each
created step, so you can process it directly, in this
case to create the needed primitives.
NOTE: The decompositions are both tested. There was
createNonOverlappingFill, but also createOverlappingFill
that I am not sure is still used - and if in re-creating
an old, strange XOR-using gradient paint mechanism in
old metafiles (encapsulated with gradient info anyways),
but I converted that and made sure it works.
To do so I forced it to be used in paint. This is not
really usable in paint since we need to paint using AA
(else we would get staircase effects, esp. in new 'hard'
color changes in multi-color gradients) and - as should
be known - same edges painted in AA do *not* add up to
full opacity, but leave behind awful 'jaggies' (e.g.
opacity 0.5 and 0.5 create 0.75 and *not* 1.0). Still
important to have the working geometry creation for this
case.
This already makes the decompose faster, but the main
purpose is to use it as tooling for painting in own
primitive renderers.
Thus processFillGradientPrimitive2D now uses that
instead of using the decomposition by default.
This avoids one level of primitive creation, use
that new FillGradientPrimitive2D tooling to directly
create needed geoemtry & color for getting better
performance (to partially compensate for potentially
more expensive multi color gradients). It then paints
directly using OutputDevice calls.
NOTE: This can also be used in SDPRs as a 1st step
to just directly and rapidly render filled single-
color polygons, but of course there an implementation
using the back-transformations (which are also
adapted for MCGRs aleady and work) will be superior.
Change-Id: I5079f76d6d8fe86007a098614c276447f2bfebce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149456
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
As a syntactic sugar for the respective ctors:
css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(xAnotherInterface, css::uno::UNO_QUERY);
would become
auto xSomeInterface(xAnotherInterface.query<css::SomeNamespace::SomeInterface>());
and
css::uno::Reference<css::SomeNamespace::SomeInterface> xSomeInterface(xAnotherInterface, css::uno::UNO_QUERY_THROW);
would become
auto xSomeInterface(xAnotherInterface.queryThrow<css::SomeNamespace::SomeInterface>());
Change-Id: Ic42da364562b702cd468cc708fbda70394c4f2a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149368
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I734697f52df14ca5b316481df8a58fef72ab9571
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149254
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I90bc7cf4239f08efbc7239928c34ccdbec20cb2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147575
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Also simplified using the test cases, these now depend on
an ENV VAR called MCGR_TEST. Fallback is no test. For
seeing a multi-color gradient use 1, for Case16 use 16.
If active, all gradients are replaced with the one active
for the test, 2D and 3D. This is temporary but also for
pro build to check for speed there.
Change-Id: I90f3c7e59d9d0a3e070a849af3f9ea1c9e5462a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149316
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
veraPDF complains:
Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 1
An annotation, excluding annotations of subtype Widget, Popup or
Link, shall be nested within an Annot tag
This is very similar to Link annotations, that is to say, extremely
complicated to get it thought the convoluted PDF export code, with
additional complication that the StructElem is produced by drawinglayer
and the page annotation by sw.
Put another map into PDFExtOutDevData where sw code puts stuff for the
SdrObject that drawinglayer can find.
The test had the problem that PDFObjectParser::parse() could not handle:
<</Nums[
0 [ 6 0 R ]
1 6 0 R
]>>
Fix dropping the "1".
Change-Id: If5bf7c552e26ebb7e631030b8aaecd4281e77acc
(cherry picked from commit c78e90bd28cc4d6d3bde473535107784b12d9c0d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149008
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Introduces model::FormatScheme as an member of model::Theme, which
is used in the theme import.
As an first step it imports FillStyleList, but only SolidFill
and NoFill.
Change-Id: I14a75782ebabcf7ff69b0872752d411183653a47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147573
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I280158b101f39d107090a2eebb2c06e64591cb94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148852
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149231
Tested-by: Jenkins
|
|
Change-Id: I2af6072685e4c79cfe2f177c0aae27044f86d840
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149184
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
The biggest change here is to allow multiple ColorStops
with the same Offset. That allows to define gradients
with 'hard' color changes at any place using two
ColorStops with the same Offset and different Colors.
This required quite some adaptions, but works well.
Also removed in this context checking for all Colors
being the same to not mix up things. Also works well.
Also changed the need for having Start/EndColors AKA
ColorStops for 0.0 and 1.0 in place, instead 'imply'
the 1st ColorStop to also define the StartColor and
the last one the EndColor. This allows e.g. Gradient
definitions with two GradientStops at the same
Offset e.g. 0.5 with different colors to already
define a full Gradient.
Also added a tooling method to reverse ColorSteps,
which changes the order and mirrors the Offsets
(what even keeps an existing sort valid).
This is useful e.g. for GradientAxial which is the
only one where for decomposition the Gradient had
to be interpreted 'reverse' since it's defined
from center to edge, but for creating correct filled
polygons to represent this the inverse order had to
be used, creating polygons from edge to center.
This led to 'wild' code for this one of six cases
and prevented unifications with the other cases
(also made your brain flip).
Thus I adapted this now to use the reversed
ColorSteps consequently, and the same principle
loops than the other implementations to make things
easier for the future and to use common tooling.
Change-Id: If2943348d17d5b9cd165f4d78f22638a1dff5237
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149208
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I59489e4cf1e5fb492272108e3a19afb4212753f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148610
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149200
|
|
Change-Id: Id6d072e951efec4c1de7641c94017c82840fa50b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148609
Tested-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149190
Tested-by: Jenkins
|
|
7.18.6.2 Media clip data
In the media clip data dictionary, the optional CT and Alt keys
(ISO 32000-1:2008, 13.2.4.2, Table 274) are required.
Change-Id: I147f1677f1bd0788c2269735688d329db15c0ead
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149007
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: If93883ba9feb22e6da2d56af4ebb2f4eafe58de1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149162
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
... so that we can correctly read it and convert it a "'",
but when writing to HTML write out the "'" directly for now.
Fixes: https://bz.apache.org/ooo/show_bug.cgi?id=80657
Patch by: me
Cherry-picked from
https://github.com/apache/openoffice/commit/3304210c5c53f441cdb2c462fbbf6d8351380b01
"Add the "'" entity definition to our HTML parser, so that we can…"
Change-Id: I10d07af5f49d2432d99a79318d9d95b0bc976637
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149150
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Added tooling replaceStart/EndColor to allow simple
transition for code that does not immediately adapt
to multi color gradients. Also added
createColorStepsFromStartEndColor for the same
purpose.
Adapted XGradient to no longer have Start/EndColor
at all, but only use ColorSteps.
Adapted all usages of XGradient to no longer use
Get/Set/Start/EndColor, but access the ColorSteps
instead.
Replaced quite some XGradient constructors that
used XGradient() as Start/EndColor since this is
already the default.
Adapted ColorBlending to black AKA Start/EndIntens
in XGradient to work now on all ColorSteps in the
required linearly-scaled manner.
UNO API changes:
Added com::sun::star::awt::ColorStep as basic data
element that holds a pair of Offset and Color.
Added com::sun::star::awt::ColorStepSequence to
handle an array of sorted entries.
Added com::sun::star::awt::Gradient2 derived from
com::sun::star::awt::Gradient, extended by the
needed com::sun::star::awt::ColorStepSequence.
Added MID_GRADIENT_COLORSTEPSEQUENCE to UNO API
to provide access to ColorSteps directly.
Adapted XFillGradientItem::QueryValue/PutValue to
make use of new UNO API data structures. To do so,
added tooling methods for data transition:
- fillColorStepSequenceFromColorSteps
- fillGradient2FromXGradient
- fillColorStepsFromAny
- fillXGradientFromAny
and adapted
- case '0' (all data)
- MID_FILLGRADIENT
- MID_GRADIENT_COLORSTEPSEQUENCE
- MID_GRADIENT_START/ENDCOLOR
to make use of these.
Tested usage of these in the office.
Renamed from GradientStep to GradientStop after
discussions with members on the list to make this
closer related to other norms/definitions.
Also renamed classes and class members to better
reflect to GradientStop, so grepping/finding will
be easier (e.g. 'Color' just exists pretty often,
but 'StopColor' is more precise).
Changed the used UNO API class for reprsenting the
Color to better reflect to ranges [0.0 .. 1.0] and
usage of RGB.
Change-Id: I1eeb3e97e81d6785967615d1ff256551fc3b882d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148849
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I196e4539ad430a39415eff9d7170b33df7228230
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149062
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...(where destructors can be constexpr), making
21584b304b21bfe6b99b6f29018c6b754ea28fc0 "make OUString(OUStringLiteral)
constructor constexpr" and 983c1146ac80c038feae653e8e3752a72171d6cb "actually
make OString(OStringLiteral) constructor constexpr" actually useful and
eventually removing the need for O[U]StringConstExpr again
Change-Id: I55520c1d928758f61e92336206e0f14b6f12a711
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148978
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Refactory
Cause
Currency must be added in the MRU list in SvxCurrencyToolBoxControl::execute
method.
Unfortunately in this point the only information available is the number format.
It is not possibile to infer currency from number format (e.g: both USD and
AUD use symbol $).
Encapsulating currency data
In order to solve the problem currency data is enacpsulated in a SvxCurrencyData
struct. Added a vector of SvxCurrencyData to SvxCurrencyToolBoxControl.
Static and non static call
Former static SvxCurrencyToolBoxControl::GetCurrencySymbols has been
preserved, as it is called by SvxNumberFormatShell.
A new GetCurrencySymbols is used by the control.
To avoid code duplication, both functions call a static private function
inner_GetCurrencySymbols.
MRU Currencies
MRU currencies are stored in another member vector m_mru_curencies:
During currencies vector population (inner_GetCurrencySymbols) a space is reserved
on top of vector for mru currencies.
A new method addMruCurrency updates m_currencies. This method is called in
SvxCurrencyToolBoxControl::execute
Change-Id: I6f86179efd1839e31b089e0086b6ddbdda358f31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148896
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Update the view options string based on the theme when tiled rendering,
and make sure only the currently active view is updated
Change-Id: Ib24111848f2926fe7ae858ca2e18e946d980e83f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148943
Tested-by: Paris Oplopoios <parisoplop@gmail.com>
Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
|
|
Add an uno command that changes the theme to the one specified in the
first parameter
Change-Id: Ia0fef2ca698415e07f1943cf80ab667fb5c37238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148942
Tested-by: Jenkins
Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
|
|
e.g. in page style dialog, footnote page, line menubutton,
if theme changes from light<->dark while the dialog remains open
Change-Id: If8ca8b2cf9c4e4d620ce0ea1c92c50accbc8ebcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148981
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|