#include <wx/gdicmn.h>
A wxSize is a useful data structure for graphics operations.
It simply contains integer width and height 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.
Predefined objects/pointers: wxDefaultSize
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... | |
wxSize & | Scale (float xscale, float 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 | |
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. | |
wxSize & | operator= (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) |
wxSize & | operator+= (const wxSize &sz) |
wxSize & | operator-= (const wxSize &sz) |
wxSize | operator/ (const wxSize &sz, int factor) |
wxSize | operator* (const wxSize &sz, int factor) |
wxSize | operator* (int factor, const wxSize &sz) |
wxSize & | operator/= (int factor) |
wxSize & | operator*= (int factor) |
wxSize::wxSize | ( | ) |
Initializes this size object with zero width and height.
wxSize::wxSize | ( | int | width, |
int | height | ||
) |
Initializes this size object with the given width and height.
void wxSize::DecBy | ( | const wxPoint & | pt | ) |
Decreases the size in both x and y directions.
void wxSize::DecBy | ( | const wxSize & | size | ) |
Decreases the size in both x and y directions.
void wxSize::DecBy | ( | int | dx, |
int | dy | ||
) |
Decreases the size in both x and y directions.
void wxSize::DecBy | ( | int | d | ) |
Decreases the size in both x and y directions.
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.
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.
int wxSize::GetHeight | ( | ) | const |
Gets the height member.
int wxSize::GetWidth | ( | ) | const |
Gets the width member.
void wxSize::IncBy | ( | const wxPoint & | pt | ) |
Increases the size in both x and y directions.
void wxSize::IncBy | ( | const wxSize & | size | ) |
Increases the size in both x and y directions.
void wxSize::IncBy | ( | int | dx, |
int | dy | ||
) |
Increases the size in both x and y directions.
void wxSize::IncBy | ( | int | d | ) |
Increases the size in both x and y directions.
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.
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().
wxSize& wxSize::operator*= | ( | int | factor | ) |
wxSize& wxSize::operator/= | ( | int | factor | ) |
wxSize& wxSize::Scale | ( | float | xscale, |
float | 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*=().
void wxSize::Set | ( | int | width, |
int | height | ||
) |
Sets the width and height members.
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:
void wxSize::SetHeight | ( | int | height | ) |
Sets the height.
void wxSize::SetWidth | ( | int | width | ) |
Sets the width.