cbrush.cpp

来自「基于Windml2.0的窗口系统原代码 , 以及和MFC CDC兼容的CDC」· C++ 代码 · 共 128 行

CPP
128
字号
#include "cbrush.h"
#include "cbitmap.h"
#include "assert.h"
#include "CWMLHelp.h"

//##ModelId=40501B860248
CBrush::CBrush()
{
	m_pBitmap = UGL_NULL;
	
	m_BackgroundColor = IND_BLACK;
}

//##ModelId=40501B860249
CBrush::CBrush(CBitmap* pBitmap)
{
	m_pBitmap = new CBitmap(pBitmap);
}

//##ModelId=40501B86024B
CBrush::CBrush(COLORREF crColor)
{
	if(crColor < 0)
		m_BackgroundColor = 0;
	else
		m_BackgroundColor = CWMLHelp::GetColor(crColor);
		
	m_pBitmap = UGL_NULL;
}

//##ModelId=40501B860255
CBrush::~CBrush()
{
	DeleteObject();
}

//##ModelId=40501B86025C
const CBrush &CBrush::operator=(const CBrush &right)
{
	m_pBitmap = right.m_pBitmap;
	
	m_BackgroundColor = right.m_BackgroundColor;
	
	return *this;
}

//##ModelId=40501B86025E
bool CBrush::CreateSolidBrush(COLORREF crColor)
{
	if(crColor < 0)
		m_BackgroundColor = 0;
	else
		m_BackgroundColor = CWMLHelp::GetColor(crColor);
		
	return true;
}

//##ModelId=40501B860267
bool CBrush::CreatePatternBrush(CBitmap* pBitmap)
{
	if(m_pBitmap != UGL_NULL)
		delete m_pBitmap;
	
	m_pBitmap = new CBitmap(pBitmap);
	
	return true;
}

//##ModelId=40501B860269
bool CBrush::DeleteObject()
{
	delete m_pBitmap;
	
	m_pBitmap = UGL_NULL;
	
	return true;
}

//##ModelId=40501B860270
bool CBrush::CreateStockObject(int index)
{
	switch(index)
	{
		case BLACK_BRUSH:
			m_BackgroundColor = IND_BLACK;
			break;
	/*	case DKGRAY_BRUSH:
			m_BackgroundColor = ;
			break;
		case GRAY_BRUSH:
			m_BackgroundColor = ;
			break;
		case HOLLOW_BRUSH:
			m_BackgroundColor = ;
			break;
		case LTGRAY_BRUSH:
			m_BackgroundColor = ;
			break;
		case UGL_NULL_BRUSH:
			m_BackgroundColor = ;
			break;
	*/
		case WHITE_BRUSH:
			m_BackgroundColor = IND_WHITE;
			break;
		default:
			assert(false);
	}
	
	
	m_pBitmap = UGL_NULL;
		
	return true;
}

//##ModelId=405107C60145
bool CBrush::CreateBrushIndirect( const LOGBRUSH* lpLogBrush )
{
	m_BackgroundColor = CWMLHelp::GetColor(lpLogBrush->lbColor);
	
	m_pBitmap = UGL_NULL;
	
	return true;	
}



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?