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.
 
 
 
 
 
 

61 lines
802 B

INLINE CDevDesc::CDevDesc(CTxtEdit * ped) : _ped(ped), _pdd(NULL)
{
// Header does the work
}
INLINE BOOL CDevDesc::IsValid() const
{
return _pdd != NULL;
}
INLINE HDC CDevDesc::GetRenderDC()
{
HDC hdc = NULL;
if (NULL == _pdd)
{
// We don't already have on so try to get one. This is only valid when
// we are inplace active.
SetDrawInfo(
DVA_ASPECT
-1,
NULL,
NULL,
hicTarget);
}
if (_pdd != NULL)
{
hdc = _pdd->GetDC();
}
return hdc;
}
INLINE HDC CDevDesc::GetTargetDC()
{
if (_pdd != NULL)
{
return _pdd->GetTargetDC();
}
if (NULL != _hicMainTarget)
{
return _hicMainTarget;
}
return GetRenderDC();
}
INLINE void CDevDesc::ResetDrawInfo()
{
// We shouldn't reset
Assert
CDrawInfo *pdd = _pdd;
_pdd = _pdd->Pop();
delete pdd;
}