mirror of https://github.com/fltk/fltk
As per notes from STR#2948:
Moved top_window_offset() to being a member of Fl_Widget (was Fl_Window) and moved its code near implementations of top_window() and window(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
3fe3f24427
commit
9fc45db999
|
@ -921,6 +921,7 @@ public:
|
|||
|
||||
Fl_Window* window() const ;
|
||||
Fl_Window* top_window() const;
|
||||
Fl_Window* top_window_offset(int& xoff, int& yoff) const;
|
||||
|
||||
/** Returns an Fl_Group pointer if this widget is an Fl_Group.
|
||||
|
||||
|
|
|
@ -120,7 +120,6 @@ protected:
|
|||
\see force_position(int)
|
||||
*/
|
||||
int force_position() const { return ((flags() & FORCE_POSITION)?1:0); }
|
||||
Fl_Window* top_window_offset(int& xoff, int& yoff) const;
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
@ -106,6 +106,22 @@ Fl_Window *Fl_Widget::top_window() const {
|
|||
return const_cast<Fl_Widget*>(w)->as_window(); // return if window, or NULL if not
|
||||
}
|
||||
|
||||
/**
|
||||
Finds the x/y offset of the current window relative to the top-level window.
|
||||
\param[out] xoff,yoff Returns the x/y offset
|
||||
\returns the top-level window
|
||||
*/
|
||||
Fl_Window* Fl_Widget::top_window_offset(int& xoff, int& yoff) const {
|
||||
xoff = yoff = 0;
|
||||
const Fl_Window *win = (const Fl_Window*)this;
|
||||
while (win && win->window()) {
|
||||
xoff += win->x(); // accumulate offsets
|
||||
yoff += win->y();
|
||||
win = win->window(); // walk up window hierarchy
|
||||
}
|
||||
return (Fl_Window*)win;
|
||||
}
|
||||
|
||||
/** Gets the x position of the window on the screen */
|
||||
int Fl_Window::x_root() const {
|
||||
Fl_Window *p = window();
|
||||
|
@ -299,22 +315,6 @@ void Fl_Window::icon(const void * ic) {
|
|||
icon_ = ic;
|
||||
}
|
||||
|
||||
/**
|
||||
Finds the x/y offset of the current window relative to the top-level window.
|
||||
\param[out] xoff,yoff Returns the x/y offset
|
||||
\returns the top-level window
|
||||
*/
|
||||
Fl_Window* Fl_Window::top_window_offset(int& xoff, int& yoff) const {
|
||||
xoff = yoff = 0;
|
||||
const Fl_Window *win = (const Fl_Window*)this;
|
||||
while (win && win->window()) {
|
||||
xoff += win->x(); // accumulate offsets
|
||||
yoff += win->y();
|
||||
win = win->window(); // walk up window hierarchy
|
||||
}
|
||||
return (Fl_Window*)win;
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id$".
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue