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}