aboutsummaryrefslogtreecommitdiff
path: root/cores/wiring/Sprite.h
diff options
context:
space:
mode:
authorDavid A. Mellis <d.mellis@arduino.cc>2007-10-06 14:47:50 +0000
committerDavid A. Mellis <d.mellis@arduino.cc>2007-10-06 14:47:50 +0000
commit5f3976696ddf5d02ea7e6f805ce655e1f281e6ed (patch)
tree547c97780b4a79c5fac43ebcd017ddfb9b73971c /cores/wiring/Sprite.h
parent72e9f39fbde96b484338cbbd785680e5ab4a2e72 (diff)
Moving hardware/targets to hardware/cores.
Diffstat (limited to 'cores/wiring/Sprite.h')
-rw-r--r--cores/wiring/Sprite.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/cores/wiring/Sprite.h b/cores/wiring/Sprite.h
new file mode 100644
index 0000000..9c612dd
--- /dev/null
+++ b/cores/wiring/Sprite.h
@@ -0,0 +1,49 @@
+/*
+ Sprite.cpp - 2D sprite buffers library for Arduino & Wiring
+ Copyright (c) 2006 David A. Mellis. All right reserved.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef Sprite_h
+#define Sprite_h
+
+#include <inttypes.h>
+
+#include "Binary.h"
+
+class Sprite
+{
+ private:
+ uint8_t _width;
+ uint8_t _height;
+ uint8_t _depth;
+ uint8_t _ppb;
+ uint8_t _bpr;
+ uint8_t _mask;
+ uint8_t *_buffer;
+
+ void init(uint8_t width, uint8_t height);
+ public:
+ Sprite(uint8_t width, uint8_t height);
+ Sprite(uint8_t width, uint8_t height, uint8_t row, ...);
+ uint8_t width() const;
+ uint8_t height() const;
+ void write(int8_t x, int8_t y, uint8_t value);
+ uint8_t read(int8_t x, int8_t y) const;
+};
+
+#endif
+