81 lines
1.8 KiB
C++
81 lines
1.8 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (C) 1993-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
ctrlwin.cpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Window procedure for the sysmon.ocx drawing window and support
|
||
|
functions.
|
||
|
--*/
|
||
|
|
||
|
#include "polyline.h"
|
||
|
|
||
|
/*
|
||
|
* CPolyline::Draw
|
||
|
*
|
||
|
* Purpose:
|
||
|
* Paints the current line in the polyline window.
|
||
|
*
|
||
|
* Parameters:
|
||
|
* hDC HDC to draw on, a metafile or printer DC.
|
||
|
* fMetafile BOOL indicating if hDC is a metafile or not,
|
||
|
* so we can avoid operations that RIP.
|
||
|
* fEntire BOOL indicating if we should draw the entire
|
||
|
* figure or not.
|
||
|
* pRect LPRECT defining the bounds in which to draw.
|
||
|
*
|
||
|
* Return Value:
|
||
|
* None
|
||
|
*/
|
||
|
|
||
|
void
|
||
|
CPolyline::Draw(
|
||
|
HDC hDC,
|
||
|
HDC hAttribDC,
|
||
|
BOOL fMetafile,
|
||
|
BOOL fEntire,
|
||
|
LPRECT pRect)
|
||
|
{
|
||
|
|
||
|
RECT rc;
|
||
|
|
||
|
if (!fMetafile && !RectVisible(hDC, pRect))
|
||
|
return;
|
||
|
|
||
|
SetMapMode(hDC, MM_ANISOTROPIC);
|
||
|
|
||
|
//
|
||
|
// Always set up the window extents to the natural window size
|
||
|
// so the drawing routines can work in their normal dev coords
|
||
|
//
|
||
|
|
||
|
// Use client rect vs. extent rect for Zoom calculation.
|
||
|
// Zoom factor = prcPos / Extent, so pRect/ClientRect.
|
||
|
|
||
|
|
||
|
/********* Use the extent rect, not the window rect *********/
|
||
|
// Using rectExt makes Word printing correct at all zoom levels.
|
||
|
rc = m_RectExt;
|
||
|
// GetClientRect(m_pCtrl->Window(), &rc);
|
||
|
/************************************************************/
|
||
|
|
||
|
SetWindowOrgEx(hDC, 0, 0, NULL);
|
||
|
SetWindowExtEx(hDC, rc.right, rc.bottom, NULL);
|
||
|
|
||
|
SetViewportOrgEx(hDC, pRect->left, pRect->top, NULL);
|
||
|
SetViewportExtEx(hDC, pRect->right - pRect->left,
|
||
|
pRect->bottom - pRect->top, NULL);
|
||
|
|
||
|
m_pCtrl->InitView( g_hWndFoster);
|
||
|
m_pCtrl->Render(hDC, hAttribDC, fMetafile, fEntire, &rc);
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
|