Lines Matching refs:node
18 ScopedFlag(Node* node, uint32_t flag)
19 : fNode(node)
21 , fWasSet(node->fFlags & flag) {
22 node->fFlags |= flag;
59 void Node::observeInval(const sk_sp<Node>& node) {
60 SkASSERT(node);
61 if (!(node->fFlags & kObserverArray_Flag)) {
62 if (!node->fInvalObserver) {
63 node->fInvalObserver = this;
69 observers->push_back(node->fInvalObserver);
71 node->fInvalObserverArray = observers;
72 node->fFlags |= kObserverArray_Flag;
76 SkASSERT(std::find(node->fInvalObserverArray->begin(),
77 node->fInvalObserverArray->end(), this) == node->fInvalObserverArray->end());
79 node->fInvalObserverArray->push_back(this);
82 void Node::unobserveInval(const sk_sp<Node>& node) {
83 SkASSERT(node);
84 if (!(node->fFlags & kObserverArray_Flag)) {
85 SkASSERT(node->fInvalObserver == this);
86 node->fInvalObserver = nullptr;
90 SkDEBUGCODE(const auto origSize = node->fInvalObserverArray->size());
91 node->fInvalObserverArray->erase(std::remove(node->fInvalObserverArray->begin(),
92 node->fInvalObserverArray->end(), this),
93 node->fInvalObserverArray->end());
94 SkASSERT(node->fInvalObserverArray->size() == origSize - 1);