Files
wxWidgets/wxPython/src/_region.i
2006-09-25 20:22:58 +00:00

174 lines
5.3 KiB
OpenEdge ABL

/////////////////////////////////////////////////////////////////////////////
// Name: _imaglist.i
// Purpose: SWIG interface defs for wxImageList and releated classes
//
// Author: Robin Dunn
//
// Created: 7-July-1997
// RCS-ID: $Id$
// Copyright: (c) 2003 by Total Control Software
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// Not a %module
//---------------------------------------------------------------------------
%{
%}
//---------------------------------------------------------------------------
%typemap(in) (int points, wxPoint* points_array ) {
$2 = wxPoint_LIST_helper($input, &$1);
if ($2 == NULL) SWIG_fail;
}
%typemap(freearg) (int points, wxPoint* points_array ) {
if ($2) delete [] $2;
}
//---------------------------------------------------------------------------
%newgroup
enum wxRegionContain
{
wxOutRegion = 0,
wxPartRegion = 1,
wxInRegion = 2
};
// // these constants are used with wxRegion::Combine() in the ports which have
// // this method
// enum wxRegionOp
// {
// // Creates the intersection of the two combined regions.
// wxRGN_AND,
// // Creates a copy of the region
// wxRGN_COPY,
// // Combines the parts of first region that are not in the second one
// wxRGN_DIFF,
// // Creates the union of two combined regions.
// wxRGN_OR,
// // Creates the union of two regions except for any overlapping areas.
// wxRGN_XOR
// };
MustHaveApp(wxRegion);
class wxRegion : public wxGDIObject {
public:
wxRegion(wxCoord x=0, wxCoord y=0, wxCoord width=0, wxCoord height=0);
%RenameCtor(RegionFromBitmap, wxRegion(const wxBitmap& bmp));
%RenameCtor(RegionFromBitmapColour, wxRegion(const wxBitmap& bmp,
const wxColour& transColour,
int tolerance = 0));
%RenameCtor(RegionFromPoints, wxRegion(int points, wxPoint* points_array,
int fillStyle = wxWINDING_RULE));
~wxRegion();
void Clear();
bool Offset(wxCoord x, wxCoord y);
wxRegionContain Contains(wxCoord x, wxCoord y);
%Rename(ContainsPoint, wxRegionContain, Contains(const wxPoint& pt));
%Rename(ContainsRect, wxRegionContain, Contains(const wxRect& rect));
%Rename(ContainsRectDim, wxRegionContain, Contains(wxCoord x, wxCoord y, wxCoord w, wxCoord h));
wxRect GetBox();
bool Intersect(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
%Rename(IntersectRect, bool, Intersect(const wxRect& rect));
%Rename(IntersectRegion, bool, Intersect(const wxRegion& region));
bool IsEmpty();
// Is region equal (i.e. covers the same area as another one)?
bool IsEqual(const wxRegion& region) const;
bool Union(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
%Rename(UnionRect, bool, Union(const wxRect& rect));
%Rename(UnionRegion, bool, Union(const wxRegion& region));
bool Subtract(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
%Rename(SubtractRect, bool, Subtract(const wxRect& rect));
%Rename(SubtractRegion, bool, Subtract(const wxRegion& region));
bool Xor(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
%Rename(XorRect, bool, Xor(const wxRect& rect));
%Rename(XorRegion, bool, Xor(const wxRegion& region));
// Convert the region to a B&W bitmap with the white pixels being inside
// the region.
wxBitmap ConvertToBitmap();
// Use the non-transparent pixels of a wxBitmap for the region to combine
// with this region. If the bitmap has a mask then it will be used,
// otherwise the colour to be treated as transparent may be specified,
// along with an optional tolerance value.
%Rename(UnionBitmap, bool, Union(const wxBitmap& bmp));
%Rename(UnionBitmapColour, bool, Union(const wxBitmap& bmp,
const wxColour& transColour,
int tolerance = 0));
// bool Combine(wxCoord x, wxCoord y, wxCoord w, wxCoord h, wxRegionOp op);
// %Rename(CombineRect, bool , Combine(const wxRect& rect, wxRegionOp op));
// %Rename(CombineRegion, bool , Combine(const wxRegion& region, wxRegionOp op));
%property(Box, GetBox, doc="See `GetBox`");
};
MustHaveApp(wxRegionIterator);
class wxRegionIterator : public wxObject {
public:
wxRegionIterator(const wxRegion& region);
~wxRegionIterator();
wxCoord GetX();
wxCoord GetY();
wxCoord GetW();
wxCoord GetWidth();
wxCoord GetH();
wxCoord GetHeight();
wxRect GetRect();
bool HaveRects();
void Reset();
%extend {
void Next() {
(*self) ++;
}
bool __nonzero__() {
return self->operator bool();
}
};
%property(H, GetH, doc="See `GetH`");
%property(Height, GetHeight, doc="See `GetHeight`");
%property(Rect, GetRect, doc="See `GetRect`");
%property(W, GetW, doc="See `GetW`");
%property(Width, GetWidth, doc="See `GetWidth`");
%property(X, GetX, doc="See `GetX`");
%property(Y, GetY, doc="See `GetY`");
};
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------