Commit in reactos/lib/uxtheme on MAIN
.cvsignore-141.2 removed
makefile-311.3 removed
uxtheme.bpr-1241.2 removed
uxtheme.def-971.3 removed
uxtheme.rc-511.1 removed
uxthemedll.c-2631.3 removed
uxthemedll.h-731.3 removed
include/nostyle/button.h-121.1 removed
nostyle/.cvsignore-61.2 removed
       /button.c-5721.5 removed
-1243
10 removed files
A dummy uxtheme doesn't belong to ReactOS - it should be an external project. UxTheme says bye bye and good luck everyone

reactos/lib/uxtheme
.cvsignore removed after 1.2
diff -N .cvsignore
--- .cvsignore	6 Nov 2003 02:47:24 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-*.coff
-*.dll
-*.d
-*.a
-*.o
-*.sym
-*.map
-*.tmp
-*.~*
-*.il?
-*.res
-*.tds
-*.lib
-*.xml

reactos/lib/uxtheme
makefile removed after 1.3
diff -N makefile
--- makefile	17 Dec 2003 01:39:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,31 +0,0 @@
-# $Id: makefile,v 1.3 2003/12/17 01:39:21 hyperion Exp $
-
-PATH_TO_TOP = ../..
-
-TARGET_DEFONLY = yes
-
-TARGET_TYPE = dynlink
-
-TARGET_NAME = uxtheme
-
-TARGET_SDKLIBS = kernel32.a user32.a gdi32.a
-
-TARGET_CFLAGS = -Wall -Werror -D_DISABLE_TIDENTS -D__USE_W32API -I./include
-
-TARGET_LFLAGS = -nostartfiles -Wl,--enable-stdcall-fixup
-
-TARGET_BASE = 0x5B180000
-
-TARGET_OBJECTS = \
- uxthemedll.o \
- nostyle/button.o
-
-DEP_OBJECTS = $(TARGET_OBJECTS)
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-include $(TOOLS_PATH)/depend.mk
-
-# EOF

reactos/lib/uxtheme
uxtheme.bpr removed after 1.2
diff -N uxtheme.bpr
--- uxtheme.bpr	6 Nov 2003 02:47:24 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<!-- C++Builder XML Project -->
-<PROJECT>
-  <MACROS>
-    <VERSION value="BCB.06.00"/>
-    <PROJECT value="uxtheme.dll"/>
-    <OBJFILES value="uxthemedll.obj nostyle\button.obj"/>
-    <RESFILES value="uxtheme.res"/>
-    <IDLFILES value=""/>
-    <IDLGENFILES value=""/>
-    <DEFFILE value="uxtheme.def"/>
-    <RESDEPEN value="$(RESFILES)"/>
-    <LIBFILES value=""/>
-    <LIBRARIES value=""/>
-    <SPARELIBS value="rtl.lib"/>
-    <PACKAGES value="vcl.bpi rtl.bpi dbrtl.bpi adortl.bpi vcldb.bpi vclx.bpi bdertl.bpi 
-      ibxpress.bpi cds.bpi dsnap.bpi bdecds.bpi qrpt.bpi teeui.bpi teedb.bpi 
-      tee.bpi vcldbx.bpi dss.bpi teeqr.bpi visualclx.bpi visualdbclx.bpi 
-      dsnapcrba.bpi dsnapcon.bpi bcbsmp.bpi dbexpress.bpi dbxcds.bpi indy.bpi"/>
-    <PATHCPP value=".;nostyle"/>
-    <PATHPAS value=".;"/>
-    <PATHRC value=".;"/>
-    <PATHASM value=".;"/>
-    <DEBUGLIBPATH value="$(BCB)\lib\debug"/>
-    <RELEASELIBPATH value="$(BCB)\lib\release"/>
-    <LINKER value="ilink32"/>
-    <USERDEFINES value="_DEBUG;"/>
-    <SYSDEFINES value="NO_STRICT;_NO_VCL;USEPACKAGES"/>
-    <MAINSOURCE value="uxthemedll.c"/>
-    <INCLUDEPATH value="nostyle;.\include;$(BCB)\include;$(BCB)\include\vcl;..\..\include"/>
-    <LIBPATH value="nostyle;$(BCB)\Projects\Lib;uxtheme;$(BCB)\lib\obj;$(BCB)\lib"/>
-    <WARNINGS value="-w-par"/>
-    <OTHERFILES value=""/>
-  </MACROS>
-  <OPTIONS>
-    <IDLCFLAGS value="-src_suffix cpp -D_DEBUG -Inostyle -I.\include -I$(BCB)\include 
-      -I$(BCB)\include\vcl -I..\..\include -boa"/>
-    <CFLAG1 value="-WD -Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- 
-      -tWD -tWM -c"/>
-    <PFLAGS value="-$YD -$W -$O- -$A8 -v -JPHNE -M"/>
-    <RFLAGS value=""/>
-    <AFLAGS value="/mx /w2 /zd"/>
-    <LFLAGS value="-D&quot;&quot; -aa -Tpd -x -Gi -v"/>
-    <OTHERFILES value=""/>
-  </OPTIONS>
-  <LINKER>
-    <ALLOBJ value="c0d32.obj $(PACKAGES) $(OBJFILES)"/>
-    <ALLRES value="$(RESFILES)"/>
-    <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
-    <OTHERFILES value=""/>
-  </LINKER>
-  <FILELIST>
-      <FILE FILENAME="uxthemedll.c" FORMNAME="" UNITNAME="uxthemedll" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="nostyle\button.c" FORMNAME="" UNITNAME="button" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="uxtheme.rc" FORMNAME="" UNITNAME="uxtheme.rc" CONTAINERID="RCCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
-      <FILE FILENAME="uxtheme.def" FORMNAME="" UNITNAME="uxtheme.def" CONTAINERID="DefTool" DESIGNCLASS="" LOCALCOMMAND=""/>
-  </FILELIST>
-  <BUILDTOOLS>
-  </BUILDTOOLS>
-
-  <IDEOPTIONS>
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=1040
-CodePage=1252
-
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-
-[Debugging]
-DebugSourceDirs=$(BCB)\source\vcl
-
-[Parameters]
-RunParams=
-Launcher=
-UseLauncher=0
-DebugCWD=
-HostApplication=D:\misc\cvsroot\reactos\reactos\lib\uxtheme\XPThemeExplorer6.exe
-RemoteHost=
-RemotePath=
-RemoteLauncher=
-RemoteCWD=
-RemoteDebug=0
-
-[Compiler]
-ShowInfoMsgs=0
-LinkDebugVcl=0
-LinkCGLIB=0
-
-[CORBA]
-AddServerUnit=1
-AddClientUnit=1
-PrecompiledHeaders=1
-
-[Language]
-ActiveLang=
-ProjectLang=
-RootDir=
-
-[Linker]
-LibPrefix=
-LibSuffix=
-LibVersion=
-  </IDEOPTIONS>
-</PROJECT>
\ No newline at end of file

