Commit Graph

79 Commits

Author SHA1 Message Date
Mike McCormack d168219849 Fix gcc 4.0 warnings. 2005-09-06 10:26:13 +00:00
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