Commit graph

47117 commits

Author SHA1 Message Date
Giannis Adamopoulos e4d0ea5330 [desk]
- Rename themes to color schemes

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53263
2011-08-15 13:02:06 +00:00
Giannis Adamopoulos 10bed5b061 [uxtheme]
- Properly disable themes when theme hooks are removed
- Add WND_CONTEXT a per window struct that will hold several theme specific information. For now it contains only theme region related info. It will be stored as a window property
- Implement destroying WND_CONTEXT for every window when theme hooks are removed or when the window is destroyed
- Hook the messages that are sent to dialogs, like they are hooked for normal windows
- Hook SetWindowRgn call from user32. When an application calls it, uxtheme will stop setting window region on its own region
- Implement setting a custom window region for windows after receiving WM_WINDOWPOSCHANGED message using GetThemeBackgroundRegion

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53262
2011-08-15 10:22:23 +00:00
Giannis Adamopoulos 5ceabc031a [uxtheme]
- Unfortunately ExtCreateRegion does not seem to work, so for the time being use a simpler (and slower) implementation of UXTHEME_RegionFromDibBits that uses multiple calls to CombineRgn

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53224
2011-08-14 10:52:13 +00:00
Giannis Adamopoulos cae9fb95e4 [undocuser.h]
- Improve definition of USERAPIHOOK

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53223
2011-08-14 10:45:50 +00:00
Giannis Adamopoulos 6d66e2da43 [win32k]
- Disable some debug prints that are not needed any more

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53222
2011-08-14 10:28:49 +00:00
Giannis Adamopoulos d5fe671844 [win32k]
- Delete the region passed to NtUserSetWindowRgn. Fixes a horrible region leak that happens in every window that uses SetWindowRgn

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53221
2011-08-14 10:26:28 +00:00
Giannis Adamopoulos ce7f8b879e [win32k]
- Do not offset the region in NtUserSetWindowRgn

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53215
2011-08-13 21:17:44 +00:00
Giannis Adamopoulos 35d8c7686c [uxtheme]
- Implement GetThemeBackgroundRegion for BT_IMAGEFILE background type

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53196
2011-08-12 11:15:26 +00:00
Giannis Adamopoulos 5cc3be3953 [themesvc]
- Add the themes service. For now it will only call ThemeHooksInstall and ThemeHooksRemove. From now on we do not need apihooksrv in order to have themes

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53195
2011-08-12 10:25:30 +00:00
Giannis Adamopoulos 9a2b6354d0 [uxtheme]
- Send WM_THEMECHANGED when theme hooks are removed and there is an active theme 

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53194
2011-08-12 10:21:10 +00:00
Giannis Adamopoulos 2a4f54ed3c [win32k]
- Add co_MsqSendMessageAsync in order to send asynchronous normal and internal messages 
- Use co_MsqSendMessageAsync to load and unload api hook module
- This hopefully fixes the last problems with api hooks implementation

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53139
2011-08-08 13:31:33 +00:00
Giannis Adamopoulos 3f5a2c40ce [uxtheme]
- UXTHEME_LoadTheme call in theme hook callback is still needed in order to load the active theme in an application that starts after themes are enabled

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53125
2011-08-07 20:50:01 +00:00
Giannis Adamopoulos d00aa9c19e [uxtheme]
- Broadcast WM_THEMECHANGED when hook themes are activated
- Do not call UXTHEME_LoadTheme in the hook theme callback. It will now be called when the application gets WM_THEMECHANGED

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53124
2011-08-07 20:42:22 +00:00
Giannis Adamopoulos 5aaa7a3281 [user32]
- Store ghmodUserApiHook before calling ClearUserApiHook because it will be zeroed during this call
- Fix a typo in ClearUserApiHook

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53123
2011-08-07 20:10:07 +00:00
Giannis Adamopoulos 644f00c51a [win32k]
- HACK RegisterClass in order to let comctl32 re-register built in classes. This is needed in order to fix themes and will keep it till we find a way to do it properly. (of course this breaks class wine tests as well)

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53030
2011-08-02 13:59:13 +00:00
Giannis Adamopoulos 1c6d8ce568 [comctl32]
- Register themed built-in controls even if themes are not enabled. This allows built in controls to use themes without restarting the application
- Register built in controls in the same way it done in windows (as global classes that belong to comctl32). This is needed in order to have themed controls in dialogs. Unfortunately our user32/win32k does not support it yet and this breaks themed built in controls

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53029
2011-08-02 13:54:41 +00:00
Giannis Adamopoulos 234190071e [comctl32]
- Do not call CombineRgn with erroneous parameters
- Should be sent to wine

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53027
2011-08-02 13:42:18 +00:00
Giannis Adamopoulos e3a05782a8 [uxtheme]
- Do not try to load the current theme when uxtheme loads. Instead, load the current theme when theme hooks are installed or when the application receives a WM_THEMECHANGED message. This allows us to change themes without restarting the running applications.
- Use the default behaviour of DefWindowProc from user32 when themes are not active. This allows us to have api hooks enabled when themes are disabled.

