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.
Dependencies: mbed
Fork of el17ajf by
Graphics/Graphics.cpp
- Committer:
- el17ajf
- Date:
- 2019-03-18
- Revision:
- 13:59e17cab320a
- Parent:
- 12:beb0d7632531
- Child:
- 14:53d2167d7c9a
File content as of revision 13:59e17cab320a:
#include "Graphics.h" const int Graphics::SCREEN_HEIGHT = 84; const int Graphics::SCREEN_WIDTH = 48; const int Graphics::BLOCK_SIZE = 4; const int Graphics::BORDER_SIZE = 2; N5110 * Graphics::lcd; void Graphics::init() { lcd = new N5110(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); lcd->init(); lcd->setContrast(0.5); lcd->setBrightness(0); } void Graphics::deinit() { delete lcd; } void Graphics::clear() { lcd->clear(); } void Graphics::render() { lcd->refresh(); } void Graphics::drawPoint(int x, int y) { lcd->setPixel(x, y, true); } void Graphics::drawLine(int x1, int y1, int x2, int y2) { lcd->drawLine(x1, y1, x2, y2, 1); } void Graphics::drawDottedLine(int x1, int y1, int x2, int y2) { lcd->drawLine( y1, x1, y2, x2, 2 // dotted ); } void Graphics::drawBox(int x1, int y1, int x2, int y2) { Graphics::drawLine(x1, y1, x2, y1); Graphics::drawLine(x2, y1, x2, y2); Graphics::drawLine(x2, y2, x1, y2); Graphics::drawLine(x1, y2, x1, y1); } void Graphics::drawBlock(int grid_x, int grid_y) { // screen coords int x = gridYToScreenX(grid_y); int y = gridXToScreenY(grid_x); Graphics::drawBox(x, y, x + 3, y - 3); Graphics::drawPoint(x + 2, y - 2); } void Graphics::drawBorder() { Graphics::drawDottedLine(0, 0, 0, SCREEN_HEIGHT - 1); Graphics::drawDottedLine(1, 1, 1, SCREEN_HEIGHT - 2); Graphics::drawDottedLine(0, SCREEN_HEIGHT - 1, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); Graphics::drawDottedLine(1, SCREEN_HEIGHT - 2, SCREEN_WIDTH - 2, SCREEN_HEIGHT - 2); Graphics::drawDottedLine(SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, SCREEN_WIDTH - 1, 0); Graphics::drawDottedLine(SCREEN_WIDTH - 2, SCREEN_HEIGHT - 2, SCREEN_WIDTH - 2, 1); } int Graphics::gridYToScreenX(int grid_y) { return grid_y * BLOCK_SIZE + BORDER_SIZE; } int Graphics::gridXToScreenY(int grid_x) { return SCREEN_WIDTH - (grid_x * BLOCK_SIZE) - BORDER_SIZE; }