Age | Commit message (Collapse) | Author | Files | Lines |
|
For one, aPos.Y() is meant to be the baseline position of the text.
Based on the MSDN documentation and
<https://www-user.tu-chemnitz.de/~ygu/petzold/ch05c.htm>, that means if
we want to get top position, we have to only extract tmAscent and not
tmInternalLeading.
For another, ImplWinFontEntry::AddChunkOfGlyphs() adds a border of 2
pixels both horizontally and vertically, which means that then we need
to undo that when counting the vertical position, too.
Change-Id: I4ac8e881ea5910662674c2a1b53ece943487ccd9
(cherry picked from commit b1a918ae8aca9e9a1eaebecef3b82e011b10665f)
Reviewed-on: https://gerrit.libreoffice.org/18244
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
|
|
Change-Id: I21726d0dd052fdc87e8dd36ff7122518325f6313
Reviewed-on: https://gerrit.libreoffice.org/18242
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
|
|
Can now be turned off with a SAL_DISABLE_GLYPH_CACHING environment variable.
Change-Id: I7ac14d72dc0f85c0682d92492eb96bec1d207609
(cherry picked from commit 9a68eb9c1f54d4c4e14a46c11ba9eafca35a2b82)
Reviewed-on: https://gerrit.libreoffice.org/18230
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Should do similarly for vertical text, too.
Change-Id: I51f5ee3ba1686f151b04f98c43388e0bdfac97fb
(cherry picked from commit 860d6948cc56104f7de3d5bf3b5aa1d7f1fbd840)
Reviewed-on: https://gerrit.libreoffice.org/18181
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
|
|
Follow-up to 34700400247e378e074ce4164ab2809edb092201; this fixes sw_ww8export
unit test on Windows.
Change-Id: Ic0c3228efb59a182e1562b73117418cd8b5e6017
Reviewed-on: https://gerrit.libreoffice.org/18175
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: Idd7ec17eed51f79ead56349bb644945826d0a695
|
|
SAL_DETAIL_ENABLE_LOG_INFO is always defined, as "true" or "false". It
is SAL_LOG_INFO that is defined or not, and can be used to avoid
unnecessary non-trivial code that the compiler might not be able to
optimise away.
Change-Id: I9903faab64b39fee86bff3b085cdce3614b0d921
(cherry picked from commit d23a1f4dabda939a216293c150c3679b0979d0bd)
|
|
Since commit 65a66d41fd0e13d0aad9df935091b731b4af650a the
sd_exports_test crashes on Windows in UniscribeLayout because
it uses a ImplFontEntry that has been removed from the font cache.
Tweak the refcount in WinLayout so it will be valid.
Change-Id: Ic4bf984ea9fd70de9fa95ca964ae12d95d47d5bf
(cherry picked from commit 34700400247e378e074ce4164ab2809edb092201)
Reviewed-on: https://gerrit.libreoffice.org/18121
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
It says there's access to uninitialized variable on that line,
so propbably the loop is running over.
Change-Id: I0226f82b20a6fbbc79af5bbb46af09830c3bc25a
(cherry picked from commit eba9a6c4b32220dcc729c71e440234f90af5bdcc)
Reviewed-on: https://gerrit.libreoffice.org/18107
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Can't call a function that as a side effect prints to std::cerr in
SAL_INFO. It will be called even if the log area doesn't match
$SAL_LOG. Just use only SAL_INFO and no plain std::cerr output. It's
fine to output a string with embedded newlines in SAL_INFO.
Also drop the debug output line with the glyph start positions, it was
less than useful.
Change-Id: I9fb5ed068aae1b835e20cf1ec1097bcd55deb05d
(cherry picked from commit 15943416240e29a052e3a6e4d338932e8c1ffb06)
|
|
Change-Id: I67d2430aec782efa7916856584028f469d39355c
|
|
That is a too complex and rare case to bother with, I think.
Change-Id: Ica6ef7fa05314d2367dcff32627c1aec6ba8f8df
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I46e5463aaa5cab41cd69c13314ee98a0c73e7ba2
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I6b19873eef48b625dc3d4f7b3a9afdb348189b38
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
The text alignment of DCs is set to TA_BASELINE in
WinSalGraphics::InitGraphics(). In the ScriptTextOut-using old code
path this affects where glyphs are put, so we need to take it into
consideration also in the new code path that uses cached glyph
textures. Adjusting the position up by the ascent plus internal
leading of the font seems to work at least for horizontal scripts.
(We used to bluntly adjust the position up by the height of the glyph
cache texture, which was too much. The glyphs got positioned too high
and the top of tall ones was clipped.)
Change-Id: I86aecd6f3016e14b2f0328555ddfd3129e394c4c
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Id023b43e901b0e41ebf3b208c6e80fd023bf7f9a
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Show the whole height of the cache bitmap after all (when SAL_LOG
contains vcl.gdi.opengl). The interesting pieces are often at the
bottom, like the tip of the hook of the "j" glyphs that used to bleed
over into the preceding glyphs, usually "i", when they were rendered
into the same chunk.
Add more space between glyphs and at top and bottom of the bitmap, for
anti-aliasing. The glyph ABC widths don't take expansions caused by
anti-aliasing into consideration and are misleading. Hopefully
anti-aliasing can expand the (partially) painted pixels of a glyph
just one column/row in each direction, but for safety use a two-pixel
border. (Defensive programming, eek?)
Some getWidth() instead of GetWidth() etc craziness. Using
<tools/gen.hxx> types truly is programming-by-coincidence as Thorsten
says.
In a dbgutil build, setting the environment variable
VCL_GLYPH_CACHING_HACK_NO_ANTIALIAS causes the code to turn off
anti-aliasing for the fonts used. I used this to verify that it indeed
was anti-aliasing that made the ABC widths inconsistent with
reality. Not sure if it makes sense to keep this code in?
Anyway, now I don't see any leaked pixels in "i" glyphs any more,
touch wood.
Change-Id: If527343ff1dcdb1fa208cd5e7fa4d08f812d0d7b
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I29cb771eb059f560b7cbd449257ffda581b40f11
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I934ad7453f35909f4c3ad999e33453b5b6032480
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Now text looks better, for instance the lower-case "t" glyphs on the
Start Centre aren't totally weird any more. But for instance the tip
of the hook of "j" leaks into the "i" texture. I guess I really would
need to render glyphs one by one.
Change-Id: I69ae2d2f7c559530bcfdfc1a4915503fcb3ab4af
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I0bbea4ef62c8e94d8b8f1bfb440712da5839e532
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Shows text roughly correctly, but many problems. Conditional at
run-time on the SAL_ENABLE_GLYPH_CACHING environment variable in
addition to SAL_FORCEGL.
One obvious thing that needs fixing is making sure that the glyphs are
rendered into the texture without overlap. Compensating negative
values in the ABC::abcA and ABC::abdC width is not enough.
Also, the cache should be changed to actually have "cache"
functionality, i.e. entries should expire based on some criterion.
Change-Id: I66a37d3354a09011a654f15a7d2bd8efaa14ad1e
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: Ia41882a4d33e7b148044801902517b2b034d3ee4
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Use Uniscribe also for non-complex text. It is complicated enough to
have separate Graphite and Uniscribe layout engines. Will make further
changes to the code easier to manage, especially as with the
UniscribeLayout code we have access to the actual
glyphs. (Cf. 3e47219e06b9a279ba22a9bbef668731f2d3e07d)
Change-Id: I9c67c172fe3e3d26d1c6cb1c0b7f1516b0b87f12
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Remove dead code. Should have no effect on behaviour.
Possibly originally the intent was that mbDisableGlyphs would have
been false in most cases on NT-based Windows (all versions that we
support now). However, since dadfc60873d4dce4e0c46e1d3405f8d45535cdcf,
in 2005, mbDisableGlyphs was set to always true in the SimpleWinLayout
ctor.
Change-Id: Id929224d5656706762c2f44ee26c76f8b20ee8b8
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
It is really ugly to use SAL_OVERRIDE inconsistently.
Change-Id: I8b556a9cc65e6f71198d126d07ce1559216543e9
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I0d0cb1ef1e7b7f4747204b84c7c910f174e9c7b5
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I476f0ffaef383f3227c0c12b50fcdebf393190f6
Reviewed-on: https://gerrit.libreoffice.org/17487
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
(cherry picked from commit dea885f80a80c6a5839ee5dbf8521487186a9522)
Reviewed-on: https://gerrit.libreoffice.org/17561
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
(cherry-picked from commit c8344322a7af75b84dd3ca8f78b05543a976dfd5)
Change-Id: I99a935ac7c1aee881bca77f95bd5d1a45d8901ea
Reviewed-on: https://gerrit.libreoffice.org/16220
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: I2a110c017f13eca6ddbd70ef3ed195d24adef0a3
Reviewed-on: https://gerrit.libreoffice.org/15828
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Signed-off-by: Jan Holesovsky <kendy@collabora.com>
|
|
Change-Id: Iea29ce5fd6c620535197d3ca8538335078430e19
Reviewed-on: https://gerrit.libreoffice.org/15825
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Signed-off-by: Jan Holesovsky <kendy@collabora.com>
|
|
after my commit 7a0af37989d1f1b508a61f28e785c5b1f27d58af
"convert SAL_LAYOUT flags to scoped enum"
Change-Id: I7494793aae482f0b687501ae199856b1a6640143
|
|
after my commit 7a0af37989d1f1b508a61f28e785c5b1f27d58af
"convert SAL_LAYOUT flags to scoped enum"
Change-Id: Iba12d2f60840a012d3e54a1364b672820e8bd6dc
|
|
after my commit 4b57be7234ea61aad0a472a56a4f073270933c8e
"convert QUEUE_STATUS constants to scoped enum"
Change-Id: I5a91a79148b3b3edaa12e6933344040ed64acc6a
|
|
Change-Id: I672e3a31c97fad91826dff1446d2d098d3d36150
|
|
Change-Id: I0aeea1f32136e43e90a1afb0ea84dbaff2b77587
|
|
this needs the addition of a new MenuBarHighlightTextColor
which defaults to MenuHighlightTextColor on other platforms
Change-Id: Id0550294f1778229cbbe154857ba16c629dc5a87
|
|
Change-Id: I5b99e42a3e85527b27d515c468d2ed66386fc9df
|
|
Change-Id: I88e67f89dbbab0646e8f106dfeb32c6ee1bb0b95
Reviewed-on: https://gerrit.libreoffice.org/15671
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Id3731144fab89cdab9a6f66d78a1ebe1ebd4f61c
Reviewed-on: https://gerrit.libreoffice.org/15652
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Cherry-picked from e1fb63bb8ed7a9bd4dbe19be0d0da7245c4a2fb2
Change-Id: I2959ea8b1213d6dade1c2567365f177bf542e075
|
|
Only found the exception with the Debugger, when exit the swriter.
The appliction stop the SalTimer, but the own message
(SAL_MSG_TIMER_CALLBACK) is in the message-queue and restart the
timer again. After that, the SalData would be delete and then in
SalTimerProc use the SalData, then exception.
Change-Id: I8e02a38d4e741cfd31de605cb5b172b28a0909fb
Reviewed-on: https://gerrit.libreoffice.org/15649
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I32dc6c24c523519d6c2376c555b2d774fa40b3ba
|
|
Change-Id: I2b5986ea69dc09e6ba18b23a80029f6551b48152
|
|
Change-Id: I164106e89cf910c2f9fa6815b23f58ad6c6ee789
|
|
Change-Id: I4dff83941df62bcd5ec5a70a87f59e9ce17c979d
|
|
Resolve several thousand lines of conflicts.
Conflicts:
accessibility/source/extended/accessiblelistbox.cxx
accessibility/source/standard/vclxaccessiblecombobox.cxx
accessibility/source/standard/vclxaccessibledropdowncombobox.cxx
accessibility/source/standard/vclxaccessibledropdownlistbox.cxx
accessibility/source/standard/vclxaccessiblelistbox.cxx
accessibility/source/standard/vclxaccessibletextfield.cxx
basctl/source/basicide/basidesh.cxx
cui/source/inc/chardlg.hxx
cui/source/tabpages/tpbitmap.cxx
dbaccess/source/ui/dlg/UserAdmin.cxx
dbaccess/source/ui/querydesign/ConnectionLineAccess.cxx
extensions/source/propctrlr/propertyeditor.hxx
extensions/source/scanner/sanedlg.cxx
filter/source/pdf/impdialog.cxx
include/sfx2/mgetempl.hxx
include/sfx2/sidebar/SidebarToolBox.hxx
include/sfx2/viewsh.hxx
include/svtools/brwbox.hxx
include/svtools/filectrl.hxx
include/svtools/scrwin.hxx
include/svx/dlgctrl.hxx
include/svx/sidebar/Popup.hxx
include/svx/sidebar/PopupContainer.hxx
include/svx/sidebar/PopupControl.hxx
include/svx/sidebar/SidebarDialControl.hxx
include/svx/sidebar/ValueSetWithTextControl.hxx
sc/source/ui/condformat/condformatdlgentry.cxx
sc/source/ui/navipi/navipi.cxx
sc/source/ui/sidebar/CellBorderStyleControl.hxx
sd/source/ui/animations/CustomAnimationDialog.cxx
sd/source/ui/inc/DrawViewShell.hxx
sd/source/ui/inc/Ruler.hxx
sd/source/ui/inc/SlideSorter.hxx
sd/source/ui/inc/ViewTabBar.hxx
sd/source/ui/inc/Window.hxx
sd/source/ui/inc/morphdlg.hxx
sd/source/ui/inc/sdpreslt.hxx
sd/source/ui/sidebar/CurrentMasterPagesSelector.hxx
sd/source/ui/sidebar/LayoutMenu.hxx
sd/source/ui/sidebar/MasterPagesSelector.hxx
sd/source/ui/sidebar/NavigatorWrapper.hxx
sd/source/ui/sidebar/PanelBase.hxx
sd/source/ui/sidebar/RecentMasterPagesSelector.cxx
sd/source/ui/sidebar/RecentMasterPagesSelector.hxx
sd/source/ui/slideshow/showwindow.hxx
sd/source/ui/slidesorter/view/SlsInsertAnimator.cxx
sd/source/ui/slidesorter/view/SlsLayeredDevice.hxx
sd/source/ui/view/ViewShellBase.cxx
sd/source/ui/view/drviewsa.cxx
sfx2/source/appl/fileobj.hxx
sfx2/source/appl/opengrf.cxx
sfx2/source/control/thumbnailviewacc.hxx
sfx2/source/dialog/securitypage.cxx
sfx2/source/dialog/templdlg.cxx
sfx2/source/doc/docinsert.cxx
sfx2/source/doc/guisaveas.cxx
sfx2/source/inc/alienwarn.hxx
sfx2/source/sidebar/Deck.cxx
sfx2/source/sidebar/Deck.hxx
sfx2/source/sidebar/DeckTitleBar.cxx
sfx2/source/sidebar/DeckTitleBar.hxx
sfx2/source/sidebar/MenuButton.cxx
sfx2/source/sidebar/MenuButton.hxx
sfx2/source/sidebar/Panel.cxx
sfx2/source/sidebar/Panel.hxx
sfx2/source/sidebar/PanelTitleBar.hxx
sfx2/source/sidebar/SidebarDockingWindow.hxx
sfx2/source/sidebar/SidebarToolBox.cxx
sfx2/source/sidebar/TabBar.hxx
sfx2/source/sidebar/TabItem.cxx
sfx2/source/sidebar/TabItem.hxx
sfx2/source/sidebar/TitleBar.hxx
sfx2/source/toolbox/imgmgr.cxx
starmath/inc/edit.hxx
starmath/inc/smmod.hxx
starmath/qa/cppunit/test_starmath.cxx
starmath/source/edit.cxx
starmath/source/smmod.cxx
svtools/source/brwbox/brwbox1.cxx
svtools/source/brwbox/datwin.hxx
svtools/source/contnr/fileview.cxx
svtools/source/contnr/simptabl.cxx
svtools/source/control/filectrl.cxx
svtools/source/control/valueimp.hxx
svx/inc/GalleryControl.hxx
svx/source/dialog/dlgctrl.cxx
svx/source/dialog/swframeexample.cxx
svx/source/fmcomp/fmgridif.cxx
svx/source/gallery2/GalleryControl.cxx
svx/source/sidebar/EmptyPanel.hxx
svx/source/sidebar/area/AreaPropertyPanel.hxx
svx/source/sidebar/area/AreaTransparencyGradientControl.hxx
svx/source/sidebar/graphic/GraphicPropertyPanel.hxx
svx/source/sidebar/insert/InsertPropertyPanel.cxx
svx/source/sidebar/insert/InsertPropertyPanel.hxx
svx/source/sidebar/line/LinePropertyPanel.hxx
svx/source/sidebar/line/LineWidthControl.cxx
svx/source/sidebar/line/LineWidthControl.hxx
svx/source/sidebar/line/LineWidthValueSet.hxx
svx/source/sidebar/paragraph/ParaPropertyPanel.hxx
svx/source/sidebar/possize/SidebarDialControl.cxx
svx/source/sidebar/text/TextCharacterSpacingPopup.hxx
svx/source/sidebar/text/TextPropertyPanel.hxx
svx/source/sidebar/tools/PopupContainer.cxx
svx/source/sidebar/tools/PopupControl.cxx
svx/source/sidebar/tools/ValueSetWithTextControl.cxx
svx/source/svdraw/svdfmtf.hxx
svx/source/svdraw/svdibrow.cxx
svx/source/tbxctrls/colrctrl.cxx
svx/source/tbxctrls/tbcontrl.cxx
sw/source/ui/dbui/mmaddressblockpage.cxx
sw/source/ui/dialog/uiregionsw.cxx
sw/source/ui/index/cnttab.cxx
sw/source/uibase/inc/drpcps.hxx
sw/source/uibase/sidebar/PageColumnControl.hxx
sw/source/uibase/sidebar/PageMarginControl.hxx
sw/source/uibase/sidebar/PageOrientationControl.hxx
sw/source/uibase/sidebar/PagePropertyPanel.hxx
sw/source/uibase/sidebar/PageSizeControl.hxx
sw/source/uibase/uiview/view2.cxx
sw/source/uibase/utlui/navipi.cxx
vcl/inc/svdata.hxx
vcl/source/control/combobox.cxx
vcl/source/control/lstbox.cxx
vcl/source/window/dockwin.cxx
vcl/source/window/winproc.cxx
Change-Id: I056cf3026ff17d65cca0b6e6588bda4a88fa8d95
|
|
Change-Id: Ia41276033c1f656217bc3ae929faab001db36ca4
|
|
Change-Id: Ifd52953086ea923fa1770892d13f32c2263aec54
|
|
ie.
void f(void);
becomes
void f();
I used the following command to make the changes:
git grep -lP '\(\s*void\s*\)' -- *.cxx \
| xargs perl -pi -w -e 's/(\w+)\s*\(\s*void\s*\)/$1\(\)/g;'
and ran it for both .cxx and .hxx files.
Change-Id: I314a1b56e9c14d10726e32841736b0ad5eef8ddd
|