90 lines
1.5 KiB
C++
90 lines
1.5 KiB
C++
#include "StdAfx.h"
|
|
|
|
namespace ui {
|
|
|
|
using namespace Gdiplus;
|
|
Pen_GdiPlus::Pen_GdiPlus(DWORD color, int width /*= 1*/)
|
|
: IPen(color, width)
|
|
{
|
|
pen_.reset(new Pen(color_, width));
|
|
}
|
|
|
|
Pen_GdiPlus::Pen_GdiPlus(const Pen_GdiPlus& r)
|
|
: IPen(r)
|
|
{
|
|
pen_.reset(r.pen_->Clone());
|
|
}
|
|
|
|
ui::IPen* Pen_GdiPlus::Clone()
|
|
{
|
|
return new Pen_GdiPlus(*this);
|
|
}
|
|
|
|
void Pen_GdiPlus::SetWidth(int width)
|
|
{
|
|
pen_->SetWidth(width);
|
|
}
|
|
|
|
int Pen_GdiPlus::GetWidth()
|
|
{
|
|
return (int)pen_->GetWidth();
|
|
}
|
|
|
|
void Pen_GdiPlus::SetColor(DWORD color)
|
|
{
|
|
color_ = color;
|
|
pen_->SetColor(color);
|
|
}
|
|
|
|
void Pen_GdiPlus::SetStartCap(LineCap cap)
|
|
{
|
|
pen_->SetStartCap((Gdiplus::LineCap)cap);
|
|
}
|
|
|
|
void Pen_GdiPlus::SetEndCap(LineCap cap)
|
|
{
|
|
pen_->SetEndCap((Gdiplus::LineCap)cap);
|
|
}
|
|
|
|
void Pen_GdiPlus::SetDashCap(LineCap cap)
|
|
{
|
|
pen_->SetDashCap((Gdiplus::DashCap)cap);
|
|
}
|
|
|
|
IPen::LineCap Pen_GdiPlus::GetStartCap()
|
|
{
|
|
return (IPen::LineCap)pen_->GetStartCap();
|
|
}
|
|
|
|
IPen::LineCap Pen_GdiPlus::GetEndCap()
|
|
{
|
|
return (IPen::LineCap)pen_->GetEndCap();
|
|
}
|
|
|
|
IPen::LineCap Pen_GdiPlus::GetDashCap()
|
|
{
|
|
return (IPen::LineCap)pen_->GetDashCap();
|
|
}
|
|
|
|
void Pen_GdiPlus::SetLineJoin(LineJoin join)
|
|
{
|
|
pen_->SetLineJoin((Gdiplus::LineJoin)join);
|
|
}
|
|
|
|
IPen::LineJoin Pen_GdiPlus::GetLineJoin()
|
|
{
|
|
return (IPen::LineJoin)pen_->GetLineJoin();
|
|
}
|
|
|
|
void Pen_GdiPlus::SetDashStyle(DashStyle style)
|
|
{
|
|
pen_->SetDashStyle((Gdiplus::DashStyle)style);
|
|
}
|
|
|
|
IPen::DashStyle Pen_GdiPlus::GetDashStyle()
|
|
{
|
|
return (IPen::DashStyle)pen_->GetDashStyle();
|
|
}
|
|
|
|
} // namespace ui
|