svn path=/branches/GSoC_2011/ThemesSupport/; revision=53026
2011-08-02 13:38:58 +00:00
Giannis Adamopoulos 23e86250fb [user32]
- When ClearUserApiHook returns false, this means that the library will be freed in EndUserApiHook. In this case return success to let win32k know that the process has removed the api hook. Fixes reloading the api hook after unloading it 

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52949
2011-07-28 13:06:56 +00:00
Giannis Adamopoulos 4c2f096717 [user32]
- Always call EndUserApiHook if BeginIfHookedUserApiHook returned true

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52948
2011-07-28 12:23:42 +00:00
Giannis Adamopoulos 9519ff7b12 [win32k]
- Fix TrackMouseEvent. Now hot tracking really works 

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52716
2011-07-17 15:30:12 +00:00
Giannis Adamopoulos 6855cd15c2 [user32]
- Partly sync button handling with wine. Needed for hot tracking

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52715
2011-07-17 15:18:11 +00:00
Giannis Adamopoulos 8d084e9377 [comctl32]
- Sync comctl32 with wine. Among it's improvements are reduced flicker in the listview and hot tracking support for themed buttons

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52714
2011-07-17 15:16:59 +00:00
Amine Khaldi 84291d0d72 * Bring back rbuild build to be used until bug 6372 is fixed.
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52691
2011-07-15 22:27:16 +00:00
Giannis Adamopoulos efadde37ec "fix" vs generator
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52689
2011-07-15 14:41:17 +00:00
Giannis Adamopoulos 099b4c9363 [uxtheme]
- Fix the size of the caption buttons. Now they have the correct size with themes like Luna Inspirat or clear looks

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52679
2011-07-14 12:15:06 +00:00
Giannis Adamopoulos 1c0a0fa28e [uxtheme]
- Add yet another reactos specific hack
- Fixes drawing scrollbar items

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52677
2011-07-14 10:10:07 +00:00
Giannis Adamopoulos 660b694dc7 [apihooksrv]
- Call ThemeHooksRemove after the user presses a key 

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52676
2011-07-14 08:46:43 +00:00
Giannis Adamopoulos 743e64c167 [win32k]
- Fix a bug that caused ClientLoadLibrary to be called recursively

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52675
2011-07-14 08:37:55 +00:00
Giannis Adamopoulos 9532193d52 [ntdll]
- Disable Server to server calls in csr because they do not work yet as our csr is not compatible with windows. 

