Home | History | Annotate | Download | only in sksg

Lines Matching refs:node

14 class Node::ScopedFlag {
16 ScopedFlag(Node* node, uint32_t flag)
17 : fNode(node)
19 , fWasSet(node->fFlags & flag) {
20 node->fFlags |= flag;
31 Node* fNode;
41 Node::Node(uint32_t invalTraits)
47 Node::~Node() {
56 void Node::observeInval(const sk_sp<Node>& node) {
57 SkASSERT(node);
58 if (!(node->fFlags & kObserverArray_Flag)) {
59 if (!node->fInvalObserver) {
60 node->fInvalObserver = this;
64 auto observers = new SkTDArray<Node*>();
66 observers->push(node->fInvalObserver);
68 node->fInvalObserverArray = observers;
69 node->fFlags |= kObserverArray_Flag;
73 SkASSERT(node->fInvalObserverArray->find(this) < 0);
75 node->fInvalObserverArray->push(this);
78 void Node::unobserveInval(const sk_sp<Node>& node) {
79 SkASSERT(node);
80 if (!(node->fFlags & kObserverArray_Flag)) {
81 SkASSERT(node->fInvalObserver == this);
82 node->fInvalObserver = nullptr;
86 const auto idx = node->fInvalObserverArray->find(this);
88 node->fInvalObserverArray->remove(idx);
92 void Node::forEachInvalObserver(Func&& func) const {
105 void Node::invalidate(bool damageBubbling) {
121 forEachInvalObserver([&](Node* observer) {
126 const SkRect& Node::revalidate(InvalidationController* ic, const SkMatrix& ctm) {