X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5de24291022d6f81fdac8fff661b3ab138b27c74..42e88ddb611d43fe79e1d0c17a764b0848322f1d:/docs/latex/wx/vscroll.tex diff --git a/docs/latex/wx/vscroll.tex b/docs/latex/wx/vscroll.tex index ba327effcb..1f7a07fab4 100644 --- a/docs/latex/wx/vscroll.tex +++ b/docs/latex/wx/vscroll.tex @@ -6,7 +6,7 @@ %% Created: 30.05.03 %% RCS-ID: $Id$ %% Copyright: (c) 2003 Vadim Zeitlin -%% License: wxWindows license +%% License: wxWidgets license %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{\class{wxVScrolledWindow}}\label{wxvscrolledwindow} @@ -33,7 +33,7 @@ moment on the scrolling is handled entirely by wxVScrolledWindow, you only need to draw the visible part of contents in your {\tt OnPaint()} method as usual. You should use \helpref{GetFirstVisibleLine()}{wxvscrolledwindowgetfirstvisibleline} and \helpref{GetLastVisibleLine()}{wxvscrolledwindowgetlastvisibleline} to -select the lines to display. ote that the device context origin is not shifted +select the lines to display. Note that the device context origin is not shifted so the first visible line always appears at the point $(0, 0)$ in physical as well as logical coordinates. @@ -90,6 +90,25 @@ Just as with the ctor above, {\tt wxVSCROLL} style is always used, there is no need to specify it explicitly. +\membersection{wxVScrolledWindow::EstimateTotalHeight}\label{wxvscrolledwindowestimatetotalheight} + +\constfunc{virtual wxCoord}{EstimateTotalHeight}{\void} + +This protected function is used internally by wxVScrolledWindow to estimate the +total height of the window when \helpref{SetLineCount}{wxvscrolledwindowsetlinecount} +is called. The default implementation uses the brute force approach if the +number of the items in the control is small enough. Otherwise, it tries to find +the average line height using some lines in the beginning, middle and the end. + +If it is undesirable to access all these lines (some of which might be never +shown) just for the total height calculation, you may override the function and +provide your own guess better and/or faster. + +Note that although returning a totally wrong value would still work, it risks +to result in very strange scrollbar behaviour so this function should really +try to make the best guess possible. + + \membersection{wxVScrolledWindow::GetFirstVisibleLine}\label{wxvscrolledwindowgetfirstvisibleline} \constfunc{size\_t}{GetFirstVisibleLine}{\void} @@ -112,6 +131,24 @@ Get the number of lines this window contains (previously set by \helpref{SetLineCount()}{wxvscrolledwindowsetlinecount}) +\membersection{wxVScrolledWindow::HitTest}\label{wxvscrolledwindowhittest} + +\constfunc{int}{HitTest}{\param{wxCoord }{x}, \param{wxCoord }{y}} + +\constfunc{int}{HitTest}{\param{const wxPoint\& }{pt}} + +Return the item at the specified (in physical coordinates) position or +{\tt wxNOT\_FOUND} if none, i.e. if it is below the last item. + + +\membersection{wxVScrolledWindow::IsVisible}\label{wxvscrolledwindowisvisible} + +\constfunc{bool}{IsVisible}{\param{size\_t }{line}} + +Returns {\tt true} if the given line is (at least partially) visible or +{\tt false} otherwise. + + \membersection{wxVScrolledWindow::OnGetLineHeight}\label{wxvscrolledwindowongetlineheight} \constfunc{wxCoord}{OnGetLineHeight}{\param{size\_t }{n}} @@ -144,12 +181,36 @@ Finally note that {\it lineMin} is inclusive, while {\it lineMax} is exclusive, as usual. +\membersection{wxVScrolledWindow::RefreshLine}\label{wxvscrolledwindowrefreshline} + +\func{void}{RefreshLine}{\param{size\_t }{line}} + +Refreshes the specified line -- it will be redrawn during the next main loop +iteration. + +\wxheading{See also} + +\helpref{RefreshLines}{wxvscrolledwindowrefreshlines} + + +\membersection{wxVScrolledWindow::RefreshLines}\label{wxvscrolledwindowrefreshlines} + +\func{void}{RefreshLines}{\param{size\_t }{from}, \param{size\_t }{to}} + +Refreshes all lines between {\it from} and {\it to}, inclusive. {\it from} +should be less than or equal to {\it to}. + +\wxheading{See also} + +\helpref{RefreshLine}{wxvscrolledwindowrefreshline} + + \membersection{wxVScrolledWindow::RefreshAll}\label{wxvscrolledwindowrefreshall} \func{void}{RefreshAll}{\void} This function completely refreshes the control, recalculating the number of -items shown on screen and repaining them. It should be called when the values +items shown on screen and repainting them. It should be called when the values returned by \helpref{OnGetLineHeight}{wxvscrolledwindowongetlineheight} change for some reason and the window must be updated to reflect this.