reactos/lib/uxtheme
uxtheme.def removed after 1.3
diff -N uxtheme.def
--- uxtheme.def	11 Nov 2003 03:44:53 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,97 +0,0 @@
-LIBRARY UXTHEME.DLL
-
-EXPORTS
-; <unknown>                    @0
-; <unknown>                    @1
-; <unknown>                    @2
-; <unknown>                    @3
-; <unknown>                    @4
-CloseThemeData                 @5
-DrawThemeBackground            @6
-; <unknown>                    @7
-; <unknown>                    @8
-; <unknown>                    @9
-; <unknown>                    @10
-; <unknown>                    @11
-;DrawThemeEdge                 @12
-; <unknown>                    @13
-; <unknown>                    @14
-; <unknown>                    @15
-; <unknown>                    @16
-; <unknown>                    @17
-; <unknown>                    @18
-; <unknown>                    @19
-; <unknown>                    @20
-; <unknown>                    @21
-; <unknown>                    @22
-; <unknown>                    @23
-; <unknown>                    @24
-; <unknown>                    @25
-; <unknown>                    @26
-; <unknown>                    @27
-; <unknown>                    @28
-; <unknown>                    @29
-; <unknown>                    @30
-; <unknown>                    @31
-; <unknown>                    @32
-; <unknown>                    @33
-; <unknown>                    @34
-; <unknown>                    @35
-; <unknown>                    @36
-;DrawThemeIcon                 @37
-DrawThemeParentBackground      @38
-DrawThemeText                  @39
-;EnableThemeDialogTexture      @40
-;EnableTheming                 @41
-;GetCurrentThemeName           @42
-; <unknown>                    @43
-; <unknown>                    @44
-; <unknown>                    @45
-; <unknown>                    @46
-; <unknown>                    @47
-; <unknown>                    @48
-;GetThemeAppProperties         @49
-GetThemeBackgroundContentRect  @50
-;GetThemeBackgroundExtent      @51
-;GetThemeBackgroundRegion      @52
-;GetThemeBool                  @53
-;GetThemeColor                 @54
-;GetThemeDocumentationProperty @55
-;GetThemeEnumValue             @56
-;GetThemeFilename              @57
-;GetThemeFont                  @58
-;GetThemeInt                   @59 
-; <unknown>                    @60
-; <unknown>                    @61
-; <unknown>                    @62
-; <unknown>                    @63
-;GetThemeIntList               @64
-;GetThemeMargins               @65
-;GetThemeMetric                @66
-;GetThemePartSize              @67
-;GetThemePosition              @68
-;GetThemePropertyOrigin        @69
-;GetThemeRect                  @70
-;GetThemeString                @71
-;GetThemeSysBool               @72
-;GetThemeSysColor              @73
-;GetThemeSysColorBrush         @74
-;GetThemeSysFont               @75
-;GetThemeSysInt                @76
-;GetThemeSysSize               @77
-;GetThemeSysString             @78
-;GetThemeTextExtent            @79
-;GetThemeTextMetrics           @80
-;GetWindowTheme                @81
-;HitTestThemeBackground        @82
-IsAppThemed                    @83
-;IsThemeActive                 @84
-IsThemeBackgroundPartiallyTransparent @85
-;IsThemeDialogTextureEnabled   @86
-;IsThemePartDefined            @87
-OpenThemeData                  @88
-;SetThemeAppProperties         @89
-;SetWindowTheme                @90
-
-; EOF
-

