28
28
#include <Nux/CairoWrapper.h>
29
29
#include <Nux/ToggleButton.h>
30
30
#include <Nux/View.h>
32
#include "FilterWidget.h"
31
#include <UnityCore/Filter.h>
39
enum class MultiRangeSide
38
enum class MultiRangeSide : unsigned int
46
enum class MultiRangeArrow
45
enum class MultiRangeArrow : unsigned int
73
void RedrawTheme(nux::Geometry const& geom, cairo_t* cr, nux::ButtonVisualState faked_state);
74
void RedrawTheme(nux::Geometry const& geom,
76
nux::ButtonVisualState faked_state,
77
MultiRangeArrow faked_arrow,
78
MultiRangeSide faked_side);
80
void RedrawFocusOverlay(nux::Geometry const& geom,
82
MultiRangeArrow faked_arrow,
83
MultiRangeSide faked_side);
74
85
void OnActivated(nux::Area* area);
75
86
void OnActiveChanged(bool value);
77
88
FilterOption::Ptr filter_;
79
90
typedef std::unique_ptr<nux::CairoWrapper> NuxCairoPtr;
83
NuxCairoPtr prelight_;
91
typedef std::pair<MultiRangeArrow, MultiRangeSide> MapKey;
93
std::map<MapKey, NuxCairoPtr> active_;
94
std::map<MapKey, NuxCairoPtr> focus_;
95
std::map<MapKey, NuxCairoPtr> normal_;
96
std::map<MapKey, NuxCairoPtr> prelight_;
84
98
nux::Geometry cached_geometry_;
85
99
MultiRangeArrow has_arrow_;
86
100
MultiRangeSide side_;