Shows how to use a display, the onboard SD Card and the onboard SPI Flash. Requires a display module with direct Arduino pinning
Dependencies: DmTftLibrary SDFileSystem mbed
DmDrawBmpBase.h@0:3ecd25651727, 2014-05-20 (annotated)
- Committer:
- displaymodule
- Date:
- Tue May 20 10:30:34 2014 +0000
- Revision:
- 0:3ecd25651727
First version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
displaymodule | 0:3ecd25651727 | 1 | /********************************************************************************************** |
displaymodule | 0:3ecd25651727 | 2 | Copyright (c) 2014 DisplayModule. All rights reserved. |
displaymodule | 0:3ecd25651727 | 3 | |
displaymodule | 0:3ecd25651727 | 4 | Redistribution and use of this source code, part of this source code or any compiled binary |
displaymodule | 0:3ecd25651727 | 5 | based on this source code is permitted as long as the above copyright notice and following |
displaymodule | 0:3ecd25651727 | 6 | disclaimer is retained. |
displaymodule | 0:3ecd25651727 | 7 | |
displaymodule | 0:3ecd25651727 | 8 | DISCLAIMER: |
displaymodule | 0:3ecd25651727 | 9 | THIS SOFTWARE IS SUPPLIED "AS IS" WITHOUT ANY WARRANTIES AND SUPPORT. DISPLAYMODULE ASSUMES |
displaymodule | 0:3ecd25651727 | 10 | NO RESPONSIBILITY OR LIABILITY FOR THE USE OF THE SOFTWARE. |
displaymodule | 0:3ecd25651727 | 11 | ********************************************************************************************/ |
displaymodule | 0:3ecd25651727 | 12 | |
displaymodule | 0:3ecd25651727 | 13 | #ifndef DM_DRAW_BMP_BASE_h |
displaymodule | 0:3ecd25651727 | 14 | #define DM_DRAW_BMP_BASE_h |
displaymodule | 0:3ecd25651727 | 15 | |
displaymodule | 0:3ecd25651727 | 16 | #include "dm_platform.h" |
displaymodule | 0:3ecd25651727 | 17 | #include "DmTftBase.h" |
displaymodule | 0:3ecd25651727 | 18 | |
displaymodule | 0:3ecd25651727 | 19 | |
displaymodule | 0:3ecd25651727 | 20 | typedef bool (*readFunc)(uint32_t userData, uint8_t* data, int offset, int numBytes); |
displaymodule | 0:3ecd25651727 | 21 | |
displaymodule | 0:3ecd25651727 | 22 | class DmDrawBmpBase { |
displaymodule | 0:3ecd25651727 | 23 | public: |
displaymodule | 0:3ecd25651727 | 24 | bool drawBitmap(DmTftBase& tft, uint16_t x, uint16_t y, readFunc func, uint32_t userData=0); |
displaymodule | 0:3ecd25651727 | 25 | protected: |
displaymodule | 0:3ecd25651727 | 26 | bool draw565Bitmap(DmTftBase& tft, uint16_t x, uint16_t y); |
displaymodule | 0:3ecd25651727 | 27 | bool draw888Bitmap(DmTftBase& tft, uint16_t x, uint16_t y); |
displaymodule | 0:3ecd25651727 | 28 | //virtual void setPosition(uint32_t newPosition) = 0; |
displaymodule | 0:3ecd25651727 | 29 | uint16_t read16(); |
displaymodule | 0:3ecd25651727 | 30 | |
displaymodule | 0:3ecd25651727 | 31 | void printBmpHeaderInfo(); |
displaymodule | 0:3ecd25651727 | 32 | bool readBmpHeader(); |
displaymodule | 0:3ecd25651727 | 33 | bool IsValid888Bitmap(); |
displaymodule | 0:3ecd25651727 | 34 | bool IsValid565Bitmap(); |
displaymodule | 0:3ecd25651727 | 35 | bool Is565ColorMask(); |
displaymodule | 0:3ecd25651727 | 36 | uint16_t Convert888to565(uint8_t red, uint8_t green, uint8_t blue); |
displaymodule | 0:3ecd25651727 | 37 | |
displaymodule | 0:3ecd25651727 | 38 | uint32_t read32(); |
displaymodule | 0:3ecd25651727 | 39 | int32_t readInt32(); |
displaymodule | 0:3ecd25651727 | 40 | |
displaymodule | 0:3ecd25651727 | 41 | uint32_t _fileSize; |
displaymodule | 0:3ecd25651727 | 42 | uint32_t _bitmapOffset; |
displaymodule | 0:3ecd25651727 | 43 | |
displaymodule | 0:3ecd25651727 | 44 | uint32_t _headerSize; |
displaymodule | 0:3ecd25651727 | 45 | int32_t _width, _height; |
displaymodule | 0:3ecd25651727 | 46 | uint16_t _bitsPerPixel; |
displaymodule | 0:3ecd25651727 | 47 | uint32_t _compression; |
displaymodule | 0:3ecd25651727 | 48 | uint32_t _redMask; |
displaymodule | 0:3ecd25651727 | 49 | uint32_t _greenMask; |
displaymodule | 0:3ecd25651727 | 50 | uint32_t _blueMask; |
displaymodule | 0:3ecd25651727 | 51 | |
displaymodule | 0:3ecd25651727 | 52 | readFunc _readFunc; |
displaymodule | 0:3ecd25651727 | 53 | uint32_t _userData; |
displaymodule | 0:3ecd25651727 | 54 | uint32_t _readPos; |
displaymodule | 0:3ecd25651727 | 55 | }; |
displaymodule | 0:3ecd25651727 | 56 | #endif |
displaymodule | 0:3ecd25651727 | 57 |