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 { 00026 class Brush { 00027 protected: 00028 COLORREF cref; 00029 HBRUSH hbr; 00030 public: 00031 Brush() : cref(0),hbr(0) {} 00033 Brush(const COLORREF r) : cref(0),hbr(0) {SetCRef(r);} 00035 Brush(const HBRUSH b) : cref(0),hbr(0) {SetBrush(b);} 00037 Brush(const Brush &b) : cref(0),hbr(0) {SetCRef(b.cref);} 00040 virtual ~Brush() {Delete();} 00041 00043 virtual void Delete(); 00044 virtual COLORREF GetCRef() const {return cref;} 00046 virtual void SetCRef(COLORREF r); 00047 virtual HBRUSH GetBrush() const {return hbr;} 00049 virtual void SetBrush(HBRUSH b); 00050 virtual LOGBRUSH GetObjectInfo() const; 00051 virtual unsigned int GetStyle() const; 00052 virtual COLORREF GetColor() const; 00053 virtual long GetHatch() const; 00054 00055 virtual Brush &operator = (const Brush &b); 00056 virtual Brush &operator = (const COLORREF r); 00057 virtual Brush &operator = (const HBRUSH b); 00059 virtual operator bool const () {return (hbr!=NULL);} 00060 virtual operator HBRUSH () const {return hbr;} 00061 }; 00062 }