summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2015-11-25gtk3: use cairo to do drawAlphaBitmap with scalingCaolán McNamara
now we're beautiful Change-Id: If688a89c3a65b7f9bb01890f8ddc81fc6cc8c2b8
2015-11-25vcl: SalEnumFontsProcExA is unused since 2010Michael Stahl
Change-Id: Id1b1de27752a6b8a74ea3521b53c38f032bfa24b
2015-11-25gtk3: of course we have a different 1 bit mask format as wellCaolán McNamara
Change-Id: I02763bc1dfeec4a04f40fa0246cdc93eab6d6d33
2015-11-25downgrade these warnings to infoCaolán McNamara
quartz doesn't impl them either, so presumably its not too bad to not have them. Can't see anything visually ugly at the moment to warrant the effort. Change-Id: Ibf6119f549ab6712d3f1aca18e2cdab905f00030
2015-11-25coverity#1340225 Missing break in switchCaolán McNamara
Change-Id: I9f76340ccdb32f4337d0ebe85e9957fe8a3b19f9
2015-11-25gtk3: implement drawAlphaBitmap for svp/gtk3 backendCaolán McNamara
mostly anyway Change-Id: I21d7f46ba018c3ed81093873da35b883efa44d66
2015-11-25gtk3: it's the *Original* device we care about, not the temp clip hack devicesCaolán McNamara
Change-Id: I2ac61cd2a99da25122165af692154fdbc2ac6d2e
2015-11-25gtk3: implement drawPolyLine for svp/gtk3 backendCaolán McNamara
by stealing the quartz impl Change-Id: I548042328144e23c68b83e461a63cdb0d7d8ff2c
2015-11-25gtk3: track what needs to be implementedCaolán McNamara
Change-Id: Iff2a651384cc96f541dba2f9e134c7463619c62c
2015-11-25gtk3: stroke as well as fillCaolán McNamara
Change-Id: I1c46f38927c48070e5739b99de96d61943837a14
2015-11-25vcl: move private impl. detail of Scheduler out of global header.Michael Meeks
Change-Id: Iee56131a15f9554c263406356456f65694515719
2015-11-25loplugin:unusedfields in include/vclNoel Grandin
and fixed bug in sepia filter, where it was using the wrong member of the union to get the percentage Change-Id: I56b76496a3ac711adec12dd8c08b28d69644d66f
2015-11-25tdf#95783: Don't calculate width of text with glyph fallback as way too wideTor Lillqvist
The old code in MultiSalLayout::GetTextBreak() only makes sense if the base level character width is zero where a fallback level has a non-zero character width, and vice versa. But this is not the case for Windows, at least not any more now when using UniscribeLayout and not SimpleWinLayout. This simple change fixes that: Only use the width from a fallback level if the width at the base level is zero. Hopefully it does not cause regressions for other documents or on other platforms. (But, I repeat, I find it hard to believe that the intent of the code could really have been to ever add two or more non-zero widths for the same character from different levels of fallback and use that.) Change-Id: Ic66c55db4b7463f9e04fcedec76f1c44f5e62e03
2015-11-25XRegion has to match the "real" XRegion structure, even if we don't useCaolán McNamara
some of the fields regression from commit dd351dd728687cffe432ce0ec9367ceb80e097fb Author: Noel Grandin <noel@peralex.com> Date: Tue Nov 24 08:50:39 2015 +0200 loplugin:unusedfields in vcl/ Change-Id: If68bf1e0ce90ee3c513f5461d5acd7a32e238d7b
2015-11-25Remove code that has been commented out since 2003Tor Lillqvist
Change-Id: I5975af2801560c61ca72ab25f5d1222cf847c4e3
2015-11-25write a log file about OpenGL driverMarkus Mohrhard
Change-Id: Id960540977eb7d0d5f3bdc1c5737137a0d3694b8 Reviewed-on: https://gerrit.libreoffice.org/20117 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2015-11-24vcl: re-introduce idle handling.Michael Meeks
The idea here is that we should process 'idle' events - like re-paint after we have processed any OS messages - such as key/mouse input, window re-size events etc. The previous approach wasn't achieving this - it was processing a single idle event each time around the main-loop iteration; urk. Lubos implemented something -like- this, the vestiges of it need cleaning up and removing in: 06d731428ef6cf93c7333e8228bfb6088853b52f but it was disabled (most likely because it broke gtk in tdf#91727, which was itself broken by using silly values for timeouts in the scheduler (now fixed)) Tested on Windows, gtk, kde4, unx-generic. Change-Id: I7756bca874779c00f72b372cacb7745d0f189f66 Reviewed-on: https://gerrit.libreoffice.org/20158 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-24Resolves: tdf#95962 incorrect scanline strideCaolán McNamara
we were reusing the stride of the surface we were cloning, but the new surface has a different underlying size. remove the custom stride argument and just change our stride calculation to use the same scheme that cairo and GDI uses, which remove another platform/drawing-system variable Change-Id: I257dac9757b121642e9ccfde7db0911edc9f3fb1 Reviewed-on: https://gerrit.libreoffice.org/20149 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-11-24vcl: reduce maximum timeout to some sensible range.Michael Meeks
This fixes a bug with glib, where prepare of a source with such a large (max uint64) causes precision & wrap-around problems. Add assert to avoid recurrence. Also add a helpful user-visible source name in debug mode. Change-Id: I9e1eb41af9cc49f8bff88e07f04d4bc4d1877376 Reviewed-on: https://gerrit.libreoffice.org/20152 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-24vcl lok: handle tracking coordinates which are in twipsMiklos Vajna
This is similar to the mouse button down handling. When the map mode is disabled and the map mode is in twips, then in general it's possible to send mouse coordinates in twips. The scrollbar is usually in pixels, so add extra code to still make this possible. Change-Id: I0c7e404ecd7ac839e000266e396683bb7d15c505
2015-11-24Bin old Windows-only MULTI_SL_DEBUG code of dubious usefulnessTor Lillqvist
We have SAL_DEBUG and SAL_INFO. Change-Id: I6dc12e2fc7a854d1cde6e455faabcebea4bc69ef
2015-11-24vcl: scheduler - split timeout calculation from idle invocation.Michael Meeks
This moves us towards unifying timeouts, events, idle handlers leaving only the OS main-loop integration in the backends. Change-Id: Iebfb0db21777d8018b33f216b13acb4ea2068659
2015-11-24vcl: remove UpdateStack concept.Michael Meeks
Change-Id: I6d9b7de7c57349bfb9c75a35e63bcf1eac172fd2 Reviewed-on: https://gerrit.libreoffice.org/20143 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-24Vcl Toolbox: Move Impl and local defines out of header filesSamuel Mehrbrodt
This reverts part of 1e82a3e6e3ea8b5cda520551faed81bc74c848c1 Change-Id: I683a855727c4a52d3ac6a7c5a1f104a6cf5b9ee2
2015-11-24It's "incomplete", not "in complete"Tor Lillqvist
Change-Id: Ib3960e8facc0104c4d19fc19ea587c138f998a42
2015-11-24Bin outdated #if and unnecessary <config_mingw.h>Tor Lillqvist
We don't support cross-compiling with MinGW currently, and in any case if we ever attempt such again, in the meantime the free replacement Win32 headers most likely have been updated to include the SCRIPT_CONTROL::fMergeNeutralItems field, so no conditional compilation is needed. Change-Id: I38701d6c41c44952466c1ece7c8433abe67642be
2015-11-24FONTFALLBACK_HOOKS_DISABLED is not definedTor Lillqvist
Change-Id: Icaecbfe4c53c6488fe8d9ed797251ac23985706f
2015-11-24cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: I1934441858baeeb41a46f694dbcef2d846b308b7
2015-11-24m_aCurrentRequest is not unusedStephan Bergmann
...broken with dd351dd728687cffe432ce0ec9367ceb80e097fb "loplugin:unusedfields in vcl/" Change-Id: I7e9cac85ab52e538c2ce3941c8eeffb73d3d387f
2015-11-24vcl: fix for kde4.Michael Meeks
Change-Id: If68e58a5b1d6dfe7d7851513eed73ec20d1cd912
2015-11-24Replace return boolean from DoYield with pleasant enumeration.Michael Meeks
Change-Id: I1b1f885b4d7916a18dfb2457a8e9af9a5b4ae6e4 Reviewed-on: https://gerrit.libreoffice.org/20138 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-24loplugin:unusedfields in vcl/Noel Grandin
and remove the unused SALEVENT_MOUSEACTIVATE stuff Change-Id: Ieb85872eca68621c6a7be47ff5dbea12f7690507 Reviewed-on: https://gerrit.libreoffice.org/20140 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-11-24Vcl: Cleanup ToolboxSamuel Mehrbrodt
* Move defines to header file * Limit line length to 120 chars * Some other smaller cleanups (unused defines etc) Change-Id: I14b52579f9b5bae4ea0bc1df434cc3d29c223d4e Reviewed-on: https://gerrit.libreoffice.org/20133 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-24Remove recently unused codeKhaled Hosny
Change-Id: I47a28fa127bd84527c0d6d96a7d06a5932b29305
2015-11-23Restore deleted svpcairotextrender.hxxJan-Marek Glogowski
Probably 0c75202ad20d3dc1f0a2a68375253d547f054405 just wanted to move the file to vcl/inc/headless. Change-Id: I8a11a24c272fa9cacb1505050e2c568aeb6fd4b2
2015-11-23only one headless text renderer nowCaolán
Change-Id: I045d7a58f3eae20c733fe93faa3a64687e7c85e3
2015-11-23pInst no longer neededStephan Bergmann
...since 254ca2513c85701e92b4e27023bf26cbc76133e9 "loplugin:staticmethods" Change-Id: I7d051a9add4e5176c1dac0b281cd09939da3f3a2
2015-11-23vcl lok: fix scrollbar to accept mouse events in twipsMiklos Vajna
Change-Id: Ieaedaa525d613f8ba55f336c613da163a09f7a33
2015-11-23loplugin:staticmethodsStephan Bergmann
Change-Id: Ia22b7f53a85e55fd33762adceba9a1b1827d6f34
2015-11-23we always have cairo and top down devices nowCaolán McNamara
Change-Id: I0eb3083bf402e86f95206e619e5da2e76aa627a8
2015-11-23VirtualDevices either match another device depth, or are 1 bitCaolán McNamara
cairo can therefore always render to a svp virtual device with need for a fallback Change-Id: I5d03ae541820389e26f7448444444be009fb28a4
2015-11-23establish that Virtual Devices either match Physical Device depth or ...Caolán McNamara
are 1 or (rarely) 8 bit and lock that down. Change-Id: I3d946ebef34ffb71c5adea7aa420af50e9584e05
2015-11-23Do all svp text rendering with cairoCaolán McNamara
enabling us to delete a whole pile of foo For android we patch cairo, which is internal in that case, to swap the rgb components so that cairo then matches the OpenGL GL_RGBA format so we can use it there where we don't have GL_BGRA support. Change-Id: I25e34889c7b7263438b143dd2a2ad882fb0f190a
2015-11-23fix Image::operator==Noel Grandin
comparing the pointer values in std::unique_ptr's can never be true (since they cannot point at the same thing, by definition) Change-Id: I38eb6406b61d5a3662adb68ca1558248925d7e90
2015-11-23loplugin:loopvartoosmallNoel Grandin
Change-Id: I2aca12b994c2fd260803a8897b968ddac848f235
2015-11-23opengl: fix blacklistTomaž Vajngerl
Change-Id: Ie171b4be3414b977481d30901270b8b6b23d8c8e
2015-11-23vcl: simplify Image internalsTomaž Vajngerl
Image could be of 2 types - BITMAP or IMAGE, where BITMAP used to store the content in a Bitmap and IMAGE in a ImplImageData, which contained a BitmapEx. This was refactored with this commit to always store the content in a BitmapEx and there are no distinct image types anymore. This greatly simplfies the code. Drawing of the image in case of type IMAGE was done in the class ImplImageBmp which also modified the image according to DrawImageFlags (for example to create a "disabled" image). This was moved to ImplImage and the bitmap manipulation code was moved to BitmapProcessor (done in previous commits). Change-Id: Iec9f63a7c05618c457d8465f1ec60ed4f16bd579
2015-11-23vcl: add colorizeImage to BitmapProcessorTomaž Vajngerl
Change-Id: Ic90368e83d7f9a187eb8404d8aaec4380ff5bcb1
2015-11-23vcl: Bitmap processor to create a disabled imageTomaž Vajngerl
Change-Id: Iba5d86988736fa28329e1ba2783dfb15e37815a8
2015-11-23ImplImageRefData is not used anywhere anymoreTomaž Vajngerl
Change-Id: I578cc029815aaf7c2a36ad127d90cf833b5646c4