Commit Graph

300 Commits

Author SHA1 Message Date
Zhiyi Zhang ea430bf2b7 uxtheme: Implement DrawThemeIcon().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51589
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 10:40:08 +02:00
Zhiyi Zhang 6db55005c7 uxtheme: Add comctl32 v6 manifest.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 10:39:54 +02:00
Zhiyi Zhang 877d12f879 uxtheme: Support more HiDPI properties.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 12:13:35 +02:00
Zhiyi Zhang 4b2777db4b uxtheme: Support TrueSizeStretchMark property.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 12:13:27 +02:00
Zhiyi Zhang 0d96bf1f38 uxtheme: Support TrueSizeScalingType property.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 12:13:23 +02:00
Zhiyi Zhang 399ebdf893 uxtheme: Remove useless calculation.
rcDst is not used after it is used for getting destination rectangle width and height.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 12:13:18 +02:00
Zhiyi Zhang 6414726f57 uxtheme: Fix a typo in comment.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-09 11:40:15 +02:00
Zhiyi Zhang ec82a0ebe6 uxtheme: Fix incorrect part IDs in button class map.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51506
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Zhiyi Zhang 8c38f02d23 uxtheme: Support pressed state for themed scroll bars.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:50:22 +02:00
Zhiyi Zhang 0a83027e20 uxtheme: Support drawing themed standard scroll bars.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39821
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:50:11 +02:00
Zhiyi Zhang b0e51ead0d uxtheme: Move themed dialog to uxtheme.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51137
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:49:55 +02:00
Zhiyi Zhang d9063802f2 uxtheme: Move themed scroll bar to uxtheme.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 18:49:49 +02:00
Zhiyi Zhang 6f00a2983a uxtheme: Avoid memory leaks.
A THEME_FILE struct and four global ATOMs are leaked when unloading uxtheme.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 17:52:47 +02:00
Zhiyi Zhang fe257dde58 uxtheme: Send WM_THEMECHANGED instead of posting it in SetWindowTheme().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51348
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 12:39:12 +02:00
Zhiyi Zhang 064dad2342 uxtheme/tests: Test that SetWindowTheme() should send WM_THEMECHANGED instead of posting it.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 12:39:12 +02:00
Zhiyi Zhang 3f292a0e65 uxtheme: Check window handle for SetWindowTheme().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Zhiyi Zhang 16e2a9aecc uxtheme: Check window handle for GetWindowTheme().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Zhiyi Zhang f5e56638a7 uxtheme: Set last error code for OpenThemeDataEx().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Zhiyi Zhang 3e9fbda43c uxtheme: Fall back to default class if the specified subclass is not found.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50113
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Zhiyi Zhang 59f3758ecb uxtheme/tests: Test SetWindowTheme() with a non-existent subclass.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Zhiyi Zhang c6b100ef98 uxtheme: Remove unused code.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:20:10 +01:00
Zhiyi Zhang 300ecff145 uxtheme: Support DTT_FONTPROP for DrawThemeTextEx().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:20:08 +01:00
Zhiyi Zhang a18df3a412 uxtheme: Support more font properties.
Add support for TMT_HEADING1FONT, TMT_HEADING2FONT and TMT_BODYFONT.
TMT_BODYFONT is used by Command Links.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:20:06 +01:00
Zhiyi Zhang 061ac08d6b uxtheme: Add Command Link part and state definitions.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:20:04 +01:00
Michael Stefaniuc 1f040d666b uxtheme: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 12:43:01 +02:00
Michael Stefaniuc e947b08149 uxtheme: Use wide-char string literals in struct initialization.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 12:42:53 +02:00
Michael Stefaniuc 43572cbd7d uxtheme/tests: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 12:42:37 +02:00
Alexandre Julliard 21a19fb4e3 uxtheme: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 08:36:46 +02:00
Alex Henrie 53c8abbf8a uxtheme: Turn a variable and a constant into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:10 +01:00
Michael Stefaniuc 93994dfc0b uxtheme: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 21:09:28 +02:00
Michael Stefaniuc 507bc401a4 uxtheme/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 09:24:54 +02:00
Nikolay Sivov 16ab42f94d uxtheme/tests: Remove some trace messages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-23 11:09:17 +02:00
Nikolay Sivov d4cc71c5db uxtheme: Use global memory allocation helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-26 11:25:31 +01:00
Nikolay Sivov ce50a7ff4d uxtheme: Properly initialize text drawing options.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:05:57 +01:00
Louis Lenders 28613fcd93 uxtheme: Add stub for SetWindowThemeAttribute.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 14:45:47 +01:00
Nikolay Sivov 3fd8a8f209 uxtheme: Return NULL file handle on OpenThemeFile() failure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-13 13:02:46 +01:00
Sergio Gómez Del Real 731136d8d3 uxtheme: Add a stub for IsCompositionActive().
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-18 20:26:18 +02:00
Andrey Gusev 1a761379f8 uxtheme/tests: Fix a typo in ok() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-09 19:14:32 +02:00
Akihiro Sagawa 9abd3b9622 msstyles: Avoid using isspace() for WCHARs.
Found with Coccinelle.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 16:11:22 +02:00
Nikolay Sivov 2b8cf54245 uxtheme/tests: Remove some trace messages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 10:59:41 +02:00
Nikolay Sivov 849c4716c1 uxtheme: Fix buffer dc origin and clipping.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 08:45:50 +02:00
Nikolay Sivov e015928a85 uxtheme: Fix buffer bitmap leak.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:01:57 +02:00
Nikolay Sivov 14d81d9eb9 uxtheme: Create compatible bitmap using target hdc.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +02:00
Nikolay Sivov 5278b342fd uxtheme/tests: A bit more tests for buffered painting API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:29 +01:00
Nikolay Sivov b557cb42eb uxtheme: Implement GetBufferedPaintBits().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:28 +01:00
Nikolay Sivov 89fe0a3f26 uxtheme: Implement GetBufferedPaintTargetRect().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:26 +01:00
Nikolay Sivov 9f9842ba19 uxtheme: Implement GetBufferedPaintTargetDC().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:24 +01:00
Nikolay Sivov fac941680e uxtheme: Implement GetBufferedPaintDC().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:22 +01:00
Nikolay Sivov 9d4a003995 uxtheme: Implement EndBufferedPaint().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:20 +01:00
Nikolay Sivov 35ae7c8f59 uxtheme: Partial implementation of BeginBufferedPaint().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:33:18 +01:00
Nikolay Sivov e41747a784 uxtheme/tests: Some tests for buffered painting API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-19 16:17:29 +01:00
Hadrien Boizard 3155079e41 uxtheme: Use straight assignments instead of CopyRect().
Signed-off-by: Hadrien Boizard <h.boizard@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-08 19:22:50 +01:00
Nikolay Sivov 456211e307 uxtheme: Remove stub message for implemented functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-25 11:53:52 +02:00
Sebastian Lackner 461bfc64ba uxtheme: Return E_NOTIMPL in HRESULT stub functions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 11:51:53 +09:00
Huw Davies 839995d5e9 uxtheme: Use 'ptr' instead of 'wstr' for [out] pointers.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 00:22:54 +09:00
Michael Stefaniuc 74a03b1adc uxtheme: Use straight assignments instead of CopyRect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:05 -05:00
Nikolay Sivov 1e54d38058 uxtheme/tests: Only link dynamically for functions that could be missing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:41:50 +09:00
Michael Stefaniuc 3c3fccacf0 uxtheme: Use wine_dbgstr_rect() to trace RECTs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:42:21 +09:00
Louis Lenders 997e2046df uxtheme: Fix CloseThemeData with invalid handle value.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 21:30:05 +09:00
Nikolay Sivov 2bb581b9b7 uxtheme: Partial implementation of DrawThemeTextEx. 2015-07-02 13:43:43 +09:00
Mark Harmstone a88722ab9a uxtheme: Stub out buffered animation functions. 2015-05-12 15:31:07 +09:00
Mark Harmstone 2b36f195b6 uxtheme: Stub out GetThemeTransitionDuration. 2015-05-01 15:18:02 +09:00
Mark Harmstone f9fe32939f uxtheme: Stub out buffered painting functions. 2015-04-28 15:34:38 +09:00
Mark Harmstone 2b650fa6db uxtheme: Resize source image if destination smaller than margins. 2015-04-15 22:21:57 +09:00
Mark Harmstone 9f622f1fa6 uxtheme: Fix typo making fonts italic. 2015-04-13 15:05:53 +09:00
Mark Harmstone 7aae2d2eae uxtheme: Free properties when theme file closed. 2015-04-13 15:05:39 +09:00
Mark Harmstone a1c3b30f49 uxtheme: Fix a copy-paste error which mean that GetThemeString would always fail. 2015-04-10 15:21:44 +09:00
Mark Harmstone c6b4b4b93e uxtheme: Fix colour errors in UXTHEME_StretchBlt. 2015-04-09 14:56:34 +09:00
Mark Harmstone 1a9810b385 uxtheme: Fix off-by-one error in array size. 2015-04-06 16:04:41 +09:00
Mark Harmstone 8fa8a23684 uxtheme: Support images in GetThemeBackgroundRegion. 2015-03-17 00:20:01 +09:00
Mark Harmstone b12f73a591 uxtheme: Assume imagecount to be 1 if unspecified. 2015-03-06 20:31:57 +09:00
Nikolay Sivov d861dc5e61 uxtheme: Use E_NOT_SUFFICIENT_BUFFER definition. 2014-10-08 13:13:37 +02:00
Nikolay Sivov 3ca67bc849 uxtheme/tests: No need to check last error when error code is explicitly returned. 2014-04-23 20:23:47 +02:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy 5181b1c4b8 uxtheme: Use BOOL type where appropriate. 2013-10-14 10:44:37 +02:00
Alexandre Julliard f02cdd877f Remove empty DLL_PROCESS_DETACH case statements. 2013-04-15 16:45:35 +02:00
André Hentschel f5c49aaf83 uxtheme/tests: Don't test for themed app. 2013-04-03 13:54:34 +02:00
Andrew Talbot 925a4411e8 uxtheme: Remove unused variable. 2012-11-29 00:15:56 +01:00
Austin English d7ccfef25b uxtheme: plf is already a pointer. 2012-05-22 17:44:00 +02:00
Alexandre Julliard 74f528eb28 uxtheme: Use the correct alpha for theme gradients. 2011-11-30 14:33:54 +01:00
Ruslan Kabatsayev 996b451c2d uxtheme: GetSysColor() expects the same type of argument as GetThemeSysColor(). 2011-10-31 17:52:52 +01:00
Alistair Leslie-Hughes 81079ef35b uxtheme: Set last error on NULL pointer. 2011-08-31 19:43:07 +02:00
Marcus Meissner 790c107045 uxtheme: Mark internal symbols with hidden visibility. 2011-05-25 11:52:01 +02:00
André Hentschel b0696b8b4a uxtheme/tests: Remove unneeded comment. 2011-04-05 16:22:09 +02:00
André Hentschel 85c989be49 uxtheme/tests: Mark XP SP1 behaviour as broken. 2011-04-05 16:22:06 +02:00
André Hentschel 1f8f7cf7af uxtheme/tests: Fix typo. 2011-03-31 12:38:04 +02:00
André Hentschel d69c1bef4c uxtheme/tests: Add tests for OpenThemeDataEx. 2011-03-30 15:05:40 +02:00
André Hentschel 0304a3e998 uxtheme: Add OpenThemeDataEx. 2011-03-30 15:05:04 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Alexandre Julliard 2df6743073 uxtheme: Use int64 in the spec file for 64-bit integers. 2010-08-31 14:23:48 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
André Hentschel e17be10d44 uxtheme: Quiet a noisy fixme. 2010-06-23 10:34:09 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Henri Verbeet d8c13bc5db uxtheme: GetObject() already returns a DIB's absolute height. 2010-03-01 14:03:34 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Alexandre Julliard de3e06a745 uxtheme: Fix some pointer cast warnings on 64-bit. 2009-12-09 12:04:08 +01:00
Marcus Meissner 88bd52daaf uxtheme: Handle malformed keys a bit better (Coverity). 2009-11-23 13:09:39 +01:00
Francois Gouget 55dccf2859 uxtheme: UXINI_ResetINI() is unused so remove it. 2009-02-09 13:16:10 +01:00
Ge van Geldorp b7ac6cb01d uxtheme/tests: Adjust error test for W2K8. 2009-01-26 16:07:40 +01:00