//
//	Copyright © 2005 Nemetschek North America 
//	All Rights Reserved.
//
// Created by Vladislav Stanev

#pragma once

namespace VWFC
{
	using namespace Tools;
	namespace VWObjects
	{
		class VWClass;

		class VWClassAttr
		{
			friend class VWClass;
		protected:
								VWClassAttr(InternalIndex classIndex);
		public:
			virtual				~VWClassAttr();

		public:
			CRGBColor			GetPenForeColor() const;
			CRGBColor			GetPenBackColor() const;
			void				SetPenForeColor(const CRGBColor& color);
			void				SetPenBackColor(const CRGBColor& color);

			CRGBColor			GetFillForeColor() const;
			CRGBColor			GetFillBackColor() const;
			void				SetFillForeColor(const CRGBColor& color);
			void				SetFillBackColor(const CRGBColor& color);

			short				GetLineWeightInMils() const;
			void				SetLineWeightInMils(short mils);

			MarkerType			GetMarker(short& size, short& angle) const;
			void				SetMarker(MarkerType marker,short size, short angle);

			VWPattern			GetPenPattern() const;
			void				SetPenPattern(const VWPattern& pattern);
			VWPattern			GetFillPattern() const;
			void				SetFillPattern(const VWPattern& pattern);

		protected:
			InternalIndex		fClassIndex;
		};
	}
}