示例#1
0
 public void Refresh(bool viewSwitched, bool rootNodeChanged)
 {
     this.sceneSwitched   |= viewSwitched;
     this.rootNodeChanged |= rootNodeChanged;
     if (viewSwitched || rootNodeChanged)
     {
         this.dirtyViewState         |= SceneViewModel.ViewStateBits.EntireScene;
         this.dirtyPipelineCalcState |= SceneViewModel.PipelineCalcBits.EntireScene;
     }
     if (this.viewModel == null || this.viewModel.Document == null || this.viewModel.XamlDocument == null)
     {
         return;
     }
     if ((int)this.viewModel.ChangeStamp != (int)this.viewStateChangeStamp)
     {
         this.viewStateChangeStamp = this.viewModel.ChangeStamp;
         this.dirtyViewState      |= this.viewModel.DirtyState;
     }
     if ((int)this.viewModel.XamlDocument.ChangeStamp != (int)this.documentChangeStamp)
     {
         this.documentChangeStamp = this.viewModel.XamlDocument.ChangeStamp;
         this.documentChanges.Merge((DocumentNodeMarkerSortedListOf <DocumentNodeChange>) this.viewModel.Damage, true);
         this.viewModel.AnnotateDamage(this.documentChanges);
     }
     if ((int)this.viewModel.PipelineCalcChangeStamp == (int)this.pipelineCalcChangeStamp)
     {
         return;
     }
     this.pipelineCalcChangeStamp = this.viewModel.PipelineCalcChangeStamp;
     this.dirtyPipelineCalcState |= this.viewModel.DirtyPipelineCalcState;
 }
示例#2
0
 public SceneUpdatePhaseEventArgs(SceneViewModel viewModel, bool sceneSwitched, bool rootNodeChanged)
 {
     this.viewModel       = viewModel;
     this.documentChanges = new DocumentNodeChangeList();
     if (this.viewModel != null)
     {
         this.dirtyViewState       = viewModel.DirtyState;
         this.viewStateChangeStamp = viewModel.ChangeStamp;
         this.documentChanges.Merge((DocumentNodeMarkerSortedListOf <DocumentNodeChange>)viewModel.Damage, false);
         this.documentChangeStamp = viewModel.XamlDocument.ChangeStamp;
         this.viewModel.AnnotateDamage(this.documentChanges);
         this.dirtyPipelineCalcState  = viewModel.DirtyPipelineCalcState;
         this.pipelineCalcChangeStamp = viewModel.PipelineCalcChangeStamp;
     }
     this.sceneSwitched   = sceneSwitched;
     this.rootNodeChanged = rootNodeChanged;
     if (!this.sceneSwitched && !this.rootNodeChanged)
     {
         return;
     }
     this.dirtyViewState         = SceneViewModel.ViewStateBits.EntireScene;
     this.dirtyPipelineCalcState = SceneViewModel.PipelineCalcBits.EntireScene;
 }
示例#3
0
 public bool IsDirtyPipelineCalcState(SceneViewModel.PipelineCalcBits bits)
 {
     return((this.dirtyPipelineCalcState & bits) != SceneViewModel.PipelineCalcBits.None);
 }