Removed some hacks that were no longer necessary because of fixes made

on GFX side to fix nsRegion and the double buffer routines. Also
removed the DOUBLE_CLICK messages as directed by someone, I forget now who.
Bug 16698 r=Michael.Kedl@Nexwarecorp.com
This commit is contained in:
Jerry.Kirk%Nexwarecorp.com 1999-10-19 00:29:33 +00:00
parent b7acabf1e5
commit f460a870ed
2 changed files with 41 additions and 253 deletions

View File

@ -1388,7 +1388,7 @@ void nsWidget::InitMouseEvent(PhPointerEvent_t *aPhButtonEvent,
{
PR_LOG(PhWidLog, PR_LOG_DEBUG,("nsWidget::InitMouseEvent \n"));
printf("nsWidget::InitMouseEvent click_count=%d\n", aPhButtonEvent->click_count);
//printf("nsWidget::InitMouseEvent click_count=%d\n", aPhButtonEvent->click_count);
anEvent.message = aEventType;
anEvent.widget = aWidget;
@ -1414,7 +1414,7 @@ void nsWidget::InitMouseEvent(PhPointerEvent_t *aPhButtonEvent,
//-------------------------------------------------------------------------
PRBool nsWidget::DispatchMouseEvent(nsMouseEvent& aEvent)
{
printf("nsWidget::DispatchMouseEvent \n");
//printf("nsWidget::DispatchMouseEvent \n");
PRBool result = PR_FALSE;
if (nsnull == mEventCallback && nsnull == mMouseListener) {
@ -1647,7 +1647,7 @@ PRUint32 nsWidget::nsConvertKey(unsigned long keysym, PRBool *aIsChar )
for (int i = 0; i < length; i++) {
if (nsKeycodes[i].keysym == keysym)
{
printf("nsWidget::nsConvertKey - Converted <%x> to <%x>\n", keysym, nsKeycodes[i].vkCode);
//printf("nsWidget::nsConvertKey - Converted <%x> to <%x>\n", keysym, nsKeycodes[i].vkCode);
if (aIsChar)
*aIsChar = (nsKeycodes[i].isChar);
return (nsKeycodes[i].vkCode);
@ -1678,8 +1678,8 @@ void nsWidget::InitKeyEvent(PhKeyEvent_t *aPhKeyEvent,
keysym = nsConvertKey(aPhKeyEvent->key_cap, &IsChar);
printf("nsWidget::InitKeyEvent EventType=<%d> key_cap=<%lu> converted=<%lu> IsChar=<%d>\n",
aEventType, aPhKeyEvent->key_cap, keysym, IsChar);
// printf("nsWidget::InitKeyEvent EventType=<%d> key_cap=<%lu> converted=<%lu> IsChar=<%d>\n",
// aEventType, aPhKeyEvent->key_cap, keysym, IsChar);
anEvent.keyCode = (keysym & 0x00FF);
@ -1711,8 +1711,8 @@ void nsWidget::InitKeyEvent(PhKeyEvent_t *aPhKeyEvent,
printf("nsWidget::InitKeyEvent Modifiers Valid=<%d,%d,%d> Shift=<%d> Control=<%d> Alt=<%d> Meta=<%d>\n",
(aPhKeyEvent->key_flags & Pk_KF_Scan_Valid), (aPhKeyEvent->key_flags & Pk_KF_Sym_Valid), (aPhKeyEvent->key_flags & Pk_KF_Cap_Valid), anEvent.isShift, anEvent.isControl, anEvent.isAlt, anEvent.isMeta);
// printf("nsWidget::InitKeyEvent Modifiers Valid=<%d,%d,%d> Shift=<%d> Control=<%d> Alt=<%d> Meta=<%d>\n",
// (aPhKeyEvent->key_flags & Pk_KF_Scan_Valid), (aPhKeyEvent->key_flags & Pk_KF_Sym_Valid), (aPhKeyEvent->key_flags & Pk_KF_Cap_Valid), anEvent.isShift, anEvent.isControl, anEvent.isAlt, anEvent.isMeta);
}
}
@ -1738,7 +1738,7 @@ PRBool nsWidget::DispatchKeyEvent(PhKeyEvent_t *aPhKeyEvent)
if ( PtIsFocused(mWidget) != 2)
{
printf("nsWidget::DispatchKeyEvent Not on focus leaf! PtIsFocused(mWidget)=<%d>\n", PtIsFocused(mWidget));
//printf("nsWidget::DispatchKeyEvent Not on focus leaf! PtIsFocused(mWidget)=<%d>\n", PtIsFocused(mWidget));
return PR_FALSE;
}
@ -1748,14 +1748,14 @@ PRBool nsWidget::DispatchKeyEvent(PhKeyEvent_t *aPhKeyEvent)
|| ( aPhKeyEvent->key_cap == Pk_Control_R )
)
{
PR_LOG(PhWidLog, PR_LOG_DEBUG,("nsWidget::DispatchKeyEvent Ignoring SHIFT, CONTROL and ALT keypress\n"));
//PR_LOG(PhWidLog, PR_LOG_DEBUG,("nsWidget::DispatchKeyEvent Ignoring SHIFT, CONTROL and ALT keypress\n"));
return PR_TRUE;
}
nsWindow *w = (nsWindow *) this;
printf("nsWidget::DispatchKeyEvent KeyEvent Info: this=<%p> key_flags=<%lu> key_mods=<%lu> key_sym=<%lu> key_cap=<%lu> key_scan=<%d> Focused=<%d>\n",
this, aPhKeyEvent->key_flags, aPhKeyEvent->key_mods, aPhKeyEvent->key_sym, aPhKeyEvent->key_cap, aPhKeyEvent->key_scan, PtIsFocused(mWidget));
//printf("nsWidget::DispatchKeyEvent KeyEvent Info: this=<%p> key_flags=<%lu> key_mods=<%lu> key_sym=<%lu> key_cap=<%lu> key_scan=<%d> Focused=<%d>\n",
// this, aPhKeyEvent->key_flags, aPhKeyEvent->key_mods, aPhKeyEvent->key_sym, aPhKeyEvent->key_cap, aPhKeyEvent->key_scan, PtIsFocused(mWidget));
w->AddRef();
@ -1765,7 +1765,7 @@ printf("nsWidget::DispatchKeyEvent KeyEvent Info: this=<%p> key_flags=<%lu> key_
printf("nsWidget::DispatchKeyEvent Before Key Down \n");
InitKeyEvent(aPhKeyEvent, this, keyEvent, NS_KEY_DOWN);
result = w->OnKey(keyEvent);
printf("nsWidget::DispatchKeyEvent after Key_Down event result=<%d>\n", result);
//printf("nsWidget::DispatchKeyEvent after Key_Down event result=<%d>\n", result);
printf("nsWidget::DispatchKeyEvent Before Key Press\n");
InitKeyEvent(aPhKeyEvent, this, keyEvent, NS_KEY_PRESS);
@ -1786,7 +1786,7 @@ printf("nsWidget::DispatchKeyEvent KeyEvent Info: this=<%p> key_flags=<%lu> key_
w->Release();
printf("nsWidget::DispatchKeyEvent after events result=<%d>\n", result);
//printf("nsWidget::DispatchKeyEvent after events result=<%d>\n", result);
return result;
}
@ -1818,7 +1818,6 @@ PRBool nsWidget::HandleEvent( PtCallbackInfo_t* aCbInfo )
{
PRBool result = PR_FALSE; // call the default nsWindow proc
#if 1
PhEvent_t* event = aCbInfo->event;
switch ( event->type )
{
@ -1870,28 +1869,15 @@ PRBool nsWidget::HandleEvent( PtCallbackInfo_t* aCbInfo )
ScreenToWidget( ptrev->pos );
if( ptrev->buttons & Ph_BUTTON_SELECT ) // Normally the left mouse button
{
if( ptrev->click_count == 2 )
{
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_LEFT_DOUBLECLICK );
}
else
{
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_LEFT_BUTTON_DOWN );
}
}
else if( ptrev->buttons & Ph_BUTTON_MENU ) // the right button
{
if( ptrev->click_count == 2 )
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_RIGHT_DOUBLECLICK );
else
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_RIGHT_BUTTON_DOWN );
}
else // middle button
{
if( ptrev->click_count == 2 )
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MIDDLE_DOUBLECLICK );
else
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MIDDLE_BUTTON_DOWN );
}
@ -1959,90 +1945,6 @@ PRBool nsWidget::HandleEvent( PtCallbackInfo_t* aCbInfo )
}
return result;
#else
PtWidget_t *parent = PtFindContainer( mWidget );
nsWidget * parentWidget = (nsWidget *) GetInstance( parent );
// When we get menu selections, dispatch the menu command (event) AND IF there is
// a menu listener, call "listener->MenuSelected(event)"
if( aCbInfo->reason == Pt_CB_RAW )
{
PhEvent_t* event = aCbInfo->event;
switch( event->type )
{
case Ph_EV_BUT_PRESS:
{
PhPointerEvent_t* ptrev = (PhPointerEvent_t*) PhGetData( event );
if( ptrev )
{
ptrev->pos.x = 1;
ptrev->pos.y = 1;
if( ptrev->buttons & Ph_BUTTON_SELECT ) // Normally the left mouse button
{
if( ptrev->click_count == 2 )
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_LEFT_DOUBLECLICK );
else
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_LEFT_BUTTON_DOWN );
}
else if( ptrev->buttons & Ph_BUTTON_MENU ) // the right button
{
if( ptrev->click_count == 2 )
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_RIGHT_DOUBLECLICK );
else
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_RIGHT_BUTTON_DOWN );
}
else // middle button
{
if( ptrev->click_count == 2 )
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_MIDDLE_DOUBLECLICK );
else
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_MIDDLE_BUTTON_DOWN );
}
}
}
break;
case Ph_EV_BUT_RELEASE:
{
PhPointerEvent_t* ptrev = (PhPointerEvent_t*) PhGetData( event );
if (event->subtype==Ph_EV_RELEASE_REAL)
if( ptrev )
{
ptrev->pos.x = 1;
ptrev->pos.y = 1;
if( ptrev->buttons & Ph_BUTTON_SELECT ) // Normally the left mouse button
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_LEFT_BUTTON_UP );
else if( ptrev->buttons & Ph_BUTTON_MENU ) // the right button
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_RIGHT_BUTTON_UP );
else // middle button
result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_MIDDLE_BUTTON_UP );
}
}
break;
case Ph_EV_BOUNDARY:
switch( event->subtype )
{
case Ph_EV_PTR_ENTER:
result = DispatchStandardEvent( NS_MOUSE_ENTER );
break;
case Ph_EV_PTR_LEAVE:
result = DispatchStandardEvent( NS_MOUSE_EXIT );
break;
}
break;
}
}
// return result;
return PR_TRUE;
#endif
}
@ -2194,6 +2096,9 @@ void nsWidget::UpdateWidgetDamage()
extent.ul.y = temp_rect.y + area.pos.y;
extent.lr.x = extent.ul.x + temp_rect.width - 1;
extent.lr.y = extent.ul.y + temp_rect.height - 1;
printf("nsWidget::UpdateWidgetDamaged this=<%p> extent=(%d,%d,%d,%d)\n", this, extent.ul.x, extent.ul.y, extent.lr.x, extent.lr.y);
PtDamageExtent( mWidget, &extent );
}
}
@ -2331,9 +2236,17 @@ int nsWidget::GotFocusCallback( PtWidget_t *widget, void *data, PtCallbackInfo_t
{
nsWidget *pWidget = (nsWidget *) data;
if ( PtIsFocused(widget) != 2)
{
printf("nsWidget::GetFocusCallback Not on focus leaf! PtIsFocused(mWidget)=<%d>\n", PtIsFocused(widget));
return Pt_CONTINUE;
}
PR_LOG(PhWidLog, PR_LOG_DEBUG,("nsWidget::GetFocusCallback pWidget=<%p>\n", pWidget));
pWidget->DispatchStandardEvent(NS_GOTFOCUS);
return Pt_CONTINUE;
}
@ -2342,7 +2255,14 @@ int nsWidget::LostFocusCallback( PtWidget_t *widget, void *data, PtCallbackInfo_
{
nsWidget *pWidget = (nsWidget *) data;
if ( PtIsFocused(widget) != 2)
{
printf("nsWidget::GetFocusCallback Not on focus leaf! PtIsFocused(mWidget)=<%d>\n", PtIsFocused(widget));
return Pt_CONTINUE;
}
PR_LOG(PhWidLog, PR_LOG_DEBUG,("nsWidget::LostFocusCallback pWidget=<%p>\n", pWidget));
pWidget->DispatchStandardEvent(NS_LOSTFOCUS);
return Pt_CONTINUE;

View File

@ -860,7 +860,6 @@ PRBool nsWindow::HandleEvent( PtCallbackInfo_t* aCbInfo )
PRBool result = PR_FALSE; // call the default nsWindow proc
PhEvent_t* event = aCbInfo->event;
#if 1
switch ( event->type )
{
default:
@ -869,134 +868,6 @@ PRBool nsWindow::HandleEvent( PtCallbackInfo_t* aCbInfo )
}
return result;
#else
switch ( event->type )
{
case Ph_EV_KEY:
{
PhKeyEvent_t* keyev = (PhKeyEvent_t*) PhGetData( event );
PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::HandleEvent keyev=<%p>\n", keyev));
result = DispatchKeyEvent(keyev);
}
break;
case Ph_EV_PTR_MOTION_BUTTON:
case Ph_EV_PTR_MOTION_NOBUTTON:
{
PhPointerEvent_t* ptrev = (PhPointerEvent_t*) PhGetData( event );
nsMouseEvent theMouseEvent;
if( ptrev )
{
ScreenToWidget( ptrev->pos );
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MOVE );
//result = DispatchMouseEvent( ptrev->pos, NS_MOUSE_MOVE );
result = DispatchMouseEvent(theMouseEvent);
}
}
break;
case Ph_EV_BUT_PRESS:
{
PhPointerEvent_t* ptrev = (PhPointerEvent_t*) PhGetData( event );
nsMouseEvent theMouseEvent;
if( ptrev )
{
printf( "nsWindow::HandleEvent Window mouse click: (%ld,%ld)\n", ptrev->pos.x, ptrev->pos.y );
ScreenToWidget( ptrev->pos );
if( ptrev->buttons & Ph_BUTTON_SELECT ) // Normally the left mouse button
{
if( ptrev->click_count == 2 )
{
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_LEFT_DOUBLECLICK );
}
else
{
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_LEFT_BUTTON_DOWN );
}
}
else if( ptrev->buttons & Ph_BUTTON_MENU ) // the right button
{
if( ptrev->click_count == 2 )
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_RIGHT_DOUBLECLICK );
else
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_RIGHT_BUTTON_DOWN );
}
else // middle button
{
if( ptrev->click_count == 2 )
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MIDDLE_DOUBLECLICK );
else
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MIDDLE_BUTTON_DOWN );
}
result = DispatchMouseEvent(theMouseEvent);
}
}
break;
case Ph_EV_BUT_RELEASE:
{
PhPointerEvent_t* ptrev = (PhPointerEvent_t*) PhGetData( event );
nsMouseEvent theMouseEvent;
if (event->subtype==Ph_EV_RELEASE_REAL)
{
if (ptrev)
{
ScreenToWidget( ptrev->pos );
if ( ptrev->buttons & Ph_BUTTON_SELECT ) // Normally the left mouse button
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_LEFT_BUTTON_UP );
else if( ptrev->buttons & Ph_BUTTON_MENU ) // the right button
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_RIGHT_BUTTON_UP );
else // middle button
InitMouseEvent(ptrev, this, theMouseEvent, NS_MOUSE_MIDDLE_BUTTON_UP );
result = DispatchMouseEvent(theMouseEvent);
}
}
}
break;
case Ph_EV_BOUNDARY:
switch( event->subtype )
{
case Ph_EV_PTR_ENTER:
result = DispatchStandardEvent( NS_MOUSE_ENTER );
break;
case Ph_EV_PTR_LEAVE:
result = DispatchStandardEvent( NS_MOUSE_EXIT );
break;
}
break;
case Ph_EV_WM:
{
PhWindowEvent_t* wmev = (PhWindowEvent_t*) PhGetData( event );
printf("nsWindow::HandleEvent Ph_EV_WM this=<%p> subtype=<%d> vent_f=<%d>\n",
this, event->subtype, wmev->event_f);
switch( wmev->event_f )
{
case Ph_WM_FOCUS:
if ( wmev->event_state == Ph_WM_EVSTATE_FOCUS )
result = DispatchStandardEvent(NS_GOTFOCUS);
else
result = DispatchStandardEvent(NS_LOSTFOCUS);
break;
}
}
break;
case Ph_EV_EXPOSE:
printf("nsWindow::HandleEvent Ph_EV_EXPOSE this=<%p> subtype=<%d>\n", this, event->subtype );
result = PR_TRUE;
break;
}
return result;
#endif
}
@ -1058,8 +929,8 @@ PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::RawDrawFunc area+offset=<%d,%d,%d,%d>
#if 0
rect = damage->rect;
#else
PhTile_t *top = damage->next;
// PhTile_t *top = damage->next;
PhTile_t *top = damage;
rect = top->rect;
top=top->next;
while (top)
@ -1100,6 +971,7 @@ PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::RawDrawFunc clipped damage <%d,%d,%d,
nsDmg.height = rect.lr.y - rect.ul.y + 1;
PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::RawDrawFunc nsDmg <%d,%d,%d,%d>\n", nsDmg.x, nsDmg.y, nsDmg.width, nsDmg.height));
printf("nsWindow::RawDrawFunc nsDmg <%d,%d,%d,%d>\n", nsDmg.x, nsDmg.y, nsDmg.width, nsDmg.height);
if(( nsDmg.width <= 0 ) || ( nsDmg.height <= 0 ))
return;
@ -1109,19 +981,15 @@ PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::RawDrawFunc nsDmg <%d,%d,%d,%d>\n", n
pev.rect = &nsDmg;
pev.eventStructType = NS_PAINT_EVENT;
#if 1
pev.point.x = nsDmg.x;
pev.point.y = nsDmg.y;
PRInt32 x,y,w,h;
pWin->mUpdateArea->GetBoundingBox(&x,&y,&w,&h);
PR_LOG(PhWidLog, PR_LOG_DEBUG, ("nsWindow::RawDrawFunc MUpdateArea BoundingBox <%d,%d,%d,%d>\n", x,y,w,h));
pev.rect = new nsRect(nsDmg.x, nsDmg.y, nsDmg.width, nsDmg.height);
// pev.rect = new nsRect(x,y,w,h);
//#endif
//#if 0
// call the event callback
if (pWin->mEventCallback)