reactos/lib/uxtheme
uxtheme.rc removed after 1.1
diff -N uxtheme.rc
--- uxtheme.rc	24 Oct 2003 21:29:48 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,51 +0,0 @@
-#include <windows.h>
-#include <reactos/resource.h>
-
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION            \
-  RES_UINT_FV_MAJOR,    \
-  RES_UINT_FV_MINOR,    \
-  RES_UINT_FV_REVISION, \
-  RES_UINT_FV_BUILD
-  
- PRODUCTVERSION         \
-  RES_UINT_PV_MAJOR,    \
-  RES_UINT_PV_MINOR,    \
-  RES_UINT_PV_REVISION, \
-  RES_UINT_PV_BUILD
-  
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS     0x1L
-#else
- FILEFLAGS     0x0L
-#endif
- FILEOS	       0x40004L
- FILETYPE      0x2L
- FILESUBTYPE   0x0L
-
-BEGIN
- BLOCK "StringFileInfo"
- {
-  BLOCK "040904b0"
-  {
-   VALUE "CompanyName",      RES_STR_COMPANY_NAME
-   VALUE "FileDescription",  "ReactOS UxTheme\0"
-   VALUE "FileVersion",      RES_STR_FILE_VERSION
-   VALUE "InternalName",     "uxtheme\0"
-   VALUE "LegalCopyright",   RES_STR_LEGAL_COPYRIGHT
-   VALUE "OriginalFilename", "uxtheme.dll\0"
-   VALUE "ProductName",      RES_STR_PRODUCT_NAME
-   VALUE "ProductVersion",   RES_STR_PRODUCT_VERSION
-  }
- }
-
- BLOCK "VarFileInfo"
- {
-  VALUE "Translation", 0x409, 1200
- }
-END
-
-/* EOF */

