4
* Copyright (C) 2011 Tim Marston <tim@ed.am> and Dan Marston.
6
* This file is part of propeller-clock (hereafter referred to as "this
7
* program"). See http://ed.am/dev/software/arduino/propeller-clock for more
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published
12
* by the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
23
#ifndef _TEXT_RENDERER_H_
24
#define _TEXT_RENDERER_H_
30
#define MESSAGE_BUFFER_LEN 32
33
namespace TextRenderer
42
* Get the width, in pexels, of a message.
44
* @param message_len the length of the message
46
int get_width( int message_len );
49
* Draw a column of pixels at pixel-offset x in the message.
51
* @param message the message
52
* @param message_len the length of the message (to save it being
54
* @param x the pixel column of the message to draw
55
* @param y_flip true to draw up-side down
56
* @param y_shift shift the drawing up/down
58
void render( const char *message, int message_len, int x,
59
bool y_flip, int y_shift );
62
* Reset the output buffer.
68
* Notify renderer that the output buffer will require rendering.
74
* Output the output buffer (and reset the output buffer).
79
* Get the font number in use.
86
* Switch to the next font.
93
#endif //_TEXT_RENDERER_H_