Author: gadamopoulos
Date: Tue Sep 20 13:08:36 2011
New Revision: 53771
URL:
http://svn.reactos.org/svn/reactos?rev=53771&view=rev
Log:
[uxtheme]
- Use precompiled headers
Added:
trunk/reactos/dll/win32/uxtheme/uxthemep.h (with props)
Removed:
trunk/reactos/dll/win32/uxtheme/msstyles.h
trunk/reactos/dll/win32/uxtheme/ncthm.h
trunk/reactos/dll/win32/uxtheme/uxthemedll.h
Modified:
trunk/reactos/dll/win32/uxtheme/CMakeLists.txt
trunk/reactos/dll/win32/uxtheme/buffer.c
trunk/reactos/dll/win32/uxtheme/draw.c
trunk/reactos/dll/win32/uxtheme/main.c
trunk/reactos/dll/win32/uxtheme/metric.c
trunk/reactos/dll/win32/uxtheme/msstyles.c
trunk/reactos/dll/win32/uxtheme/ncscrollbar.c
trunk/reactos/dll/win32/uxtheme/nonclient.c
trunk/reactos/dll/win32/uxtheme/property.c
trunk/reactos/dll/win32/uxtheme/stylemap.c
trunk/reactos/dll/win32/uxtheme/system.c
trunk/reactos/dll/win32/uxtheme/themehooks.c
trunk/reactos/dll/win32/uxtheme/uxini.c
trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild
Modified: trunk/reactos/dll/win32/uxtheme/CMakeLists.txt
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/CMakeLis…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/CMakeLists.txt [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -27,5 +27,6 @@
target_link_libraries(uxtheme wine)
add_delay_importlibs(uxtheme msimg32)
add_importlibs(uxtheme user32 advapi32 gdi32 msvcrt kernel32 ntdll)
+add_pch(uxtheme uxthemep.h)
add_cd_file(TARGET uxtheme DESTINATION reactos/system32 FOR all)
add_importlib_target(uxtheme.spec)
Modified: trunk/reactos/dll/win32/uxtheme/buffer.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/buffer.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/buffer.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/buffer.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,17 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wingdi.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
+#include "uxthemep.h"
+#include "wine/debug.h"
#include "wine/debug.h"
Modified: trunk/reactos/dll/win32/uxtheme/draw.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/draw.c?r…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/draw.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/draw.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,21 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdlib.h>
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wingdi.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "tmschema.h"
-
-#include "msstyles.h"
-#include "uxthemedll.h"
+#include "uxthemep.h"
+#include "wine/debug.h"
#include "wine/debug.h"
@@ -1881,7 +1868,7 @@
hbmp = UXTHEME_DrawThemePartToDib(hTheme, hdc, iPartId, iStateId, pRect);
/* Retrieve the info of the dib section */
- GetObject(hbmp, sizeof (DIBSECTION), &dib);
+ GetObjectW(hbmp, sizeof (DIBSECTION), &dib);
/* Convert the bits of the dib section to a region */
*pRegion = UXTHEME_RegionFromDibBits((RGBQUAD*)dib.dsBm.bmBits, &clrTransparent,
pRect);
Modified: trunk/reactos/dll/win32/uxtheme/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/main.c?r…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/main.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/main.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,13 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "uxthemedll.h"
+#include "uxthemep.h"
+#include "wine/debug.h"
#include "wine/debug.h"
Modified: trunk/reactos/dll/win32/uxtheme/metric.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/metric.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/metric.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/metric.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,19 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "tmschema.h"
-
-#include "msstyles.h"
+#include "uxthemep.h"
+#include "wine/debug.h"
#include "wine/debug.h"
Modified: trunk/reactos/dll/win32/uxtheme/msstyles.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/msstyles…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/msstyles.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/msstyles.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,21 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-#include <stdlib.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "winnls.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "tmschema.h"
-
-#include "msstyles.h"
+#include "uxthemep.h"
+#include "wine/debug.h"
#include "wine/unicode.h"
#include "wine/debug.h"
Removed: trunk/reactos/dll/win32/uxtheme/msstyles.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/msstyles…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/msstyles.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/msstyles.h (removed)
@@ -1,118 +1,0 @@
-/*
- * Internal msstyles related defines & declarations
- *
- * Copyright (C) 2003 Kevin Koltzau
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_MSSTYLES_H
-#define __WINE_MSSTYLES_H
-
-#define TMT_ENUM 200
-
-#define MAX_THEME_APP_NAME 60
-#define MAX_THEME_CLASS_NAME 60
-#define MAX_THEME_VALUE_NAME 60
-
-typedef struct _THEME_PROPERTY {
- int iPrimitiveType;
- int iPropertyId;
- PROPERTYORIGIN origin;
-
- LPCWSTR lpValue;
- DWORD dwValueLen;
-
- struct _THEME_PROPERTY *next;
-} THEME_PROPERTY, *PTHEME_PROPERTY;
-
-typedef struct _THEME_PARTSTATE {
- int iPartId;
- int iStateId;
- PTHEME_PROPERTY properties;
-
- struct _THEME_PARTSTATE *next;
-} THEME_PARTSTATE, *PTHEME_PARTSTATE;
-
-struct _THEME_FILE;
-
-typedef struct _THEME_CLASS {
- HMODULE hTheme;
- struct _THEME_FILE* tf;
- WCHAR szAppName[MAX_THEME_APP_NAME];
- WCHAR szClassName[MAX_THEME_CLASS_NAME];
- PTHEME_PARTSTATE partstate;
- struct _THEME_CLASS *overrides;
-
- struct _THEME_CLASS *next;
-} THEME_CLASS, *PTHEME_CLASS;
-
-typedef struct _THEME_IMAGE {
- WCHAR name[MAX_PATH];
- HBITMAP image;
- BOOL hasAlpha;
-
- struct _THEME_IMAGE *next;
-} THEME_IMAGE, *PTHEME_IMAGE;
-
-typedef struct _THEME_FILE {
- DWORD dwRefCount;
- HMODULE hTheme;
- WCHAR szThemeFile[MAX_PATH];
- LPWSTR pszAvailColors;
- LPWSTR pszAvailSizes;
-
- LPWSTR pszSelectedColor;
- LPWSTR pszSelectedSize;
-
- PTHEME_CLASS classes;
- PTHEME_PROPERTY metrics;
- PTHEME_IMAGE images;
-} THEME_FILE, *PTHEME_FILE;
-
-typedef struct _UXINI_FILE *PUXINI_FILE;
-
-HRESULT MSSTYLES_OpenThemeFile(LPCWSTR lpThemeFile, LPCWSTR pszColorName, LPCWSTR
pszSizeName, PTHEME_FILE *tf);
-void MSSTYLES_CloseThemeFile(PTHEME_FILE tf);
-HRESULT MSSTYLES_SetActiveTheme(PTHEME_FILE tf, BOOL setMetrics);
-PTHEME_CLASS MSSTYLES_OpenThemeClass(LPCWSTR pszAppName, LPCWSTR pszClassList);
-HRESULT MSSTYLES_CloseThemeClass(PTHEME_CLASS tc);
-BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId);
-BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue);
-BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int
*iPartId, int *iStateId);
-PUXINI_FILE MSSTYLES_GetThemeIni(PTHEME_FILE tf);
-PTHEME_PARTSTATE MSSTYLES_FindPartState(PTHEME_CLASS tc, int iPartId, int iStateId,
PTHEME_CLASS *tcNext);
-PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int
iPropertyPrimitive, int iPropertyId);
-PTHEME_PROPERTY MSSTYLES_FindMetric(int iPropertyPrimitive, int iPropertyId);
-HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL* hasAlpha);
-
-HRESULT MSSTYLES_GetPropertyBool(PTHEME_PROPERTY tp, BOOL *pfVal);
-HRESULT MSSTYLES_GetPropertyColor(PTHEME_PROPERTY tp, COLORREF *pColor);
-HRESULT MSSTYLES_GetPropertyFont(PTHEME_PROPERTY tp, HDC hdc, LOGFONTW *pFont);
-HRESULT MSSTYLES_GetPropertyInt(PTHEME_PROPERTY tp, int *piVal);
-HRESULT MSSTYLES_GetPropertyIntList(PTHEME_PROPERTY tp, INTLIST *pIntList);
-HRESULT MSSTYLES_GetPropertyPosition(PTHEME_PROPERTY tp, POINT *pPoint);
-HRESULT MSSTYLES_GetPropertyString(PTHEME_PROPERTY tp, LPWSTR pszBuff, int
cchMaxBuffChars);
-HRESULT MSSTYLES_GetPropertyRect(PTHEME_PROPERTY tp, RECT *pRect);
-HRESULT MSSTYLES_GetPropertyMargins(PTHEME_PROPERTY tp, RECT *prc, MARGINS *pMargins);
-
-PUXINI_FILE UXINI_LoadINI(HMODULE hTheme, LPCWSTR lpName);
-void UXINI_CloseINI(PUXINI_FILE uf);
-LPCWSTR UXINI_GetNextSection(PUXINI_FILE uf, DWORD *dwLen);
-BOOL UXINI_FindSection(PUXINI_FILE uf, LPCWSTR lpName);
-LPCWSTR UXINI_GetNextValue(PUXINI_FILE uf, DWORD *dwNameLen, LPCWSTR *lpValue, DWORD
*dwValueLen);
-BOOL UXINI_FindValue(PUXINI_FILE uf, LPCWSTR lpName, LPCWSTR *lpValue, DWORD
*dwValueLen);
-
-#endif
Modified: trunk/reactos/dll/win32/uxtheme/ncscrollbar.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/ncscroll…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/ncscrollbar.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/ncscrollbar.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -9,14 +9,7 @@
* Copyright 1994, 1996 Alexandre Julliard
*/
-#include <windows.h>
-#include "undocuser.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include <tmschema.h>
-#include <windowsx.h>
-#include "ncthm.h"
-#include <assert.h>
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
Removed: trunk/reactos/dll/win32/uxtheme/ncthm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/ncthm.h?…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/ncthm.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/ncthm.h (removed)
@@ -1,106 +1,0 @@
-
-typedef struct _WND_CONTEXT
-{
- BOOL HasAppDefinedRgn;
- BOOL HasThemeRgn;
- BOOL UpdatingRgn;
-} WND_CONTEXT, *PWND_CONTEXT;
-
-typedef struct _DRAW_CONTEXT
-{
- HWND hWnd;
- HDC hDC;
- HTHEME theme;
- HTHEME scrolltheme;
- HTHEME hPrevTheme;
- WINDOWINFO wi;
- BOOL Active; /* wi.dwWindowStatus isn't correct for mdi child windows */
- HRGN hRgn;
- int CaptionHeight;
-
- /* for double buffering */
- HDC hDCScreen;
- HBITMAP hbmpOld;
-} DRAW_CONTEXT, *PDRAW_CONTEXT;
-
-typedef enum
-{
- CLOSEBUTTON,
- MAXBUTTON,
- MINBUTTON,
- HELPBUTTON
-} CAPTIONBUTTON;
-
-/*
-The following values specify all possible vutton states
-Note that not all of them are documented but it is easy to
-find them by opening a theme file
-*/
-typedef enum {
- BUTTON_NORMAL = 1 ,
- BUTTON_HOT ,
- BUTTON_PRESSED ,
- BUTTON_DISABLED ,
- BUTTON_INACTIVE
-} THEME_BUTTON_STATES;
-
- /* Scroll-bar hit testing */
-enum SCROLL_HITTEST
-{
- SCROLL_NOWHERE, /* Outside the scroll bar */
- SCROLL_TOP_ARROW, /* Top or left arrow */
- SCROLL_TOP_RECT, /* Rectangle between the top arrow and the thumb */
- SCROLL_THUMB, /* Thumb rectangle */
- SCROLL_BOTTOM_RECT, /* Rectangle between the thumb and the bottom arrow */
- SCROLL_BOTTOM_ARROW /* Bottom or right arrow */
-};
-
-#define HASSIZEGRIP(Style, ExStyle, ParentStyle, WindowRect, ParentClientRect) \
- ((!(Style & WS_CHILD) && (Style & WS_THICKFRAME) &&
!(Style & WS_MAXIMIZE)) || \
- ((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME)
&& !(ParentStyle & WS_MAXIMIZE) && \
- (WindowRect.right - WindowRect.left == ParentClientRect.right) && \
- (WindowRect.bottom - WindowRect.top == ParentClientRect.bottom)))
-
-#define HAS_MENU(hwnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD)
&& GetMenu(hwnd))
-
-#define BUTTON_GAP_SIZE 2
-
-#define MENU_BAR_ITEMS_SPACE (12)
-
-#define SCROLL_TIMER 0 /* Scroll timer id */
-
- /* Overlap between arrows and thumb */
-#define SCROLL_ARROW_THUMB_OVERLAP 0
-
- /* Delay (in ms) before first repetition when holding the button down */
-#define SCROLL_FIRST_DELAY 200
-
- /* Delay (in ms) between scroll repetitions */
-#define SCROLL_REPEAT_DELAY 50
-
-/* Minimum size of the thumb in pixels */
-#define SCROLL_MIN_THUMB 6
-
-/* Minimum size of the rectangle between the arrows */
-#define SCROLL_MIN_RECT 4
-
-void
-ThemeDrawScrollBar(PDRAW_CONTEXT pcontext, INT Bar, POINT* pt);
-
-VOID
-NC_TrackScrollBar(HWND Wnd, WPARAM wParam, POINT Pt);
-
-void
-ThemeInitDrawContext(PDRAW_CONTEXT pcontext,
- HWND hWnd,
- HRGN hRgn);
-
-void
-ThemeCleanupDrawContext(PDRAW_CONTEXT pcontext);
-
-PWND_CONTEXT
-ThemeGetWndContext(HWND hWnd);
-
-extern ATOM atWindowTheme;
-extern ATOM atWndContrext;
-
Modified: trunk/reactos/dll/win32/uxtheme/nonclient.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/nonclien…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/nonclient.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -6,14 +6,7 @@
* PROGRAMMER: Giannis Adamopoulos
*/
-#include <windows.h>
-#include <windowsx.h>
-#include "undocuser.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include <tmschema.h>
-#include "ncthm.h"
-
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
Modified: trunk/reactos/dll/win32/uxtheme/property.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/property…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/property.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/property.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,20 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "wingdi.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "tmschema.h"
-
-#include "msstyles.h"
-
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
Modified: trunk/reactos/dll/win32/uxtheme/stylemap.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/stylemap…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/stylemap.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/stylemap.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,16 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "tmschema.h"
-
-#define TMT_ENUM 200
+#include "uxthemep.h"
+#include "wine/debug.h"
typedef struct _MSSTYLES_PROPERTY_MAP {
WORD dwPrimitiveType;
Modified: trunk/reactos/dll/win32/uxtheme/system.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/system.c…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/system.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/system.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,25 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-#include <stdio.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "winreg.h"
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "tmschema.h"
-#include "uxundoc.h"
-
-#include "uxthemedll.h"
-#include "msstyles.h"
-#include "ncthm.h"
-
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
Modified: trunk/reactos/dll/win32/uxtheme/themehooks.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/themehoo…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/themehooks.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/themehooks.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -6,15 +6,7 @@
* PROGRAMMER: Giannis Adamopoulos
*/
-#include <windows.h>
-#include <undocuser.h>
-
-#include "vfwmsgs.h"
-#include "uxtheme.h"
-#include "uxthemedll.h"
-#include "ncthm.h"
-#include "tmschema.h"
-
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
Modified: trunk/reactos/dll/win32/uxtheme/uxini.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxini.c?…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxini.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/uxini.c [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -18,14 +18,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
-#include <stdarg.h>
-
-#include "windef.h"
-#include "winbase.h"
-#include "winnls.h"
-
+#include "uxthemep.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
@@ -42,7 +35,7 @@
LPCWSTR lpIni;
LPCWSTR lpCurLoc;
LPCWSTR lpEnd;
-} UXINI_FILE, *PUXINI_FILE;
+} UXINI_FILE;
/***********************************************************************/
Modified: trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxtheme.…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/uxtheme.rbuild [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -6,6 +6,7 @@
<include base="uxtheme">.</include>
<include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" />
+ <pch>uxthemep.h</pch>
<file>buffer.c</file>
<file>draw.c</file>
<file>main.c</file>
Removed: trunk/reactos/dll/win32/uxtheme/uxthemedll.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxthemed…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxthemedll.h [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/uxtheme/uxthemedll.h (removed)
@@ -1,35 +1,0 @@
-/*
- * Internal uxtheme defines & declarations
- *
- * Copyright (C) 2003 Kevin Koltzau
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_UXTHEMEDLL_H
-#define __WINE_UXTHEMEDLL_H
-
-extern void UXTHEME_InitSystem(HINSTANCE hInst);
-extern void UXTHEME_LoadTheme(BOOL bLoad);
-extern BOOL CALLBACK UXTHEME_broadcast_msg (HWND hWnd, LPARAM msg);
-
-/* No alpha blending */
-#define ALPHABLEND_NONE 0
-/* "Cheap" binary alpha blending - but possibly faster */
-#define ALPHABLEND_BINARY 1
-/* Full alpha blending */
-#define ALPHABLEND_FULL 2
-
-#endif /* __WINE_UXTHEMEDLL_H */
Added: trunk/reactos/dll/win32/uxtheme/uxthemep.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/uxtheme/uxthemep…
==============================================================================
--- trunk/reactos/dll/win32/uxtheme/uxthemep.h (added)
+++ trunk/reactos/dll/win32/uxtheme/uxthemep.h [iso-8859-1] Tue Sep 20 13:08:36 2011
@@ -1,0 +1,212 @@
+#include <windows.h>
+#include <windowsx.h>
+#include <undocuser.h>
+#include <uxtheme.h>
+#include <uxundoc.h>
+#include <vfwmsgs.h>
+#include <tmschema.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define TMT_ENUM 200
+
+#define MAX_THEME_APP_NAME 60
+#define MAX_THEME_CLASS_NAME 60
+#define MAX_THEME_VALUE_NAME 60
+
+typedef struct _THEME_PROPERTY {
+ int iPrimitiveType;
+ int iPropertyId;
+ PROPERTYORIGIN origin;
+
+ LPCWSTR lpValue;
+ DWORD dwValueLen;
+
+ struct _THEME_PROPERTY *next;
+} THEME_PROPERTY, *PTHEME_PROPERTY;
+
+typedef struct _THEME_PARTSTATE {
+ int iPartId;
+ int iStateId;
+ PTHEME_PROPERTY properties;
+
+ struct _THEME_PARTSTATE *next;
+} THEME_PARTSTATE, *PTHEME_PARTSTATE;
+
+struct _THEME_FILE;
+
+typedef struct _THEME_CLASS {
+ HMODULE hTheme;
+ struct _THEME_FILE* tf;
+ WCHAR szAppName[MAX_THEME_APP_NAME];
+ WCHAR szClassName[MAX_THEME_CLASS_NAME];
+ PTHEME_PARTSTATE partstate;
+ struct _THEME_CLASS *overrides;
+
+ struct _THEME_CLASS *next;
+} THEME_CLASS, *PTHEME_CLASS;
+
+typedef struct _THEME_IMAGE {
+ WCHAR name[MAX_PATH];
+ HBITMAP image;
+ BOOL hasAlpha;
+
+ struct _THEME_IMAGE *next;
+} THEME_IMAGE, *PTHEME_IMAGE;
+
+typedef struct _THEME_FILE {
+ DWORD dwRefCount;
+ HMODULE hTheme;
+ WCHAR szThemeFile[MAX_PATH];
+ LPWSTR pszAvailColors;
+ LPWSTR pszAvailSizes;
+
+ LPWSTR pszSelectedColor;
+ LPWSTR pszSelectedSize;
+
+ PTHEME_CLASS classes;
+ PTHEME_PROPERTY metrics;
+ PTHEME_IMAGE images;
+} THEME_FILE, *PTHEME_FILE;
+
+typedef struct _UXINI_FILE *PUXINI_FILE;
+
+HRESULT MSSTYLES_OpenThemeFile(LPCWSTR lpThemeFile, LPCWSTR pszColorName, LPCWSTR
pszSizeName, PTHEME_FILE *tf);
+void MSSTYLES_CloseThemeFile(PTHEME_FILE tf);
+HRESULT MSSTYLES_SetActiveTheme(PTHEME_FILE tf, BOOL setMetrics);
+PTHEME_CLASS MSSTYLES_OpenThemeClass(LPCWSTR pszAppName, LPCWSTR pszClassList);
+HRESULT MSSTYLES_CloseThemeClass(PTHEME_CLASS tc);
+BOOL MSSTYLES_LookupProperty(LPCWSTR pszPropertyName, int *dwPrimitive, int *dwId);
+BOOL MSSTYLES_LookupEnum(LPCWSTR pszValueName, int dwEnum, int *dwValue);
+BOOL MSSTYLES_LookupPartState(LPCWSTR pszClass, LPCWSTR pszPart, LPCWSTR pszState, int
*iPartId, int *iStateId);
+PUXINI_FILE MSSTYLES_GetThemeIni(PTHEME_FILE tf);
+PTHEME_PARTSTATE MSSTYLES_FindPartState(PTHEME_CLASS tc, int iPartId, int iStateId,
PTHEME_CLASS *tcNext);
+PTHEME_PROPERTY MSSTYLES_FindProperty(PTHEME_CLASS tc, int iPartId, int iStateId, int
iPropertyPrimitive, int iPropertyId);
+PTHEME_PROPERTY MSSTYLES_FindMetric(int iPropertyPrimitive, int iPropertyId);
+HBITMAP MSSTYLES_LoadBitmap(PTHEME_CLASS tc, LPCWSTR lpFilename, BOOL* hasAlpha);
+
+HRESULT MSSTYLES_GetPropertyBool(PTHEME_PROPERTY tp, BOOL *pfVal);
+HRESULT MSSTYLES_GetPropertyColor(PTHEME_PROPERTY tp, COLORREF *pColor);
+HRESULT MSSTYLES_GetPropertyFont(PTHEME_PROPERTY tp, HDC hdc, LOGFONTW *pFont);
+HRESULT MSSTYLES_GetPropertyInt(PTHEME_PROPERTY tp, int *piVal);
+HRESULT MSSTYLES_GetPropertyIntList(PTHEME_PROPERTY tp, INTLIST *pIntList);
+HRESULT MSSTYLES_GetPropertyPosition(PTHEME_PROPERTY tp, POINT *pPoint);
+HRESULT MSSTYLES_GetPropertyString(PTHEME_PROPERTY tp, LPWSTR pszBuff, int
cchMaxBuffChars);
+HRESULT MSSTYLES_GetPropertyRect(PTHEME_PROPERTY tp, RECT *pRect);
+HRESULT MSSTYLES_GetPropertyMargins(PTHEME_PROPERTY tp, RECT *prc, MARGINS *pMargins);
+
+PUXINI_FILE UXINI_LoadINI(HMODULE hTheme, LPCWSTR lpName);
+void UXINI_CloseINI(PUXINI_FILE uf);
+LPCWSTR UXINI_GetNextSection(PUXINI_FILE uf, DWORD *dwLen);
+BOOL UXINI_FindSection(PUXINI_FILE uf, LPCWSTR lpName);
+LPCWSTR UXINI_GetNextValue(PUXINI_FILE uf, DWORD *dwNameLen, LPCWSTR *lpValue, DWORD
*dwValueLen);
+BOOL UXINI_FindValue(PUXINI_FILE uf, LPCWSTR lpName, LPCWSTR *lpValue, DWORD
*dwValueLen);
+
+
+
+typedef struct _WND_CONTEXT
+{
+ BOOL HasAppDefinedRgn;
+ BOOL HasThemeRgn;
+ BOOL UpdatingRgn;
+} WND_CONTEXT, *PWND_CONTEXT;
+
+typedef struct _DRAW_CONTEXT
+{
+ HWND hWnd;
+ HDC hDC;
+ HTHEME theme;
+ HTHEME scrolltheme;
+ HTHEME hPrevTheme;
+ WINDOWINFO wi;
+ BOOL Active; /* wi.dwWindowStatus isn't correct for mdi child windows */
+ HRGN hRgn;
+ int CaptionHeight;
+
+ /* for double buffering */
+ HDC hDCScreen;
+ HBITMAP hbmpOld;
+} DRAW_CONTEXT, *PDRAW_CONTEXT;
+
+typedef enum
+{
+ CLOSEBUTTON,
+ MAXBUTTON,
+ MINBUTTON,
+ HELPBUTTON
+} CAPTIONBUTTON;
+
+/*
+The following values specify all possible vutton states
+Note that not all of them are documented but it is easy to
+find them by opening a theme file
+*/
+typedef enum {
+ BUTTON_NORMAL = 1 ,
+ BUTTON_HOT ,
+ BUTTON_PRESSED ,
+ BUTTON_DISABLED ,
+ BUTTON_INACTIVE
+} THEME_BUTTON_STATES;
+
+ /* Scroll-bar hit testing */
+enum SCROLL_HITTEST
+{
+ SCROLL_NOWHERE, /* Outside the scroll bar */
+ SCROLL_TOP_ARROW, /* Top or left arrow */
+ SCROLL_TOP_RECT, /* Rectangle between the top arrow and the thumb */
+ SCROLL_THUMB, /* Thumb rectangle */
+ SCROLL_BOTTOM_RECT, /* Rectangle between the thumb and the bottom arrow */
+ SCROLL_BOTTOM_ARROW /* Bottom or right arrow */
+};
+
+#define HASSIZEGRIP(Style, ExStyle, ParentStyle, WindowRect, ParentClientRect) \
+ ((!(Style & WS_CHILD) && (Style & WS_THICKFRAME) &&
!(Style & WS_MAXIMIZE)) || \
+ ((Style & WS_CHILD) && (ParentStyle & WS_THICKFRAME)
&& !(ParentStyle & WS_MAXIMIZE) && \
+ (WindowRect.right - WindowRect.left == ParentClientRect.right) && \
+ (WindowRect.bottom - WindowRect.top == ParentClientRect.bottom)))
+
+#define HAS_MENU(hwnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD)
&& GetMenu(hwnd))
+
+#define BUTTON_GAP_SIZE 2
+
+#define MENU_BAR_ITEMS_SPACE (12)
+
+#define SCROLL_TIMER 0 /* Scroll timer id */
+
+ /* Overlap between arrows and thumb */
+#define SCROLL_ARROW_THUMB_OVERLAP 0
+
+ /* Delay (in ms) before first repetition when holding the button down */
+#define SCROLL_FIRST_DELAY 200
+
+ /* Delay (in ms) between scroll repetitions */
+#define SCROLL_REPEAT_DELAY 50
+
+/* Minimum size of the thumb in pixels */
+#define SCROLL_MIN_THUMB 6
+
+/* Minimum size of the rectangle between the arrows */
+#define SCROLL_MIN_RECT 4
+
+void ThemeDrawScrollBar(PDRAW_CONTEXT pcontext, INT Bar, POINT* pt);
+VOID NC_TrackScrollBar(HWND Wnd, WPARAM wParam, POINT Pt);
+void ThemeInitDrawContext(PDRAW_CONTEXT pcontext, HWND hWnd, HRGN hRgn);
+void ThemeCleanupDrawContext(PDRAW_CONTEXT pcontext);
+PWND_CONTEXT ThemeGetWndContext(HWND hWnd);
+
+extern ATOM atWindowTheme;
+extern ATOM atWndContrext;
+
+void UXTHEME_InitSystem(HINSTANCE hInst);
+void UXTHEME_LoadTheme(BOOL bLoad);
+BOOL CALLBACK UXTHEME_broadcast_msg (HWND hWnd, LPARAM msg);
+
+/* No alpha blending */
+#define ALPHABLEND_NONE 0
+/* "Cheap" binary alpha blending - but possibly faster */
+#define ALPHABLEND_BINARY 1
+/* Full alpha blending */
+#define ALPHABLEND_FULL 2
Propchange: trunk/reactos/dll/win32/uxtheme/uxthemep.h
------------------------------------------------------------------------------
svn:eol-style = native