reactos/lib/uxtheme
uxthemedll.c removed after 1.3
diff -N uxthemedll.c
--- uxthemedll.c	11 Nov 2003 03:44:53 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,263 +0,0 @@
-#include "uxthemedll.h"
-#include "nostyle/button.h"
-
-#include <stdlib.h>
-
-#define HTHEME_TO_UXTHEME_(H__) ((PUXTHEME_DATA)(H__))
-
-STDAPI UxTheme_ClipDc(HDC hdc, const RECT * pClipRect, HRGN * phrgnSave)
-{
- *phrgnSave = CreateRectRgn(0, 0, 0, 0);
-
- switch(GetClipRgn(hdc, *phrgnSave))
- {
-  /* no user-defined clipping region */
-  case 0:
-  {
-   HRGN hrgnClip;
-
-   /* no region to restore */
-   DeleteObject(*phrgnSave);
-   *phrgnSave = NULL;
-
-   /* create the clipping rectangle */
-   if((hrgnClip = CreateRectRgnIndirect(pClipRect)) != NULL)
-   {
-    /* select the clipping rectangle */
-    if(SelectClipRgn(hdc, hrgnClip) != ERROR)
-    {
-     /* success */
-     DeleteObject(hrgnClip);
-     return S_OK;
-    }
-
-    /* failure */
-    DeleteObject(hrgnClip);
-   }
-
-   break;
-  }
-
-  /* user-defined clipping region */
-  case 1:
-  {
-   HRGN hrgnClip;
-   
-   /* create the clipping rectangle */
-   if((hrgnClip = CreateRectRgnIndirect(pClipRect)) != NULL)
-   {
-    /* select the clipping rectangle */
-    if(ExtSelectClipRgn(hdc, hrgnClip, RGN_AND) != ERROR)
-    {
-     /* success */
-     DeleteObject(hrgnClip);
-     return S_OK;
-    }
-
-    /* failure */
-    DeleteObject(hrgnClip);
-   }
-
-   break;
-  }
-
-  /* error */
-  case -1:
-  {
-   /* no region to restore */
-   DeleteObject(*phrgnSave);
-   *phrgnSave = NULL;
-
-   break;
-  }
- }
-
- /* failure */
- return HRESULT_FROM_WIN32(GetLastError());
-}
-
-STDAPI UxTheme_UnclipDc(HDC hdc, HRGN hrgnSave)
-{
- HRESULT hres;
- 
- if(hrgnSave == NULL) return S_FALSE;
-
- if(SelectClipRgn(hdc, hrgnSave) != ERROR) hres = S_OK;
- else hres = HRESULT_FROM_WIN32(GetLastError());
-
- DeleteObject(hrgnSave);
- return hres;
-}
-
-THEMEAPI DrawThemeBackground
-(
- HTHEME hTheme,
- HDC hdc,
- int iPartId,
- int iStateId,
- const RECT * pRect,
- const RECT * pClipRect
-)
-{
- PUXTHEME_DATA pUxTheme = HTHEME_TO_UXTHEME_(hTheme);
-
- return pUxTheme->pvt->p_DrawBackground
- (
-  pUxTheme,
-  hdc,
-  iPartId,
-  iStateId,
-  pRect,
-  pClipRect
- );
-}
-
-THEMEAPI DrawThemeEdge
-(
- HTHEME hTheme,
- HDC hdc,
- int iPartId,
- int iStateId,
- const RECT * pDestRect,
- UINT uEdge,
- UINT uFlags,
- RECT * pContentRect
-)
-{
- return E_FAIL;
-}
-
-THEMEAPI DrawThemeIcon
-(
- HTHEME hTheme,
- HDC hdc,
- int iPartId,
- int iStateId,
- const RECT * pRect,
- HIMAGELIST himl,
- int iImageIndex
-)
-{
- return E_FAIL;
-}
-
-THEMEAPI DrawThemeParentBackground
-(
- HWND hwnd,
- HDC hdc,
- RECT * prc
-)
-{
- return E_FAIL;
-}
-
-THEMEAPI DrawThemeText
-(
- IN HTHEME hTheme,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN LPCWSTR pszText,
- IN int iCharCount,
- IN DWORD dwTextFlags,
- IN DWORD dwTextFlags2,
- IN const RECT * pRect
-)
-{
- PUXTHEME_DATA pUxTheme = HTHEME_TO_UXTHEME_(hTheme);
-
- return pUxTheme->pvt->p_DrawText
- (
-  pUxTheme,
-  hdc,
-  iPartId,
-  iStateId,
-  pszText,
-  iCharCount,
-  dwTextFlags,
-  dwTextFlags2,
-  pRect
- );
-}
-
-THEMEAPI GetThemeBackgroundContentRect
-(
- IN HTHEME hTheme,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN const RECT * pBoundingRect,
- OUT RECT * pContentRect
-)
-{
- PUXTHEME_DATA pUxTheme = HTHEME_TO_UXTHEME_(hTheme);
-
- return pUxTheme->pvt->p_GetBackgroundContentRect
- (
-  pUxTheme,
-  hdc,
-  iPartId,
-  iStateId,
-  pBoundingRect,
-  pContentRect
- );
-}
-
-THEMEAPI_(BOOL) IsThemeBackgroundPartiallyTransparent
-(
- HTHEME hTheme,
- int iPartId,
- int iStateId
-)
-{
- return FALSE;
-}
-
-THEMEAPI_(BOOL) IsAppThemed(void)
-{
- return TRUE;
-}
-
-THEMEAPI_(HTHEME) OpenThemeData
-(
- HWND hwnd,
- LPCWSTR pszClassList
-)
-{
- PUXTHEME_DATA pUxTheme;
- PCUXTHEME_VTABLE pvt;
-
- /* FIXME: support class lists */
- if(_wcsicmp(pszClassList, L"Button") == 0) pvt = &Button_Vt;
- else return NULL;
-
- pUxTheme = (PUXTHEME_DATA)malloc(sizeof(*pUxTheme));
-
- if(pUxTheme == NULL) return NULL;
-
- pUxTheme->pvt = pvt;
-
- return (HTHEME)pUxTheme;
-}
-
-THEMEAPI CloseThemeData
-(
- HTHEME hTheme
-)
-{
- return E_FAIL;
-}
-
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
-{
- (void)lpvReserved;
-
- if(fwdreason == DLL_PROCESS_ATTACH)
-  DisableThreadLibraryCalls(hinstDLL);
-
- return TRUE;
-}
-
-/* EOF */
-
-

