Version: 3.2.6
wxSize Class Reference

#include <wx/gdicmn.h>

Detailed Description

A wxSize is a useful data structure for graphics operations.

It simply contains integer x and y members.

Note that the width and height stored inside a wxSize object may be negative and that wxSize functions do not perform any check against negative values (this is used to e.g. store the special -1 value in wxDefaultSize instance). See also IsFullySpecified() and SetDefaults() for utility functions regarding the special -1 value.

wxSize is used throughout wxWidgets as well as wxPoint which, although almost equivalent to wxSize, has a different meaning: wxPoint represents a position while wxSize represents the size.

Library:  wxCore
Category:  Data Structures

Predefined objects/pointers: wxDefaultSize

See also
wxPoint, wxRealPoint

Public Member Functions

 wxSize ()
 Initializes this size object with zero width and height. More...
 
 wxSize (int width, int height)
 Initializes this size object with the given width and height. More...
 
void DecTo (const wxSize &size)
 Decrements this object so that both of its dimensions are not greater than the corresponding dimensions of the size. More...
 
void DecToIfSpecified (const wxSize &size)
 Decrements this object to be not bigger than the given size ignoring non-specified components. More...
 
int GetHeight () const
 Gets the height member. More...
 
int GetWidth () const
 Gets the width member. More...
 
void IncTo (const wxSize &size)
 Increments this object so that both of its dimensions are not less than the corresponding dimensions of the size. More...
 
bool IsFullySpecified () const
 Returns true if neither of the size object components is equal to -1, which is used as default for the size values in wxWidgets (hence the predefined wxDefaultSize has both of its components equal to -1). More...
 
wxSizeScale (double xscale, double yscale)
 Scales the dimensions of this object by the given factors. More...
 
void Set (int width, int height)
 Sets the width and height members. More...
 
void SetDefaults (const wxSize &sizeDefault)
 Combine this size object with another one replacing the default (i.e. equal to -1) components of this object with those of the other. More...
 
void SetHeight (int height)
 Sets the height. More...
 
void SetWidth (int width)
 Sets the width. More...
 
void DecBy (const wxPoint &pt)
 Decreases the size in both x and y directions. More...
 
void DecBy (const wxSize &size)
 Decreases the size in both x and y directions. More...
 
void DecBy (int dx, int dy)
 Decreases the size in both x and y directions. More...
 
void DecBy (int d)
 Decreases the size in both x and y directions. More...
 
void IncBy (const wxPoint &pt)
 Increases the size in both x and y directions. More...
 
void IncBy (const wxSize &size)
 Increases the size in both x and y directions. More...
 
void IncBy (int dx, int dy)
 Increases the size in both x and y directions. More...
 
void IncBy (int d)
 Increases the size in both x and y directions. More...
 
Miscellaneous operators

Sizes can be added to or subtracted from each other or divided or multiplied by a number.

Note that these operators are documented as class members (to make them easier to find) but, as their prototype shows, they are implemented as global operators; note that this is transparent to the user but it helps to understand why the following functions are documented to take the wxSize they operate on as an explicit argument.

Also note that using double factor may result in rounding errors, as wxSize always stores int coordinates and the result is always rounded.

wxSizeoperator= (const wxSize &sz)
 
bool operator== (const wxSize &s1, const wxSize &s2)
 
bool operator!= (const wxSize &s1, const wxSize &s2)
 
wxSize operator+ (const wxSize &s1, const wxSize &s2)
 
wxSize operator- (const wxSize &s1, const wxSize &s2)
 
wxSizeoperator+= (const wxSize &sz)
 
wxSizeoperator-= (const wxSize &sz)
 
wxSize operator/ (const wxSize &sz, int factor)
 
wxSize operator/ (const wxSize &sz, double factor)
 
wxSize operator* (const wxSize &sz, int factor)
 
wxSize operator* (const wxSize &sz, double factor)
 
wxSize operator* (int factor, const wxSize &sz)
 
wxSize operator* (double factor, const wxSize &sz)
 
wxSizeoperator/= (int factor)
 
wxSizeoperator/= (double factor)
 
wxSizeoperator*= (int factor)
 
wxSizeoperator*= (double factor)
 

Constructor & Destructor Documentation

◆ wxSize() [1/2]

wxSize::wxSize ( )

Initializes this size object with zero width and height.

◆ wxSize() [2/2]

wxSize::wxSize ( int  width,
int  height 
)

Initializes this size object with the given width and height.

Member Function Documentation

◆ DecBy() [1/4]

void wxSize::DecBy ( const wxPoint pt)

Decreases the size in both x and y directions.

See also
IncBy()

◆ DecBy() [2/4]

void wxSize::DecBy ( const wxSize size)

