Pebble Foundation Classes  0.2.0
C++ for Pebble
pebble_text_layer.hpp
1 #pragma once
2 
3 namespace Pebble {
4 
5 class TextLayer : public Layer
6 {
7 public:
8  TextLayer(GRect frame) : Layer((text_layer_ = text_layer_create(frame), text_layer_get_layer(text_layer_))) { }
9 
10  TextLayer() : TextLayer(GRect(0, 0, 0, 0)) {}
11 
13  virtual ~TextLayer() {
14  text_layer_destroy(text_layer_);
15  }
16 
18  inline operator ::TextLayer*() { return text_layer_; }
19 
20  inline GSize GetContentSize() const { return text_layer_get_content_size(text_layer_); }
21 
22  inline const char* GetText() const { return text_layer_get_text(text_layer_); }
23 
24  inline void SetBackgroundColor(GColor color) { text_layer_set_background_color(text_layer_, color); }
25 
26  inline void SetTextColor(GColor color) { text_layer_set_text_color(text_layer_, color); }
27 
28  inline void SetText(const char* text) { text_layer_set_text(text_layer_, text); }
29 
30  inline void SetFont(GFont font) { text_layer_set_font(text_layer_, font); }
31 
32  inline void SetFont(const char* font_key) { SetFont(fonts_get_system_font(font_key)); }
33 
34  inline void SetOverflowMode(GTextOverflowMode line_mode) { text_layer_set_overflow_mode(text_layer_, line_mode); }
35 
36  inline void SetSize(const GSize max_size) { text_layer_set_size(text_layer_, max_size); }
37 
38  inline void SetTextAlignment(GTextAlignment text_alignment) { text_layer_set_text_alignment(text_layer_, text_alignment); }
39 
40  inline void SizeToContent() { text_layer_set_size(text_layer_, text_layer_get_content_size(text_layer_)); }
41 
42 protected:
43  // The layer pointer
44  ::TextLayer *text_layer_;
45 };
46 
47 }
Pebble::Layer
Definition: pebble_layer.hpp:34
Pebble::Layer::Layer
Layer(::Layer *layer)
Wraps an existing TextLayer.
Definition: pebble_layer.hpp:38
GFont
FontInfo * GFont
Definition: pebble.h:4615
text_layer_create
TextLayer * text_layer_create(GRect frame)
GSize
Represents a 2-dimensional size.
Definition: pebble.h:3336
text_layer_set_font
void text_layer_set_font(TextLayer *text_layer, GFont font)
text_layer_get_layer
Layer * text_layer_get_layer(TextLayer *text_layer)
GTextAlignment
GTextAlignment
Definition: pebble.h:4676
text_layer_get_content_size
GSize text_layer_get_content_size(TextLayer *text_layer)
text_layer_set_text
void text_layer_set_text(TextLayer *text_layer, const char *text)
Pebble::TextLayer::~TextLayer
virtual ~TextLayer()
Destroys the underlying TextLayer.
Definition: pebble_text_layer.hpp:13
text_layer_set_background_color
void text_layer_set_background_color(TextLayer *text_layer, GColor color)
Pebble::GSize
Definition: pebble_graphics_types.hpp:5
Pebble::TextLayer
Definition: pebble_text_layer.hpp:5
text_layer_set_text_alignment
void text_layer_set_text_alignment(TextLayer *text_layer, GTextAlignment text_alignment)
fonts_get_system_font
GFont fonts_get_system_font(const char *font_key)
text_layer_destroy
void text_layer_destroy(TextLayer *text_layer)
Destroys a TextLayer previously created by text_layer_create.
Pebble::GRect
Definition: pebble_graphics_types.hpp:71
text_layer_set_text_color
void text_layer_set_text_color(TextLayer *text_layer, GColor color)
text_layer_set_size
void text_layer_set_size(TextLayer *text_layer, const GSize max_size)
GRect
struct GRect GRect
text_layer_set_overflow_mode
void text_layer_set_overflow_mode(TextLayer *text_layer, GTextOverflowMode line_mode)
text_layer_get_text
const char * text_layer_get_text(TextLayer *text_layer)
GColor8
Definition: pebble.h:3268
GTextOverflowMode
GTextOverflowMode
Definition: pebble.h:4660