Apparently without implementing InitFont(), we might end up drawing with
the wrong font, thanks to the arcane ways GDI API.
Change-Id: I224de138446d4a536e13992efa98b0f04609576a
only use was to merge 2 range tables in SfxItemSet::MergeRange
of which one table always contained a single range.
rewrite the merge algorithm (SfxUShortRanges += operator).
sort new range into the table of ranges and merge overlapping
ranges afterwards. Not as optimal as the original code but it's
short, maintainable and works without 'goto'
inline the DBG_CHECK_RANGES macro
Change-Id: I991c050f069d44fe72b3ea374863f5f26e7099e9
Reviewed-on: https://gerrit.libreoffice.org/30299
Tested-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This adds links to "large" icons (prefixed with "lc_") also for
32px icons automatically so that we don't need to duplicate the
links.txt files.
Change-Id: I5fc3a769aa795060b6ae2d554cadd81938e4d4ec
Reviewed-on: https://gerrit.libreoffice.org/30399
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
This adds support for 32 pixel icons - mainly to get them into
the toolbar.
Most changes made are to change the behavior of having only small
and large icons as a boolean choice, but not every code path was
converted to non-boolean choice yet.
Breeze icon theme has the 32px variants so it can be used already.
Change-Id: Iadf832a87826c16b3a83522104dd6c35d61a0f87
Reviewed-on: https://gerrit.libreoffice.org/30398
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
We cache and reuse the HarfBuzz font, so we need to make sure it always
has the right font size before using it.
Change-Id: I332c7f51f6495effde529c63485cb4ec658b2ca5
We need to update the buffer content type ourselves since we are now
using the low lever shape plan API that does not do this.
Change-Id: I043d15731cf206b142c3153896e194a822a70ffb
(I'm not sure about how good are the changes from ScopedVclPtr
to non-scoped, and disposeAndClear to clear. They aren't really
needed, because of the VclReferenceBase::mbDisposed logic. But
at least they should be safe, as long as we have disposeOnce
calls in Menu's dtor.)
See also previous commits:
4433d95b37
("MenuItemData now properly disposes the submenu")
89c23b4aae
("Sub menus no longer need manual disposing")
Change-Id: I9d455a94590f5eec9b097947f6984f1b3e477b52
This is what it is actually is, we dropped support for server-side fonts
for a long time now. Renamed also a few related classes, but left
ServerFontLayout* ones as they will go away soonish.
Change-Id: I68a6dad51b6972368b7bf85a0b9c8089cc12740e
Reviewed-on: https://gerrit.libreoffice.org/30390
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
We don’t have a configure option to turn it off and I don’t think anyone
tries building without it. Furthermore, we use the code guarded by this
even without Graphite.
Change-Id: I0fb434af58a51370a66b5ad7eb89b145e4c015de
Reviewed-on: https://gerrit.libreoffice.org/30389
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
Turns out if we don’t adjust the glyph width (not only its X position)
we will apply the DX adjustment more than once when there is font
fallback.
Change-Id: I5e72e5d211adf3b378ec23c0cabe38fd0d5c9b19
Currently we support DPI scaling by a integer factor. This commit
changes that to percentage so we can have scaling factors like
1.5x or 1.25x. This is useful with 2.7k monitors that are in
between standard DPI and HiDPI. Thresholding was adjusted to scale
to 1.5x when DPI is between 120 and 168 DPI.
The old method GetDPIScaleFactor has been changed to return a
float value insted of int. Sometimes it is however more accurate
to use GetDPIScalePercentage which was added in this commit.
Change-Id: Iaecee793ff3d5084d00adeebbcf5d7368c580882
Reviewed-on: https://gerrit.libreoffice.org/30379
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Sometimes we want to surpress automatic scaling and converting
for dark theme. This adds a loadFromResource function with
additional flags which makes this possible.
Change-Id: I893cee82ad6942644755f0c5b772fb5f073bbf00
Reviewed-on: https://gerrit.libreoffice.org/30341
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
We don't need to scale images for HiDPI mode anymore - this is now
done automatically when the image is loaded.
Change-Id: Ie285cf4d672f4c098a468d3f7560ee2700365b92
Reviewed-on: https://gerrit.libreoffice.org/30340
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Also resolves tdf#92248
This extends icon name resolving so that is in addition tries to
find an icon with the "svg" extension and load that instead of
stated (mostly "png") extension. If the filename extension is
"svg" we load the icon with the SVG filter instead.
This also adds icon scaling and conversion for HiDPI or when a
dark theme is wanted. If the SVG icon is available, we render it
at a higher resolution instead of scaling
As loading of SVG icons can be computatunally expensive, a icon
disk cache was added. This saves the rendered SVG as a PNG image
into the "cache" folder. The same caching is also used for HiDPI
and dark theme converted icons so we don't always scale or
convert the icons.
In addition some style changes and DRY fixes were made to the
ImplImageTree source code.
Change-Id: I9e421395a342ffe8da9facea7ea06e5db2778b26
Reviewed-on: https://gerrit.libreoffice.org/30339
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Positioning relative to left or right margin in MS Word
works the same as the positioning relative to left or right
page border in LO Writer.
Change-Id: I476a5e9e76f766b7fb7f1c7f4a068af8bb3c8813
Reviewed-on: https://gerrit.libreoffice.org/30376
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Also remove conversion of both negative scales into rotation,
because it is handled by flip; use strict comparison instead of
approximate float less because it's correct here, and also because
basegfx::fTools::less ultimately uses rtl_math_approxEqual, which
description states: attention
approxEqual( value!=0.0, 0.0 ) _never_ yields true.
Unit test included.
Change-Id: Ia878fce360cf8aed539d95f2d4a1a3ad94379978
Reviewed-on: https://gerrit.libreoffice.org/30373
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Used mainly for traditional Mongolian. This has been disable since 2010
(shortly after the code was merged):
commit faf68cc756
Author: Mathias Bauer <mba@openoffice.org>
Date: Fri Jun 25 11:10:43 2010 +0200
CWS mongolianlayout: disable new direction until problems are fixed
No idea what the problems are, but lets enable it and see what happens
(the actual layout code have been enabled all the time and one can
always manually craft ODT files that use it anyway).
Change-Id: Id38d1735013d451f9fe116876483df3484dec051
Reviewed-on: https://gerrit.libreoffice.org/30364
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
Changing /Allow_*Spacing_*Without_*Borders/I
to AllowPaddingWithoutBorders
related to tdf#103275 where "spacing to contents" is to be changed to
Padding. Rename this already in LO53 to simplify potential backports
and laying other groundwork for fixing this bug.
Also, I can easily see setting AllowPaddingWithoutBorders globally in 5.3
for the purpose of being able to share documents when
the UI in LO5.4 permits creation of padding without borders.
Otherwise older versions will display significantly different formatting.
Change-Id: I253173274f824a019ebc09a039c471d170c1be73
Reviewed-on: https://gerrit.libreoffice.org/30372
Reviewed-by: Justin Luth <justin_luth@sil.org>
Tested-by: Justin Luth <justin_luth@sil.org>