blob: 3b4e37b670948452f742fe9ddb5b724b91700993 [file] [log] [blame]
// 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;
}
}