Age | Commit message (Collapse) | Author |
|
to make the ownership passing around more obvious
Change-Id: I147ec6d9cfe7566cf3600685e0730ed741c2d90d
Reviewed-on: https://gerrit.libreoffice.org/43454
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This drops the bPaintEnd optimization for vertical and horizontal
lines on Windows, where Polyline and LineTo exclude painting the
last pixel of the line. Instead we just always set the last pixel.
It also merges the various "SetPixel" call sites into a common
drawPixelImpl function.
Change-Id: I01cc3c01c908ba74f7978fa90eaaf8d88f923ae3
Reviewed-on: https://gerrit.libreoffice.org/43939
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I4382a45dcffb32c7c001ee722ac1deccb2b01c2d
|
|
In the same spirit as the Windows commit
7c52d86f7b05fe7e0178f6d98a12a531b88a32ff.
Change-Id: Ic45803c0715723b6f57c9f6a0c731edd559aa92c
Reviewed-on: https://gerrit.libreoffice.org/42932
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Merges the various SalUserEvent structs and their handling into
a single class. This includes a common SalFrame* hash map, as all
backends use such a map to verify alive SalFrames.
It also reverts the "FIXME: lousy workaround" for i#90083, which
was part of commit d6f7c94e5c27ba02ff5c3229760c9808cc9b5bea.
At least on my current OSX box application based window switching
"just works" "out of the box", even without the code.
Change-Id: I188b567e44fd79c162b2d9cabbd771d1f66c7dc4
Reviewed-on: https://gerrit.libreoffice.org/42845
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Idde44857f8ace883cc759321c71e2ca7a4359334
Reviewed-on: https://gerrit.libreoffice.org/42406
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I993ab0021d0a0bee8e78975bba180355d2bfb19c
|
|
Change-Id: I9d7de52b4a1ee102b233b982e97ecbf731b476f2
Reviewed-on: https://gerrit.libreoffice.org/40895
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I11183b7fd21d2398de9e5f5854763cef96963caa
Reviewed-on: https://gerrit.libreoffice.org/40845
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Icda66259acf54e6771b926ce9d329287bd610e82
|
|
Change-Id: I9496cafef840195e3934bf92600d4e8c8edb6c26
|
|
unless we are using std::nothrow
Change-Id: I3bdd13c8ce18f4e977f18ee5196311bf4fc62de0
Reviewed-on: https://gerrit.libreoffice.org/38998
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I3b50e45fdb99e9cd8bfda07356ee3ddb4dd0f8bb
Reviewed-on: https://gerrit.libreoffice.org/38905
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
|
|
Change-Id: I3fa363c8e76e6cfb297f4ec346e3f031c09d6fbf
Reviewed-on: https://gerrit.libreoffice.org/36727
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Mostly generated using
make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle"
Except some modules have their own foo::tools namespace, so there have
to use ::tools::Rectangle. This commit just moves the class from the
global namespace, it does not update pre/postwin.h yet.
Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2
Reviewed-on: https://gerrit.libreoffice.org/35923
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Change-Id: Ib27f2dfe0d0837544910208f38a1bc11a35e3cb4
Reviewed-on: https://gerrit.libreoffice.org/35794
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I72db7ff99cde394bc161dfd835bfb0d9a47a53d1
Reviewed-on: https://gerrit.libreoffice.org/34780
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Core Text API gives us float bounding box that we round ourselves, on
other platforms we get rounding integers. Try to use the same rounding
on Mac as FreeType does internally, hopefully this is the same on
Windows.
Change-Id: I7eb08464b008174270880575c4f3df28ede5c89d
Reviewed-on: https://gerrit.libreoffice.org/34661
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
The rectangle top and bottom were mixed up! I tried to fix this in
8cef9b4dbafdebc0566d6d7f715f27f978ddfe5b, but it was not the right fix.
Change-Id: Ia033ff2823bfd641e830d748d413d7791bfee5b8
Reviewed-on: https://gerrit.libreoffice.org/34557
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: Ieb8f90be8effde5f25bc872784c3ea2177b14bf9
Reviewed-on: https://gerrit.libreoffice.org/34056
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
there is only one method using it, and all of the call sites pass 0
Change-Id: I5d71b36cf890fbcf0be9d795756da0cfd61ae309
Reviewed-on: https://gerrit.libreoffice.org/34024
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
reference classes, uno::Reference and rtl::Reference.
Specifically rename Is()->is() and Clear()->clear().
Change-Id: Icb7e05e2d09cb9977121508b837ba0961dabb4ae
Reviewed-on: https://gerrit.libreoffice.org/33576
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie13689d7e15bf8dee6f21e6f5e7d75c9e53e931b
Reviewed-on: https://gerrit.libreoffice.org/32543
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
CTFontCreatePathForGlyph() will return NULL for blank glyphs causing
CoreTextStyle::GetGlyphOutline() to return false which propagated as
error all the way to OutputDevice::GetTextOutlines() causing it to
needlessly enter into fallback code. Other implementations just return
true and an empty polygon here.
Change-Id: Ib20ebff00f7cb3aae22f1c6b4c3a0e9d7a429987
Reviewed-on: https://gerrit.libreoffice.org/31902
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
No more cleverness.
Change-Id: I760c602802961b37728c6987c4ade14fb02ca034
Reviewed-on: https://gerrit.libreoffice.org/31819
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: I747d969c3c1dc42b1a3b5d12d06fed3af9a64675
Reviewed-on: https://gerrit.libreoffice.org/31818
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: I00485dd4d42004e4eaa163a9e6ad0a43cf98a30a
Reviewed-on: https://gerrit.libreoffice.org/31816
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: Ic0dd8c0311161271817eb9a3f454d00a319e43a8
Reviewed-on: https://gerrit.libreoffice.org/31814
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
We have this nice structure that contains (almost) all the information
we need, so pass it around instead of passing separate fragments of said
information.
The ultimate is to kill the horrible sal_GlyphId hack if encoding
various bits of information in the higher bits of a 32-bit integer.
Change-Id: Ie496bb4c2932157527a388e2a94e46bf0a325a70
Reviewed-on: https://gerrit.libreoffice.org/31781
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
and remove the XPolyFlags enum, which has the same values and was being
converted to PolyFlags anyhow
Change-Id: Iaead84933c79a7603698a4e50257dd944df89c41
Reviewed-on: https://gerrit.libreoffice.org/31627
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Icd317671a6b1b5356f0ccc7c59d50952fe20269b
Reviewed-on: https://gerrit.libreoffice.org/31667
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idfc964930c242d752a78cd109d75d809bce4de11
Reviewed-on: https://gerrit.libreoffice.org/31470
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
The only remaining user is EmbeddedFontsHelper, and it just needs the
raw font data.
Change-Id: Ia15c59158b5c9e44d0936463553303a3c8b6e0f5
Reviewed-on: https://gerrit.libreoffice.org/31374
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: Id706fa242277a0ea7ba44f52eab4a56e404bd2fa
Reviewed-on: https://gerrit.libreoffice.org/31372
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
These flags mean nothing these days, there are either always true or
always false, since we no longer support bitmap or Type 1 fonts.
Change-Id: Ie14ca480225a6346d868a44e58e7666c3a06931d
Reviewed-on: https://gerrit.libreoffice.org/31346
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: If80d65899255d8be72f374fbec232d103a08a006
Reviewed-on: https://gerrit.libreoffice.org/31232
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Kill DrawServerFontLayout, and rename DrawSalLayout to DrawTextLayout,
in parity with GetTextLayout.
Change-Id: I3f61efd8c6ecde64f28301dca6a7c91eb0873702
Reviewed-on: https://gerrit.libreoffice.org/31224
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
We current use platform APIs to calculate line spacing, however
different platforms behave differently:
* FreeType and Core Text will prefer hhea table over OS/2, and OS/2 Typo
metrics over Win ones.
* GDI’s TEXTMETRIC only uses OS/2 Win metrics, while NEWTEXTMETRIC seems
to use Typo one, but we use only the old TEXTMETRIC.
So we get inconsistent line spacing and we have no control which of
three competing sets of line spacing metrics we end up using.
The current conventional wisdom is that:
* hhea metrics should be used, since hhea is a mandatory font table and
should always be present.
* But if OS/2 is present, it should be used since it is mandatory in
Windows.
OS/2 has Typo and Win metrics, but the later was meant to control
text clipping not line spacing and can be ridiculously large.
Unfortunately many Windows application incorrectly use the Win metrics
(thanks to GDI’s TEXTMETRIC) and old fonts might be designed with this
in mind, so OpenType introduced a flag for fonts to indicate that they
really want to use Typo metrics. So for best backward compatibility:
* Use Win metrics if available.
* Unless USE_TYPO_METRICS flag is set, in which case use Typo metrics.
This patch does this by reading the hhea and OS/2 tables directly and
implementing the algorithm above.
Quick comparison with Microsoft Office 2016 shows similar line spacing
as the new line spacing here, so I guess we are improving compatibility
as well.
Change-Id: I4541e67e3e14508e3529e73083056a09de02e637
Reviewed-on: https://gerrit.libreoffice.org/31053
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Apply font rotation when calculating glyph bounding rectangle.
Change-Id: I9c533ec3b33a5858d46b60d1700a50d3b6f915a4
|
|
Rotate only the rotated glyphs instead of rotating everything, then
unrotating the upright glyphs. No need for a rotated font either,
rotating the graphics is fine.
Change-Id: I1fce2c9c6a29abb1353a5fc8485a9c0d34edfbf1
|
|
Change-Id: I55db5ba855b8d72e9be0298a68b094c7b01d9f54
|
|
Change-Id: Ief0942e7e3dfb7a550bcd1de99e4630831438c86
|
|
Change-Id: Ia54f11b799fefcddcbf3b9f49e806bfc0895773f
|
|
Otherwise we might not get any Kashida justification at all.
Change-Id: I6521d5a267392314d5d0da84b93fcd80c7b7cc57
|
|
The Y sign should be reversed to match VCL, apparently it was either
unused on macOS before CommonSalLayout or it was wrong all along.
This was the source of CppunitTest_svgio failure on macOS with
CommonSalLayout.
Change-Id: I3108aab7b6780c912e86e5591ca0f41ea437137b
|
|
Don’t list fonts we can’t handle, bad things would happen…
Change-Id: Ic88486e34da69090deb3e8c394cb75a8e4e5cbd0
|
|
Slightly cleaner code and now handles glyph rotation for vertical text.
Change-Id: I98cc8fd7df5e73068294e4d7dd6b38a71dcbdcc7
|
|
Change-Id: Ifd26b7f14ed77a3aa2a38e5961cac5f9bbb6d796
|
|
Makes it easier to flip the switch in the future (or even do something
more fancy other than checking envvar).
Change-Id: Ie42ca012c167b2108f0fca1ce9ff7beee95f1be7
|
|
We now create it only once per physical font, saves us few percents from
the all over time spent on layout.
Change-Id: I8de582cb20a168c93d72921e539c2477fa97fb54
|