summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2015-11-27mutex used in post-main dtorCaolán McNamara
Change-Id: Ia4f4def1fd58d82a7c994114e45a36227269671c
2015-11-26Cleanup last, partial include redux patch.Michael Meeks
Change-Id: I1f6f9d4a1b7fae33529ae386e8733b5063de53b0
2015-11-26vcl: fix buildMichael Stahl
Change-Id: I51d992e9befc78f6e429480e29bfb78e9be87ac2
2015-11-26vcl: reduce pointless timer / scheduler / idle includes.Michael Meeks
Change-Id: I8bf7f8d6ba1a54f2969e055956fadc52ff6c8673
2015-11-26vcl: fix event processing to idle - for JUnit tests.Michael Meeks
Change-Id: Ibeb1f6627815fc34c6e166357c88e076b75f6abb Reviewed-on: https://gerrit.libreoffice.org/20197 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-26vcl: OutputDevice::GetTextArray() should always init pDXAryMichael Stahl
CppunitTest_writerperfect_writer file libmwaw/pass/Acta_1.0.hqx uses the font "Courier", and for unknown reasons we can't properly load that font, because the PhysicalFontFamily::mpFirst for "courier" is null. This causes OutputDevice::GetTextArray() to fail to create a SalLayout and return early before initializing the passed pDXAry, which then generates lots of DrMemory warnings. Let's hope the callers are happy about an all-0 pDXAry. Change-Id: I07b29a59660cf5cd060fd77da5d96021f9d8f9f5
2015-11-26vcl: warn if we can't set a new font in OutputDeviceMichael Stahl
Change-Id: I7708590d0c8564271f76e8b80adc566022e6916e
2015-11-26mark UNO structs as SAL_WARN_UNUSED, where possibleNoel Grandin
Change-Id: Ie3de518f60c9f1313c68df54dbdc1fb2804f1f0d
2015-11-26test for IsMouseCaptured before releasing mouseCaolán McNamara
like the other call sites do Change-Id: I77250f172f9d9ce97e5982bafbc8f042e9343acc
2015-11-26loplugin:redundantcastNoel Grandin
Change-Id: I3fd7b6f8215bdd9e482cc81522a70cabc0080c4f
2015-11-25vcl: further fix debug name cleanup.Michael Meeks
Change-Id: Ia95c4893773bec77fe2ddf1a85e8687ab6776e10
2015-11-25vcl: cleanup scheduler debug name usage.Michael Meeks
Change-Id: I94975d220452ca91cbbd9db5e7895fa0b3a88e4a
2015-11-25vcl: don't treat non-ready timers as idle handlers.Michael Meeks
Fixes the busy-loop - 100% CPU all the time. Change-Id: I965f62d6a6f2ec1830c0897dd97179a739c70afc Reviewed-on: https://gerrit.libreoffice.org/20186 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-25vcl: improve scheduler debugging information.Michael Meeks
Change-Id: I6f7d7d3b5b027097417a15804a42aaaab4a03158 Reviewed-on: https://gerrit.libreoffice.org/20185 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-25vcl: timer - avoid expensive and pointless re-fetch of current time.Michael Meeks
Change-Id: I1423de820ec40340d2ddb9030106b813e488f2f3 Reviewed-on: https://gerrit.libreoffice.org/20184 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-25coverity#1340225 Missing break in switchCaolán McNamara
Change-Id: I9f76340ccdb32f4337d0ebe85e9957fe8a3b19f9
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-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-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-24FONTFALLBACK_HOOKS_DISABLED is not definedTor Lillqvist
Change-Id: Icaecbfe4c53c6488fe8d9ed797251ac23985706f
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-23vcl lok: fix scrollbar to accept mouse events in twipsMiklos Vajna
Change-Id: Ieaedaa525d613f8ba55f336c613da163a09f7a33
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-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-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-23remove unused constructor parameterTomaž Vajngerl
Change-Id: Ia2d1a8d7d43ceac36b6bce87f5a733d6bce3bd6f
2015-11-23Update-check, expand to allow reporting of H/W and OS versions.Michael Meeks
Off by default. Expand config options to show the user agent used. Re-use this to show more useful info in Help->About too. Change-Id: I1044116ef9beeb341a537c0f4451dca54e198f67 Reviewed-on: https://gerrit.libreoffice.org/20098 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-20loplugin:defaultparamsNoel Grandin
Change-Id: Ia9dca11a7e38fcf2b7b4b0d2459c85a1348f8c43
2015-11-20Revert "vcl: Initial NotebookBar implementation."Samuel Mehrbrodt
Will use a different approach for NotebookBar. Also this should not be in 5.1. This reverts commit 8c1014021dbe9da2e18233d215b970f5359db67b. Change-Id: Ic699723818a890bf4c3be3a2c045527148bd118b Reviewed-on: https://gerrit.libreoffice.org/20075 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-20loplugin:sallogareasStephan Bergmann
Change-Id: Ib1f06cb5f925535858bc14aab6f59ad7fd2a3a8d
2015-11-20vcl ScrollBar: audit Draw*() calls in ImplDraw()Miklos Vajna
These member functions take logic units, and the only case when omitting PixelToLogic() all the time works is when both the widget itself and render context has a pixel map unit. Add missing PixelToLogic() calls where the input is in pixels, so in case the render context has some logic units, the output is still painted at the correct location. This is needed for e.g. tiled rendering of the scrollbar of Writer comment widgets. Change-Id: Ideb75625b1f6349c5f18342e6f438fd5d7c31dcd
2015-11-20tdf#95938 Toolbar context menu has no commandsSamuel Mehrbrodt
because of an integer overflow Change-Id: I75103450d0af59fd6f3196f451984e0dce45c693 Reviewed-on: https://gerrit.libreoffice.org/20072 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-11-19readabilityTomaž Vajngerl
Change-Id: I8fbff3f86a543a58259408914bb78f992ad65864
2015-11-19loplugin:nullptrStephan Bergmann
Change-Id: Ie461bc10ee2f7d2329a23c86bdc922839bea7974
2015-11-19Toolbar: Add 'Save As' to 'Save' dropdownSamuel Mehrbrodt
Change-Id: I6597ae5569b29d09a8c44fc9a55b71166aa37b05
2015-11-19Add ImplFontMetricData::mbTrueTypeFontTor Lillqvist
Indicates that the font truly is a TrueType one (FT_IS_SFNT in FreeType, TMPF_TRUETYPE in Win32). Change-Id: Ic9dbf5e5239ae2ca597c454091fc36073a3b19cc
2015-11-19Add OpenGLContext::UseNoProgram()Tor Lillqvist
Will be useful in cases where there is some external library code that uses shaders outside of our OpenGLContext. Change-Id: I59c57e3225f55d13e69b6a9b7c0db1a7487c586d