~smspillaz/unity/untiy.less-paint-insanity

« back to all changes in this revision

Viewing changes to plugins/unityshell/src/FilterMultiRangeButton.h

  • Committer: Daniel van Vugt
  • Date: 2012-03-14 06:24:18 UTC
  • mfrom: (2108 unity)
  • mto: This revision was merged to the branch mainline in revision 2146.
  • Revision ID: daniel.van.vugt@canonical.com-20120314062418-nprucpbr0m7qky5e
MergedĀ latestĀ lp:unity

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#include <Nux/CairoWrapper.h>
29
29
#include <Nux/ToggleButton.h>
30
30
#include <Nux/View.h>
31
 
 
32
 
#include "FilterWidget.h"
 
31
#include <UnityCore/Filter.h>
33
32
 
34
33
namespace unity
35
34
{
36
35
namespace dash
37
36
{
38
37
 
39
 
enum class MultiRangeSide
 
38
enum class MultiRangeSide : unsigned int
40
39
{
41
 
  LEFT,
 
40
  LEFT = 0,
42
41
  RIGHT,
43
42
  CENTER
44
43
};
45
44
 
46
 
enum class MultiRangeArrow
 
45
enum class MultiRangeArrow : unsigned int
47
46
{
48
 
  LEFT,
 
47
  LEFT = 0,
49
48
  RIGHT,
50
49
  BOTH,
51
50
  NONE
70
69
 
71
70
private:
72
71
  void InitTheme();
73
 
  void RedrawTheme(nux::Geometry const& geom, cairo_t* cr, nux::ButtonVisualState faked_state);
 
72
  void Init();
 
73
 
 
74
  void RedrawTheme(nux::Geometry const& geom,
 
75
                   cairo_t* cr,
 
76
                   nux::ButtonVisualState faked_state,
 
77
                   MultiRangeArrow faked_arrow,
 
78
                   MultiRangeSide faked_side);
 
79
 
 
80
  void RedrawFocusOverlay(nux::Geometry const& geom,
 
81
                          cairo_t* cr,
 
82
                          MultiRangeArrow faked_arrow,
 
83
                          MultiRangeSide faked_side);
 
84
 
74
85
  void OnActivated(nux::Area* area);
75
86
  void OnActiveChanged(bool value);
76
87
 
77
88
  FilterOption::Ptr filter_;
78
89
 
79
90
  typedef std::unique_ptr<nux::CairoWrapper> NuxCairoPtr;
80
 
 
81
 
  NuxCairoPtr active_;
82
 
  NuxCairoPtr normal_;
83
 
  NuxCairoPtr prelight_;
 
91
  typedef std::pair<MultiRangeArrow, MultiRangeSide> MapKey;
 
92
 
 
93
  std::map<MapKey, NuxCairoPtr> active_;
 
94
  std::map<MapKey, NuxCairoPtr> focus_;
 
95
  std::map<MapKey, NuxCairoPtr> normal_;
 
96
  std::map<MapKey, NuxCairoPtr> prelight_;
 
97
 
84
98
  nux::Geometry cached_geometry_;
85
99
  MultiRangeArrow has_arrow_;
86
100
  MultiRangeSide side_;