aswang
1.0
|
00001 /* 00002 Copyright 2003 Joseph Alvis 00003 00004 This file is part of Aswang. 00005 00006 Aswang is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU Lesser General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 00011 Aswang is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU Lesser General Public License for more details. 00015 00016 You should have received a copy of the GNU Lesser General Public License 00017 along with Aswang. If not, see <http://www.gnu.org/licenses/>. 00018 */ 00019 00020 #pragma once 00021 00022 #include "aswang.h" 00023 00024 namespace aswang { 00025 class Pen { 00026 HPEN hp; 00027 public: 00028 Pen() : hp(NULL) {} 00029 Pen(HPEN nhp) : hp(nhp) {} 00030 Pen(int style,int width,COLORREF cf) : hp(NULL) {Create(style,width,cf);} 00031 Pen(int width,COLORREF cf) : hp(NULL) {Create(width,cf);} 00032 Pen(COLORREF cf) : hp(NULL) {Create(cf);} 00033 virtual ~Pen() {Delete();} 00034 00035 virtual void Delete(); 00036 virtual void Create(int style,int width,COLORREF cf); 00037 virtual void Create(int width,COLORREF cf) {Create(PS_SOLID,width,cf);} 00038 virtual void Create(COLORREF cf) {Create(PS_SOLID,1,cf);} 00039 virtual LOGPEN GetObjectInfo(); 00040 virtual unsigned int GetStyle(); 00041 virtual POINT GetWidth(); 00042 virtual COLORREF GetColor(); 00043 00044 virtual operator bool const () {return (hp!=NULL);} 00045 virtual const Pen &operator = (const HPEN nhp); 00046 virtual const Pen &operator = (const COLORREF cf); 00047 virtual operator HPEN () const {return hp;} 00048 }; 00049 }