SOL9 2.0 Class: Region

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * Region.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL++2000
#pragma once

#include <sol\GdiObject.h>

#include <sol\Brush.h>

namespace SOL {

class Region :public GdiObject {
  public:
    Region(HRGN hrgn)
        :GdiObject((HANDLE)hrgn) { };
    ~Region() {
            HRGN hrgn = (HRGN)get();
            if(hrgn) DeleteObject(hrgn);
    }
    BOOL    equal(Region* region) {
            return ::EqualRgn((HRGN)get(), (HRGN)region->get());
    }
    BOOL    fill(HDC hdc, Brush* brush) {
            return ::FillRgn(hdc, (HRGN)get(), (HBRUSH)brush->get());
    }
    BOOL    frame(HDC hdc, Brush* brush, int width, int height) {
            return ::FrameRgn(hdc, (HRGN)get(), (HBRUSH)brush->get(), 
                width, height);
    }
    int      getBox(RECT* rect) {
            return ::GetRgnBox((HRGN)get(), rect);
    }
    BOOL    invert(HDC hdc) {
            return ::InvertRgn(hdc, (HRGN)get());
    }
    int      offset(int x, int y) {
            return ::OffsetRgn((HRGN)get(), x, y);
    }
    BOOL     paint(HDC hdc) {
            return ::PaintRgn(hdc, (HRGN)get());
    }
    BOOL     ptIn(int x, int y) {
            return ::PtInRegion((HRGN)get(), x, y);
    }
    BOOL     rectIn(RECT* rect) {
            return ::RectInRegion((HRGN)get(), rect);
    }

    //2009/11/01
public:
    operator HRGN(){
        return (HRGN)get();
    }

};

}


Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.