Small fixes to new top_window_offset() method as per discussion in STR #2948.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9875 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
55af432c2c
commit
f04ff44f8c
@ -107,19 +107,19 @@ Fl_Window *Fl_Widget::top_window() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Finds the x/y offset of the current window relative to the top-level window.
|
Finds the x/y offset of the current widget relative to the top-level window.
|
||||||
\param[out] xoff,yoff Returns the x/y offset
|
\param[out] xoff,yoff Returns the x/y offset
|
||||||
\returns the top-level window
|
\returns the top-level window (or NULL for a widget that's not in any window)
|
||||||
*/
|
*/
|
||||||
Fl_Window* Fl_Widget::top_window_offset(int& xoff, int& yoff) const {
|
Fl_Window* Fl_Widget::top_window_offset(int& xoff, int& yoff) const {
|
||||||
xoff = yoff = 0;
|
xoff = yoff = 0;
|
||||||
const Fl_Window *win = (const Fl_Window*)this;
|
const Fl_Widget *w = this;
|
||||||
while (win && win->window()) {
|
while (w && w->window()) {
|
||||||
xoff += win->x(); // accumulate offsets
|
xoff += w->x(); // accumulate offsets
|
||||||
yoff += win->y();
|
yoff += w->y();
|
||||||
win = win->window(); // walk up window hierarchy
|
w = w->window(); // walk up window hierarchy
|
||||||
}
|
}
|
||||||
return (Fl_Window*)win;
|
return ((Fl_Widget*)w)->as_window();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets the x position of the window on the screen */
|
/** Gets the x position of the window on the screen */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user