Pebble Foundation Classes  0.2.0
C++ for Pebble
pebble_clicks.hpp
1 #pragma once
2 
3 namespace Pebble {
4 
51 
59 {
60 public:
63  ClickRecognizer(::ClickRecognizerRef recognizer) : recognizer_(recognizer) {}
64 
66  inline operator ::ClickRecognizerRef() { return recognizer_; }
67 
72  inline uint8_t NumberOfClicksCounted() { return click_number_of_clicks_counted(recognizer_); }
73 
77  inline ButtonId GetButtonId() { return click_recognizer_get_button_id(recognizer_); }
78 
82  inline bool IsRepeating() { return click_recognizer_is_repeating(recognizer_); }
83 
84 protected:
85  // The underlying recognizer
86  ::ClickRecognizerRef recognizer_;
87 
88 };
89 
91 {
92 public:
100  inline void LongClick(ButtonId button_id, uint16_t delay_ms, ::ClickHandler down_handler, ::ClickHandler up_handler) const
101  {
102  window_long_click_subscribe(button_id, delay_ms, down_handler, up_handler);
103  }
104 
113  inline void MultiClick(ButtonId button_id, uint8_t min_clicks, uint8_t max_clicks, uint16_t timeout, bool last_click_only, ::ClickHandler handler) const
114  {
115  window_multi_click_subscribe(button_id, min_clicks, max_clicks, timeout, last_click_only, handler);
116  }
117 
125  inline void RawClick(ButtonId button_id, ::ClickHandler down_handler, ::ClickHandler up_handler) const
126  {
127  window_raw_click_subscribe(button_id, down_handler, up_handler, NULL);
128  }
129 
140  inline void SingleClick(ButtonId button_id, ::ClickHandler handler) const
141  {
142  window_single_click_subscribe(button_id, handler);
143  }
144 
155  inline void SingleRepeatingClick(ButtonId button_id, uint16_t repeat_interval_ms, ::ClickHandler handler) const
156  {
157  window_single_repeating_click_subscribe(button_id, repeat_interval_ms, handler);
158  }
159 };
160 
162 
163 }
Pebble::ClickConfig::MultiClick
void MultiClick(ButtonId button_id, uint8_t min_clicks, uint8_t max_clicks, uint16_t timeout, bool last_click_only, ::ClickHandler handler) const
Definition: pebble_clicks.hpp:113
Pebble::ClickConfig::LongClick
void LongClick(ButtonId button_id, uint16_t delay_ms, ::ClickHandler down_handler, ::ClickHandler up_handler) const
Definition: pebble_clicks.hpp:100
ClickHandler
void(* ClickHandler)(ClickRecognizerRef recognizer, void *context)
Definition: pebble.h:4977
Pebble::ClickConfig::SingleRepeatingClick
void SingleRepeatingClick(ButtonId button_id, uint16_t repeat_interval_ms, ::ClickHandler handler) const
Definition: pebble_clicks.hpp:155
window_single_click_subscribe
void window_single_click_subscribe(ButtonId button_id, ClickHandler handler)
Pebble::ClickConfig
Definition: pebble_clicks.hpp:90
click_recognizer_is_repeating
bool click_recognizer_is_repeating(ClickRecognizerRef recognizer)
click_recognizer_get_button_id
ButtonId click_recognizer_get_button_id(ClickRecognizerRef recognizer)
Pebble::ClickRecognizer::NumberOfClicksCounted
uint8_t NumberOfClicksCounted()
Definition: pebble_clicks.hpp:72
Pebble::ClickRecognizer
Definition: pebble_clicks.hpp:58
Pebble::ClickConfig::RawClick
void RawClick(ButtonId button_id, ::ClickHandler down_handler, ::ClickHandler up_handler) const
Definition: pebble_clicks.hpp:125
window_raw_click_subscribe
void window_raw_click_subscribe(ButtonId button_id, ClickHandler down_handler, ClickHandler up_handler, void *context)
Pebble::ClickRecognizer::GetButtonId
ButtonId GetButtonId()
Definition: pebble_clicks.hpp:77
Pebble::ClickRecognizer::ClickRecognizer
ClickRecognizer(::ClickRecognizerRef recognizer)
Definition: pebble_clicks.hpp:63
window_long_click_subscribe
void window_long_click_subscribe(ButtonId button_id, uint16_t delay_ms, ClickHandler down_handler, ClickHandler up_handler)
click_number_of_clicks_counted
uint8_t click_number_of_clicks_counted(ClickRecognizerRef recognizer)
ClickRecognizerRef
void * ClickRecognizerRef
Definition: pebble.h:4970
Pebble::ClickConfig::SingleClick
void SingleClick(ButtonId button_id, ::ClickHandler handler) const
Definition: pebble_clicks.hpp:140
window_multi_click_subscribe
void window_multi_click_subscribe(ButtonId button_id, uint8_t min_clicks, uint8_t max_clicks, uint16_t timeout, bool last_click_only, ClickHandler handler)
Pebble::ClickRecognizer::IsRepeating
bool IsRepeating()
Definition: pebble_clicks.hpp:82
window_single_repeating_click_subscribe
void window_single_repeating_click_subscribe(ButtonId button_id, uint16_t repeat_interval_ms, ClickHandler handler)
ButtonId
ButtonId
Definition: pebble.h:160