[ros-diffs] [gadamopoulos] 53771: [uxtheme] - Use precompiled headers

gadamopoulos at svn.reactos.org gadamopoulos at svn.reactos.org
Tue Sep 20 13:08:36 UTC 2011


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/CMakeLists.txt?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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.h?rev=53770&view=auto
==============================================================================
--- 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/ncscrollbar.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53770&view=auto
==============================================================================
--- 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/nonclient.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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/themehooks.c?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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.rbuild?rev=53771&r1=53770&r2=53771&view=diff
==============================================================================
--- 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/uxthemedll.h?rev=53770&view=auto
==============================================================================
--- 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.h?rev=53771&view=auto
==============================================================================
--- 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




More information about the Ros-diffs mailing list