Decreases the size in both x and y directions.

See also
IncBy()

◆ DecBy() [3/4]

void wxSize::DecBy ( int  d)

Decreases the size in both x and y directions.

See also
IncBy()

◆ DecBy() [4/4]

void wxSize::DecBy ( int  dx,
int  dy 
)

Decreases the size in both x and y directions.

See also
IncBy()

◆ DecTo()

void wxSize::DecTo ( const wxSize size)

Decrements this object so that both of its dimensions are not greater than the corresponding dimensions of the size.

See also
IncTo()

◆ DecToIfSpecified()

void wxSize::DecToIfSpecified ( const wxSize size)

Decrements this object to be not bigger than the given size ignoring non-specified components.

This is similar to DecTo() but doesn't do anything for x or y component if the same component of size is not specified, i.e. set to wxDefaultCoord.

Since
2.9.5

◆ GetHeight()

int wxSize::GetHeight ( ) const

Gets the height member.

◆ GetWidth()

int wxSize::GetWidth ( ) const

Gets the width member.

◆ IncBy() [1/4]

void wxSize::IncBy ( const wxPoint pt)

Increases the size in both x and y directions.

See also
DecBy()

◆ IncBy() [2/4]

void wxSize::IncBy ( const wxSize size)

Increases the size in both x and y directions.

See also
DecBy()

◆ IncBy() [3/4]

void wxSize::IncBy ( int  d)

Increases the size in both x and y directions.

See also
DecBy()

◆ IncBy() [4/4]

void wxSize::IncBy ( int  dx,
int  dy 
)

Increases the size in both x and y directions.

See also
DecBy()

◆ IncTo()

void wxSize::IncTo ( const wxSize size)

Increments this object so that both of its dimensions are not less than the corresponding dimensions of the size.

See also
DecTo()

◆ IsFullySpecified()

bool wxSize::IsFullySpecified ( ) const

Returns true if neither of the size object components is equal to -1, which is used as default for the size values in wxWidgets (hence the predefined wxDefaultSize has both of its components equal to -1).

This method is typically used before calling SetDefaults().

◆ operator!=()

bool wxSize::operator!= ( const wxSize s1,
const wxSize s2 
)

◆ operator*() [1/4]

wxSize wxSize::operator* ( const wxSize sz,
double  factor 
)

◆ operator*() [2/4]

wxSize wxSize::operator* ( const wxSize sz,
int  factor 
)

◆ operator*() [3/4]

wxSize wxSize::operator* ( double  factor,
const wxSize sz 
)

◆ operator*() [4/4]

wxSize wxSize::operator* ( int  factor,
const wxSize sz 
)

◆ operator*=() [1/2]

wxSize& wxSize::operator*= ( double  factor)

◆ operator*=() [2/2]

wxSize& wxSize::operator*= ( int  factor)

◆ operator+()

wxSize wxSize::operator+ ( const wxSize s1,
const wxSize s2 
)

◆ operator+=()

wxSize& wxSize::operator+= ( const wxSize sz)

◆ operator-()

wxSize wxSize::operator- ( const wxSize s1,
const wxSize s2 
)

◆ operator-=()

wxSize& wxSize::operator-= ( const wxSize sz)

◆ operator/() [1/2]

wxSize wxSize::operator/ ( const wxSize sz,
double  factor 
)

◆ operator/() [2/2]

wxSize wxSize::operator/ ( const wxSize sz,
int  factor 
)

◆ operator/=() [1/2]

wxSize& wxSize::operator/= ( double  factor)

◆ operator/=() [2/2]

wxSize& wxSize::operator/= ( int  factor)

◆ operator=()

wxSize& wxSize::operator= ( const wxSize sz)

◆ operator==()

bool wxSize::operator== ( const wxSize s1,
const wxSize s2 
)

◆ Scale()

wxSize& wxSize::Scale ( double  xscale,
double  yscale 
)

Scales the dimensions of this object by the given factors.

If you want to scale both dimensions by the same factor you can also use operator*=().

Returns
A reference to this object (so that you can concatenate other operations in the same line).

◆ Set()

void wxSize::Set ( int  width,
int  height 
)

Sets the width and height members.

◆ SetDefaults()

void wxSize::SetDefaults ( const wxSize sizeDefault)

Combine this size object with another one replacing the default (i.e. equal to -1) components of this object with those of the other.

It is typically used like this:

if ( !size.IsFullySpecified() )
{
size.SetDefaults(GetDefaultSize());
}
See also
IsFullySpecified()

◆ SetHeight()

void wxSize::SetHeight ( int  height)

Sets the height.

◆ SetWidth()

void wxSize::SetWidth ( int  width)

Sets the width.