Files
core/ASCImageStudio3/ASCGraphics/agg/ap_Pen.cpp
Elen.Subbotina 70e623d70b восстановление
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@62634 954022d7-b5bf-4e40-9824-e11837661b57
2016-05-21 00:05:02 +03:00

71 lines
1.4 KiB
C++

//----------------------------------------------------------------------------
// Pen class - Version 0.1.1 - 28-10-2004
// Marlon Mircevski
//----------------------------------------------------------------------------
//#include "stdafx.h"
#include "ap_Pen.h"
#include "ap_Brush.h"
namespace Aggplus
{
Pen::Pen(const Color& color, REAL width) : m_DashStyle(DashStyleSolid), m_LineJoin(LineJoinMiter)
{
m_pBrush=new BrushSolid(color);
m_fWidth=width;
}
Pen::Pen(const Brush* brush, REAL width) : m_DashStyle(DashStyleSolid), m_LineJoin(LineJoinMiter)
{
m_pBrush=brush->Clone();
m_fWidth=width;
}
Pen::~Pen()
{
delete(m_pBrush);
}
Pen *Pen::Clone(VOID)
{
Pen *pRet=new Pen(m_pBrush, m_fWidth);
pRet->m_DashStyle=m_DashStyle;
pRet->m_LineJoin=m_LineJoin;
return(pRet);
}
Status Pen::SetBrush(const Brush* brush)
{
delete(m_pBrush);
m_pBrush=brush->Clone();
return Ok;
}
Status Pen::GetColor(Color* color) const
{
if(m_pBrush->GetType() == BrushTypeSolidColor)
{
((BrushSolid *)m_pBrush)->GetColor(color);
return Ok;
}
return WrongState;
}
Status Pen::SetColor(const Color &color)
{
if(m_pBrush->GetType() == BrushTypeSolidColor)
{
((BrushSolid *)m_pBrush)->SetColor(color);
}
else
{
delete(m_pBrush);
m_pBrush=new BrushSolid(color);
}
return Ok;
}
}