#include "precomp.h"
Go to the source code of this file.
Defines | |
#define | DGF_NODRAW 1 |
#define | ALT_F6 2 |
#define | ALT_ESCAPE 1 |
#define | FDIR_FORWARD 0 |
#define | FDIR_BACKWARD 1 |
#define | CXICONSLOT 43 |
#define | CYICONSLOT 43 |
#define | CXICONSIZE 32 |
#define | CYICONSIZE 32 |
#define | MAXTASKNAMELEN 50 |
Functions | |
VOID | xxxPaintIconsInSwitchWindow (PWND, PSWINFO, HDC, INT, INT, INT, BOOL, BOOL, PICON) |
__inline PSWINFO | Getpswi (PWND pwnd) |
__inline void | Setpswi (PWND pwnd, PSWINFO pswi) |
PWND | DSW_GetTopLevelCreatorWindow (PWND pwnd) |
PWND | _GetNextQueueWindow (PWND pwnd, BOOL fPrev, BOOL fAltEsc) |
VOID | xxxSwitchToThisWindow (PWND pwnd, BOOL fAltTab) |
INT | NextPrevTaskIndex (PSWINFO pswInfo, INT iIndex, INT iCount, BOOL fNext) |
PHWND | NextPrevPhwnd (PSWINFO pswInfo, PHWND phwnd, BOOL fNext) |
BOOL | _IsTaskWindow (PWND pwnd, PWND pwndActive) |
INT | _RemoveNonTaskWindows (PBWL pbwl, PWND pwndActive, LPINT lpiActiveTask, PHWND *pphwndLast) |
VOID | DrawSwitchWndHilite (PSWINFO pswInfo, HDC hdcSwitch, int iCol, int iRow, BOOL fShow) |
VOID CALLBACK | DrawIconCallBack (HWND hwnd, UINT uMsg, ULONG_PTR dwData, LRESULT lResult) |
BOOL | TSW_CalcRowAndCol (PSWINFO pswInfo, INT iTaskIndex, LPINT lpiRow, LPINT lpiCol) |
VOID | xxxPaintSwitchWindow (PWND pwndSwitch) |
PWND | InitSwitchWndInfo (PSWINFO *lppswInfo, PWND pwndCurActive, BOOL fPrev) |
HWND | xxxMoveSwitchWndHilite (PWND pwndSwitch, PSWINFO pswInfo, BOOL fPrev) |
BOOL | xxxShowSwitchWindow (PWND pwndAltTab) |
VOID | SwitchWndCleanup (PSWINFO *ppswInfo) |
LRESULT | xxxSwitchWndProc (PWND pwnd, UINT message, WPARAM wParam, LPARAM lParam) |
VOID | xxxCancelCoolSwitch (void) |
VOID | xxxNextWindow (PQ pq, DWORD wParam) |
VOID | xxxOldNextWindow (UINT flags) |
BOOL WINAPI | _GetAltTabInfo (int iItem, PALTTABINFO pati, LPWSTR ccxpwszItemText, UINT cchItemText OPTIONAL, BOOL bAnsi) |
|
Definition at line 23 of file tmswitch.c. Referenced by xxxOldNextWindow(). |
|
Definition at line 22 of file tmswitch.c. Referenced by xxxOldNextWindow(). |
|
Definition at line 35 of file tmswitch.c. Referenced by InitSwitchWndInfo(), and xxxPaintIconsInSwitchWindow(). |
|
Definition at line 33 of file tmswitch.c. Referenced by _GetAltTabInfo(), DrawSwitchWndHilite(), InitSwitchWndInfo(), and xxxPaintIconsInSwitchWindow(). |
|
Definition at line 36 of file tmswitch.c. Referenced by InitSwitchWndInfo(), and xxxPaintIconsInSwitchWindow(). |
|
Definition at line 34 of file tmswitch.c. Referenced by _GetAltTabInfo(), DrawSwitchWndHilite(), InitSwitchWndInfo(), and xxxPaintIconsInSwitchWindow(). |
|
Definition at line 20 of file tmswitch.c. |
|
Definition at line 26 of file tmswitch.c. Referenced by xxxNextWindow(). |
|
Definition at line 25 of file tmswitch.c. Referenced by xxxNextWindow(), and xxxSwitchToThisWindow(). |
|
Definition at line 37 of file tmswitch.c. |
|
Definition at line 2635 of file tmswitch.c. References _LARGE_UNICODE_STRING::Buffer, CXICONSLOT, CYICONSLOT, FALSE, Getpswi(), gspwndAltTab, tagSwitchWndInfo::iCurCol, tagSwitchWndInfo::iCurRow, tagSwitchWndInfo::iNoOfColumns, tagSwitchWndInfo::iNoOfRows, tagSwitchWndInfo::iTotalTasks, _LARGE_UNICODE_STRING::Length, NULL, NullTerminateString(), tagSwitchWndInfo::pbwl, tagSwitchWndInfo::ptFirstRowStart, RevalidateHwnd, tagBWL::rghwnd, RtlUnicodeToMultiByteN(), tagWND::strName, TextCopy(), and TRUE. Referenced by NtUserGetAltTabInfo().
|
|
Definition at line 99 of file tmswitch.c. References _GetWindow(), BOOL, FALSE, GetLastTopMostWindow(), GetTopLevelWindow(), gptiRit, grpdeskRitInput, gspwndAltTab, NULL, tagDESKTOP::pDeskInfo, PtiCurrent, tagDESKTOPINFO::spwnd, tagWND::spwndChild, tagWND::spwndLastActive, tagWND::spwndOwner, tagWND::spwndParent, TestWF, TRUE, WEFNOACTIVATE, WEFTOOLWINDOW, WEFTOPMOST, WFBOTTOMMOST, WFDISABLED, and WFVISIBLE. Referenced by InitSwitchWndInfo(), xxxNextWindow(), xxxOldNextWindow(), xxxSwitchToThisWindow(), and zzzReattachThreads().
|
|
Definition at line 384 of file tmswitch.c. References BOOL, NULL, tagWND::spwndLastActive, TestWF, WEFAPPWINDOW, WEFNOACTIVATE, WEFTOOLWINDOW, WFDISABLED, and WFVISIBLE. Referenced by _RemoveNonTaskWindows().
|
|
Definition at line 418 of file tmswitch.c. References _IsTaskWindow(), INT, NULL, PHWND, RevalidateHwnd, tagBWL::rghwnd, tagWND::spwndLastActive, tagWND::spwndOwner, TestWF, WEFAPPWINDOW, WEFCONTROLPARENT, and WEFTOOLWINDOW. Referenced by InitSwitchWndInfo().
|
|
Definition at line 674 of file tmswitch.c. References DrawIcon, FALSE, Getpswi(), HMValidateHandleNoRip(), INT, NULL, tagSwitchWndInfo::pbwl, PHWND, PICON, RevalidateHwnd, tagBWL::rghwnd, tagWND::spwndOwner, SYSICO, TestWF, ThreadLockAlways, ThreadUnlock, TYPE_CURSOR, VOID(), WFVISIBLE, and xxxPaintIconsInSwitchWindow(). Referenced by xxxPaintIconsInSwitchWindow().
|
|
Definition at line 538 of file tmswitch.c. References _GetDCEx(), _ReleaseDC(), BOOL, CCHTITLEMAX, CopyRect, CXICONSLOT, CYICONSLOT, DF_PATCOPY, DrawFrame(), FillRect(), GETPWNDPPI, gpsi, gptiRit, gspwndAltTab, INT, _LARGE_UNICODE_STRING::Length, NULL, tagSwitchWndInfo::phwndCurrent, tagSwitchWndInfo::ptFirstRowStart, PtiCurrent, _LPKDRAWSWITCHWND::rcRect, tagSwitchWndInfo::rcTaskName, RevalidateHwnd, RtlInitLargeUnicodeString(), _LPKDRAWSWITCHWND::strName, tagWND::strName, SYSHBR, SYSRGB, TextCopy(), ThreadLock, ThreadUnlock, UINT, VOID(), and xxxSendMessageTimeout(). Referenced by xxxMoveSwitchWndHilite(), and xxxPaintSwitchWindow().
|
|
Definition at line 69 of file tmswitch.c. References NULL, and tagWND::spwndOwner. Referenced by xxxPaintIconsInSwitchWindow(), and xxxSetForegroundWindow().
|
|
Definition at line 48 of file tmswitch.c. References FNID_SWITCH, GETFNID, and PSWITCHWND. Referenced by _GetAltTabInfo(), DrawIconCallBack(), xxxNextWindow(), xxxOldNextWindow(), xxxPaintSwitchWindow(), xxxShowSwitchWindow(), and xxxSwitchWndProc().
|
|
Definition at line 1120 of file tmswitch.c. References _GetKeyState(), _GetNextQueueWindow(), _RemoveNonTaskWindows(), BuildHwndList(), BWL_ENUMLIST, CXICONSIZE, CXICONSLOT, tagSwitchWndInfo::cxSwitch, CYICONSIZE, CYICONSLOT, tagSwitchWndInfo::cySwitch, DbgPrint, FALSE, FreeHwndList(), tagSwitchWndInfo::fScroll, gcxCaptionFontChar, gcyCaptionFontChar, GETDESKINFO, GetFullScreen, GetPrimaryMonitor(), gnFastAltTabColumns, gnFastAltTabRows, gpsi, tagSwitchWndInfo::iCurCol, tagSwitchWndInfo::iCurRow, tagSwitchWndInfo::iFirstTaskIndex, tagSwitchWndInfo::iIconsInLastRow, tagSwitchWndInfo::iNoOfColumns, tagSwitchWndInfo::iNoOfRows, INT, tagSwitchWndInfo::iTasksShown, tagSwitchWndInfo::iTotalTasks, min, NextPrevTaskIndex(), NULL, tagSwitchWndInfo::pbwl, PHWND, tagSwitchWndInfo::phwndCurrent, tagSwitchWndInfo::phwndLast, tagSwitchWndInfo::ptFirstRowStart, PtiCurrent, tagMONITOR::rcMonitor, RevalidateHwnd, tagBWL::rghwnd, tagDESKTOPINFO::spwnd, tagWND::spwndChild, tagDESKTOPINFO::spwndShell, SWITCHWNDINFO, SYSMET, and TRUE. Referenced by xxxNextWindow(), and xxxOldNextWindow().
|
|
Definition at line 345 of file tmswitch.c. References tagSwitchWndInfo::pbwl, PHWND, tagSwitchWndInfo::phwndLast, and tagBWL::rghwnd. Referenced by xxxMoveSwitchWndHilite(), and xxxPaintIconsInSwitchWindow().
|
|
Definition at line 313 of file tmswitch.c. References INT, and tagSwitchWndInfo::iTotalTasks. Referenced by InitSwitchWndInfo(), xxxMoveSwitchWndHilite(), and xxxPaintIconsInSwitchWindow().
|
|
Definition at line 58 of file tmswitch.c. References FNID_SWITCH, and GETFNID. Referenced by xxxNextWindow(), and xxxOldNextWindow().
|
|
Definition at line 1542 of file tmswitch.c. References FreeHwndList(), NULL, and VOID(). Referenced by xxxNextWindow(), xxxOldNextWindow(), and xxxSwitchWndProc().
|
|
Definition at line 764 of file tmswitch.c. References BOOL, FALSE, tagSwitchWndInfo::iFirstTaskIndex, tagSwitchWndInfo::iNoOfColumns, tagSwitchWndInfo::iNoOfRows, INT, tagSwitchWndInfo::iTotalTasks, and TRUE. Referenced by xxxPaintIconsInSwitchWindow().
|
|
Definition at line 1635 of file tmswitch.c. References CheckCritIn, FWINABLE, gspwndAltTab, tagWND::head, IsWinEventNotifyDeferredOK, Lock, NULL, PtiCurrent, VOID(), WEF_USEPWNDTHREAD, xxxDestroyWindow(), and xxxWindowEvent(). Referenced by xxxButtonEvent(), xxxKeyEvent(), xxxNextWindow(), xxxOldNextWindow(), and xxxSwitchWndProc().
|
|
Definition at line 1325 of file tmswitch.c. References _GetDCEx(), _ReleaseDC(), BOOL, CheckLock, DrawSwitchWndHilite(), FALSE, tagSwitchWndInfo::fScroll, FWINABLE, tagSwitchWndInfo::iCurCol, tagSwitchWndInfo::iCurRow, tagSwitchWndInfo::iFirstTaskIndex, tagSwitchWndInfo::iIconsInLastRow, tagSwitchWndInfo::iNoOfColumns, tagSwitchWndInfo::iNoOfRows, INT, IsWinEventNotifyDeferredOK, NextPrevPhwnd(), NextPrevTaskIndex(), NULL, tagSwitchWndInfo::phwndCurrent, TRUE, WEF_USEPWNDTHREAD, xxxPaintIconsInSwitchWindow(), and xxxWindowEvent(). Referenced by xxxNextWindow(), and xxxOldNextWindow().
|
|
Definition at line 1675 of file tmswitch.c. References _GetAsyncKeyState(), _GetNextQueueWindow(), _PostMessage(), BOOL, ClearMF, DbgPrint, FALSE, FDIR_BACKWARD, FDIR_FORWARD, tagSwitchWndInfo::fJournaling, Getpswi(), GETPTI, GetTopLevelWindow(), gLangToggleKeyState, glinp, gpqForeground, gptiRit, grpdeskRitInput, gspwndActivate, gspwndAltTab, gspwndFullScreen, gwMouseOwnerButton, HW, InitSwitchWndInfo(), IsWinEventNotifyDeferred, KLT_NONE, Lock, MFUNDERLINE, NextTopWindow(), NTW_PREVIOUS, NULL, tagDESKTOP::pDeskInfo, PtiCurrent, tagQ::ptiKeyboard, tagLASTINPUT::ptiLastWoken, PWND_BOTTOM, RevalidateHwnd, tagTHREADINFO::rpdesk, SetMF, Setpswi(), SFW_ACTIVATERESTORE, SFW_SWITCH, tagWND::spmenu, tagDESKTOPINFO::spwnd, tagQ::spwndActive, tagWND::spwndChild, tagQ::spwndFocus, SWITCHWNDCLASS, SwitchWndCleanup(), TestWF, ThreadLockAlwaysWithPti, ThreadLockPool, ThreadLockWithPti, ThreadUnlock, ThreadUnlockPool, TIF_CSRSSTHREAD, TIF_SYSTEMTHREAD, TRUE, Unlock, VER40, VOID(), WEFTOPMOST, WFCHILD, xxxCancelCoolSwitch(), xxxCreateWindowEx(), xxxMoveSwitchWndHilite(), xxxSendMessageTimeout(), xxxSendNotifyMessage(), xxxSetForegroundWindow2(), xxxSetThreadDesktop(), xxxSetWindowPos(), and xxxShowSwitchWindow(). Referenced by xxxKeyEvent().
|
|
Definition at line 2121 of file tmswitch.c. References _CallMsgFilter(), _GetKeyState(), _GetNextQueueWindow(), _PostMessage(), ALT_ESCAPE, ALT_F6, BOOL, FALSE, tagSwitchWndInfo::fJournaling, Getpswi(), GETPTI, gpqForeground, gptiRit, grpdeskRitInput, gspwndAltTab, gspwndFullScreen, HW, InitSwitchWndInfo(), IsWinEventNotifyDeferredOK, Lock, msg, NextTopWindow(), NTW_PREVIOUS, NULL, tagDESKTOP::pDeskInfo, PtiCurrent, PtoH, PWND_BOTTOM, RevalidateHwnd, SCREEN_CAPTURE, Setpswi(), tagDESKTOPINFO::spwnd, tagQ::spwndActive, SWITCHWNDCLASS, SwitchWndCleanup(), TestWF, ThreadLockAlwaysWithPti, ThreadLockPool, ThreadLockWithPti, ThreadUnlock, ThreadUnlockPool, TRUE, UINT, VER40, VOID(), WEFTOPMOST, WFMINIMIZED, xxxCancelCoolSwitch(), xxxCapture(), xxxCreateWindowEx(), xxxDispatchMessage(), xxxMoveSwitchWndHilite(), xxxPeekMessage, xxxReleaseCapture(), xxxSendNotifyMessage(), xxxSetForegroundWindow(), xxxSetWindowPos(), xxxShowSwitchWindow(), xxxTranslateMessage(), and xxxWaitMessage(). Referenced by xxxSysCommand().
|
|
Definition at line 808 of file tmswitch.c. References _DrawIconEx(), _GetAsyncKeyState(), _GetDCEx(), _GetKeyState(), _GetProp(), _ReleaseDC(), _ScrollDC(), tagSERVERINFO::atomIconProp, BOOL, CheckLock, CXICONSIZE, CXICONSLOT, cy, CYICONSIZE, CYICONSLOT, DrawIconCallBack(), DSW_GetTopLevelCreatorWindow(), FALSE, FillRect(), tagSwitchWndInfo::fJournaling, gpsi, HMValidateHandleNoRip(), tagSwitchWndInfo::iFirstTaskIndex, tagSwitchWndInfo::iNoOfColumns, tagSwitchWndInfo::iNoOfRows, INT, MAKEINTATOM, NextPrevPhwnd(), NextPrevTaskIndex(), NULL, tagSwitchWndInfo::pbwl, tagWND::pcls, PHWND, PICON, PROPF_INTERNAL, tagSwitchWndInfo::ptFirstRowStart, PtoH, RevalidateHwnd, tagBWL::rghwnd, SYSHBR, SYSICO, SYSMET, TestWF, ThreadLock, ThreadUnlock, TRUE, TSW_CalcRowAndCol(), TYPE_CURSOR, VOID(), WFWIN40COMPAT, and xxxSendMessageCallback(). Referenced by DrawIconCallBack(), xxxMoveSwitchWndHilite(), and xxxPaintSwitchWindow().
|
|
Definition at line 1012 of file tmswitch.c. References _GetAsyncKeyState(), _GetClientRect(), _GetDCEx(), _GetKeyState(), _ReleaseDC(), CheckLock, CopyInflateRect(), DrawEdge(), DrawSwitchWndHilite(), FALSE, FillRect(), tagSwitchWndInfo::fJournaling, gcxCaptionFontChar, gcyCaptionFontChar, Getpswi(), tagSwitchWndInfo::iCurCol, tagSwitchWndInfo::iCurRow, tagSwitchWndInfo::iFirstTaskIndex, InflateRect(), tagSwitchWndInfo::iTasksShown, NULL, tagSwitchWndInfo::rcTaskName, SYSHBR, TestWF, TRUE, VOID(), WFVISIBLE, and xxxPaintIconsInSwitchWindow(). Referenced by xxxSwitchWndProc().
|
|
Definition at line 1476 of file tmswitch.c. References _GetAsyncKeyState(), _GetKeyState(), BOOL, CheckLock, tagSwitchWndInfo::cxSwitch, tagSwitchWndInfo::cySwitch, DbgPrint, FALSE, tagSwitchWndInfo::fJournaling, FWINABLE, GetPrimaryMonitor(), Getpswi(), tagSwitchWndInfo::iCurCol, tagSwitchWndInfo::iCurRow, tagSwitchWndInfo::iNoOfColumns, IsWinEventNotifyDeferredOK, NULL, PWND_TOPMOST, tagMONITOR::rcWork, TestWF, TRUE, WEF_USEPWNDTHREAD, WFVISIBLE, xxxSetWindowPos(), xxxUpdateWindow(), and xxxWindowEvent(). Referenced by xxxNextWindow(), and xxxOldNextWindow().
|
|
Definition at line 253 of file tmswitch.c. References _GetNextQueueWindow(), BOOL, CheckLock, FDIR_FORWARD, GETPTI, gpqForeground, PostEventMessage(), PWND_BOTTOM, QEVENT_POSTMESSAGE, tagQ::spwndActive, TestWF, ThreadLock, ThreadUnlock, TRUE, VOID(), WEFTOPMOST, WFBOTTOMMOST, WFMINIMIZED, xxxSetForegroundWindow(), and xxxSetWindowPos().
|
|
Definition at line 1564 of file tmswitch.c. References CheckLock, FNID_SWITCH, Getpswi(), IsWinEventNotifyDeferredOK, NULL, tagWND::pcls, PtiCurrent, SwitchWndCleanup(), ThreadLockWithPti, ThreadUnlock, VALIDATECLASSANDSIZE, xxxCancelCoolSwitch(), xxxDefWindowProc(), xxxPaintSwitchWindow(), xxxSetWindowPos(), and zzzSetCursor(). Referenced by InitializeClientPfnArrays(), and LW_RegisterWindows().
|