Pebble Foundation Classes  0.2.0
C++ for Pebble
pebble_actionbar_layer.hpp
1 #pragma once
2 
3 #include "pebble.hpp"
4 
5 namespace Pebble {
6 
9 
11 class ActionBarLayer : public Layer
12 {
13 
14 public:
20  ActionBarLayer() : Layer((actionbar_layer_ = action_bar_layer_create(), action_bar_layer_get_layer(actionbar_layer_))) { }
21 
23  virtual ~ActionBarLayer()
24  {
25  action_bar_layer_destroy(actionbar_layer_);
26  }
27 
29  inline operator ::ActionBarLayer*() { return actionbar_layer_; }
30 
40  template<class T>
41  inline void SetClickConfigProvider(T& owner, ::ClickConfigProvider click_config_provider)
42  {
43  action_bar_layer_set_context(actionbar_layer_, &owner);
44  action_bar_layer_set_click_config_provider(actionbar_layer_, click_config_provider);
45  }
46 
55  inline void SetIcon(ButtonId button_id, const GBitmap& icon, bool animated = false)
56  {
57  action_bar_layer_set_icon_animated(actionbar_layer_, button_id, icon, animated);
58  }
59 
62  inline void ClearIcon(ButtonId button_id) { action_bar_layer_clear_icon(actionbar_layer_, button_id); }
63 
83  inline void AddToWindow(Window& window) { action_bar_layer_add_to_window(actionbar_layer_, window); }
84 
89  inline void RemoveFromWindow() { action_bar_layer_remove_from_window(actionbar_layer_); }
90 
97  inline void SetIconPressAnimation(ButtonId button_id, ActionBarLayerIconPressAnimation animation)
98  {
99  action_bar_layer_set_icon_press_animation(actionbar_layer_, button_id, animation);
100  }
101 
102 protected:
103  // The layer pointer
104  ::ActionBarLayer* actionbar_layer_;
105 };
106 
108 
109 }
action_bar_layer_get_layer
Layer * action_bar_layer_get_layer(ActionBarLayer *action_bar_layer)
Pebble::Layer
Definition: pebble_layer.hpp:34
Pebble::ActionBarLayer::SetIconPressAnimation
void SetIconPressAnimation(ButtonId button_id, ActionBarLayerIconPressAnimation animation)
Definition: pebble_actionbar_layer.hpp:97
Pebble::Window
Wraps and existing Pebble window but does not take ownership of it.
Definition: pebble_window.hpp:26
action_bar_layer_add_to_window
void action_bar_layer_add_to_window(ActionBarLayer *action_bar, struct Window *window)
action_bar_layer_set_icon_press_animation
void action_bar_layer_set_icon_press_animation(ActionBarLayer *action_bar, ButtonId button_id, ActionBarLayerIconPressAnimation animation)
Pebble::ActionBarLayer::SetIcon
void SetIcon(ButtonId button_id, const GBitmap &icon, bool animated=false)
Definition: pebble_actionbar_layer.hpp:55
Pebble::ActionBarLayer::ActionBarLayer
ActionBarLayer()
Definition: pebble_actionbar_layer.hpp:20
Pebble::GBitmap
An unowned bitmap.
Definition: pebble_graphics_types.hpp:286
Pebble::ActionBarLayer::~ActionBarLayer
virtual ~ActionBarLayer()
Destroys the underlying Pebble ActionBarLayer.
Definition: pebble_actionbar_layer.hpp:23
ClickConfigProvider
void(* ClickConfigProvider)(void *context)
Definition: pebble.h:4990
Pebble::ActionBarLayer::ClearIcon
void ClearIcon(ButtonId button_id)
Definition: pebble_actionbar_layer.hpp:62
Pebble::ActionBarLayer::RemoveFromWindow
void RemoveFromWindow()
Definition: pebble_actionbar_layer.hpp:89
Pebble::ActionBarLayer::SetClickConfigProvider
void SetClickConfigProvider(T &owner, ::ClickConfigProvider click_config_provider)
Definition: pebble_actionbar_layer.hpp:41
Pebble::ActionBarLayer
Vertical, bar-shaped control widget on the right edge of the window.
Definition: pebble_actionbar_layer.hpp:11
action_bar_layer_destroy
void action_bar_layer_destroy(ActionBarLayer *action_bar_layer)
Destroys a ActionBarLayer previously created by action_bar_layer_create.
Pebble::ActionBarLayer::AddToWindow
void AddToWindow(Window &window)
Definition: pebble_actionbar_layer.hpp:83
action_bar_layer_set_icon_animated
void action_bar_layer_set_icon_animated(ActionBarLayer *action_bar, ButtonId button_id, const GBitmap *icon, bool animated)
action_bar_layer_set_context
void action_bar_layer_set_context(ActionBarLayer *action_bar, void *context)
action_bar_layer_clear_icon
void action_bar_layer_clear_icon(ActionBarLayer *action_bar, ButtonId button_id)
action_bar_layer_set_click_config_provider
void action_bar_layer_set_click_config_provider(ActionBarLayer *action_bar, ClickConfigProvider click_config_provider)
action_bar_layer_remove_from_window
void action_bar_layer_remove_from_window(ActionBarLayer *action_bar)
action_bar_layer_create
ActionBarLayer * action_bar_layer_create(void)
ButtonId
ButtonId
Definition: pebble.h:160