summaryrefslogtreecommitdiff
path: root/libreofficekit
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2017-07-21 09:15:27 +0200
committerChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>2017-07-21 14:22:02 +0200
commit9277c1dfa9ce0daa5eb1b924bbf633aae6c72abc (patch)
tree202a9c5d5608a6ab96d0dfc8515658067aaad158 /libreofficekit
parent8b804eb3aec9e3fe957ecdb077649742cd2d978c (diff)
tdf#107166 improve AA mode selection, retry, more checks
Major problem when setting the render mode and the text antialias mode is that when you set the render mode to something that isn't compatible with the text antialias mode, then every next call will cause an error (invalid parameters). So we need to be sure that we never set incompatible modes. Additionally we just need to set it one time when we create the surface and not every time we draw. If we get the D2DERR_RECREATE_TARGET we can create a new render target and retry the whole call. Somethimes this is not possible so we try 3 times and the give up. We need to add more checks where we exit early or not continue with some calls as any additional calls could taint the draw state and some things wouldn't be drawn. For example if we calculate the sizes of 0 glyphs we shouldn't continue with binding the hDC with an "empty" rectangle. This will fail and cause some text that is called afterwards to not draw. Change-Id: I8f802da2e7ece0bf16d665f2e5011ffaa5267fca Reviewed-on: https://gerrit.libreoffice.org/40260 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit e197b4a88c421201e157552f94e7eaaa00a76269) Reviewed-on: https://gerrit.libreoffice.org/40274 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Diffstat (limited to 'libreofficekit')
0 files changed, 0 insertions, 0 deletions