Annotation of mstools/samples/gridfont/font.hxx, revision 1.1.1.1

1.1       root        1: #ifndef __FONT_HXX_
                      2: #define __FONT_HXX_
                      3: 
                      4: #include "canvas.hxx"
                      5: 
                      6: //========== CFont =============================================
                      7: class CFont
                      8: {      
                      9: public: 
                     10:         CFont(HFONT hfont);
                     11:         CFont(TCHAR * szFace, int iHeight, 
                     12:               BOOL fBold = FALSE, BOOL fItalic = FALSE, BOOL fUnder = FALSE);
                     13:         ~CFont();
                     14:         BOOL Create(LOGFONT& lf);
                     15:         BOOL Update(int iHeight, BOOL fBold=FALSE);
                     16:         operator HFONT()
                     17:                 { return _hfont; };
                     18:         BOOL Choose(HWND hwnd);
                     19: protected:
                     20:         HFONT _hfont;
                     21:         BOOL _fDel;
                     22: };
                     23: 
                     24: //========== CFontSelect =======================================
                     25: class CFontSelect
                     26: {
                     27: public:
                     28:         CFontSelect(CCanvas &canvas, HFONT hfont) :
                     29:             _canvas(canvas)
                     30:         {
                     31:             _hfontOld = SelectFont(_canvas, hfont);
                     32:         };
                     33: 
                     34:         ~CFontSelect()
                     35:         {
                     36:             // Make sure font is not selected, so it can be deleted
                     37:             SelectFont(_canvas, _hfontOld);
                     38:         }
                     39: protected:
                     40:         HFONT _hfontOld;
                     41:         CCanvas &_canvas;
                     42: };
                     43: 
                     44: //========== CBlackPen =======================================
                     45: class CBlackPen
                     46: {
                     47: public:
                     48:         CBlackPen(CCanvas &canvas, int iStyle, int iWidth) :
                     49:             _canvas(canvas)
                     50:         {
                     51:             _hPen = CreatePen(iStyle,iWidth,RGB(0,0,0)); 
                     52:             _hPenOld = SelectPen(_canvas, _hPen);
                     53:         };
                     54: 
                     55:         ~CBlackPen()
                     56:         {
                     57:             // release pen
                     58:             _hPen = SelectPen(_canvas, _hPenOld);
                     59:             DeleteObject(_hPen);
                     60:         }
                     61: protected:
                     62:         HPEN _hPen;     
                     63:         HPEN _hPenOld;
                     64:         CCanvas &_canvas;
                     65: };
                     66: 
                     67: 
                     68: #endif
                     69: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.