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
37
* Get the width, in pexels, of a message.
39
* @param message_len the length of the message
41
int get_width( int message_len );
44
* Draw a column of pixels at pixel-offset x in the message.
46
* @param message the message
47
* @param message_len the length of the message (to save it being
49
* @param x the pixel column of the message to draw
50
* @param y_flip true to draw up-side down
51
* @param y_shift shift the drawing up/down
53
void render( const char *message, int message_len, int x,
54
bool y_flip, int y_shift );
57
* Reset the output buffer.
63
* Notify renderer that the output buffer will require rendering.
69
* Output the output buffer (and reset the output buffer).
74
* Get the font number in use.
81
* Switch to the next font.
88
#endif //_TEXT_RENDERER_H_