static INT_PTR CALLBACK plStealthMouseOverrideProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { IParamMap2 *map = (IParamMap2 *)GetWindowLongPtr( hWnd, GWLP_USERDATA ); switch( msg ) { case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MOUSEMOVE: { // We don't want the COREInterface to process our mouse messages with RollupMouseMessage; // rather, we want IMtlParams to do it just like it would if we could actually call // CreateChildMParamMap2 IParamBlock2 *pb = map->GetParamBlock(); if( pb != nil ) { plAnimStealthNode *stealth = (plAnimStealthNode *)pb->GetOwner(); if( stealth != nil ) { plPassMtlBase *mtl = (plPassMtlBase *)stealth->GetParentMtl(); mtl->fIMtlParams->RollupMouseMessage( hWnd, msg, wParam, lParam ); } } return 0; } } if( sOldStealthDlgProc != nil ) return CallWindowProc( sOldStealthDlgProc, hWnd, msg, wParam, lParam ); else return 0; }
//+--------------------------------------------------------------------------+ //| From ReferenceMaker | //+--------------------------------------------------------------------------+ void PFOperatorForceSpaceWarp::UpdatePViewUI(IParamBlock2* pblock, ParamID updateID) { for(int i=0; i<NumPViewParamMaps(); i++) { IParamMap2* map = GetPViewParamMap(i); if (pblock != map->GetParamBlock()) continue; map->Invalidate(updateID); Interval currentTimeInterval; currentTimeInterval.SetInstant(GetCOREInterface()->GetTime()); map->Validity() = currentTimeInterval; } }