+ /**
+ Override this method to return the best size for a custom control.
+
+ A typical implementation of this method should compute the minimal size
+ needed to fully display the control contents taking into account the
+ current font size.
+
+ The default implementation simply returns ::wxDefaultSize and
+ GetBestSize() returns an arbitrary hardcoded size for the window, so
+ you must override it when implementing a custom window class.
+
+ Notice that the best size returned by this function is cached
+ internally, so if anything that results in the best size changing (e.g.
+ change to the control contents) happens, you need to call
+ InvalidateBestSize() to notify wxWidgets about it.
+
+ @see @ref overview_windowsizing
+
+ @since 2.9.0
+ */
+ virtual wxSize DoGetBestClientSize() const;
+
+ /**
+ Override this method to implement height-for-width best size
+ calculation.
+
+ Return the height needed to fully display the control contents if its
+ width is fixed to the given value. Custom classes implementing
+ wrapping should override this method and return the height
+ corresponding to the number of lines needed to lay out the control
+ contents at this width.
+
+ Currently this method is not used by wxWidgets yet, however it is
+ planned that it will be used by the new sizer classes implementing
+ height-for-width layout strategy in the future.
+
+ Notice that implementing this method or even implementing both it and
+ DoGetBestClientWidth() doesn't replace overriding DoGetBestClientSize(),
+ i.e. you still need to implement the latter as well in order to provide
+ the best size when neither width nor height are constrained.
+
+ By default returns ::wxDefaultCoord meaning that the vertical component
+ of DoGetBestClientSize() return value should be used.
+
+ @since 2.9.4
+ */
+ virtual int DoGetBestClientHeight(int width) const;
+
+ /**
+ Override this method to implement width-for-height best size
+ calculation.
+
+ This method is exactly the same as DoGetBestClientHeight() except that
+ it determines the width assuming the height is fixed instead of vice
+ versa.
+
+ @since 2.9.4
+ */
+ virtual int DoGetBestClientWidth(int height) const;