reactos/lib/uxtheme
uxthemedll.h removed after 1.3
diff -N uxthemedll.h
--- uxthemedll.h	17 Dec 2003 01:39:21 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,73 +0,0 @@
-#ifndef UXTHEMEDLL_H_INCLUDED__
-#define UXTHEMEDLL_H_INCLUDED__
-
-#include <windows.h>
-
-#define _UXTHEME_
-#include <uxtheme.h>
-#include <tmschema.h>
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif 
-
-struct UXTHEME_DATA_;
-struct UXTHEME_VTABLE_;
-
-struct UXTHEME_VTABLE_
-{
- HRESULT (STDAPICALLTYPE * p_DrawBackground)
- (
-  IN OUT struct UXTHEME_DATA_ * pData,
-  IN HDC hdc,
-  IN int iPartId,
-  IN int iStateId,
-  IN const RECT * pRect,
-  IN const RECT * pClipRect
- );
-
- HRESULT (STDAPICALLTYPE * p_DrawText)
- (
-  IN OUT struct UXTHEME_DATA_ * pData,
-  IN HDC hdc,
-  IN int iPartId,
-  IN int iStateId,
-  IN LPCWSTR pszText,
-  IN int iCharCount,
-  IN DWORD dwTextFlags,
-  IN DWORD dwTextFlags2,
-  IN const RECT * pRect
- );
-
- HRESULT (STDAPICALLTYPE * p_GetBackgroundContentRect)
- (
-  IN OUT struct UXTHEME_DATA_ * pData,
-  IN HDC hdc,
-  IN int iPartId,
-  IN int iStateId,
-  IN const RECT * pBoundingRect,
-  OUT RECT * pContentRect
- );
-};
-
-typedef struct UXTHEME_VTABLE_ UXTHEME_VTABLE, * PUXTHEME_VTABLE;
-typedef const struct UXTHEME_VTABLE_ * PCUXTHEME_VTABLE;
-
-typedef struct UXTHEME_DATA_
-{
- PCUXTHEME_VTABLE pvt;
- PVOID pData;                                  
-}
-UXTHEME_DATA, * PUXTHEME_DATA;
-
-STDAPI UxTheme_ClipDc(HDC hdc, const RECT * pClipRect, HRGN * phrgnSave);
-STDAPI UxTheme_UnclipDc(HDC hdc, HRGN hrgnSave);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* EOF */

reactos/lib/uxtheme/include/nostyle
button.h removed after 1.1
diff -N button.h
--- button.h	24 Oct 2003 21:29:48 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-#ifndef UXTHEME_BUTTON_H__
-#define UXTHEME_BUTTON_H__
-
-#include "uxthemedll.h"
-
-extern const UXTHEME_VTABLE Button_Vt;
-
-
-
-#endif
-
-/* EOF */

reactos/lib/uxtheme/nostyle
.cvsignore removed after 1.2
diff -N .cvsignore
--- .cvsignore	6 Nov 2003 02:47:24 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,6 +0,0 @@
-*.d
-*.a
-*.o
-*.sym
-*.obj
-*.~*

