mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 09:09:52 -06:00
Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the last 2.9 release before the 3.0 stable release. Since the full wxWidgets distribution is rather large, I have imported only the parts that we use, on a subdirectory basis: art include/wx/*.* include/wx/aui include/wx/cocoa include/wx/generic include/wx/gtk include/wx/meta include/wx/msw include/wx/osx include/wx/persist include/wx/private include/wx/protocol include/wx/unix src/aui src/common src/generic src/gtk src/msw src/osx src/unix git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
137
Externals/wxWidgets3/include/wx/gtk/region.h
vendored
Normal file
137
Externals/wxWidgets3/include/wx/gtk/region.h
vendored
Normal file
@ -0,0 +1,137 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/gtk/region.h
|
||||
// Purpose:
|
||||
// Author: Robert Roebling
|
||||
// Id: $Id: region.h 61724 2009-08-21 10:41:26Z VZ $
|
||||
// Copyright: (c) 1998 Robert Roebling
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_GTK_REGION_H_
|
||||
#define _WX_GTK_REGION_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxRegion
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxRegion : public wxRegionBase
|
||||
{
|
||||
public:
|
||||
wxRegion() { }
|
||||
|
||||
wxRegion( wxCoord x, wxCoord y, wxCoord w, wxCoord h )
|
||||
{
|
||||
InitRect(x, y, w, h);
|
||||
}
|
||||
|
||||
wxRegion( const wxPoint& topLeft, const wxPoint& bottomRight )
|
||||
{
|
||||
InitRect(topLeft.x, topLeft.y,
|
||||
bottomRight.x - topLeft.x, bottomRight.y - topLeft.y);
|
||||
}
|
||||
|
||||
wxRegion( const wxRect& rect )
|
||||
{
|
||||
InitRect(rect.x, rect.y, rect.width, rect.height);
|
||||
}
|
||||
|
||||
wxRegion( size_t n, const wxPoint *points,
|
||||
wxPolygonFillMode fillStyle = wxODDEVEN_RULE );
|
||||
|
||||
#if wxUSE_IMAGE
|
||||
wxRegion( const wxBitmap& bmp)
|
||||
{
|
||||
Union(bmp);
|
||||
}
|
||||
wxRegion( const wxBitmap& bmp,
|
||||
const wxColour& transColour, int tolerance = 0)
|
||||
{
|
||||
Union(bmp, transColour, tolerance);
|
||||
}
|
||||
#endif // wxUSE_IMAGE
|
||||
|
||||
virtual ~wxRegion();
|
||||
|
||||
// wxRegionBase methods
|
||||
virtual void Clear();
|
||||
virtual bool IsEmpty() const;
|
||||
|
||||
public:
|
||||
// Init with GdkRegion, set ref count to 2 so that
|
||||
// the C++ class will not destroy the region!
|
||||
wxRegion( GdkRegion *region );
|
||||
|
||||
GdkRegion *GetRegion() const;
|
||||
|
||||
protected:
|
||||
virtual wxGDIRefData *CreateGDIRefData() const;
|
||||
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
|
||||
|
||||
// wxRegionBase pure virtuals
|
||||
virtual bool DoIsEqual(const wxRegion& region) const;
|
||||
virtual bool DoGetBox(wxCoord& x, wxCoord& y, wxCoord& w, wxCoord& h) const;
|
||||
virtual wxRegionContain DoContainsPoint(wxCoord x, wxCoord y) const;
|
||||
virtual wxRegionContain DoContainsRect(const wxRect& rect) const;
|
||||
|
||||
virtual bool DoOffset(wxCoord x, wxCoord y);
|
||||
virtual bool DoUnionWithRect(const wxRect& rect);
|
||||
virtual bool DoUnionWithRegion(const wxRegion& region);
|
||||
virtual bool DoIntersect(const wxRegion& region);
|
||||
virtual bool DoSubtract(const wxRegion& region);
|
||||
virtual bool DoXor(const wxRegion& region);
|
||||
|
||||
// common part of ctors for a rectangle region
|
||||
void InitRect(wxCoord x, wxCoord y, wxCoord w, wxCoord h);
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxRegion)
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxRegionIterator: decomposes a region into rectangles
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxRegionIterator: public wxObject
|
||||
{
|
||||
public:
|
||||
wxRegionIterator();
|
||||
wxRegionIterator(const wxRegion& region);
|
||||
wxRegionIterator(const wxRegionIterator& ri) : wxObject(ri) { Init(); *this = ri; }
|
||||
~wxRegionIterator();
|
||||
|
||||
wxRegionIterator& operator=(const wxRegionIterator& ri);
|
||||
|
||||
void Reset() { m_current = 0u; }
|
||||
void Reset(const wxRegion& region);
|
||||
|
||||
bool HaveRects() const;
|
||||
operator bool () const { return HaveRects(); }
|
||||
|
||||
wxRegionIterator& operator ++ ();
|
||||
wxRegionIterator operator ++ (int);
|
||||
|
||||
wxCoord GetX() const;
|
||||
wxCoord GetY() const;
|
||||
wxCoord GetW() const;
|
||||
wxCoord GetWidth() const { return GetW(); }
|
||||
wxCoord GetH() const;
|
||||
wxCoord GetHeight() const { return GetH(); }
|
||||
wxRect GetRect() const;
|
||||
|
||||
private:
|
||||
void Init();
|
||||
void CreateRects( const wxRegion& r );
|
||||
|
||||
size_t m_current;
|
||||
wxRegion m_region;
|
||||
|
||||
wxRect *m_rects;
|
||||
size_t m_numRects;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxRegionIterator)
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
// _WX_GTK_REGION_H_
|
Reference in New Issue
Block a user