jiao/core/
flattenable.rs

1// Copyright (c) 2023 Xu Shaohua <shaohua@biofan.org>. All rights reserved.
2// Use of this source is governed by Lesser General Public License that can be found
3// in the LICENSE file.
4
5// TODO(Shaohua): Make Flattenable inherit from Serialize and Deserialize
6//use serde::{Deserialize, Serialize};
7
8pub enum Type {
9    ColorFilter,
10    Blender,
11    Drawable,
12    DrawLooper, // deprecated, no longer used internally
13    ImageFilter,
14    MaskFilter,
15    PathEffect,
16    Shader,
17}
18
19/// Flattenable is the trait for objects that need to be flattened
20/// into a data stream for either transport or as part of the key to the font cache.
21pub trait Flattenable {
22    fn get_flattenable_type(&self) -> Type;
23}