X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cf7d6329530d0a9f181ac24dcc722d276885f05e..1d836590aa324b7d58481e27a4b1ad6399174a2c:/docs/latex/wx/vscroll.tex diff --git a/docs/latex/wx/vscroll.tex b/docs/latex/wx/vscroll.tex index 3489ab5885..7ed7688716 100644 --- a/docs/latex/wx/vscroll.tex +++ b/docs/latex/wx/vscroll.tex @@ -19,7 +19,7 @@ this class only supports scrolling in one direction currently (this could and probably will change in the future however). In any case, this is a generalization of the -\helpref{wxScrolledWindow}{wxScrolledWindow} class which can be only used when +\helpref{wxScrolledWindow}{wxscrolledwindow} class which can be only used when all lines have the same height. It lacks some other wxScrolledWindow features however, notably there is currently no support for horizontal scrolling; it can't scroll another window nor only a rectangle of the window and not its @@ -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. @@ -86,10 +86,29 @@ this class.} Same as the \helpref{non default ctor}{wxvscrolledwindowctor} but returns status code: {\tt true} if ok, {\tt false} if the window couldn't have been created. -Just as with the ctor above, {\tt wxVSCROLL| style is always used, there is no +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,6 +181,40 @@ 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 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. + + \membersection{wxVScrolledWindow::ScrollLines}\label{wxvscrolledwindowscrolllines} \func{bool}{ScrollLines}{\param{int }{lines}}