| Version: 3.2.5

Public Member Functions | List of all members
wxSize Class Reference
Class List by Category » Data Structures

`#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...
wxSize & | Scale (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.

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, 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)
wxSize & | operator/= (int factor)
wxSize & | operator/= (double factor)
wxSize & | operator*= (int factor)
wxSize & | operator*= (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.