[user32]
- Call CsrClientConnectToServer when the dll is initialized in order to connect with the server and determine if user32 is running in the server process.
- Do not load user api hook if we are in the server process
- Fixes drawing the console window

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52672
2011-07-13 17:57:40 +00:00
Amine Khaldi 02d8321d44 * Update spec2def.
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52671
2011-07-13 12:00:42 +00:00
Amine Khaldi add30b1c69 * Sync with recent trunk (r52669).
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52670
2011-07-13 11:58:32 +00:00
Giannis Adamopoulos 3a7d41318a remove test command
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52666
2011-07-12 21:27:46 +00:00
Giannis Adamopoulos eb23bde458 [apihooksrv]
- Commit a test utility that can install user api hooks and give for the first time real themes support. This is a temporary test program till the same functionality is integrated to winlogon. To use it someone has to activate themes with themecfg and then run "apihook uxtheme.dll". Also note that it is possible to use this tool in windows for testing purposes

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52665
2011-07-12 21:25:51 +00:00
Giannis Adamopoulos ab880775f5 [themecfg]
- Add a test utility called themecfg that can configure themes. This is a small part of winecfg from wine. With this utility we can test themes support now. In the future this functionality will become part of desk.cpl

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52664
2011-07-12 21:09:43 +00:00
Giannis Adamopoulos 901481628b [uxtheme]
- Fix build

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52662
2011-07-12 19:45:49 +00:00
Giannis Adamopoulos cf8d09b13c [win32k]
- Call UserUnregisterUserApiHook from the process cleanup routine if the process has registered the user api hook

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52652
2011-07-12 09:24:16 +00:00
Giannis Adamopoulos aeebfa7e0e [user32]
- Implement UnregisterUserApiHook
- Fix a warning

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52651
2011-07-12 09:14:24 +00:00
Giannis Adamopoulos 7950b8eb63 [win32k]
- Implement NtUserRegisterUserApiHook and NtUserUnregisterUserApiHook

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52650
2011-07-12 08:43:43 +00:00
Giannis Adamopoulos 723267ac2a [win32k]
- Implement co_IntClientLoadLibrary that calls ClientLoadLibrary in user32

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52649
2011-07-12 08:37:40 +00:00
Giannis Adamopoulos 54ac0f497c [user32]
- Convert LOADUSERAPIHOOK macro to an inline function
- Implement ClientLoadLibrary callback from win32k 

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52648
2011-07-12 08:34:00 +00:00
Giannis Adamopoulos 628b870071 [uxtheme]
- Implement drawing non client scrollbars. This code is heavily based on code from wine and modified properly to use themes

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52645
2011-07-11 22:29:33 +00:00
Amine Khaldi 9fa710c813 * Sync with recent trunk (r52637).
svn path=/branches/GSoC_2011/ThemesSupport/; revision=52643
2011-07-11 19:40:43 +00:00
Giannis Adamopoulos 7c84d922e5 [uxtheme]
- Fix build

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52640
2011-07-11 18:23:44 +00:00
Giannis Adamopoulos 012c87272c [uxtheme]
- After doing any drawing operation for the non client area, restore the previously opened theme. Fixes GetWindowTheme

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52639
2011-07-11 18:17:11 +00:00
Giannis Adamopoulos 832f3db5a1 [uxtheme]
- Really fix a comment

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52636
2011-07-11 14:18:36 +00:00
Giannis Adamopoulos b2f3b73e33 [uxtheme]
- Fix some comments

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52635
2011-07-11 13:53:58 +00:00
Giannis Adamopoulos 1e6bee248a [uxtheme]
- Do not close hKey in query_reg_path. Noticed while testing our uxtheme in windows. Should be sent to wine

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52634
2011-07-11 13:38:05 +00:00
Giannis Adamopoulos 535a684169 [uxtheme]
- Call UXTHEME_InitSystem when user api hooks are installed

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52633
2011-07-11 13:28:20 +00:00
Giannis Adamopoulos 17344c6dc6 [uxtheme]
- Move some definitions to a header file

svn path=/branches/GSoC_2011/ThemesSupport/; revision=52632
2011-07-11 13:17:39 +00:00