rive_rs/
component_dirt.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

use bitflags::bitflags;

bitflags! {
    #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
    pub struct ComponentDirt: u16 {
        const DEPENDENTS = 0b0000000001;
        /// General flag for components are dirty (if this is up, the update
        /// cycle runs). It gets automatically applied with any other dirt.
        const COMPONENTS = 0b0000000010;
        /// Draw order needs to be re-computed.
        const DRAW_ORDER = 0b0000000100;
        /// Path is dirty and needs to be rebuilt.
        const PATH = 0b0000001000;
        /// Vertices have changed, re-order cached lists.
        const VERTICES = 0b0000010000;
        /// Used by any component that needs to recompute their local transform.
        /// Usually components that have their transform dirty will also have
        /// their worldTransform dirty.
        const TRANSFORM = 0b0000100000;
        /// Used by any component that needs to update its world transform.
        const WORLD_TRANSFORM = 0b0001000000;
        /// Marked when the stored render opacity needs to be updated.
        const RENDER_OPACITY = 0b0010000000;
        /// Dirt used to mark some stored paint needs to be rebuilt or that we
        /// just want to trigger an update cycle so painting occurs.
        const PAINT = 0b0100000000;
        /// Used by the gradients track when the stops need to be re-ordered.
        const STOPS = 0b1000000000;
    }
}