Library for interfacing to Nokia 5110 LCD display (as found on the SparkFun website).
Diff: Bitmap.h
- Revision:
- 40:c9262294f2e1
- Parent:
- 38:92fad278c2c3
- Child:
- 50:c293d29e035a
--- a/Bitmap.h Wed Mar 08 14:20:01 2017 +0000 +++ b/Bitmap.h Wed Mar 08 15:48:48 2017 +0000 @@ -3,8 +3,37 @@ #include <vector> +// Forward declarations +class N5110; + /** - * A monochrome bitmap drawing + * @brief A black & white bitmap that can be rendered on an N5110 screen + * @author Alex Valavanis <a.valavanis@leeds.ac.uk> + * + * @code + // First declare the pixel map data using '1' for black, + // or '0' for white pixels + static int sprite_data[] = { + 0,0,1,0,0, + 0,1,1,1,0, + 0,0,1,0,0, + 0,1,1,1,0, + 1,1,1,1,1, + 1,1,1,1,1, + 1,1,0,1,1, + 1,1,0,1,1 + }; + + // Instantiate the Bitmap object using the data above + Bitmap sprite(sprite_data, 8, 5); // Specify rows and columns in sprite + + // We can render the bitmap wherever we want on the screen + sprite.render(lcd, 20, 6); // x and y locations for rendering + sprite.render(lcd, 30, 10); + + // We can also print its values to the terminal + sprite.print(); + * @endcode */ class Bitmap { @@ -19,12 +48,18 @@ unsigned int _width; ///< The width of the drawing in pixels public: - Bitmap(std::vector<int> const &contents, - unsigned int const height, - unsigned int const width); + Bitmap(int const *contents, + unsigned int const height, + unsigned int const width); int get_pixel(unsigned int const row, unsigned int const column) const; + + void print() const; + + void render(N5110 &lcd, + unsigned int const x0, + unsigned int const y0) const; }; -#endif // SPRITE_H \ No newline at end of file +#endif // BITMAP_H \ No newline at end of file