Generates FL_ENTER after grab() is released for whatever widget the
mouse is over. git-svn-id: file:///fltk/svn/fltk/trunk@351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
b47973f560
commit
fe4f5ef72c
14
src/Fl.cxx
14
src/Fl.cxx
@ -1,5 +1,5 @@
|
||||
//
|
||||
// "$Id: Fl.cxx,v 1.20 1999/02/26 07:07:55 bill Exp $"
|
||||
// "$Id: Fl.cxx,v 1.21 1999/03/03 07:40:17 bill Exp $"
|
||||
//
|
||||
// Main event handling code for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
@ -418,7 +418,6 @@ int Fl::handle(int event, Fl_Window* window)
|
||||
case FL_DRAG:
|
||||
// this should not happen if enter/leave events were reported
|
||||
// correctly by the system, but just in case:
|
||||
fl_xmousewin = window;
|
||||
if (pushed()) {
|
||||
w = pushed();
|
||||
event = FL_DRAG;
|
||||
@ -427,7 +426,10 @@ int Fl::handle(int event, Fl_Window* window)
|
||||
} else if (modal() && w != modal()) {
|
||||
w = 0;
|
||||
}
|
||||
if (grab()) w = grab();
|
||||
if (grab())
|
||||
w = grab();
|
||||
else
|
||||
fl_xmousewin = window;
|
||||
break;
|
||||
|
||||
case FL_RELEASE: {
|
||||
@ -490,11 +492,11 @@ int Fl::handle(int event, Fl_Window* window)
|
||||
return 0;
|
||||
|
||||
case FL_ENTER:
|
||||
fl_xmousewin = window; fl_fix_focus();
|
||||
if (!grab()) {fl_xmousewin = window; fl_fix_focus();}
|
||||
return 1;
|
||||
|
||||
case FL_LEAVE:
|
||||
if (window == fl_xmousewin) {fl_xmousewin = 0; fl_fix_focus();}
|
||||
if (!grab() && window == fl_xmousewin) {fl_xmousewin = 0; fl_fix_focus();}
|
||||
return 1;
|
||||
|
||||
default:
|
||||
@ -681,5 +683,5 @@ int fl_old_shortcut(const char* s) {
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: Fl.cxx,v 1.20 1999/02/26 07:07:55 bill Exp $".
|
||||
// End of "$Id: Fl.cxx,v 1.21 1999/03/03 07:40:17 bill Exp $".
|
||||
//
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $"
|
||||
// "$Id: Fl_win32.cxx,v 1.30 1999/03/03 07:40:18 bill Exp $"
|
||||
//
|
||||
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
@ -197,12 +197,6 @@ void Fl::get_mouse(int &x, int &y) {
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
extern Fl_Window *fl_xfocus; // in Fl.C
|
||||
extern Fl_Window *fl_xmousewin; // in Fl.C
|
||||
void fl_fix_focus(); // in Fl.C
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
HWND fl_capture;
|
||||
|
||||
static int mouse_event(Fl_Window *window, int what, int button,
|
||||
@ -599,6 +593,8 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
void fl_fix_focus(); // in Fl.C
|
||||
|
||||
char fl_show_iconic; // hack for Fl_Window::iconic()
|
||||
// int fl_background_pixel = -1; // color to use for background
|
||||
HCURSOR fl_default_cursor;
|
||||
@ -895,5 +891,5 @@ void Fl_Window::make_current() {
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $".
|
||||
// End of "$Id: Fl_win32.cxx,v 1.30 1999/03/03 07:40:18 bill Exp $".
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user