dear_imgui_rs/widget/table/
flags.rs1use crate::sys;
2#[cfg(feature = "serde")]
3use serde::{Deserialize, Serialize};
4
5bitflags::bitflags! {
6 #[repr(transparent)]
8 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
9 pub struct TableRowFlags: i32 {
10 const NONE = 0;
12 const HEADERS = sys::ImGuiTableRowFlags_Headers as i32;
14 }
15}
16
17#[cfg(feature = "serde")]
18impl Serialize for TableRowFlags {
19 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
20 where
21 S: serde::Serializer,
22 {
23 serializer.serialize_i32(self.bits())
24 }
25}
26
27#[cfg(feature = "serde")]
28impl<'de> Deserialize<'de> for TableRowFlags {
29 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
30 where
31 D: serde::Deserializer<'de>,
32 {
33 let bits = i32::deserialize(deserializer)?;
34 Ok(TableRowFlags::from_bits_retain(bits))
35 }
36}
37
38#[repr(i32)]
40#[derive(Copy, Clone, Debug, PartialEq, Eq)]
41#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
42pub enum TableBgTarget {
43 None = sys::ImGuiTableBgTarget_None as i32,
45 RowBg0 = sys::ImGuiTableBgTarget_RowBg0 as i32,
47 RowBg1 = sys::ImGuiTableBgTarget_RowBg1 as i32,
49 CellBg = sys::ImGuiTableBgTarget_CellBg as i32,
51}