- Remove nonclient.c (not used)

- Removed DbgPrints()

svn path=/trunk/; revision=5580
This commit is contained in:
Richard Campbell 2003-08-15 10:51:23 +00:00
parent 08be7d88cc
commit d0443c94b3
2 changed files with 1 additions and 486 deletions

View file

@ -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
* PROJECT: ReactOS user32.dll
@ -465,9 +465,7 @@ DefWndDoPaintNC(HWND hWnd, HRGN clip)
int wFrame = 0;
// This won't work because it conflicts with BS_BITMAP :
// Active = GetWindowLongW(hWnd, GWL_STYLE) & WIN_NCACTIVATED;
if (GetActiveWindow() == hWnd) Active = TRUE;
DbgPrint("Window:\t%d\nActiveWindow:\t%d\n\n\n\n");
Style = GetWindowLongW(hWnd, GWL_STYLE);
ExStyle = GetWindowLongW(hWnd, GWL_EXSTYLE);
@ -1444,7 +1442,6 @@ User32DefWindowProc(HWND hWnd,
}
case WM_WINDOWPOSCHANGING:
{
DbgPrint("WM_WINDOWPOSCHANGING\n\n");
break;
}
case WM_NCHITTEST:

View file

@ -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