DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2860
Version: 1.3-feature


A function 
int Fl::screen_num(x,y,w,h)
is missing from the patch.

I have put it in file src/screen_xywh.cxx and reordered things
relatively to function Fl::screen_xywh(X,Y,W,H,mx,my,mw,mh)
as follows

/**
 Gets the screen number for the screen
 which intersects the most with the rectangle
 defined by \p x, \p y, \p w, \p h.
 \return The screen number (between 0 and Fl::screen_count() - 1).
*/ 
int Fl::screen_num(int x, int y, int w, int h) {
  int best_screen = 0;
  float best_intersection = 0.;
  for(int i = 0; i < Fl::screen_count(); i++) {
    int sx, sy, sw, sh;
    Fl::screen_xywh(sx, sy, sw, sh, i);
    float sintersection = fl_intersection(x, y, w, h, sx, sy, sw, sh);
    if(sintersection > best_intersection) {
      best_screen = i;
      best_intersection = sintersection;
    }
  }
  return best_screen;
}

/**
 Gets the screen bounding rect for the screen
 which intersects the most with the rectangle
 defined by \p mx, \p my, \p mw, \p mh.
 \param[out]  X,Y,W,H the corresponding screen bounding box
 \param[in] mx, my, mw, mh the rectangle to search for intersection with
 \see void screen_xywh(int &X, int &Y, int &W, int &H, int n)
 */
void Fl::screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my, int
mw, int mh) {
  screen_xywh(X, Y, W, H, Fl::screen_num(mx, my, mw, mh) );
}

With this, the patch seems OK under Mac OS X.


Link: http://www.fltk.org/str.php?L2860
Version: 1.3-feature

_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to