%% Created: 30.05.03
%% RCS-ID: $Id$
%% Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-%% License: wxWidgets license
+%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxVScrolledWindow}}\label{wxvscrolledwindow}
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.
Returns the index of the first currently visible line.
+This is same as \helpref{GetVisibleBegin}{wxvscrolledwindowgetvisiblebegin} and
+exists only for symmetry with \helpref{GetLastVisibleLine}{wxvscrolledwindowgetlastvisibleline}.
+
\membersection{wxVScrolledWindow::GetLastVisibleLine}\label{wxvscrolledwindowgetlastvisibleline}
\constfunc{size\_t}{GetLastVisibleLine}{\void}
-Returns the index of the last currently visible line.
+Returns the index of the last currently visible line. Note that this method
+returns \texttt{(size\_t)-1} (i.e. a huge positive number) if the control is
+empty so if this is possible you should use \helpref{GetVisibleEnd}{wxvscrolledwindowgetvisibleend}
+instead.
+
+\wxheading{See also}
+
+\helpref{GetFirstVisibleLine}{wxvscrolledwindowgetfirstvisibleline}
\membersection{wxVScrolledWindow::GetLineCount}\label{wxvscrolledwindowgetlinecount}
\helpref{SetLineCount()}{wxvscrolledwindowsetlinecount})
+\membersection{wxVScrolledWindow::GetVisibleBegin}\label{wxvscrolledwindowgetvisiblebegin}
+
+\constfunc{size\_t}{GetVisibleBegin}{\void}
+
+Returns the index of the first currently visible line.
+
+\wxheading{See also}
+
+\helpref{GetVisibleEnd}{wxvscrolledwindowgetvisibleend}
+
+
+\membersection{wxVScrolledWindow::GetVisibleEnd}\label{wxvscrolledwindowgetvisibleend}
+
+\constfunc{size\_t}{GetVisibleEnd}{\void}
+
+Returns the index of the first line after the currently visible one. If the
+return value is $0$ it means that no lines are currently shown (which only
+happens if the control is empty). Note that the index returned by this method
+is not always a valid index as it may be equal to \helpref{GetLineCount}{wxvscrolledwindowgetlinecount}.
+
+\wxheading{See also}
+
+\helpref{GetVisibleBegin}{wxvscrolledwindowgetvisiblebegin}
+
+
\membersection{wxVScrolledWindow::HitTest}\label{wxvscrolledwindowhittest}
\constfunc{int}{HitTest}{\param{wxCoord }{x}, \param{wxCoord }{y}}
\membersection{wxVScrolledWindow::OnGetLineHeight}\label{wxvscrolledwindowongetlineheight}
-\constfunc{wxCoord}{OnGetLineHeight}{\param{size\_t }{n}}
+\constfunc{virtual wxCoord}{OnGetLineHeight}{\param{size\_t }{n}}
This protected virtual function must be overridden in the derived class and it
should return the height of the given line in pixels.
\membersection{wxVScrolledWindow::OnGetLinesHint}\label{wxvscrolledwindowongetlineshint}
-\constfunc{void}{OnGetLinesHint}{\param{size\_t }{lineMin}, \param{size\_t }{lineMax}}
+\constfunc{virtual void}{OnGetLinesHint}{\param{size\_t }{lineMin}, \param{size\_t }{lineMax}}
This function doesn't have to be overridden but it may be useful to do
it if calculating the lines heights is a relatively expensive operation
\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.