#############################################################################
## Name: XS/Geom.xs
## Purpose: XS for Wx::Point, Wx::Size, Wx::Rect, Wx::Region
## Author: Mattia Barbon
## Modified by:
## Created: 29/10/2000
## RCS-ID: $Id: Geom.xs 2527 2009-02-07 17:44:57Z mbarbon $
## Copyright: (c) 2000-2003, 2006-2009 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
MODULE=Wx PACKAGE=Wx::Size
wxSize*
wxSize::new( width = 0, height = 0 )
int width
int height
static void
wxSize::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxSize::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::Size", THIS, ST(0) );
delete THIS;
int
wxSize::width( ... )
CODE:
if( items > 1 )
THIS->x = SvIV( ST(1) );
RETVAL = THIS->x;
OUTPUT:
RETVAL
int
wxSize::height( ... )
CODE:
if( items > 1 )
THIS->y = SvIV( ST(1) );
RETVAL = THIS->y;
OUTPUT:
RETVAL
int
wxSize::GetHeight()
int
wxSize::GetWidth()
void
wxSize::Set( width, height )
int width
int height
void
wxSize::SetHeight( height )
int height
void
wxSize::SetWidth( width )
int width
void
wxSize::IncTo( size )
wxSize size
void
wxSize::DecTo( size )
wxSize size
#if WXPERL_W_VERSION_GE( 2, 7, 2 )
SV*
wxSize::Scale( xscale, yscale )
float xscale
float yscale
CODE:
THIS->Scale( xscale, yscale );
RETVAL = ST(0);
OUTPUT: RETVAL
#endif
bool
wxSize::IsFullySpecified()
void
wxSize::SetDefaults( size )
wxSize size
MODULE=Wx PACKAGE=Wx::Point
wxPoint*
wxPoint::new( x = 0, y = 0 )
int x
int y
static void
wxPoint::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxPoint::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::Point", THIS, ST(0) );
delete THIS;
int
wxPoint::x( ... )
CODE:
if( items > 1 )
THIS->x = SvIV( ST(1) );
RETVAL = THIS->x;
OUTPUT:
RETVAL
int
wxPoint::y( ... )
CODE:
if( items > 1 )
THIS->y = SvIV( ST(1) );
RETVAL = THIS->y;
OUTPUT:
RETVAL
MODULE=Wx PACKAGE=Wx::Rect
void
wxRect::new( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n_n_n, newXYWH )
MATCH_REDISP( wxPliOvl_wpoi_wsiz, newPS )
MATCH_REDISP( wxPliOvl_wpoi_wpoi, newPP )
END_OVERLOAD( Wx::Rect::new )
wxRect*
newXYWH( CLASS, x, y, width, height )
SV* CLASS
int x
int y
int width
int height
CODE:
RETVAL = new wxRect( x, y, width, height );
OUTPUT:
RETVAL
wxRect*
newPP( CLASS, tl, br )
SV* CLASS
wxPoint tl
wxPoint br
CODE:
RETVAL = new wxRect( tl, br );
OUTPUT:
RETVAL
wxRect*
newPS( CLASS, pos, size )
SV* CLASS
wxPoint pos
wxSize size
CODE:
RETVAL = new wxRect( pos, size );
OUTPUT:
RETVAL
static void
wxRect::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxRect::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::Rect", THIS, ST(0) );
delete THIS;
int
wxRect::x( ... )
CODE:
if( items > 1 )
THIS->x = SvIV( ST(1) );
RETVAL = THIS->x;
OUTPUT:
RETVAL
int
wxRect::y( ... )
CODE:
if( items > 1 )
THIS->y = SvIV( ST(1) );
RETVAL = THIS->y;
OUTPUT:
RETVAL
int
wxRect::width( ... )
CODE:
if( items > 1 )
THIS->width = SvIV( ST(1) );
RETVAL = THIS->width;
OUTPUT:
RETVAL
int
wxRect::height( ... )
CODE:
if( items > 1 )
THIS->height = SvIV( ST(1) );
RETVAL = THIS->height;
OUTPUT:
RETVAL
int
wxRect::GetBottom()
int
wxRect::GetHeight()
int
wxRect::GetLeft()
wxPoint*
wxRect::GetPosition()
CODE:
RETVAL = new wxPoint( THIS->GetPosition() );
OUTPUT:
RETVAL
wxPoint*
wxRect::GetTopLeft()
CODE:
RETVAL = new wxPoint( THIS->GetTopLeft() );
OUTPUT:
RETVAL
wxPoint*
wxRect::GetBottomRight()
CODE:
RETVAL = new wxPoint( THIS->GetBottomRight() );
OUTPUT:
RETVAL
#if WXPERL_W_VERSION_GE( 2, 8, 0 )
wxPoint*
wxRect::GetBottomLeft()
CODE:
RETVAL = new wxPoint( THIS->GetBottomLeft() );
OUTPUT:
RETVAL
wxPoint*
wxRect::GetTopRight()
CODE:
RETVAL = new wxPoint( THIS->GetTopRight() );
OUTPUT:
RETVAL
bool
wxRect::IsEmpty()
wxRect*
wxRect::Union( wxRect* rec )
CODE:
RETVAL = new wxRect( THIS->Union( *rec ) );
OUTPUT:
RETVAL
#endif
int
wxRect::GetRight()
wxSize*
wxRect::GetSize()
CODE:
RETVAL = new wxSize( THIS->GetSize() );
OUTPUT:
RETVAL
int
wxRect::GetTop()
int
wxRect::GetWidth()
int
wxRect::GetX()
int
wxRect::GetY()
void
wxRect::Deflate( x, y )
wxCoord x
wxCoord y = NO_INIT
CODE:
if( items == 2 )
y = x;
else
y = SvIV( ST(2) );
THIS->Deflate( x, y );
void
wxRect::Inflate( x, y )
wxCoord x
wxCoord y = NO_INIT
CODE:
if( items == 2 )
y = x;
else
y = SvIV( ST(2) );
THIS->Inflate( x, y );
wxRect*
wxRect::Intersect( rect )
wxRect* rect
CODE:
RETVAL = new wxRect( THIS->Intersect( *rect ) );
OUTPUT: RETVAL
bool
wxRect::Intersects( wxRect* rec )
CODE:
RETVAL = THIS->Intersects( *rec );
OUTPUT: RETVAL
void
wxRect::SetHeight( height )
int height
void
wxRect::SetWidth( width )
int width
void
wxRect::SetX( x )
int x
void
wxRect::SetY( y )
int y
void
wxRect::SetPosition( pos )
wxPoint pos
void
wxRect::SetSize( size )
wxSize size
void
wxRect::Offset( x, y )
wxCoord x
wxCoord y
CODE:
THIS->Offset( x, y);
void
wxRect::Contains( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
END_OVERLOAD( Wx::Rect::Contains )
void
wxRect::Inside( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
#if WXPERL_W_VERSION_GE( 2, 7, 0 )
MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
#endif
END_OVERLOAD( Wx::Rect::Inside )
bool
wxRect::ContainsXY( int x, int y )
CODE:
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
RETVAL = THIS->Contains( x, y );
#else
RETVAL = THIS->Inside( x, y );
#endif
OUTPUT: RETVAL
bool
wxRect::ContainsPoint( wxPoint pt )
CODE:
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
RETVAL = THIS->Contains( pt );
#else
RETVAL = THIS->Inside( pt );
#endif
OUTPUT: RETVAL
#if WXPERL_W_VERSION_GE( 2, 7, 1 )
bool
wxRect::ContainsRect( wxRect* rec )
CODE:
RETVAL = THIS->Contains( *rec );
OUTPUT: RETVAL
wxRect*
wxRect::CentreIn ( wxRect* rec, int dir = wxBOTH )
CODE:
RETVAL = new wxRect( THIS->CentreIn( *rec, dir ) );
OUTPUT:
RETVAL
#endif
MODULE=Wx PACKAGE=Wx::Region
wxRegion*
newEmpty( CLASS )
SV* CLASS
CODE:
RETVAL = new wxRegion();
OUTPUT:
RETVAL
wxRegion*
newXYWH( CLASS, x, y, width, height )
SV* CLASS
wxCoord x
wxCoord y
wxCoord width
wxCoord height
CODE:
RETVAL = new wxRegion( x, y, width, height );
OUTPUT:
RETVAL
wxRegion*
newPP( CLASS, topLeft, bottomRight )
SV* CLASS
wxPoint topLeft
wxPoint bottomRight
CODE:
RETVAL = new wxRegion( topLeft, bottomRight );
OUTPUT:
RETVAL
wxRegion*
newRect( CLASS, rect )
SV* CLASS
wxRect* rect
CODE:
RETVAL = new wxRegion( *rect );
OUTPUT:
RETVAL
#if !defined( __WXMAC__ ) && !defined( __WXMOTIF__ )
wxRegion*
newPolygon( CLASS, list, fillStyle = wxODDEVEN_RULE )
SV* CLASS
SV* list
wxPolygonFillMode fillStyle
PREINIT:
wxPoint* points;
size_t n;
CODE:
n = wxPli_av_2_pointarray( aTHX_ list, &points );
RETVAL = new wxRegion( n, points, fillStyle );
delete [] points;
OUTPUT: RETVAL
#endif
#if !defined( __WXOSX_COCOA__ )
wxRegion*
newBitmap( CLASS, bitmap, colour, tolerance = 0 )
SV* CLASS
wxBitmap* bitmap
wxColour colour
int tolerance
CODE:
RETVAL = new wxRegion( *bitmap, colour, tolerance );
OUTPUT: RETVAL
wxRegion*
newBitmapOnly( CLASS, bitmap )
SV* CLASS
wxBitmap* bitmap
CODE:
RETVAL = new wxRegion( *bitmap );
OUTPUT: RETVAL
#endif
void
wxRegion::new( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_VOIDM_REDISP( newEmpty )
MATCH_REDISP( wxPliOvl_n_n_n_n, newXYWH )
MATCH_REDISP( wxPliOvl_wpoi_wpoi, newPP )
MATCH_REDISP( wxPliOvl_wrec, newRect )
MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_wcol_n, newBitmap, 2 )
MATCH_REDISP( wxPliOvl_wbmp, newBitmapOnly )
MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_arr, newPolygon, 1 )
END_OVERLOAD( Wx::Region::new )
static void
wxRegion::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxRegion::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::Region", THIS, ST(0) );
delete THIS;
void
wxRegion::Clear()
wxRegionContain
wxRegion::ContainsXY( x, y )
wxCoord x
wxCoord y
CODE:
RETVAL = THIS->Contains( x, y );
OUTPUT:
RETVAL
wxRegionContain
wxRegion::ContainsPoint( point )
wxPoint point
CODE:
RETVAL = THIS->Contains( point );
OUTPUT:
RETVAL
wxRegionContain
wxRegion::ContainsXYWH( x, y, w, h )
wxCoord x
wxCoord y
wxCoord w
wxCoord h
CODE:
RETVAL = THIS->Contains( x, y, w, h );
OUTPUT:
RETVAL
wxRegionContain
wxRegion::ContainsRect( rect )
wxRect* rect
CODE:
RETVAL = THIS->Contains( *rect );
OUTPUT:
RETVAL
void
wxRegion::Contains( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n_n_n, ContainsXYWH )
MATCH_REDISP( wxPliOvl_n_n, ContainsXY )
MATCH_REDISP( wxPliOvl_wpoi, ContainsPoint )
MATCH_REDISP( wxPliOvl_wrec, ContainsRect )
END_OVERLOAD( Wx::Region::Contains )
wxBitmap*
wxRegion::ConvertToBitmap()
CODE:
RETVAL = new wxBitmap( THIS->ConvertToBitmap() );
OUTPUT: RETVAL
wxRect*
wxRegion::GetBox()
CODE:
RETVAL = new wxRect( THIS->GetBox() );
OUTPUT:
RETVAL
void
wxRegion::GetBoxXYWH()
PREINIT:
int x;
int y;
int w;
int h;
PPCODE:
THIS->GetBox( x, y, w, h );
EXTEND( SP, 4 );
PUSHs( sv_2mortal( newSViv( (IV) x ) ) );
PUSHs( sv_2mortal( newSViv( (IV) y ) ) );
PUSHs( sv_2mortal( newSViv( (IV) w ) ) );
PUSHs( sv_2mortal( newSViv( (IV) h ) ) );
bool
wxRegion::IntersectXYWH( x, y, w, h )
wxCoord x
wxCoord y
wxCoord w
wxCoord h
CODE:
RETVAL = THIS->Intersect( x, y, w, h );
OUTPUT:
RETVAL
bool
wxRegion::IntersectRect( rect )
wxRect* rect
CODE:
RETVAL = THIS->Intersect( *rect );
OUTPUT:
RETVAL
bool
wxRegion::IntersectRegion( region )
wxRegion* region
CODE:
RETVAL = THIS->Intersect( *region );
OUTPUT:
RETVAL
void
wxRegion::Intersect( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n_n_n, IntersectXYWH )
MATCH_REDISP( wxPliOvl_wrec, IntersectRect )
MATCH_REDISP( wxPliOvl_wreg, IntersectRegion )
END_OVERLOAD( Wx::Region::Intersect )
bool
wxRegion::IsEmpty()
#if WXPERL_W_VERSION_GE( 2, 7, 2 )
bool
wxRegion::IsEqual( region )
wxRegion* region
C_ARGS: *region
#endif
bool
wxRegion::SubtractRect( rect )
wxRect* rect
CODE:
RETVAL = THIS->Subtract( *rect );
OUTPUT:
RETVAL
#if !defined(__WXMOTIF__) && !defined(__WXMAC__)
bool
wxRegion::Offset( x, y )
wxCoord x
wxCoord y
#endif
bool
wxRegion::SubtractRegion( region )
wxRegion* region
CODE:
RETVAL = THIS->Subtract( *region );
OUTPUT:
RETVAL
void
wxRegion::Subtract( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_wrec, SubtractRect )
MATCH_REDISP( wxPliOvl_wreg, SubtractRegion )
END_OVERLOAD( Wx::Region::Subtract )
bool
wxRegion::UnionXYWH( x, y, w, h )
wxCoord x
wxCoord y
wxCoord w
wxCoord h
CODE:
RETVAL = THIS->Union( x, y, w, h );
OUTPUT: RETVAL
bool
wxRegion::UnionRect( rect )
wxRect* rect
CODE:
RETVAL = THIS->Union( *rect );
OUTPUT: RETVAL
bool
wxRegion::UnionRegion( region )
wxRegion* region
CODE:
RETVAL = THIS->Union( *region );
OUTPUT: RETVAL
bool
wxRegion::UnionBitmapOnly( bitmap )
wxBitmap* bitmap
CODE:
RETVAL = THIS->Union( *bitmap );
OUTPUT: RETVAL
bool
wxRegion::UnionBitmap( bitmap, colour, tolerance = 0 )
wxBitmap* bitmap
wxColour colour
int tolerance
CODE:
RETVAL = THIS->Union( *bitmap, colour, tolerance );
OUTPUT: RETVAL
void
wxRegion::Union( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n_n_n, UnionXYWH )
MATCH_REDISP( wxPliOvl_wrec, UnionRect )
MATCH_REDISP( wxPliOvl_wreg, UnionRegion )
MATCH_REDISP_COUNT_ALLOWMORE( wxPliOvl_wbmp_wcol_n, UnionBitmap, 2 )
MATCH_REDISP( wxPliOvl_wbmp, UnionBitmapOnly )
END_OVERLOAD( Wx::Region::Union )
bool
wxRegion::XorXYWH( x, y, w, h )
wxCoord x
wxCoord y
wxCoord w
wxCoord h
CODE:
RETVAL = THIS->Xor( x, y, w, h );
OUTPUT:
RETVAL
bool
wxRegion::XorRect( rect )
wxRect* rect
CODE:
RETVAL = THIS->Xor( *rect );
OUTPUT:
RETVAL
bool
wxRegion::XorRegion( region )
wxRegion* region
CODE:
RETVAL = THIS->Xor( *region );
OUTPUT:
RETVAL
void
wxRegion::Xor( ... )
PPCODE:
BEGIN_OVERLOAD()
MATCH_REDISP( wxPliOvl_n_n_n_n, XorXYWH )
MATCH_REDISP( wxPliOvl_wrec, XorRect )
MATCH_REDISP( wxPliOvl_wreg, XorRegion )
END_OVERLOAD( Wx::Region::Xor )
MODULE=Wx PACKAGE=Wx::Position
#if WXPERL_W_VERSION_GE( 2, 9, 0 )
#include <wx/position.h>
wxPosition*
wxPosition::new( row = 0, column = 0 )
int row
int column
static void
wxPosition::CLONE()
CODE:
wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
## // thread OK
void
wxPosition::DESTROY()
CODE:
wxPli_thread_sv_unregister( aTHX_ "Wx::Position", THIS, ST(0) );
delete THIS;
int
wxPosition::row( ... )
CODE:
if( items > 1 )
THIS->SetRow( SvIV( ST(1) ) );
RETVAL = THIS->GetRow();
OUTPUT:
RETVAL
int
wxPosition::col( ... )
CODE:
if( items > 1 )
THIS->SetCol( SvIV( ST(1) ) );
RETVAL = THIS->GetCol();
OUTPUT:
RETVAL
int
wxPosition::column( ... )
CODE:
if( items > 1 )
THIS->SetColumn( SvIV( ST(1) ) );
RETVAL = THIS->GetColumn();
OUTPUT:
RETVAL
int
wxPosition::GetRow()
int
wxPosition::GetCol()
int
wxPosition::GetColumn()
void
wxPosition::SetRow( height )
int height
void
wxPosition::SetCol( width )
int width
void
wxPosition::SetColumn( width )
int width
#endif