/***************************************************************************
                            qt_QRegion.cpp -  description
                             -------------------
    begin                : Tue Nov 20 20:51:20 2001
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Tue Nov 20 20:51:20 2001, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This library is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 2 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 ***************************************************************************/

extern "C" {
#include "qt_QRegion.h"
}

#include <qregion.h>

class QRegionBridge : public QRegion
{
public:
	QRegionBridge() : QRegion() {}
	QRegionBridge(int x, int y, int w, int h, RegionType arg1) : QRegion(x, y, w, h, arg1) {}
	QRegionBridge(const QRect& arg1, RegionType arg2) : QRegion(arg1, arg2) {}
	QRegionBridge(const QPointArray& arg1, bool winding) : QRegion(arg1, winding) {}
	QRegionBridge(const QRegion& arg1) : QRegion(arg1) {}
	QRegionBridge(const QBitmap& arg1) : QRegion(arg1) {}
	~QRegionBridge() {}
};

qt_QRegion * qt_new_QRegion(){
	return (qt_QRegion *) new QRegionBridge();
}
qt_QRegion * qt_new_QRegion1(int x, int y, int w, int h, int arg1){
	return (qt_QRegion *) new QRegionBridge((int)x, (int)y, (int)w, (int)h, (QRegion::RegionType)arg1);
}
qt_QRegion * qt_new_QRegion2(qt_QRect* arg1, int arg2){
	return (qt_QRegion *) new QRegionBridge((QRect&)* (QRect*)arg1, (QRegion::RegionType)arg2);
}
qt_QRegion * qt_new_QRegion3(qt_QPointArray* arg1, int winding){
	return (qt_QRegion *) new QRegionBridge((QPointArray&)* (QPointArray*)arg1, (bool)winding);
}
qt_QRegion * qt_new_QRegion4(qt_QRegion * arg1){
	return (qt_QRegion *) new QRegionBridge((QRegion&)* (QRegion*)arg1);
}
qt_QRegion * qt_new_QRegion5(qt_QBitmap * arg1){
	return (qt_QRegion *) new QRegionBridge((QBitmap&)* (QBitmap*)arg1);
}
void qt_del_QRegion( qt_QRegion* p ){
	delete (QRegionBridge*) p;
}
int qt_QRegion_isNull( qt_QRegion* instPointer){
	return (int) ((QRegionBridge*)instPointer)->isNull();
}
int qt_QRegion_isEmpty( qt_QRegion* instPointer){
	return (int) ((QRegionBridge*)instPointer)->isEmpty();
}
int qt_QRegion_contains( qt_QRegion* instPointer,qt_QPoint* p){
	return (int) ((QRegionBridge*)instPointer)->contains((QPoint&)* (QPoint*)p);
}
int qt_QRegion_contains1( qt_QRegion* instPointer,qt_QRect* r){
	return (int) ((QRegionBridge*)instPointer)->contains((QRect&)* (QRect*)r);
}
void qt_QRegion_translate( qt_QRegion* instPointer,int dx, int dy){
	((QRegionBridge*)instPointer)->translate((int)dx, (int)dy);
	return;
}
qt_QRegion * qt_QRegion_unite( qt_QRegion* instPointer,qt_QRegion * arg1){
	return (qt_QRegion *)new QRegion(((QRegionBridge*)instPointer)->unite((QRegion&)* (QRegion*)arg1));
}
qt_QRegion * qt_QRegion_intersect( qt_QRegion* instPointer,qt_QRegion * arg1){
	return (qt_QRegion *)new QRegion(((QRegionBridge*)instPointer)->intersect((QRegion&)* (QRegion*)arg1));
}
qt_QRegion * qt_QRegion_subtract( qt_QRegion* instPointer,qt_QRegion * arg1){
	return (qt_QRegion *)new QRegion(((QRegionBridge*)instPointer)->subtract((QRegion&)* (QRegion*)arg1));
}
qt_QRegion * qt_QRegion_eor( qt_QRegion* instPointer,qt_QRegion * arg1){
	return (qt_QRegion *)new QRegion(((QRegionBridge*)instPointer)->eor((QRegion&)* (QRegion*)arg1));
}
qt_QRect* qt_QRegion_boundingRect( qt_QRegion* instPointer){
	QRect _r= ((QRegionBridge*)instPointer)->boundingRect();
	return (qt_QRect*)new QRect(_r.left(),_r.top(),_r.width(),_r.height());
}
void qt_QRegion_setRects( qt_QRegion* instPointer,qt_QRect* arg1, int arg2){
	((QRegionBridge*)instPointer)->setRects((QRect*)arg1, (int)arg2);
	return;
}
void * qt_QRegion_handle( qt_QRegion* instPointer){
	return (void *) ((QRegionBridge*)instPointer)->handle();
}
int qt_QRegion_handle1( qt_QRegion* instPointer){
	return (int) ((QRegionBridge*)instPointer)->handle();
}
//RgnHandle qt_QRegion_handle2( qt_QRegion* instPointer,int require_rgn){
//	return (RgnHandle) ((QRegionBridge*)instPointer)->handle((bool)require_rgn);
//}
void* qt_QRegion_handle3( qt_QRegion* instPointer){
	return (void*) ((QRegionBridge*)instPointer)->handle();
}
