mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 14:53:40 +00:00
[0.4.14][NTUSER] DVD Write Now 1.5.12 SP2 setup has no taskbar pane CORE-15669
This is a sane addendum to 0.4.14-RC-67-gef623b1616
by porting back the following master commits: [WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700) - user32!ShowWindow.SW_MINIMIZE should show the window. - Fix the return value of ShowWindow function on invalid parameter. CORE-15669 picked from 0.4.15-dev-2621-g59d4c11203
[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697) Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669 picked from 0.4.15-dev-2618-g32b0cf6fc6
[USER32_APITEST] Add ShowWindow testcase (#3689) Investigate the implementation of user32!ShowWindow. CORE-15669 picked from 0.4.15-dev-2616-ga8ed286c86
[SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687) - Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions. - Improve code readability. CORE-15669 picked from 0.4.15-dev-2611-gd21adc9b31
This commit is contained in:
parent
366c46b4fa
commit
99f203c36f
5 changed files with 423 additions and 303 deletions
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS api tests
|
* PROJECT: ReactOS api tests
|
||||||
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
|
||||||
* PURPOSE: Test for Shell Hook
|
* PURPOSE: Test for Shell Hook
|
||||||
* COPYRIGHT: Copyright 2020 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
* COPYRIGHT: Copyright 2020-2021 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
|
||||||
*/
|
*/
|
||||||
#include "shelltest.h"
|
#include "shelltest.h"
|
||||||
#include "undocshell.h"
|
#include "undocshell.h"
|
||||||
|
@ -11,7 +11,7 @@ static UINT s_uShellHookMsg = 0;
|
||||||
static HWND s_hwndHookViewer = NULL;
|
static HWND s_hwndHookViewer = NULL;
|
||||||
static HWND s_hwndParent = NULL;
|
static HWND s_hwndParent = NULL;
|
||||||
static HWND s_hwndTarget = NULL;
|
static HWND s_hwndTarget = NULL;
|
||||||
static DWORD s_dwFlags = 0;
|
static UINT s_nWindowCreatedCount = 0;
|
||||||
static WCHAR s_szName[] = L"ReactOS ShellHook testcase";
|
static WCHAR s_szName[] = L"ReactOS ShellHook testcase";
|
||||||
|
|
||||||
static HWND
|
static HWND
|
||||||
|
@ -25,7 +25,7 @@ DoCreateWindow(HWND hwndParent, DWORD style, DWORD exstyle)
|
||||||
struct TEST_ENTRY
|
struct TEST_ENTRY
|
||||||
{
|
{
|
||||||
INT lineno;
|
INT lineno;
|
||||||
DWORD dwFlags;
|
UINT nCount;
|
||||||
BOOL bIsChild;
|
BOOL bIsChild;
|
||||||
BOOL bHasOwner;
|
BOOL bHasOwner;
|
||||||
DWORD style;
|
DWORD style;
|
||||||
|
@ -36,6 +36,7 @@ struct TEST_ENTRY
|
||||||
|
|
||||||
#define STYLE_0 WS_POPUP
|
#define STYLE_0 WS_POPUP
|
||||||
#define STYLE_1 (WS_POPUP | WS_VISIBLE)
|
#define STYLE_1 (WS_POPUP | WS_VISIBLE)
|
||||||
|
#define STYLE_2 (WS_OVERLAPPED | WS_VISIBLE)
|
||||||
|
|
||||||
#define EXSTYLE_0 0
|
#define EXSTYLE_0 0
|
||||||
#define EXSTYLE_1 WS_EX_APPWINDOW
|
#define EXSTYLE_1 WS_EX_APPWINDOW
|
||||||
|
@ -48,269 +49,215 @@ struct TEST_ENTRY
|
||||||
|
|
||||||
static const TEST_ENTRY s_entries[] =
|
static const TEST_ENTRY s_entries[] =
|
||||||
{
|
{
|
||||||
// STYLE_0, EXSTYLE_0
|
// TYPE_0
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_0, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_0, STYLE_2, EXSTYLE_3 },
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
// TYPE_1
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
|
||||||
|
|
||||||
// STYLE_1, EXSTYLE_0
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
||||||
{ __LINE__, 3, TYPE_0, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_1 },
|
||||||
// STYLE_0, EXSTYLE_1
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
|
||||||
|
|
||||||
// STYLE_1, EXSTYLE_1
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0xB, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0xB, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x1B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0x1B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x4B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x4B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x5B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x5B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x2B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0x2B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x3B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0x3B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x6B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0x6B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
|
||||||
|
|
||||||
{ __LINE__, 0xB, TYPE_0, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0x7B, TYPE_1, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0x7B, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
|
||||||
|
|
||||||
// STYLE_0, EXSTYLE_2
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
|
||||||
|
|
||||||
// STYLE_1, EXSTYLE_2
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
|
||||||
|
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_1, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_1, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_3 },
|
||||||
|
|
||||||
|
// TYPE_2
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_0, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_1, STYLE_2, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_0 },
|
||||||
// STYLE_0, EXSTYLE_3
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_2, STYLE_1, EXSTYLE_2, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 1, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_0, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_1 },
|
||||||
{ __LINE__, 0, TYPE_0, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0, TYPE_1, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0, TYPE_2, STYLE_0, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_0 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_1 },
|
||||||
// STYLE_1, EXSTYLE_3
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0xF, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_0 },
|
||||||
{ __LINE__, 0xF, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_1, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x1F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x1F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x4F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x4F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x5F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x5F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_2, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x2F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x2F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x3F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x3F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x6F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_0 },
|
||||||
{ __LINE__, 0x6F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_0, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_1 },
|
||||||
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_2 },
|
||||||
{ __LINE__, 0xF, TYPE_0, STYLE_1, EXSTYLE_3 },
|
{ __LINE__, 0, TYPE_2, STYLE_2, EXSTYLE_3, STYLE_2, EXSTYLE_3 },
|
||||||
{ __LINE__, 0x7F, TYPE_1, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
|
||||||
{ __LINE__, 0x7F, TYPE_2, STYLE_1, EXSTYLE_3, STYLE_1, EXSTYLE_3 },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const size_t s_num_entries = sizeof(s_entries) / sizeof(s_entries[0]);
|
static const size_t s_num_entries = sizeof(s_entries) / sizeof(s_entries[0]);
|
||||||
|
@ -333,14 +280,15 @@ static void DoTestEntryPart1(const TEST_ENTRY *pEntry)
|
||||||
else
|
else
|
||||||
style &= ~WS_CHILD;
|
style &= ~WS_CHILD;
|
||||||
|
|
||||||
s_dwFlags = 0;
|
s_nWindowCreatedCount = 0;
|
||||||
s_hwndTarget = DoCreateWindow(s_hwndParent, style, exstyle);
|
s_hwndTarget = DoCreateWindow(s_hwndParent, style, exstyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DoTestEntryPart2(const TEST_ENTRY *pEntry)
|
static void DoTestEntryPart2(const TEST_ENTRY *pEntry)
|
||||||
{
|
{
|
||||||
ok(s_dwFlags == pEntry->dwFlags, "Line %d: s_dwFlags expected 0x%lX but was 0x%lX\n",
|
ok(s_nWindowCreatedCount == pEntry->nCount,
|
||||||
pEntry->lineno, pEntry->dwFlags, s_dwFlags);
|
"Line %d: s_nWindowCreatedCount expected %u but was %u\n",
|
||||||
|
pEntry->lineno, pEntry->nCount, s_nWindowCreatedCount);
|
||||||
|
|
||||||
PostMessageW(s_hwndTarget, WM_CLOSE, 0, 0);
|
PostMessageW(s_hwndTarget, WM_CLOSE, 0, 0);
|
||||||
s_hwndTarget = NULL;
|
s_hwndTarget = NULL;
|
||||||
|
@ -357,65 +305,43 @@ WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if (uMsg == s_uShellHookMsg && uMsg != 0)
|
if (uMsg == s_uShellHookMsg && uMsg != 0)
|
||||||
{
|
{
|
||||||
DWORD style, exstyle, owner_style, owner_exstyle;
|
|
||||||
HWND hwndOwner;
|
|
||||||
DWORD dwFlags;
|
|
||||||
switch (wParam)
|
switch (wParam)
|
||||||
{
|
{
|
||||||
case HSHELL_WINDOWCREATED:
|
case HSHELL_WINDOWCREATED:
|
||||||
if ((HWND)lParam != s_hwndTarget)
|
if ((HWND)lParam != s_hwndTarget)
|
||||||
break;
|
break;
|
||||||
style = (LONG)GetWindowLongPtrW(s_hwndTarget, GWL_STYLE);
|
++s_nWindowCreatedCount;
|
||||||
exstyle = (LONG)GetWindowLongPtrW(s_hwndTarget, GWL_EXSTYLE);
|
|
||||||
if (style & WS_CHILD)
|
|
||||||
hwndOwner = GetParent(s_hwndTarget);
|
|
||||||
else
|
|
||||||
hwndOwner = GetWindow(s_hwndTarget, GW_OWNER);
|
|
||||||
owner_style = (LONG)GetWindowLongPtrW(hwndOwner, GWL_STYLE);
|
|
||||||
owner_exstyle = (LONG)GetWindowLongPtrW(hwndOwner, GWL_EXSTYLE);
|
|
||||||
dwFlags = (1 << 0);
|
|
||||||
if (style & WS_VISIBLE)
|
|
||||||
dwFlags |= (1 << 1);
|
|
||||||
if (exstyle & WS_EX_TOOLWINDOW)
|
|
||||||
dwFlags |= (1 << 2);
|
|
||||||
if (exstyle & WS_EX_APPWINDOW)
|
|
||||||
dwFlags |= (1 << 3);
|
|
||||||
if (owner_style & WS_VISIBLE)
|
|
||||||
dwFlags |= (1 << 4);
|
|
||||||
if (owner_exstyle & WS_EX_TOOLWINDOW)
|
|
||||||
dwFlags |= (1 << 5);
|
|
||||||
if (owner_exstyle & WS_EX_APPWINDOW)
|
|
||||||
dwFlags |= (1 << 6);
|
|
||||||
s_dwFlags = dwFlags;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#define ID_IGNITION 1000
|
||||||
|
#define ID_BURNING 2000
|
||||||
switch (uMsg)
|
switch (uMsg)
|
||||||
{
|
{
|
||||||
case WM_CREATE:
|
case WM_CREATE:
|
||||||
PostMessageW(hwnd, WM_COMMAND, 1000, 0);
|
PostMessageW(hwnd, WM_COMMAND, ID_IGNITION, 0);
|
||||||
return DefWindowProcW(hwnd, uMsg, wParam, lParam);
|
return DefWindowProcW(hwnd, uMsg, wParam, lParam);
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
if (hwnd == s_hwndHookViewer)
|
if (hwnd != s_hwndHookViewer)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (ID_IGNITION <= wParam && wParam < ID_BURNING)
|
||||||
{
|
{
|
||||||
if (1000 <= wParam && wParam < 2000)
|
INT i = (INT)wParam - ID_IGNITION;
|
||||||
|
DoTestEntryPart1(&s_entries[i]);
|
||||||
|
PostMessageW(hwnd, WM_COMMAND, ID_BURNING + i, 0);
|
||||||
|
}
|
||||||
|
else if (ID_BURNING <= wParam)
|
||||||
|
{
|
||||||
|
INT i = (INT)wParam - ID_BURNING;
|
||||||
|
DoTestEntryPart2(&s_entries[i]);
|
||||||
|
++i;
|
||||||
|
if (i == s_num_entries)
|
||||||
{
|
{
|
||||||
INT i = (INT)wParam - 1000;
|
PostQuitMessage(0);
|
||||||
DoTestEntryPart1(&s_entries[i]);
|
break;
|
||||||
PostMessageW(hwnd, WM_COMMAND, 2000 + i, 0);
|
|
||||||
}
|
|
||||||
else if (2000 <= wParam && wParam < 3000)
|
|
||||||
{
|
|
||||||
INT i = (INT)wParam - 2000;
|
|
||||||
DoTestEntryPart2(&s_entries[i]);
|
|
||||||
++i;
|
|
||||||
if (i == s_num_entries)
|
|
||||||
{
|
|
||||||
PostQuitMessage(0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
PostMessageW(hwnd, WM_COMMAND, 1000 + i, 0);
|
|
||||||
}
|
}
|
||||||
|
PostMessageW(hwnd, WM_COMMAND, ID_IGNITION + i, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -42,6 +42,7 @@ list(APPEND SOURCE
|
||||||
SetProp.c
|
SetProp.c
|
||||||
SetScrollInfo.c
|
SetScrollInfo.c
|
||||||
SetScrollRange.c
|
SetScrollRange.c
|
||||||
|
ShowWindow.c
|
||||||
SwitchToThisWindow.c
|
SwitchToThisWindow.c
|
||||||
SystemParametersInfo.c
|
SystemParametersInfo.c
|
||||||
TrackMouseEvent.c
|
TrackMouseEvent.c
|
||||||
|
|
183
modules/rostests/apitests/user32/ShowWindow.c
Normal file
183
modules/rostests/apitests/user32/ShowWindow.c
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS API tests
|
||||||
|
* LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
|
||||||
|
* PURPOSE: Tests for ShowWindow
|
||||||
|
* COPYRIGHT: Copyright 2021 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
typedef struct TEST_ENTRY
|
||||||
|
{
|
||||||
|
INT lineno;
|
||||||
|
BOOL ret;
|
||||||
|
INT nCmdShow;
|
||||||
|
DWORD style0;
|
||||||
|
DWORD style1;
|
||||||
|
} TEST_ENTRY;
|
||||||
|
|
||||||
|
static const CHAR s_name[] = "ShowWindow test window";
|
||||||
|
|
||||||
|
static void DoTestEntry(const TEST_ENTRY *pEntry)
|
||||||
|
{
|
||||||
|
HWND hwnd;
|
||||||
|
DWORD style;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
|
hwnd = CreateWindowA(s_name, s_name, pEntry->style0,
|
||||||
|
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
||||||
|
NULL, NULL, GetModuleHandleA(NULL), NULL);
|
||||||
|
ok(!!hwnd, "Line %d: CreateWindowA failed\n", pEntry->lineno);
|
||||||
|
|
||||||
|
ret = !!ShowWindow(hwnd, pEntry->nCmdShow);
|
||||||
|
ok(ret == pEntry->ret, "Line %d: ShowWindow returned %s\n", pEntry->lineno,
|
||||||
|
(ret ? "non-zero" : "zero"));
|
||||||
|
|
||||||
|
style = (LONG)GetWindowLongPtrA(hwnd, GWL_STYLE);
|
||||||
|
ok(style == pEntry->style1, "Line %d: style was 0x%lX\n", pEntry->lineno, style);
|
||||||
|
|
||||||
|
DestroyWindow(hwnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define STYLE_0 WS_OVERLAPPEDWINDOW
|
||||||
|
#define STYLE_1 (WS_OVERLAPPEDWINDOW | WS_MAXIMIZE)
|
||||||
|
#define STYLE_2 (WS_OVERLAPPEDWINDOW | WS_MINIMIZE)
|
||||||
|
#define STYLE_3 (WS_OVERLAPPEDWINDOW | WS_VISIBLE)
|
||||||
|
#define STYLE_4 (WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_MAXIMIZE)
|
||||||
|
#define STYLE_5 (WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_MINIMIZE)
|
||||||
|
|
||||||
|
#define SW_0 -1
|
||||||
|
#define SW_1 SW_HIDE
|
||||||
|
#define SW_2 SW_MAXIMIZE
|
||||||
|
#define SW_3 SW_MINIMIZE
|
||||||
|
#define SW_4 SW_RESTORE
|
||||||
|
#define SW_5 SW_SHOW
|
||||||
|
#define SW_6 SW_SHOWDEFAULT
|
||||||
|
#define SW_7 SW_SHOWMAXIMIZED
|
||||||
|
#define SW_8 SW_SHOWMINIMIZED
|
||||||
|
#define SW_9 SW_SHOWMINNOACTIVE
|
||||||
|
#define SW_10 SW_SHOWNA
|
||||||
|
#define SW_11 SW_SHOWNOACTIVATE
|
||||||
|
#define SW_12 SW_SHOWNORMAL
|
||||||
|
|
||||||
|
static const TEST_ENTRY s_entries[] =
|
||||||
|
{
|
||||||
|
// STYLE_0
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_0, STYLE_0 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_1, STYLE_0, STYLE_0 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_2, STYLE_0, STYLE_0 | WS_VISIBLE | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_3, STYLE_0, STYLE_0 | WS_VISIBLE | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_4, STYLE_0, STYLE_0 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_5, STYLE_0, STYLE_0 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_6, STYLE_0, STYLE_0 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_7, STYLE_0, STYLE_0 | WS_VISIBLE | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_8, STYLE_0, STYLE_0 | WS_VISIBLE | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_9, STYLE_0, STYLE_0 | WS_VISIBLE | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_10, STYLE_0, STYLE_0 | WS_VISIBLE| WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_11, STYLE_0, STYLE_0 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_12, STYLE_0, STYLE_0 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
// STYLE_1
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_1, STYLE_1 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_1, STYLE_1, STYLE_1 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_2, STYLE_1, STYLE_1 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_3, STYLE_1, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_4, STYLE_1, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_5, STYLE_1, STYLE_1 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_6, STYLE_1, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_7, STYLE_1, STYLE_1 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_8, STYLE_1, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_9, STYLE_1, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_10, STYLE_1, STYLE_1 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_11, STYLE_1, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_12, STYLE_1, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
// STYLE_2
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_2, STYLE_2 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_1, STYLE_2, STYLE_2 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_2, STYLE_2, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_3, STYLE_2, STYLE_2 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_4, STYLE_2, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_5, STYLE_2, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_6, STYLE_2, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_7, STYLE_2, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_8, STYLE_2, STYLE_2 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_9, STYLE_2, STYLE_2 | WS_VISIBLE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_10, STYLE_2, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_11, STYLE_2, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, FALSE, SW_12, STYLE_2, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
// STYLE_3
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_1, STYLE_3, WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_2, STYLE_3, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_3, STYLE_3, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_4, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_5, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_6, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_7, STYLE_3, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_8, STYLE_3, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_9, STYLE_3, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_10, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_11, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_12, STYLE_3, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
// STYLE_4
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_4, STYLE_4 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_1, STYLE_4, WS_OVERLAPPEDWINDOW | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_2, STYLE_4, STYLE_4 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_3, STYLE_4, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_4, STYLE_4, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_5, STYLE_4, STYLE_4 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_6, STYLE_4, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_7, STYLE_4, STYLE_4 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_8, STYLE_4, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_9, STYLE_4, STYLE_3 | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_10, STYLE_4, STYLE_4 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_11, STYLE_4, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_12, STYLE_4, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
// STYLE_5
|
||||||
|
{ __LINE__, FALSE, SW_0, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_1, STYLE_5, WS_OVERLAPPEDWINDOW | WS_MINIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_2, STYLE_5, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_3, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_4, STYLE_5, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_5, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_6, STYLE_5, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_7, STYLE_5, STYLE_3 | WS_MAXIMIZE | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_8, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_9, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_10, STYLE_5, STYLE_5 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_11, STYLE_5, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
{ __LINE__, TRUE, SW_12, STYLE_5, STYLE_3 | WS_CLIPSIBLINGS },
|
||||||
|
};
|
||||||
|
|
||||||
|
static LRESULT CALLBACK
|
||||||
|
WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
switch (uMsg)
|
||||||
|
{
|
||||||
|
case WM_CREATE:
|
||||||
|
return 0;
|
||||||
|
case WM_DESTROY:
|
||||||
|
PostQuitMessage(0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
START_TEST(ShowWindow)
|
||||||
|
{
|
||||||
|
WNDCLASSA wc;
|
||||||
|
UINT iTest;
|
||||||
|
|
||||||
|
ZeroMemory(&wc, sizeof(wc));
|
||||||
|
wc.lpfnWndProc = WindowProc;
|
||||||
|
wc.hInstance = GetModuleHandleA(NULL);
|
||||||
|
wc.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
|
||||||
|
wc.lpszClassName = s_name;
|
||||||
|
ok_int(1, !!RegisterClassA(&wc));
|
||||||
|
|
||||||
|
for (iTest = 0; iTest < _countof(s_entries); ++iTest)
|
||||||
|
{
|
||||||
|
DoTestEntry(&s_entries[iTest]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -44,6 +44,7 @@ extern void func_SetParent(void);
|
||||||
extern void func_SetProp(void);
|
extern void func_SetProp(void);
|
||||||
extern void func_SetScrollInfo(void);
|
extern void func_SetScrollInfo(void);
|
||||||
extern void func_SetScrollRange(void);
|
extern void func_SetScrollRange(void);
|
||||||
|
extern void func_ShowWindow(void);
|
||||||
extern void func_SwitchToThisWindow(void);
|
extern void func_SwitchToThisWindow(void);
|
||||||
extern void func_SystemParametersInfo(void);
|
extern void func_SystemParametersInfo(void);
|
||||||
extern void func_TrackMouseEvent(void);
|
extern void func_TrackMouseEvent(void);
|
||||||
|
@ -93,6 +94,7 @@ const struct test winetest_testlist[] =
|
||||||
{ "SetProp", func_SetProp },
|
{ "SetProp", func_SetProp },
|
||||||
{ "SetScrollInfo", func_SetScrollInfo },
|
{ "SetScrollInfo", func_SetScrollInfo },
|
||||||
{ "SetScrollRange", func_SetScrollRange },
|
{ "SetScrollRange", func_SetScrollRange },
|
||||||
|
{ "ShowWindow", func_ShowWindow },
|
||||||
{ "SwitchToThisWindow", func_SwitchToThisWindow },
|
{ "SwitchToThisWindow", func_SwitchToThisWindow },
|
||||||
{ "SystemParametersInfo", func_SystemParametersInfo },
|
{ "SystemParametersInfo", func_SystemParametersInfo },
|
||||||
{ "TrackMouseEvent", func_TrackMouseEvent },
|
{ "TrackMouseEvent", func_TrackMouseEvent },
|
||||||
|
|
|
@ -1904,7 +1904,16 @@ co_WinPosSetWindowPos(
|
||||||
}
|
}
|
||||||
else if (WinPos.flags & SWP_SHOWWINDOW)
|
else if (WinPos.flags & SWP_SHOWWINDOW)
|
||||||
{
|
{
|
||||||
if ((Window->ExStyle & WS_EX_APPWINDOW) ||
|
if (Window->style & WS_CHILD)
|
||||||
|
{
|
||||||
|
if ((Window->style & WS_POPUP) && (Window->ExStyle & WS_EX_APPWINDOW))
|
||||||
|
{
|
||||||
|
co_IntShellHookNotify(HSHELL_WINDOWCREATED, (WPARAM)Window->head.h, 0);
|
||||||
|
if (!(WinPos.flags & SWP_NOACTIVATE))
|
||||||
|
UpdateShellHook(Window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ((Window->ExStyle & WS_EX_APPWINDOW) ||
|
||||||
(!(Window->ExStyle & WS_EX_TOOLWINDOW) && !Window->spwndOwner &&
|
(!(Window->ExStyle & WS_EX_TOOLWINDOW) && !Window->spwndOwner &&
|
||||||
(!Window->spwndParent || UserIsDesktopWindow(Window->spwndParent))))
|
(!Window->spwndParent || UserIsDesktopWindow(Window->spwndParent))))
|
||||||
{
|
{
|
||||||
|
@ -2551,9 +2560,8 @@ co_WinPosShowWindow(PWND Wnd, INT Cmd)
|
||||||
Swp |= SWP_NOACTIVATE | SWP_NOZORDER;
|
Swp |= SWP_NOACTIVATE | SWP_NOZORDER;
|
||||||
/* Fall through. */
|
/* Fall through. */
|
||||||
case SW_SHOWMINIMIZED:
|
case SW_SHOWMINIMIZED:
|
||||||
|
case SW_MINIMIZE: /* CORE-15669: SW_MINIMIZE also shows */
|
||||||
Swp |= SWP_SHOWWINDOW;
|
Swp |= SWP_SHOWWINDOW;
|
||||||
/* Fall through. */
|
|
||||||
case SW_MINIMIZE:
|
|
||||||
{
|
{
|
||||||
Swp |= SWP_NOACTIVATE;
|
Swp |= SWP_NOACTIVATE;
|
||||||
if (!(style & WS_MINIMIZE))
|
if (!(style & WS_MINIMIZE))
|
||||||
|
@ -2648,7 +2656,7 @@ co_WinPosShowWindow(PWND Wnd, INT Cmd)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
//ERR("co_WinPosShowWindow Exit Good 4\n");
|
//ERR("co_WinPosShowWindow Exit Good 4\n");
|
||||||
return WasVisible;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowFlag = (Cmd != SW_HIDE);
|
ShowFlag = (Cmd != SW_HIDE);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue