Commit graph

35 commits

Author SHA1 Message Date
James Tabor 6fe69964e1 [Win32SS]
- Start ordering functions into separate files.

svn path=/trunk/; revision=68582
2015-07-30 07:49:09 +00:00
Amine Khaldi ad04fe6e2b [WIN32K] Enable PCH again.
svn path=/trunk/; revision=66926
2015-03-28 14:58:42 +00:00
Timo Kreuzer 976a3274ad [WIN32K]
Rewrite brush code in C++

svn path=/trunk/; revision=66893
2015-03-25 22:38:20 +00:00
Hermès Bélusca-Maïto 444d33d50b [WIN32K]
- Implement NtUserResolveDesktop, which opens a desktop and a window station based on a desktop path string (format: "WinSta\Desktop").
- Move NtUserConsoleControl to a more suitable file, and implement the control code that allows CSRSS to assign console input threads to given desktops.
- Simplify a bit the code in NtUserSetInformationThread.

[CONSRV]
Turn the console input thread to a real one. There should be one such thread per desktop. When a console process is started, we open the desktop on which the process is going to start, we create a new input thread (attach it to the desktop) if needed, or reuse the existing one, and then we open the terminal on the correct desktop.

CORE-9346 #resolve #comment Fixed in revision 66662.

svn path=/trunk/; revision=66662
2015-03-11 01:21:29 +00:00
Hermès Bélusca-Maïto 42c3492b5c Revert tree-restructure attempt: r66583, r66582, r66581, r66578, sauf ntdll changes, r66576 and r66575 sauf mvdm changes (ok with Aleksander).
svn path=/trunk/; revision=66588
2015-03-06 14:33:02 +00:00
Hermès Bélusca-Maïto ddb90f1e10 Start source tree (final, I hope!) restructuration. Part 1/X
Win32, Shell, Services, MVDM

svn path=/trunk/; revision=66575
2015-03-05 23:03:33 +00:00
Timo Kreuzer 5e781d44e0 [WIN32K]
Get rid of our old cursoricon implementation. Rename cursoricon_new.c to cursoricon.c and remove all traces of NEW_CURSORICON

svn path=/trunk/; revision=66526
2015-03-01 17:36:12 +00:00
James Tabor f06c2230de [Win32k]
- Move DDE stuff into its own file.

svn path=/trunk/; revision=65975
2015-01-04 18:12:41 +00:00
Hermès Bélusca-Maïto a306e56c55 [WIN32K]
- Put GDI initialization function(s) in a dedicated file.
- Whitespace fixes...

svn path=/trunk/; revision=65852
2014-12-27 19:16:05 +00:00
James Tabor 594e534dd0 [Win32k]
- Move IME from stubs into its own file. Add flags and types to main header.
- Later, how to add Ime.h from mingw (tested it and works) and not effect VC++ ? VC SDK has Ime.h.
- Getting ready for Window Class update based on current wine tests.

svn path=/trunk/; revision=65842
2014-12-27 03:00:09 +00:00
Hermès Bélusca-Maïto 56347a8b98 [WIN32K]
Reintroduce CSR support for kernel mode, based on code from Ge that was wiped out in revision 58770, and by ntdll CSR code. Is needed for kernel to user-mode CSR callbacks.

For readers, I remind you the big callback picture in the Win32 subsystem:
- In Windows NT 3.1 and 3.51, USER and GDI was modeled against client/server model (USER32.DLL and WINSRV.DLL, and GDI32.DLL and GDISRV.DLL), all running in user mode (using the CSR API).
- Starting Windows NT 4.0 (and up), some USER and GDI parts were moved into kernel mode (in the WIN32K.SYS driver) to speedup communication. We get:
  * GDI32.DLL as the client, doing win32k system calls (kernel-mode system calls to win32k),
  * and USER32.DLL, WINSRV.DLL and WIN32K.SYS working in tandem, USER32.DLL being the client and {WINSRV.DLL, WIN32K.SYS} being the server.
    USER32.DLL can do win32k system calls or CSR calls to WINSRV.DLL (client to server calls). For server-to-server calls, we have WINSRV.DLL
    doing win32k system calls, or WIN32K.SYS doing CSR calls back to WINSRV.DLL . Also, there is the possibility for WIN32K.SYS to make user-mode
    callbacks to USER32.DLL.

