Age | Commit message (Collapse) | Author |
|
followup to commit 57c228803e55ed343c6693de7d0857ad7d3cd9e3
Change-Id: Iebfb23bb65e2bf898bf27f367cc9641f47a14cf3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167998
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
|
|
Up to now that genereal buffering mechanism used
typeid.*hash_code to identify the class. As we
have learned this is not safe. Thus I changed it
to use enum'ed SystemDependentDataType definitions
Change-Id: I803912ec419290db1d40bae0bc41364fad64cbfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170385
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: I126fbbee916fd515a7057e3793f239e6f69748fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167835
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
C:/lo/core/vcl/win/gdi/salprn.cxx(180): error C2220: the following warning is treated as an error
C:\lo\core\vcl\win\gdi\salprn.cxx(172): warning C6011: Dereferencing NULL pointer 'pWinInfo4'. : Lines: 160, 161, 162, 163, 164, 166, 167, 169, 171, 172
Change-Id: Id20f4bc308259a706cc55fc8331a5119b2172a14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167807
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
VclProcessor2D::RenderTextSimpleOrDecoratedPortionPrimitive2D does the
scaling, taking into account the font scaling. Before commit
8557ea84c9336ba8061246f1f46ddb6e02f413a1, D2DWriteTextOutRenderer was
doing own scaling in addition, but it seems that it somehow didn't
affect the result much. The said commit removed the scalng from
D2DWriteTextOutRenderer. As tdf#160901 demonstrated, the scaling is
necessary in different code paths - and it turns out, that we need to
know, if the caller does its own scaling or not, to make a decision,
if the scaling should be fone in D2DWriteTextOutRenderer.
This hack passes this from VclProcessor2D to D2DWriteTextOutRenderer
through OutputDevice. Thanks to Miklos for the isea. I still don't
understand, why all this seemingly doesn't affect other renderers.
Change-Id: I001036f4574898b8e7606652525638df43c35240
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167786
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I85aa6c2f100823d1d39e24ab3ffcb0c44f66354e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167519
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I95441e62c33bdc5c22dad2fc25a072d9ce93e4d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167514
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
It turns out, that the horizontal scale is needed in the applied transform.
Change-Id: Ic07e015f0ddeee3d66653b683d83435d04b9ab81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167004
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This avoids premature rounding in TextLayouterDevice::getTextBoundRect.
The box in D2DWriteTextOutRenderer::performRender needs to be expanded
to allow room for the line width (which now will be guaranteed on all
sides; previously, the rounding could happen to give no room on some
side, even prior to commit 8962141a12c966b2d891829925e6203bf8d51852).
Fixes some lines partially cut off in smaller text (or zoomed out).
Change-Id: I07335136021f894cf045363b4d736bfab06c64d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166236
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
And use it when assigning to tools::Long
Change-Id: I0814d7bac9cdd48191ba69c64e3b12a4973b3417
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166071
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... and simplify the related code.
Change-Id: Idaef7c9d725273e202948158e45ded7e7a2f85a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165985
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ifde2c24c222e3c316f5a4f47e86c2c08f676639a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165983
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
KB305290 (broken link https://support.microsoft.com/en-us/help/305290)
was for these long-unsupported systems.
Change-Id: Ie2e3814d24ceb5d014c0bff1a39b3d6675e3603c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165981
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
... and drop it, since it's unused now.
Unkike with Skia, where the ratio produces a visible effect, in
DirectWrite the effect seems cancelled by transformations. Yet,
it produced computational instability, noticable in small vertical
text.
Change-Id: I2f3b20913075d1338dc75c5a04c9cc0ef29c75ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165877
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Idb10d594829eeffd9b37e5ae971283b2a9730168
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165475
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I77509caf437c02792c34385cdf115f2c2a673754
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165474
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ie987bce2bb25232d54a4a83631c609ad6dba7213
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165467
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
ScanlineFormat enum is used to indicate 2 things - scanline format
type and scanline direction (TopDown or BottomUp). This makes it
complex to manipulate with (using bit arithmetics) and hard to use
in general for no benefit, so this commit separates direction out
from the ScanlineFormat into ScanlineDirection enum. ScanlineFormat
is now just a simple enum class (not a bit field).
Change-Id: Iad55d0a4c8c07b71221c2facf7cf6a2d518fec0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163943
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
... after commit 8b191a6566065438417665af32fa30f8346ad4df and commit
ff23937c34d8d6a0870bb326a52192535f7b4810 collided.
Change-Id: If7001d7a3231041f77856fc6c1914c33c430197b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163828
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Saves the paper tray id as w:paperSrc w:first and w:other in docx
and \binfsxn and \binsxn in RTF
Change-Id: I79004f54aba3b6609d7921afacf815726f7f2678
Change-Id: Ie3c11fffa6a133250b7db69b4e845bccaa8e2280
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163654
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Discovered by https://gerrit.libreoffice.org/c/core/+/163717
Like these:
C:/lo/core/oox/source/export/shapes.cxx(2411): warning C4459: declaration of 'XML_line' hides global declaration
Change-Id: I74738753254ad1c468025d25bfb0bfe21787180f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163779
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Imports \binfsxn and \binsxn from RTF and
w:paperSrc from docx files and applies paper tray to the page style
if the printer supports the imported tray value.
Works only on Windows.
Change-Id: Ie1170c58f7114f0dbf6bdd2721d4e077886cbe16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162236
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
The issue is that the flag RegisteredAtPool
at the SfxPoolItem is Pool-dependent: It marks that
the Item is registeres at *one* Pool/Model. This
makes it Pool-dependent. Due to this there is no way
to share Items that need to be registered globally/
in multiple Pools/Models what is one of the goals
for optimal sharing.
We can also not live without having access to all
Items associated with the Pool, due to mechanisms
in place like the Surrogate stuff.
This again is used for two purposes:
(1) Access all Items associated with one Pool/Model,
at least that is the assumption. This is not valid
since it gets corrupted with a single ItemSet/Holder
used that does not host model data, e.g. an open
Dialog or the Sidebar (or...). But works in
principle.
(2) Access extra-Items that are held nowhere and
are created using DirectPutItemInPool, e.g. infos
for a Dialog. These would need a instance/place to
host them, the Pool is (ab)used for that.
Both are 'compromizes' (to not use a more bad word)
and should not exist. (1) should iterate over the
Model and do actions. There are even places that
use (1) to *change* Items, by casting them to
non-const, even RefCounted ones, so having no control
over what all might be changed doing so. Since we
talk about ca. 100+ places there is no way to get
away from this - I can imagine how this happened:
The 'poolable' attr traditionally needed for the old
binary format was one day 'used' to not need to
iterate over the Model, an API was added to access
and this usage was copied. Sigh..
It is even used when ODF is loaded: E.g. the
FillStyle is imported from XML, interpreted, and
put into an ItemSet. Then it gets set at the
XShape using UNO API and a *name* -> that name and
the Surrogate mechanism is used to find and set the
FillStyle at the Model Object. The FillStyle could
probably just be set using UNO API and the data
directly.
The association between Model/Pool and Item is
created by the object hosting the Item, these are
ItemSets and ItemHolders. Thus it is possible to
register these at the Pool. This allows to iterate
and collect the Items associated with the Pool
and keep the Surrogate mechanism alive.
This is the main change done here. It limits
the registrations to Items for which (at the Pool)
the NeedsPoolRegistration is set, also
Item-independent. Speed is okay, I saw no big
changes in my tests here. The registration is
just pointers, no ownership or RefCounting needed
here.
The advantage is that Items get closer to be
shared office-wide, they can be referenced by
multiple ItemSets (RefCnt) associated with
different Pools/Models.
NOTE: This is not true for SfxSetItems, these are
and will stay Pool-dependent due to their need
to a Pool in the contained ItemSet.
Note that we have ca. six deivations of SfxSetItem,
but ca. 500+ Item derivations, so not too bad.
For the usages of Surrogates to change existing,
RefCounted Items: These can now at least be
changed - if they show up to be problematic - to
iterate over the registered ItemSets and change
Items there the correct way: Set a changed one
at the ItemSet. That also allows Objects to
*react* on ItemChanges, there is no way to do
that with the existing 'compromize'...
UnitTests show that this already works well for
SC and SD, but SW has still some issues. I will
put this to gerrit now, but there will be
additional work.
A involved problem is the current DefaultItem
handling and the state the Pool implementation
is in. E.g. StaticDefaults are not really static,
Pools hard-delete the DefaultItems (forcing the
RefCnt to zero to not have the destructor
complain) and other quirks. Looking at that
right now, hoping to get this change done without
having to change that too much.
I thought about adapting PoolItemTest to this,
but it is only related to DirectPutItemInPool
which is mostly gone and hopefully completely
soon.
Nonetheless I adapted that mechanism to use a
list of SfxPoolItemHolder at the Pool. That makes
it safe and abandons the need for indirect
garbage collection removal at the Pool.
Change-Id: Ib47f21dafa989202930919eace5f7e9c5632ce96
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161896
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
In high contrast mode, persona color won't overwrite the menu highlight text color.
This commit fixes this aspect when using the High Contrast theme on Windows, mentioned in tdf#99116 comment 20:
> expanded top menu hover colour is correct but the white text does not invert to black (although this is not specific to the Start Center)
Change-Id: I1575226d966d60af93b5d64934c965f61b8f2d69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160058
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ic8a2bd941fa0f6b66e5ec386de5d15a38e6c75da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160899
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
instead of allocating on the heap, it is small
Change-Id: I79eec6605a04c09d9a984cd1a719affb5b06dff3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160195
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7a6ef85fae637c8359a96df1bd31d7e8f0b36512
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159369
Tested-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Introduces LevelBar that shares implementation with
Progress(Bar).
LevelBar is to be as a level indicator, e.g. password strength
level. Currently with native backends for gtk and Windows.
Currently, except on gtk - the colors of the bar at different
levels are hardcoded and not dependent on any kind of themeing.
On Windows it follows the styling of progress bar of type "Meter"
according to the uxguide:
https://learn.microsoft.com/en-us/windows/win32/uxguide/progress-bars#meters
Change-Id: Id772cda23615e9582463bf589e4674fd4588c864
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157826
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
|
|
For ImplJobSetup. Also, check memcmp mem size more properly
Change-Id: Idcf20bf1b51bc2508f3d37e018efd18e591a6099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/26648
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
since:
commit 4998de76ed1da4039e30718941d50d6f1dfe4f82
Date: Sun Jul 30 07:40:48 2023 +0000
tdf#156230: Drop freshly unused GenPspGfxBackend
Change-Id: I7fc2a068f807777ed392c5d58772d130bf7f51c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155076
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
since:
commit 4998de76ed1da4039e30718941d50d6f1dfe4f82
Date: Sun Jul 30 07:40:48 2023 +0000
tdf#156230: Drop freshly unused GenPspGfxBackend
Change-Id: I1adc30a60aec0c5aab9289e9c0505d1dbad10631
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155074
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
(Second attempt at landing this)
Image formats and graphics APIs use alpha, not transparency,
so change our internal formats and data structures to work directly
with alpha, so we don't need to modify data before we push it to
graphics APIs.
Add a couple of new Color constants to make the intention
of the vcl code clearer.
Notes
(*) On macOS, tweaking the logic in CreateWithSalBitmapAndMask
to more accurately reflect the requirements of the
CGImageCreateWithMask function seems to fix some
tests.
(*) The vcl code does not properly support gradients
with transparency. So the previous code was wrong, and this
change is going to result in slightly different wrongness.
Change-Id: I9e21c2e98d88ecfdc5f75db13bd1ffff7c38db98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114168
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It has been always typedef'd to basegfx::B2DPoint since:
commit 5e218b5c51f7d9cd10bd9db832879efca41b9c75
Date: Wed Jan 12 21:19:32 2022 +0000
always use B2DPoint for DevicePoint
Change-Id: I9f5202d5a71c77dd79f1759923917c26bf68a9af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154632
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Change-Id: I8698d0f74889ac8a7de64a97e8cf0e8878ef7fc4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154517
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
For consistent cross-platform results that also matches our glyph
advances since platform functions might be using hints which we don’t
use.
Change-Id: I4aebd3e7c5f460dff584f5eba74f7a11bab0f9b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154388
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Unsed since:
commit 7cb3e475f2fb0162c7290414509de4fb8fe57e30
Author: Jan-Marek Glogowski <glogow@fbihome.de>
Date: Thu Sep 6 14:04:25 2018 +0200
WIN add SalGraphics* to WinFontInstance
Change-Id: I7d14f2efce04c919cffee612b09833810ff3f78b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154240
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Change-Id: I5485817b5a6c2e9538ed6fb00893663d09e7fa26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153869
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Change-Id: I0f8753a5ef1865f4ea0431125e74d0f52aa1c396
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153868
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
has not revealed anything interesting on jenkins
Change-Id: I15ebabc171dbb38f440ec607ea05be9b807bdea8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153648
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5da4bb1765f91d1f9d78e27221d243d5c2ef92e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149076
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
Change-Id: Ic44ff2f812fd74ae2cb1467ca0d420317b63a445
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150480
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Icc24e0aaf1762e5b318b8364dd9fdb496edfb77c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150279
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib6e5131bff38b55b2dbf0805b63ca3554c5ee349
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150278
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
it is only one pointer big
Change-Id: I7c8c99c4dad4289e2f073d73e8b3703ee5c8e64e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148090
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: If0a2032bede27af3176951dabaab4a165efb144d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146738
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Iafb6182e05dc65d20d0809476ee58908f7426d39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146597
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I9c53b931feb7f720f86edfbb6ae88ff5ee436cef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146386
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Using "CFD" gives a brighter border with rollover, but no notable
focus state when focused. Try a combination here to get something
decent.
Change-Id: If7844cb0f1e88410959aa622b0271c3f3954230e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146384
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I40cb4dc4ce1fd3caa2464f92803124c3d2107afb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145433
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I8d8bd368d9d1ee38dac96dd369484ec74ce4835a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145414
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|