decoration.hh (910B)
1 #ifndef __WINSYS_DECORATION_H_GUARD__ 2 #define __WINSYS_DECORATION_H_GUARD__ 3 4 #include "geometry.hh" 5 6 #include <optional> 7 8 namespace winsys 9 { 10 11 typedef unsigned Color; 12 13 struct ColorScheme final 14 { 15 static const ColorScheme DEFAULT_COLOR_SCHEME; 16 17 Color focused; 18 Color fdisowned; 19 Color fsticky; 20 Color unfocused; 21 Color udisowned; 22 Color usticky; 23 Color urgent; 24 }; 25 26 struct Border final 27 { 28 unsigned width; 29 ColorScheme colors; 30 }; 31 32 struct Frame final 33 { 34 Extents extents; 35 ColorScheme colors; 36 }; 37 38 struct Decoration final 39 { 40 static const Decoration NO_DECORATION; 41 static const Decoration FREE_DECORATION; 42 43 std::optional<Border> border; 44 std::optional<Frame> frame; 45 46 const Extents extents() const; 47 }; 48 49 } 50 51 #endif//__WINSYS_DECORATION_H_GUARD__