Commit Graph

78 Commits

Author SHA1 Message Date
Gerald Pfeifer
d60c5cea1c #include <stdlib.h> to get abs() prototype. 2005-09-06 09:19:27 +00:00
Frank Richter
064b54a0ad Remove shlwapi dependency. 2005-09-02 12:29:02 +00:00
Frank Richter
a18042e77f More elaborate IsThemeBackgroundPartiallyTransparent() implementation;
also returns TRUE for theme parts with 32bpp images.
2005-08-30 09:58:41 +00:00
Frank Richter
28022e8022 EnumThemeColors() and EnumThemeSizes() actually do not return a single
string with the color/size name, but rather a struct containing three
strings - name, display name and tooltip.
2005-08-30 08:54:45 +00:00
Frank Richter
9a88d25ba4 Since theme images are reused now it's not really a good idea to
delete them in drawing functions.
2005-08-30 08:54:31 +00:00
Frank Richter
44b4c7459b Pass around what kind of transparency an image actually needs. Use
alpha-blending for 32bpp images.
2005-08-29 21:47:26 +00:00
Frank Richter
e53a7639d7 If a MINSIZEn property is not present, fall back to actual size of nth
image to determine whether it is suitable.
2005-08-29 10:46:45 +00:00
Frank Richter
9a03000e5e Take a common computation out of two if-branches in
UXTHEME_LoadImage().
2005-08-29 10:15:59 +00:00
Frank Richter
eed5b662b9 Implement "manual" image sharing(as opposed to using LoadImage() with
LR_SHARED) by keeping the loaded images in a list. This is needed for
proper alpha support later on since once-per-image preparations will
be needed then.
2005-08-29 09:30:17 +00:00
Kevin Koltzau
dbfac2ee12 Fix 'cast to pointer from integer of different size' warnings in
64bit.
2005-08-22 10:18:17 +00:00
Frank Richter
fcb8a2f859 Compare result of RegQueryValueExW() with ERROR_SUCCESS. 2005-08-15 10:23:48 +00:00
Frank Richter
6451a1495a Whatever TrueSizeStretchMark is for - it's not what Wine uxtheme used
it for. Native uxtheme always stretches "truesize" parts when the
destination is smaller than the part image size, but
TrueSizeStretchMark doesn't seem to have an influence.
2005-08-15 10:21:40 +00:00
Frank Richter
8ff3c7e623 Better computations to have uniformly sized parts scaled in both
directions.
2005-08-15 09:34:21 +00:00
Frank Richter
0f94e03b40 Enhance uxtheme to store the themed system metrics in the registry and
also backup the old metrics. That way, themed system colors are set
even uxtheme was not loaded and initialized yet, and when a theme is
deactivated, the colors prior to the activation are restored as well.
Also, not having to set the system colors in uxtheme startup works
around weird problems where SetSystemColors() ended up being called
from inside window creation and this seemingly led to some creation
message being sent twice.
2005-08-12 15:51:13 +00:00
Frank Richter
70442d5eb0 Implement DrawThemeEdge(). 2005-08-03 21:16:45 +00:00
Frank Richter
aab700d16e Set some default values for truesize sizing that seem closer to
Windows.
2005-08-03 19:47:51 +00:00
Frank Richter
30fffdaef0 The default image layout is HORIZONTAL, not VERTICAL. 2005-08-03 19:13:01 +00:00
Frank Richter
635135ba3d Another fix to use magenta as the default transparent color. 2005-08-03 15:42:43 +00:00
Frank Richter
46c31adab2 Add support for horizontal & vertical alignment when doing truesize
sizing.
2005-08-03 14:54:28 +00:00
Frank Richter
1979ab3c2b Add support for the BT_NONE background type. 2005-08-03 12:32:59 +00:00
Frank Richter
50cd0e0232 Implement GetThemeBackgroundExtent(). 2005-08-03 11:45:02 +00:00
Frank Richter
59e5ce9d87 Implement support for the ST_TILE background stretching mode. 2005-08-03 10:55:40 +00:00
Frank Richter
3701cb2fa0 Implementation for GetThemePartSize() (not entirely equivalent to
native uxtheme, but sensibly useable).
2005-07-27 15:33:31 +00:00
Frank Richter
1621ff4a44 Make GetThemeMargins() return default values (0 margin) if the
function does not succeed.
2005-07-27 15:15:09 +00:00
Frank Richter
100923508c OpenThemeData() now always sets the window theme to the handle
returned (even if that is NULL) - previously, it could happen that
when no theme was active or the theme data could not be opened that
the window theme remained became then-dangling (and hence subsequent
calls to GetWindowTheme() would return that bogus theme).
2005-07-24 17:11:05 +00:00
Frank Richter
4d2e6b7d98 GetThemeBackgroundContentRect() does not use the content margins
alone, it also falls back to the border size or sizing margins, and if
it can't find any possible margins at all, it returns the original
rectangle.
2005-07-24 17:09:58 +00:00
Frank Richter
5bb8f968f6 Make dialog theme texture setting non-global (ie a per-window
setting).
2005-07-15 16:32:37 +00:00
Frank Richter
4d363ab085 Better viewport origin in DrawThemeParentBackground(). 2005-07-12 17:55:20 +00:00
Frank Richter
2986adb0b5 Correct border rectangle drawing. 2005-07-12 16:59:32 +00:00
Frank Richter
0bd04866e8 Don't crash if NULL is passed as the class list to OpenThemeData(). 2005-07-12 16:59:20 +00:00
Mike McCormack
257c337c19 gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-07 12:08:42 +00:00
Frank Richter
6212477ea4 Every window needs to receive WM_THEMECHANGED (esp. controls), so also
send it to child windows.
2005-07-06 10:32:30 +00:00
Frank Richter
4d4c0a2da9 UXTHEME_LoadImage(): Set default image count to 1 to avoid division by
zero in case image count property is not given. Properly support 0
state IDs.
2005-07-05 14:05:35 +00:00
Stefan Huehner
2440dcfe88 Fix -Wmissing-declarations warnings. 2005-07-05 12:49:14 +00:00
Frank Richter
420d7a82da Opening some theme class data now also increases the reference count
of the theme file, so as long as theme class data is still opened
somewhere, the theme file won't get freed. Otherwise, it could happen
that invalid class data was used, which could lead to problems.
2005-07-05 11:45:57 +00:00
Frank Richter
204f32eae2 Changed the default transparent color in case none was explicitly
specified from the upper left pixel color to magenta. Empirically
gives better results.
2005-07-05 11:45:41 +00:00
Frank Richter
72d6a98469 Write WCHAR strings to registry with correct size. 2005-07-05 10:57:17 +00:00
Thomas Weidenmueller
e1d2852def IsThemeDialogTextureEnabled should have one parameter to match the
prototype in the official headers.
2005-07-05 10:56:27 +00:00
Frank Richter
796f941bee Enable/disable "flat menus" based on the setting from the active
theme.
2005-07-05 10:55:22 +00:00
Stefan Huehner
4b53c3aa18 Make some function static. 2005-07-01 15:40:24 +00:00
Frank Richter
db56189f24 Have the theme INI file parsed upon theme activation and not just when
the first theme data is requested; that way, the themed system colors
are set correctly from the start, and not just after some theme data
was requested.
2005-07-01 15:39:14 +00:00
Stefan Huehner
863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Kevin Koltzau
1c97e56fa9 Use uniformsizing theme property. 2005-05-24 09:49:29 +00:00
Alexandre Julliard
34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Eric Pouech
4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Kevin Koltzau
a2101225fe Fix clipping for DrawThemeParentBackground. 2004-11-21 15:33:36 +00:00
Kevin Koltzau
33676ad347 Implementation of GetThemeBackgroundExtent.
Partial implementation of GetThemeBackgroundRegion.
Correct a few comments.
2004-11-09 20:03:25 +00:00
Kevin Koltzau
399842b136 Fix crash when no theme is set and application ignores errors. 2004-11-09 20:02:39 +00:00
Hans Leidekker
719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00