Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// --------------------------------------------------------------------------
// Module Name: DimmedWindow.h
//
// Copyright (c) 2000, Microsoft Corporation
//
// Class that implements the dimmed window when displaying logoff / shut down
// dialog.
//
// History: 2000-05-18 vtan created
// --------------------------------------------------------------------------
#ifndef _DimmedWindow_
#define _DimmedWindow_
#include "unknwn.h"
// --------------------------------------------------------------------------
// CDimmedWindow::CDimmedWindow
//
// Purpose: Implements the dimmed window feature for the turn off dialog.
//
// History: 2000-05-17 vtan created
// --------------------------------------------------------------------------
class CDimmedWindow : public IUnknown { private: CDimmedWindow (void); CDimmedWindow (const CDimmedWindow& copyObject); const CDimmedWindow& operator = (const CDimmedWindow& assignObject); virtual ~CDimmedWindow (void); public: CDimmedWindow (HINSTANCE hInstance);
public:
// IUnknown methods
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void* *ppvObject); virtual ULONG STDMETHODCALLTYPE AddRef (void); virtual ULONG STDMETHODCALLTYPE Release (void);
HWND Create (void); void SetupDim(); BOOL StepDim(); void Dither(); private: int GetLowestScreenBitDepth (void) const; bool IsForcedDimScreen (void) const; bool IsDimScreen (void) const;
static LRESULT CALLBACK WndProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam); private: LONG _lReferenceCount; const HINSTANCE _hInstance; ATOM _atom; HWND _hwnd; int _xVirtualScreen, _yVirtualScreen, _cxVirtualScreen, _cyVirtualScreen; bool _fDithered; HDC _hdcDimmed; HBITMAP _hbmOldDimmed; HBITMAP _hbmDimmed; void* _pvPixels; int _idxChunk; int _idxSaturation; private: static const TCHAR s_szWindowClassName[]; static const TCHAR s_szExplorerKeyName[]; static const TCHAR s_szExplorerPolicyKeyName[]; static const TCHAR s_szForceDimValueName[]; };
#endif /* _DimmedWindow_ */
|