Window border movement fixes

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3718 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm 2003-06-28 19:06:30 +00:00
parent d98326b49f
commit de662b01c8
2 changed files with 13 additions and 9 deletions

View File

@ -41,7 +41,7 @@
#include "TokenHandler.h"
#include "Utils.h"
#define DEBUG_SERVERWINDOW
//#define DEBUG_SERVERWINDOW
//#define DEBUG_SERVERWINDOW_MOUSE
//#define DEBUG_SERVERWINDOW_KEYBOARD
@ -52,6 +52,9 @@
//! Handler to get BWindow tokens from
TokenHandler win_token_handler;
//! Active winborder - used for tracking windows during moves, resizes, and tab slides
WinBorder *active_winborder=NULL;
/*!
\brief Contructor
@ -1185,7 +1188,7 @@ printf("ServerWindow::HandleMouseEvent unimplemented\n");
BPoint pt(x,y);
// If we have clicked on a window,
_winborder=(WinBorder*)root->GetChildAt(pt);
active_winborder=_winborder=(WinBorder*)root->GetChildAt(pt);
if(_winborder)
{
mousewin=_winborder->Window();
@ -1208,8 +1211,11 @@ printf("ServerWindow::HandleMouseEvent unimplemented\n");
// int32 modifiers=*((int32*)index);
BPoint pt(x,y);
set_is_sliding_tab(false);
set_is_moving_window(false);
set_is_resizing_window(false);
_winborder=(WinBorder*)root->GetChildAt(pt);
active_winborder=NULL;
if(_winborder)
{
mousewin=_winborder->Window();
@ -1231,23 +1237,20 @@ printf("ServerWindow::HandleMouseEvent unimplemented\n");
index+=sizeof(int64);
float x=*((float*)index); index+=sizeof(float);
float y=*((float*)index); index+=sizeof(float);
// uint32 buttons=*((uint32*)index);
BPoint pt(x,y);
// TODO: Fix
/* if(is_moving_window() || is_resizing_window() || is_sliding_tab())
if(is_moving_window() || is_resizing_window() || is_sliding_tab())
{
mousewin=active_serverwindow;
mousewin->_winborder->MouseMoved(pt,buttons,0);
active_winborder->MouseMoved(buffer);
}
else
{
*/ _winborder=(WinBorder*)root->GetChildAt(pt);
_winborder=(WinBorder*)root->GetChildAt(pt);
if(_winborder)
{
mousewin=_winborder->Window();
_winborder->MouseMoved(buffer);
// }
}
}
break;
}

View File

@ -77,6 +77,7 @@ void set_is_resizing_window(bool state);
void set_active_winborder(WinBorder *win);
WinBorder * get_active_winborder(void);
void set_is_resizing_window(bool state);
void set_is_sliding_tab(bool state);
bool is_sliding_tab(void);
#endif