mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Remove nonclient.c (not used)
- Removed DbgPrints() svn path=/trunk/; revision=5580
This commit is contained in:
parent
08be7d88cc
commit
d0443c94b3
2 changed files with 1 additions and 486 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: defwnd.c,v 1.65 2003/08/15 10:12:22 rcampbell Exp $
|
/* $Id: defwnd.c,v 1.66 2003/08/15 10:51:23 rcampbell Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS user32.dll
|
* PROJECT: ReactOS user32.dll
|
||||||
|
@ -465,9 +465,7 @@ DefWndDoPaintNC(HWND hWnd, HRGN clip)
|
||||||
int wFrame = 0;
|
int wFrame = 0;
|
||||||
|
|
||||||
// This won't work because it conflicts with BS_BITMAP :
|
// This won't work because it conflicts with BS_BITMAP :
|
||||||
// Active = GetWindowLongW(hWnd, GWL_STYLE) & WIN_NCACTIVATED;
|
|
||||||
if (GetActiveWindow() == hWnd) Active = TRUE;
|
if (GetActiveWindow() == hWnd) Active = TRUE;
|
||||||
DbgPrint("Window:\t%d\nActiveWindow:\t%d\n\n\n\n");
|
|
||||||
Style = GetWindowLongW(hWnd, GWL_STYLE);
|
Style = GetWindowLongW(hWnd, GWL_STYLE);
|
||||||
ExStyle = GetWindowLongW(hWnd, GWL_EXSTYLE);
|
ExStyle = GetWindowLongW(hWnd, GWL_EXSTYLE);
|
||||||
|
|
||||||
|
@ -1444,7 +1442,6 @@ User32DefWindowProc(HWND hWnd,
|
||||||
}
|
}
|
||||||
case WM_WINDOWPOSCHANGING:
|
case WM_WINDOWPOSCHANGING:
|
||||||
{
|
{
|
||||||
DbgPrint("WM_WINDOWPOSCHANGING\n\n");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case WM_NCHITTEST:
|
case WM_NCHITTEST:
|
||||||
|
|
|
@ -1,482 +0,0 @@
|
||||||
/*
|
|
||||||
* ReactOS kernel
|
|
||||||
* Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
/* INCLUDES ******************************************************************/
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include <user32.h>
|
|
||||||
#include <debug.h>
|
|
||||||
|
|
||||||
/* DEFINES ******************************************************************/
|
|
||||||
|
|
||||||
#define HAS_DLGFRAME(style,exStyle) \
|
|
||||||
(((exStyle) & WS_EX_DLGMODALFRAME) || \
|
|
||||||
(((style) & WS_DLGFRAME) && !((style) & WS_THICKFRAME)))
|
|
||||||
|
|
||||||
#define HAS_THICKFRAME(style,exStyle) \
|
|
||||||
(((style) & WS_THICKFRAME) && \
|
|
||||||
!(((style) & (WS_DLGFRAME|WS_BORDER)) == WS_DLGFRAME))
|
|
||||||
|
|
||||||
#define HAS_THINFRAME(style) \
|
|
||||||
(((style) & WS_BORDER) || !((style) & (WS_CHILD | WS_POPUP)))
|
|
||||||
|
|
||||||
#define HAS_BIGFRAME(style,exStyle) \
|
|
||||||
(((style) & (WS_THICKFRAME | WS_DLGFRAME)) || \
|
|
||||||
((exStyle) & WS_EX_DLGMODALFRAME))
|
|
||||||
|
|
||||||
/* FUNCTIONS *****************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
WINBOOL STDCALL
|
|
||||||
DrawFrameControl(HDC hDc, LPRECT Rect, UINT Type, UINT State)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get the 'inside' rectangle of a window, i.e. the whole window rectangle
|
|
||||||
* but without the borders (if any).
|
|
||||||
* The rectangle is in window coordinates (for drawing with GetWindowDC()).
|
|
||||||
*/
|
|
||||||
void NC_GetInsideRect( HWND hwnd, RECT *rect )
|
|
||||||
{
|
|
||||||
DWORD Style, ExStyle;
|
|
||||||
|
|
||||||
GetWindowRect(hwnd, rect);
|
|
||||||
Style = GetWindowLongW(hwnd, GWL_STYLE);
|
|
||||||
ExStyle = GetWindowLongW(hwnd, GWL_EXSTYLE);
|
|
||||||
|
|
||||||
rect->top = rect->left = 0;
|
|
||||||
rect->right = rect->right - rect->left;
|
|
||||||
rect->bottom = rect->bottom - rect->top;
|
|
||||||
|
|
||||||
/* if (wndPtr->dwStyle & WS_ICONIC) goto END; */
|
|
||||||
|
|
||||||
/* Remove frame from rectangle */
|
|
||||||
if (HAS_THICKFRAME(Style, ExStyle ))
|
|
||||||
{
|
|
||||||
InflateRect( rect, -GetSystemMetrics(SM_CXFRAME), -GetSystemMetrics(SM_CYFRAME) );
|
|
||||||
}
|
|
||||||
else if (HAS_DLGFRAME(Style, ExStyle ))
|
|
||||||
{
|
|
||||||
InflateRect( rect, -GetSystemMetrics(SM_CXDLGFRAME), -GetSystemMetrics(SM_CYDLGFRAME));
|
|
||||||
}
|
|
||||||
else if (HAS_THINFRAME( Style ))
|
|
||||||
{
|
|
||||||
InflateRect( rect, -GetSystemMetrics(SM_CXBORDER), -GetSystemMetrics(SM_CYBORDER) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We have additional border information if the window
|
|
||||||
* is a child (but not an MDI child) */
|
|
||||||
if ( (Style & WS_CHILD) &&
|
|
||||||
( (ExStyle & WS_EX_MDICHILD) == 0 ) )
|
|
||||||
{
|
|
||||||
if (ExStyle & WS_EX_CLIENTEDGE)
|
|
||||||
InflateRect (rect, -GetSystemMetrics(SM_CXEDGE), -GetSystemMetrics(SM_CYEDGE));
|
|
||||||
if (ExStyle & WS_EX_STATICEDGE)
|
|
||||||
InflateRect (rect, -GetSystemMetrics(SM_CXBORDER), -GetSystemMetrics(SM_CYBORDER));
|
|
||||||
}
|
|
||||||
|
|
||||||
END:
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draws the Win95 system icon. */
|
|
||||||
BOOL
|
|
||||||
NC_DrawSysButton95 (HWND hwnd, HDC hdc, BOOL down)
|
|
||||||
{
|
|
||||||
HICON hIcon = NC_IconForWindow( hwnd );
|
|
||||||
|
|
||||||
if (hIcon)
|
|
||||||
{
|
|
||||||
RECT rect;
|
|
||||||
NC_GetInsideRect( hwnd, &rect );
|
|
||||||
DrawIconEx (hdc, rect.left + 2, rect.top + 2, hIcon,
|
|
||||||
GetSystemMetrics(SM_CXSMICON),
|
|
||||||
GetSystemMetrics(SM_CYSMICON), 0, 0, DI_NORMAL);
|
|
||||||
}
|
|
||||||
return (hIcon != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draws the Win95 close button. */
|
|
||||||
static void NC_DrawCloseButton95 (HWND hwnd, HDC hdc, BOOL down, BOOL bGrayed)
|
|
||||||
{
|
|
||||||
RECT rect;
|
|
||||||
|
|
||||||
NC_GetInsideRect( hwnd, &rect );
|
|
||||||
|
|
||||||
/* A tool window has a smaller Close button */
|
|
||||||
if (GetWindowLongA( hwnd, GWL_EXSTYLE ) & WS_EX_TOOLWINDOW)
|
|
||||||
{
|
|
||||||
INT iBmpHeight = 11; /* Windows does not use SM_CXSMSIZE and SM_CYSMSIZE */
|
|
||||||
INT iBmpWidth = 11; /* it uses 11x11 for the close button in tool window */
|
|
||||||
INT iCaptionHeight = GetSystemMetrics(SM_CYSMCAPTION);
|
|
||||||
|
|
||||||
rect.top = rect.top + (iCaptionHeight - 1 - iBmpHeight) / 2;
|
|
||||||
rect.left = rect.right - (iCaptionHeight + 1 + iBmpWidth) / 2;
|
|
||||||
rect.bottom = rect.top + iBmpHeight;
|
|
||||||
rect.right = rect.left + iBmpWidth;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rect.left = rect.right - GetSystemMetrics(SM_CXSIZE) - 1;
|
|
||||||
rect.bottom = rect.top + GetSystemMetrics(SM_CYSIZE) - 1;
|
|
||||||
rect.top += 2;
|
|
||||||
rect.right -= 2;
|
|
||||||
}
|
|
||||||
DrawFrameControl( hdc, &rect, DFC_CAPTION,
|
|
||||||
(DFCS_CAPTIONCLOSE |
|
|
||||||
(down ? DFCS_PUSHED : 0) |
|
|
||||||
(bGrayed ? DFCS_INACTIVE : 0)) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draws the maximize button for Win95 style windows. */
|
|
||||||
static void NC_DrawMaxButton95(HWND hwnd,HDC hdc,BOOL down, BOOL bGrayed)
|
|
||||||
{
|
|
||||||
RECT rect;
|
|
||||||
UINT flags = IsZoomed(hwnd) ? DFCS_CAPTIONRESTORE : DFCS_CAPTIONMAX;
|
|
||||||
|
|
||||||
NC_GetInsideRect( hwnd, &rect );
|
|
||||||
if (GetWindowLongA( hwnd, GWL_STYLE) & WS_SYSMENU)
|
|
||||||
rect.right -= GetSystemMetrics(SM_CXSIZE) + 1;
|
|
||||||
rect.left = rect.right - GetSystemMetrics(SM_CXSIZE);
|
|
||||||
rect.bottom = rect.top + GetSystemMetrics(SM_CYSIZE) - 1;
|
|
||||||
rect.top += 2;
|
|
||||||
rect.right -= 2;
|
|
||||||
if (down) flags |= DFCS_PUSHED;
|
|
||||||
if (bGrayed) flags |= DFCS_INACTIVE;
|
|
||||||
DrawFrameControl( hdc, &rect, DFC_CAPTION, flags );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draws the minimize button for Win95 style windows. */
|
|
||||||
static void NC_DrawMinButton95(HWND hwnd,HDC hdc,BOOL down, BOOL bGrayed)
|
|
||||||
{
|
|
||||||
RECT rect;
|
|
||||||
UINT flags = DFCS_CAPTIONMIN;
|
|
||||||
DWORD style = GetWindowLongA( hwnd, GWL_STYLE );
|
|
||||||
|
|
||||||
NC_GetInsideRect( hwnd, &rect );
|
|
||||||
if (style & WS_SYSMENU)
|
|
||||||
rect.right -= GetSystemMetrics(SM_CXSIZE) + 1;
|
|
||||||
if (style & (WS_MAXIMIZEBOX|WS_MINIMIZEBOX))
|
|
||||||
rect.right -= GetSystemMetrics(SM_CXSIZE) - 2;
|
|
||||||
rect.left = rect.right - GetSystemMetrics(SM_CXSIZE);
|
|
||||||
rect.bottom = rect.top + GetSystemMetrics(SM_CYSIZE) - 1;
|
|
||||||
rect.top += 2;
|
|
||||||
rect.right -= 2;
|
|
||||||
if (down) flags |= DFCS_PUSHED;
|
|
||||||
if (bGrayed) flags |= DFCS_INACTIVE;
|
|
||||||
DrawFrameControl( hdc, &rect, DFC_CAPTION, flags );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draw a window frame inside the given rectangle, and update the rectangle. */
|
|
||||||
static void NC_DrawFrame95(
|
|
||||||
HDC hdc,
|
|
||||||
RECT *rect,
|
|
||||||
BOOL active,
|
|
||||||
DWORD style,
|
|
||||||
DWORD exStyle)
|
|
||||||
{
|
|
||||||
INT width, height;
|
|
||||||
|
|
||||||
/* Firstly the "thick" frame */
|
|
||||||
if (style & WS_THICKFRAME)
|
|
||||||
{
|
|
||||||
width = GetSystemMetrics(SM_CXFRAME) - GetSystemMetrics(SM_CXDLGFRAME);
|
|
||||||
height = GetSystemMetrics(SM_CYFRAME) - GetSystemMetrics(SM_CYDLGFRAME);
|
|
||||||
|
|
||||||
/* SelectObject( hdc, GetSysColorBrush(active ? COLOR_ACTIVEBORDER :
|
|
||||||
COLOR_INACTIVEBORDER) ); */
|
|
||||||
/* Draw frame */
|
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
|
||||||
rect->right - rect->left, height, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
|
||||||
width, rect->bottom - rect->top, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->left, rect->bottom - 1,
|
|
||||||
rect->right - rect->left, -height, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->right - 1, rect->top,
|
|
||||||
-width, rect->bottom - rect->top, PATCOPY );
|
|
||||||
|
|
||||||
InflateRect( rect, -width, -height );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Now the other bit of the frame */
|
|
||||||
if ((style & (WS_BORDER|WS_DLGFRAME)) ||
|
|
||||||
(exStyle & WS_EX_DLGMODALFRAME))
|
|
||||||
{
|
|
||||||
width = GetSystemMetrics(SM_CXDLGFRAME) - GetSystemMetrics(SM_CXEDGE);
|
|
||||||
height = GetSystemMetrics(SM_CYDLGFRAME) - GetSystemMetrics(SM_CYEDGE);
|
|
||||||
/* This should give a value of 1 that should also work for a border */
|
|
||||||
|
|
||||||
/* SelectObject( hdc, GetSysColorBrush(
|
|
||||||
(exStyle & (WS_EX_DLGMODALFRAME|WS_EX_CLIENTEDGE)) ?
|
|
||||||
COLOR_3DFACE :
|
|
||||||
(exStyle & WS_EX_STATICEDGE) ?
|
|
||||||
COLOR_WINDOWFRAME :
|
|
||||||
(style & (WS_DLGFRAME|WS_THICKFRAME)) ?
|
|
||||||
COLOR_3DFACE :
|
|
||||||
// else
|
|
||||||
COLOR_WINDOWFRAME)); */
|
|
||||||
|
|
||||||
/* Draw frame */
|
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
|
||||||
rect->right - rect->left, height, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->left, rect->top,
|
|
||||||
width, rect->bottom - rect->top, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->left, rect->bottom - 1,
|
|
||||||
rect->right - rect->left, -height, PATCOPY );
|
|
||||||
PatBlt( hdc, rect->right - 1, rect->top,
|
|
||||||
-width, rect->bottom - rect->top, PATCOPY );
|
|
||||||
|
|
||||||
InflateRect( rect, -width, -height );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static HICON NC_IconForWindow( HWND hwnd )
|
|
||||||
{
|
|
||||||
HICON hIcon = (HICON) GetClassLongA( hwnd, GCL_HICONSM );
|
|
||||||
if (!hIcon) hIcon = (HICON) GetClassLongA( hwnd, GCL_HICON );
|
|
||||||
|
|
||||||
/* If there is no hIcon specified and this is a modal dialog,
|
|
||||||
* get the default one.
|
|
||||||
*/
|
|
||||||
/* if (!hIcon && (GetWindowLongA( hwnd, GWL_STYLE ) & DS_MODALFRAME))
|
|
||||||
hIcon = LoadImageA(0, IDI_WINLOGOA, IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR); */
|
|
||||||
return hIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draw the window caption for Win95 style windows. The correct pen for the window frame must be selected in the DC. */
|
|
||||||
static void NC_DrawCaption95(
|
|
||||||
HDC hdc,
|
|
||||||
RECT *rect,
|
|
||||||
HWND hwnd,
|
|
||||||
DWORD style,
|
|
||||||
DWORD exStyle,
|
|
||||||
BOOL active )
|
|
||||||
{
|
|
||||||
RECT r = *rect;
|
|
||||||
char buffer[256];
|
|
||||||
HPEN hPrevPen;
|
|
||||||
HMENU hSysMenu;
|
|
||||||
|
|
||||||
/* hPrevPen = SelectObject( hdc, SYSCOLOR_GetPen(
|
|
||||||
((exStyle & (WS_EX_STATICEDGE|WS_EX_CLIENTEDGE|
|
|
||||||
WS_EX_DLGMODALFRAME)) == WS_EX_STATICEDGE) ?
|
|
||||||
COLOR_WINDOWFRAME : COLOR_3DFACE) ); */
|
|
||||||
MoveToEx( hdc, r.left, r.bottom - 1, NULL );
|
|
||||||
LineTo( hdc, r.right, r.bottom - 1 );
|
|
||||||
SelectObject( hdc, hPrevPen );
|
|
||||||
r.bottom--;
|
|
||||||
|
|
||||||
/* FillRect( hdc, &r, GetSysColorBrush(active ? COLOR_ACTIVECAPTION :
|
|
||||||
COLOR_INACTIVECAPTION) ); */
|
|
||||||
|
|
||||||
if ((style & WS_SYSMENU) && !(exStyle & WS_EX_TOOLWINDOW)) {
|
|
||||||
if (NC_DrawSysButton95 (hwnd, hdc, FALSE))
|
|
||||||
r.left += GetSystemMetrics(SM_CYCAPTION) - 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (style & WS_SYSMENU)
|
|
||||||
{
|
|
||||||
UINT state;
|
|
||||||
|
|
||||||
/* Go get the sysmenu */
|
|
||||||
hSysMenu = GetSystemMenu(hwnd, FALSE);
|
|
||||||
state = GetMenuState(hSysMenu, SC_CLOSE, MF_BYCOMMAND);
|
|
||||||
|
|
||||||
/* Draw a grayed close button if disabled and a normal one if SC_CLOSE is not there */
|
|
||||||
NC_DrawCloseButton95 (hwnd, hdc, FALSE,
|
|
||||||
((((state & MF_DISABLED) || (state & MF_GRAYED))) && (state != 0xFFFFFFFF)));
|
|
||||||
r.right -= GetSystemMetrics(SM_CYCAPTION) - 1;
|
|
||||||
|
|
||||||
if ((style & WS_MAXIMIZEBOX) || (style & WS_MINIMIZEBOX))
|
|
||||||
{
|
|
||||||
/* In win95 the two buttons are always there */
|
|
||||||
/* But if the menu item is not in the menu they're disabled*/
|
|
||||||
|
|
||||||
NC_DrawMaxButton95( hwnd, hdc, FALSE, (!(style & WS_MAXIMIZEBOX)));
|
|
||||||
r.right -= GetSystemMetrics(SM_CXSIZE) + 1;
|
|
||||||
|
|
||||||
NC_DrawMinButton95( hwnd, hdc, FALSE, (!(style & WS_MINIMIZEBOX)));
|
|
||||||
r.right -= GetSystemMetrics(SM_CXSIZE) + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GetWindowTextA( hwnd, buffer, sizeof(buffer) )) {
|
|
||||||
NONCLIENTMETRICS nclm;
|
|
||||||
HFONT hFont, hOldFont;
|
|
||||||
nclm.cbSize = sizeof(NONCLIENTMETRICS);
|
|
||||||
SystemParametersInfoA (SPI_GETNONCLIENTMETRICS, 0, &nclm, 0);
|
|
||||||
if (exStyle & WS_EX_TOOLWINDOW)
|
|
||||||
hFont = CreateFontIndirectA (&nclm.lfSmCaptionFont);
|
|
||||||
else
|
|
||||||
hFont = CreateFontIndirectA (&nclm.lfCaptionFont);
|
|
||||||
hOldFont = SelectObject (hdc, hFont);
|
|
||||||
/* if (active) SetTextColor( hdc, GetSysColor( COLOR_CAPTIONTEXT ) );
|
|
||||||
else SetTextColor( hdc, GetSysColor( COLOR_INACTIVECAPTIONTEXT ) ); */
|
|
||||||
SetBkMode( hdc, TRANSPARENT );
|
|
||||||
r.left += 2;
|
|
||||||
DrawTextA( hdc, buffer, -1, &r,
|
|
||||||
DT_SINGLELINE | DT_VCENTER | DT_NOPREFIX | DT_LEFT );
|
|
||||||
DeleteObject (SelectObject (hdc, hOldFont));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void NC_DoNCPaint95(
|
|
||||||
HWND hwnd,
|
|
||||||
HRGN clip,
|
|
||||||
BOOL suppress_menupaint)
|
|
||||||
{
|
|
||||||
HDC hdc;
|
|
||||||
RECT rfuzz, rect, rectClip;
|
|
||||||
BOOL active;
|
|
||||||
DWORD Style, ExStyle;
|
|
||||||
WORD Flags;
|
|
||||||
RECT ClientRect, WindowRect;
|
|
||||||
int has_menu;
|
|
||||||
|
|
||||||
/* FIXME: Determine has_menu */
|
|
||||||
Style = GetWindowLongW(hwnd, GWL_STYLE);
|
|
||||||
ExStyle = GetWindowLongW(hwnd, GWL_EXSTYLE);
|
|
||||||
GetWindowRect(hwnd, &WindowRect);
|
|
||||||
GetClientRect(hwnd, &ClientRect);
|
|
||||||
|
|
||||||
/* Flags = wndPtr->flags; */
|
|
||||||
|
|
||||||
/* if (Style & WS_MINIMIZE ||
|
|
||||||
!WIN_IsWindowDrawable(hwnd, 0)) return; */ /* Nothing to do */
|
|
||||||
|
|
||||||
active = TRUE /* Flags & WIN_NCACTIVATED */;
|
|
||||||
|
|
||||||
DPRINT("%04x %d\n", hwnd, active);
|
|
||||||
|
|
||||||
/* MSDN docs are pretty idiotic here, they say app CAN use clipRgn in
|
|
||||||
the call to GetDCEx implying that it is allowed not to use it either.
|
|
||||||
However, the suggested GetDCEx( , DCX_WINDOW | DCX_INTERSECTRGN)
|
|
||||||
will cause clipRgn to be deleted after ReleaseDC().
|
|
||||||
Now, how is the "system" supposed to tell what happened?
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!(hdc = GetDCEx(hwnd, (clip > 1) ? clip : 0, DCX_USESTYLE | DCX_WINDOW |
|
|
||||||
((clip > 1) ?(DCX_INTERSECTRGN | DCX_KEEPCLIPRGN) : 0)))) return;
|
|
||||||
|
|
||||||
|
|
||||||
/* if (ExcludeVisRect(hdc, ClientRect.left-WindowRect.left,
|
|
||||||
ClientRect.top-WindowRect.top,
|
|
||||||
ClientRect.right-WindowRect.left,
|
|
||||||
ClientRect.bottom-WindowRect.top)
|
|
||||||
== NULLREGION)
|
|
||||||
{
|
|
||||||
ReleaseDC(hwnd, hdc);
|
|
||||||
return;
|
|
||||||
} */
|
|
||||||
|
|
||||||
rect.top = rect.left = 0;
|
|
||||||
rect.right = WindowRect.right - WindowRect.left;
|
|
||||||
rect.bottom = WindowRect.bottom - WindowRect.top;
|
|
||||||
|
|
||||||
if(clip > 1)
|
|
||||||
GetRgnBox(clip, &rectClip);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
clip = 0;
|
|
||||||
rectClip = rect;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SelectObject(hdc, SYSCOLOR_GetPen(COLOR_WINDOWFRAME)); */
|
|
||||||
|
|
||||||
/* if (HAS_STATICOUTERFRAME(Style, ExStyle)) {
|
|
||||||
DrawEdge (hdc, &rect, BDR_SUNKENOUTER, BF_RECT | BF_ADJUST);
|
|
||||||
}
|
|
||||||
else if (HAS_BIGFRAME(Style, ExStyle)) {
|
|
||||||
DrawEdge (hdc, &rect, EDGE_RAISED, BF_RECT | BF_ADJUST);
|
|
||||||
} */
|
|
||||||
|
|
||||||
NC_DrawFrame95(hdc, &rect, active, Style, ExStyle);
|
|
||||||
/*
|
|
||||||
if ((Style & WS_CAPTION) == WS_CAPTION)
|
|
||||||
{
|
|
||||||
RECT r = rect;
|
|
||||||
if (ExStyle & WS_EX_TOOLWINDOW) {
|
|
||||||
r.bottom = rect.top + GetSystemMetrics(SM_CYSMCAPTION);
|
|
||||||
rect.top += GetSystemMetrics(SM_CYSMCAPTION);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
r.bottom = rect.top + GetSystemMetrics(SM_CYCAPTION);
|
|
||||||
rect.top += GetSystemMetrics(SM_CYCAPTION);
|
|
||||||
}
|
|
||||||
if(!clip || IntersectRect(&rfuzz, &r, &rectClip))
|
|
||||||
NC_DrawCaption95 (hdc, &r, hwnd, Style,
|
|
||||||
ExStyle, active);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
/* if (has_menu)
|
|
||||||
{
|
|
||||||
RECT r = rect;
|
|
||||||
r.bottom = rect.top + GetSystemMetrics(SM_CYMENU);
|
|
||||||
|
|
||||||
DPRINT("Calling DrawMenuBar with rect (%d, %d)-(%d, %d)\n",
|
|
||||||
r.left, r.top, r.right, r.bottom);
|
|
||||||
|
|
||||||
rect.top += MENU_DrawMenuBar(hdc, &r, hwnd, suppress_menupaint) + 1;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
DPRINT("After MenuBar, rect is (%d, %d)-(%d, %d).\n",
|
|
||||||
rect.left, rect.top, rect.right, rect.bottom);
|
|
||||||
|
|
||||||
if (ExStyle & WS_EX_CLIENTEDGE)
|
|
||||||
DrawEdge (hdc, &rect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
|
|
||||||
|
|
||||||
/* Draw the scroll-bars */
|
|
||||||
/*
|
|
||||||
if (Style & WS_VSCROLL)
|
|
||||||
SCROLL_DrawScrollBar(hwnd, hdc, SB_VERT, TRUE, TRUE);
|
|
||||||
if (Style & WS_HSCROLL)
|
|
||||||
SCROLL_DrawScrollBar(hwnd, hdc, SB_HORZ, TRUE, TRUE);
|
|
||||||
*/
|
|
||||||
/* Draw the "size-box" */
|
|
||||||
if ((Style & WS_VSCROLL) && (Style & WS_HSCROLL))
|
|
||||||
{
|
|
||||||
RECT r = rect;
|
|
||||||
r.left = r.right - GetSystemMetrics(SM_CXVSCROLL) + 1;
|
|
||||||
r.top = r.bottom - GetSystemMetrics(SM_CYHSCROLL) + 1;
|
|
||||||
/* FillRect(hdc, &r, GetSysColorBrush(COLOR_SCROLLBAR)); */
|
|
||||||
}
|
|
||||||
|
|
||||||
ReleaseDC(hwnd, hdc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle a WM_NCPAINT message. Called from DefWindowProc(). */
|
|
||||||
LONG NC_HandleNCPaint(HWND hwnd , HRGN clip)
|
|
||||||
{
|
|
||||||
DWORD Style = GetWindowLongW(hwnd, GWL_STYLE);
|
|
||||||
|
|
||||||
if(Style & WS_VISIBLE)
|
|
||||||
{
|
|
||||||
/* if(Style & WS_MINIMIZE)
|
|
||||||
WINPOS_RedrawIconTitle(hwnd); */
|
|
||||||
/* else if (TWEAK_WineLook == WIN31_LOOK)
|
|
||||||
NC_DoNCPaint(hwnd, clip, FALSE); */
|
|
||||||
/* else */
|
|
||||||
NC_DoNCPaint95(hwnd, clip, FALSE);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
Loading…
Reference in a new issue