svn path=/trunk/; revision=65817
2014-12-23 21:17:24 +00:00
Hermès Bélusca-Maïto e10e14dcd4 [WIN32K]: Move IntClientShutdown function to a dedicated file (that will contain other shutdown helper functions in the future). Part 3/X
CORE-8322

svn path=/trunk/; revision=65517
2014-11-28 21:48:44 +00:00
Jérôme Gardou 8cbba79468 [WIN32SS]
- In an incredibly daring move, enable the long awaited new cursors & icons implementation, featuring:
   - Alpha channeled cursors
   - Animated cursors (only the first frame is displayed now)
   - Less leaks (tm)
   - Tests that pass(tm)
   - Copying icons and cursors from DLL resources, for beautifuler ReactOS, your turn gigaherz ;-)
   - A lot of other things which I am very proud of.
CORE-7575 #resolve

svn path=/trunk/; revision=64921
2014-10-23 11:46:06 +00:00
Amine Khaldi 2bdcf8789d [CMAKE]
* Make the minimum required version 2.8.
* Remove redundant psdk dependencies.
* Tidy up CMake files.

svn path=/trunk/; revision=64795
2014-10-17 23:28:29 +00:00
Amine Khaldi f553e50746 [WIN32SS]
* Prepare the CMake scripts for PCH.
CORE-7716

svn path=/trunk/; revision=62087
2014-02-09 22:52:01 +00:00
James Tabor ac553c63a1 [Win32k]
- Add drawing support to win32k. Needed for scrolls server side and nonclient support for icons.

svn path=/trunk/; revision=60602
2013-10-10 22:07:10 +00:00
Hermès Bélusca-Maïto cef1016047 [CONSRV-WINSRV]
Now that the console server works fine, move it into its real place (as in Windows), that is, inside winsrv.dll, instead of hosting it in consrv.dll.

svn path=/trunk/; revision=59461
2013-07-13 04:54:49 +00:00
Hermès Bélusca-Maïto 599a7affa3 [REACTOS]
Merge of the ros-csrss branch created with a three-fold purpose:

- Use the new Windows-compatible Client-Server Runtime Subsystem (csrss + csrsrv)
written by Alex Ionescu to replace the old hacked one. Also the CSR client part,
residing in ntdll, is updated. Some work also done on the dlls side, which
communicate with CSR, namely kernel32.

- Replace our very old win32csr.dll CSR server by the collection basesrv.dll /
winsrv.dll as it is done under Windows.

- Since the console subsystem is (for historical purposes on Windows) the
only subsystem which exploits all the possibilities of the CSR, I decided to
put it in a new CSR dll called 'consrv.dll', even if on Windows it is included
together with other APIs inside the winsrv dll (since Windows NT 3.1 release)
(I took the name 'consrv' from the dll where it was included in Windows NT 3.1
beta from October 1991). Some work was also done on its internal architecture
(the external interface is of course unchanged for compatibility reasons) and a
two-layer approach was developed, using the existing idea of console functions +
GUI or TUI we already had in win32csr:
	* the "console server" which dialogs with the console applications,
and which maintains a list of all the created consoles.
	* different "front-ends" corresponding to where you want to output
the information (~= console hardware) (Work-In-Progress).
Another idea would be to make those front-ends dynamically-loadable (instead
of being compiled inside consrv).
- I also fixed some parts of the console properties dialog box.

More information can be found in http://www.reactos.org/archives/public/ros-dev/2013-April/016121.html

CORE-122 CORE-2510 CORE-7002 #resolve #comment Committed in revision r58xxx.

svn path=/trunk/; revision=58770
2013-04-15 19:32:00 +00:00
Amine Khaldi 8ca80bb2cb * Visual Studio IDE support bringup. We can now even compile bootcd/livecd...etc straight from the IDE.
* For anyone who wants to work only on a certain module (or a set of modules), you can add "project(module)" to the related CMake file. This will generate a solution that contains all the required dependencies needed to compile only that module, without having to open a huge solution with 900+ projects.
* We'll create a wiki page to explain how to use this in detail.
* Dedicated to all VS users. Have fun ;)

svn path=/trunk/; revision=58141
2013-01-08 20:33:08 +00:00
Timo Kreuzer 11de8917ef [WIN32K]
- Move some files to more appropriate locations
- Remove an empty file

svn path=/trunk/; revision=57971
2012-12-22 17:58:53 +00:00
Jérôme Gardou 4a467211be [USER32]
- Implement LookupIconIdFromDirectoryEx.
- Implement CopyImage
- Finish Implementing LoadImage
- Implement various functions.
[WIN32SS]
- Add a first working implementation for LR_SHARED cursors and icons.User32 support is there, but more work is needed in win32k.

svn path=/trunk/; revision=57672
2012-11-04 12:56:44 +00:00
Jérôme Gardou 9aec2fb369 [WIN32K]
- put changes for the new cursor/icons implementation in a separate file

svn path=/trunk/; revision=57646
2012-10-29 15:50:20 +00:00
Jérôme Gardou 3a6c8d107b [WIN32SS/USER]
- Begin a rewrite of our cursor/Icons implementation. 
The current one is too close to wine's.

svn path=/trunk/; revision=57644
2012-10-29 01:43:38 +00:00
Hermès Bélusca-Maïto 65ce146169 Create a branch for working on csrss and co.
svn path=/branches/ros-csrss/; revision=57561
2012-10-14 13:04:31 +00:00
Timo Kreuzer 87faae19de [LIBCNTPR] Add atan2
[WIN32K] Remove duplicated floating point math functions
[CPORTLIB] Fix an MSVC warning

svn path=/trunk/; revision=57460
2012-10-02 21:43:47 +00:00
Timo Kreuzer c9ef130688 [WIN32K]
Move gdi kdbg extension into a separate file, prefix names with ! to match WinDbg extensions more closely (e.g. "!gdi.help"), imlement help, dumpht, handle, entry and eventlist commands.

svn path=/trunk/; revision=57459
2012-10-02 21:20:28 +00:00
Amine Khaldi 2a0e108e5b [CMAKE]
* Prefer STREQUAL over MATCHES since we're comparing with strings here. Brought to you by Hermès Bélusca.
See issue #7306 for more details.

svn path=/trunk/; revision=57181
2012-08-27 18:58:27 +00:00
Timo Kreuzer 85a3397af9 [WIN32K]
- Change some #defines to enums
- Cleanup some obsolete stuff

svn path=/trunk/; revision=56979
2012-07-29 11:20:05 +00:00
Jérôme Gardou 343744d08b [CMAKE]
WIN32 subsystem and the kernel deserve their own projects.

svn path=/trunk/; revision=56726
2012-06-12 22:28:46 +00:00
Amine Khaldi f0ae11b629 [WIN32SS]
* Compile diblib only when we use it.

svn path=/trunk/; revision=56323
2012-04-02 18:44:48 +00:00
Amine Khaldi e19d519f52 * Reorganize the whole ReactOS codebase into a new layout. Discussing it will only waste time, so we better have it then talk about it after.
* Put ntoskrnl and ntdll in the same folder, because they both start with nt.
* Place hal next to acpi, they both deal with hardware stuff.
* Move mountmgr next to usb drivers.
* Put the rtl next to the crt, and share as much as possible between the two.
* I'm just kidding, you know, April's fool and all ;)

Here's the real deal:

[WIN32SS]
* And finally, integrate win32k itself into the new file layout. Now the subsystem modules are located close to each other (like gdi32 and ntgdi, or user32 and ntuser).
* Thanks go to the subsystem team for coming up with this nice layout, hopefully this will scale to the whole codebase layout soon.
* Special thanks to Smiley for coming up with this cool idea :)

svn path=/trunk/; revision=56311
2012-04-01 20:42:43 +00:00
Amine Khaldi 8ae399c767 [WIN32SS]
* Move win32csr into win32ss/user/win32csr.

svn path=/trunk/; revision=56309
2012-04-01 18:36:08 +00:00
Amine Khaldi 295d782d2c [WIN32SS]
* Move ReactX modules into win32ss/reactx.

svn path=/trunk/; revision=56308
2012-04-01 18:17:07 +00:00
Amine Khaldi dc1326136d [WIN32SS]
* Move the drivers into win32ss/drivers.

svn path=/trunk/; revision=56307
2012-04-01 17:57:24 +00:00
Amine Khaldi 7e0cd3140c [WIN32SS]
* Initialize the subsystem restructure. Start by bringing-in gdi32 and user32. Brought to you by the awesome Subsystem Team.

svn path=/trunk/; revision=56305
2012-04-01 17:27:38 +00:00