reactos/lib/uxtheme/nostyle
button.c removed after 1.5
diff -N button.c
--- button.c	17 Dec 2003 01:39:21 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,572 +0,0 @@
-#include "uxthemedll.h"
-#include "nostyle/button.h"
-
-/* Functions */
-STDAPI Button_DrawBackground
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN const RECT * pRect,
- IN const RECT * pClipRect
-);
-
-STDAPI Button_DrawText
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN LPCWSTR pszText,
- IN int iCharCount,
- IN DWORD dwTextFlags,
- IN DWORD dwTextFlags2,
- IN const RECT * pRect
-);
-
-STDAPI Button_GetBackgroundContentRect
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN const RECT * pBoundingRect,
- OUT RECT * pContentRect
-);
-
-STDAPI_(BOOL) Button_IsPartDefined
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN int iPartId,
- IN int iStateId
-);
-
-const UXTHEME_VTABLE Button_Vt =
-{
- Button_DrawBackground,
- Button_DrawText,
- Button_GetBackgroundContentRect
-};
-
-/*
- *
- * DrawThemeBackground
- *
- */
-
-/* BP_PUSHBUTTON */
-static const UINT Button_PushButton_State[] =
-{
- DFCS_BUTTONPUSH,                 /* <root> */
- DFCS_BUTTONPUSH,                 /* PBS_NORMAL */
- DFCS_BUTTONPUSH | DFCS_HOT,      /* PBS_HOT */
- DFCS_BUTTONPUSH | DFCS_PUSHED,   /* PBS_PRESSED */
- DFCS_BUTTONPUSH | DFCS_INACTIVE  /* PBS_DISABLED */
-                                  /* PBS_DEFAULTED */
-};
-
-/* BP_RADIOBUTTON */
-static const UINT Button_RadioButton_State[] =
-{
- DFCS_BUTTONRADIO,                               /* <root> */
- DFCS_BUTTONRADIO,                               /* RBS_UNCHECKEDNORMAL */
- DFCS_BUTTONRADIO | DFCS_HOT,                    /* RBS_UNCHECKEDHOT */
- DFCS_BUTTONRADIO | DFCS_PUSHED,                 /* RBS_UNCHECKEDPRESSED */
- DFCS_BUTTONRADIO | DFCS_INACTIVE,               /* RBS_UNCHECKEDDISABLED */
- DFCS_BUTTONRADIO | DFCS_CHECKED,                /* RBS_CHECKEDNORMAL */
- DFCS_BUTTONRADIO | DFCS_CHECKED | DFCS_HOT,     /* RBS_CHECKEDHOT */
- DFCS_BUTTONRADIO | DFCS_CHECKED | DFCS_PUSHED,  /* RBS_CHECKEDPRESSED */
- DFCS_BUTTONRADIO | DFCS_CHECKED | DFCS_INACTIVE /* RBS_CHECKEDDISABLED */
-};
-
-/* BP_CHECKBOX */
-static const UINT Button_CheckBox_State[] =
-{
- DFCS_BUTTONCHECK,                                /* <root> */
- DFCS_BUTTONCHECK,                                /* CBS_UNCHECKEDNORMAL */
- DFCS_BUTTONCHECK | DFCS_HOT,                     /* CBS_UNCHECKEDHOT */
- DFCS_BUTTONCHECK | DFCS_PUSHED,                  /* CBS_UNCHECKEDPRESSED */
- DFCS_BUTTONCHECK | DFCS_INACTIVE,                /* CBS_UNCHECKEDDISABLED */
- DFCS_BUTTONCHECK | DFCS_CHECKED,                 /* CBS_CHECKEDNORMAL */
- DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_HOT,      /* CBS_CHECKEDHOT */
- DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_PUSHED,   /* CBS_CHECKEDPRESSED */
- DFCS_BUTTONCHECK | DFCS_CHECKED | DFCS_INACTIVE, /* CBS_CHECKEDDISABLED */
- DFCS_BUTTON3STATE | DFCS_CHECKED,                /* CBS_MIXEDNORMAL */
- DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_HOT,     /* CBS_MIXEDHOT */
- DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_PUSHED,  /* CBS_MIXEDPRESSED */
- DFCS_BUTTON3STATE | DFCS_CHECKED | DFCS_INACTIVE /* CBS_MIXEDDISABLED */
-};
-
-static UINT const * Button_Part_State[] =
-{
- NULL,
- Button_PushButton_State,
- Button_RadioButton_State,
- Button_CheckBox_State
-};
-
-STDAPI Button_DrawBackgroundSpecial
-(
- struct UXTHEME_DATA_ * pData,
- HDC hdc,
- int iPartId,
- int iStateId,
- const RECT * pRect
-)
-{
- HRESULT hres = S_FALSE;
-
- if(iPartId == BP_GROUPBOX)
- {
-  if(!DrawEdge(hdc, (LPRECT)pRect, EDGE_ETCHED, BF_RECT))
-   hres = HRESULT_FROM_WIN32(GetLastError());
-
-  hres = S_OK;
- }
- else if(iPartId == BP_PUSHBUTTON && iStateId == PBS_DEFAULTED)
- {
-  RECT rcSave = *pRect;
-
-  for(;;)
-  {
-   if(!FillRect(hdc, &rcSave, (HBRUSH)(COLOR_WINDOWFRAME + 1))) break;
-   if(!InflateRect(&rcSave, -1, -1)) break;
-   if(!DrawFrameControl(hdc, &rcSave, DFC_BUTTON, DFCS_BUTTONPUSH)) break;
-   hres = S_OK;
-   break;
-  }
-
-  if(hres != S_OK) hres = HRESULT_FROM_WIN32(GetLastError());
- }
-
- return hres;
-}
-
-STDAPI Button_DrawBackground
-(
- struct UXTHEME_DATA_ * pData,
- HDC hdc,
- int iPartId,
- int iStateId,
- const RECT * pRect,
- const RECT * pClipRect
-)
-{
- UINT uState = 0;
- HRGN hrgnSave;
- HRESULT hres = S_OK;
-
- for(;;)
- {
-  if(!Button_IsPartDefined(pData, iPartId, iStateId))
-  {
-   hres = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
-   break;
-  }
-
-  uState = Button_Part_State[iPartId][iStateId];
-
-  if(pClipRect && FAILED(hres = UxTheme_ClipDc(hdc, pClipRect, &hrgnSave)))
-   break;
-
-  hres = Button_DrawBackgroundSpecial(pData, hdc, iPartId, iStateId, pRect);
-
-  if(hres != S_FALSE) break;
-
-  hres = S_OK;
-
-  if(!DrawFrameControl(hdc, (LPRECT)pRect, DFC_BUTTON, uState))
-   hres = HRESULT_FROM_WIN32(GetLastError());
-
-  if(pClipRect) UxTheme_UnclipDc(hdc, hrgnSave);
-
-  break;
- }
-
- return hres;
-}
-
-/*
- *
- * DrawThemeText
- *
- */
-STDAPI_(BOOL) Button_TextGrayed
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN DWORD dwTextFlags2
-)
-{
- if((dwTextFlags2 & DTT_GRAYED) == DTT_GRAYED) return TRUE;
-
- switch(iPartId)
- {
-  case BP_PUSHBUTTON:
-   switch(iStateId)
-   {
-    case PBS_DISABLED:
-     return TRUE;
-   }
-
-   break;
-
-  case BP_RADIOBUTTON:
-   switch(iStateId)
-   {
-    case RBS_UNCHECKEDDISABLED:
-    case RBS_CHECKEDDISABLED:
-     return TRUE;
-   }
-
-   break;
-
-  case BP_CHECKBOX:
-   switch(iStateId)
-   {
-    case CBS_UNCHECKEDDISABLED:
-    case CBS_CHECKEDDISABLED:
-    case CBS_MIXEDDISABLED:
-     return TRUE;
-   }
-
-   break;
-
-  case BP_GROUPBOX:
-   switch(iStateId)
-   {
-    case GBS_DISABLED:
-     return TRUE;
-   }
-
-   break;
-
-  case BP_USERBUTTON:
-  case 0:
-  default:
-   break;
- }
-
- return FALSE;
-}
-
-struct Button_DrawTextString
-{
- LPCWSTR pszText;
- int iCharCount;
-};
-
-BOOL CALLBACK Button_DrawTextStateProc
-(
- HDC hdc,
- LPARAM lData,
- WPARAM wData,
- int cx,
- int cy
-)
-{
- RECT rc;
-
- rc.left = 0;
- rc.top = 0;
- rc.right = cx;
- rc.bottom = cy;
-
- return DrawTextW
- (
-  hdc,
-  ((struct Button_DrawTextString *)lData)->pszText,
-  ((struct Button_DrawTextString *)lData)->iCharCount,
-  &rc,
-  (UINT)wData
- );
-}
-
-STDAPI Button_DrawText
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN LPCWSTR pszText,
- IN int iCharCount,
- IN DWORD dwTextFlags,
- IN DWORD dwTextFlags2,
- IN const RECT * pRect
-)
-{
- BOOL bRet;
- int nBkMode;
- COLORREF clrOld;
- struct Button_DrawTextString dtsString;
- DWORD dwDSFlags = DST_COMPLEX;
- HRESULT hres = S_OK;
-
- for(;;)
- {
-  /* check if the part is supported */
-  if(!Button_IsPartDefined(pData, iPartId, iStateId))
-  {
-   hres = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
-   break;
-  }
-
-  nBkMode = SetBkMode(hdc, TRANSPARENT);
-  clrOld = SetTextColor(hdc, GetSysColor(COLOR_BTNTEXT));
-
-  if(Button_TextGrayed(pData, hdc, iPartId, iStateId, dwTextFlags2))
-   dwDSFlags |= DSS_DISABLED;
-
-  dtsString.pszText = pszText;
-  dtsString.iCharCount = iCharCount;
-
-  bRet = DrawStateW
-  (
-   hdc,
-   NULL,
-   Button_DrawTextStateProc,
-   (LPARAM)&dtsString,
-   (WPARAM)dwTextFlags,
-   pRect->left,
-   pRect->top,
-   pRect->right - pRect->left,
-   pRect->bottom - pRect->top,
-   dwDSFlags
-  );
-
-  if(!bRet) hres = HRESULT_FROM_WIN32(GetLastError());
-
-  SetTextColor(hdc, clrOld);
-  SetBkMode(hdc, nBkMode);
-
-  break;
- }
-
- return hres;
-}
-
-/*
- *
- * GetThemeBackgroundContentRect
- *
- */
-STDAPI Button_GetBackgroundContentRectSpecial
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN const RECT * pBoundingRect,
- OUT RECT * pContentRect
-)
-{
- HRESULT hres = S_FALSE;
-
- if(iPartId == BP_GROUPBOX)
- {
-  RECT rc = *pBoundingRect;
-
-  if(!DrawEdge(hdc, &rc, EDGE_ETCHED, BF_RECT | BF_ADJUST))
-   hres = HRESULT_FROM_WIN32(GetLastError());
-
-  *pContentRect = rc;
-  hres = S_OK;
- }
- else if(iPartId == BP_PUSHBUTTON && iStateId == PBS_DEFAULTED)
- {
-  RECT rc = *pBoundingRect;
-
-  InflateRect(&rc, -1, -1);
-
-  if(!DrawFrameControl(hdc, &rc, DFC_BUTTON, DFCS_BUTTONPUSH | DFCS_ADJUSTRECT))
-   hres = HRESULT_FROM_WIN32(GetLastError());
-  else
-  {
-   *pContentRect = rc;
-   hres = S_OK;
-  }
- }
-
- return hres;
-}
-
-STDAPI Button_GetBackgroundContentRect
-(
- IN OUT struct UXTHEME_DATA_ * pData,
- IN HDC hdc,
- IN int iPartId,
- IN int iStateId,
- IN const RECT * pBoundingRect,
- OUT RECT * pContentRect
-)
-{
- RECT rc;
- HDC hdcCompat = NULL;
- BOOL bRet;
- HRESULT hres = S_OK;
-
- for(;;)
- {
-  if(!Button_IsPartDefined(pData, iPartId, iStateId))
-  {
-   hres = HRESULT_FROM_WIN32(ERROR_NOT_FOUND);
-   break;
-  }
-
-  hdcCompat = CreateCompatibleDC(hdc);
-
-  if(hdcCompat == NULL)
-  {
-   hres = HRESULT_FROM_WIN32(GetLastError());
-   break;
-  }
-
-  hres = Button_GetBackgroundContentRectSpecial
-  (
-   pData,
-   hdcCompat,
-   iPartId,
-   iStateId,
-   pBoundingRect,
-   pContentRect
-  );
-
-  if(hres != S_FALSE) break;
-
-  hres = S_OK;
-  rc = *pBoundingRect;
-
-  bRet = DrawFrameControl
-  (
-   hdcCompat,
-   &rc,
-   DFC_BUTTON,
-   Button_Part_State[iPartId][iStateId] | DFCS_ADJUSTRECT
-  );
-
-  if(!bRet)
-  {
-   hres = HRESULT_FROM_WIN32(GetLastError());
-   break;
-  }
-
-  *pContentRect = rc;
-
-  break;
- }
-
- DeleteDC(hdcCompat);
-
- return hres;
-}
-
-/*
- *
- * IsThemePartDefined
- *
- */
-STDAPI_(BOOL) Button_IsPartDefined
-(
- struct UXTHEME_DATA_ * pData,
- int iPartId,
- int iStateId
-)
-{
- switch(iPartId)
- {
-  case BP_PUSHBUTTON:
-   switch(iStateId)
-   {
-    case 0:
-    case PBS_NORMAL:
-    case PBS_HOT:
-    case PBS_PRESSED:
-    case PBS_DISABLED:
-    case PBS_DEFAULTED:
-     break;
-
-    default:
-     return FALSE;
-   }
-
-   break;
-
-  case BP_RADIOBUTTON:
-   switch(iStateId)
-   {
-    case 0:
-    case RBS_UNCHECKEDNORMAL:
-    case RBS_UNCHECKEDHOT:
-    case RBS_UNCHECKEDPRESSED:
-    case RBS_UNCHECKEDDISABLED:
-    case RBS_CHECKEDNORMAL:
-    case RBS_CHECKEDHOT:
-    case RBS_CHECKEDPRESSED:
-    case RBS_CHECKEDDISABLED:
-     break;
-
-    default:
-     return FALSE;
-   }
-
-   break;
-
-  case BP_CHECKBOX:
-   switch(iStateId)
-   {
-    case 0:
-    case CBS_UNCHECKEDNORMAL:
-    case CBS_UNCHECKEDHOT:
-    case CBS_UNCHECKEDPRESSED:
-    case CBS_UNCHECKEDDISABLED:
-    case CBS_CHECKEDNORMAL:
-    case CBS_CHECKEDHOT:
-    case CBS_CHECKEDPRESSED:
-    case CBS_CHECKEDDISABLED:
-    case CBS_MIXEDNORMAL:
-    case CBS_MIXEDHOT:
-    case CBS_MIXEDPRESSED:
-    case CBS_MIXEDDISABLED:
-     break;
-
-    default:
-     return FALSE;
-   }
-
-   break;
-
-  case BP_GROUPBOX:
-   switch(iStateId)
-   {
-    case 0:
-    case GBS_DISABLED:
-    case GBS_NORMAL:
-     break;
-
-    default:
-     return FALSE;
-   }
-
-   break;
-
-  case BP_USERBUTTON:
-  case 0:
-  default:
-   return FALSE;
- }
-
- return TRUE;
-}
-
-/* Initialization */
-#if 0
-STDAPI Button_Initialize(void)
-{
-}
-#endif
-
-/* EOF */
-
CVSspam 0.2.8