Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Bitmap.cpp
- Revision:
- 38:92fad278c2c3
- Child:
- 40:c9262294f2e1
diff -r 2d5931a66fba -r 92fad278c2c3 Bitmap.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Bitmap.cpp Wed Mar 08 14:12:42 2017 +0000
@@ -0,0 +1,34 @@
+#include "Bitmap.h"
+
+#include <iostream>
+
+Bitmap::Bitmap(std::vector<int> const &contents,
+ unsigned int const height,
+ unsigned int const width)
+ :
+ _contents(contents),
+ _height(height),
+ _width(width)
+{
+ // Perform a quick sanity check of the dimensions
+ if (contents.size() != height * height) {
+ std::cerr << "Contents of bitmap has size " << contents.size()
+ << " pixels, but its dimensions were specified as "
+ << width << " * " << height << " = " << width * height;
+ }
+}
+
+int Bitmap::get_pixel(unsigned int const row,
+ unsigned int const column) const
+{
+ // First check that row and column indices are within bounds
+ if(column >= _width || row >= _height)
+ {
+ std::cerr << "The requested pixel with index " << row << "," << column
+ << "is outside the bitmap dimensions: " << _width << ","
+ << _height;
+ }
+
+ // Now return the pixel value, using row-major indexing
+ return _contents[row * _width + column];
+}
\ No newline at end of file