Library release of Simon Ford's GraphicsDisplay Display Library Base Class.

Dependents:   ese_project_copy ese_project_share Test_ColorMemLCD rIoTwear_LCD ... more

Revision:
1:1cb0fcbce1bf
Parent:
0:282710e02ef4
--- a/GraphicsDisplay.h	Wed Jan 21 19:40:58 2015 +0000
+++ b/GraphicsDisplay.h	Fri Jan 23 20:21:32 2015 +0000
@@ -16,26 +16,112 @@
 
 #include "TextDisplay.h"
 
+/** A common base class for Graphics displays
+*/
 class GraphicsDisplay : public TextDisplay {
 
 public:         
           
+    /** Create a GraphicsDisplay interface
+    * @param name The name used by the parent class to access the interface
+    */
     GraphicsDisplay(const char* name);
      
+    // functions needing implementation in derived implementation class
+    // ----------------------------------------------------------------
+    /** Draw a pixel in the specified color.
+    * @note this method must be supported in the derived class.
+    * @param x is the horizontal offset to this pixel.
+    * @param y is the vertical offset to this pixel.
+    * @param colour defines the color for the pixel.
+    */
     virtual void pixel(int x, int y, int colour) = 0;
+
+    /** get the screen width in pixels
+    * @note this method must be supported in the derived class.
+    * @returns screen width in pixels.
+    */
     virtual int width() = 0;
+
+    /** get the screen height in pixels
+    * @note this method must be supported in the derived class.
+    * @returns screen height in pixels.
+    */
     virtual int height() = 0;
         
+    // functions that come for free, but can be overwritten
+    // ----------------------------------------------------
+    /** Set the window, which controls where items are written to the screen.
+    * When something hits the window width, it wraps back to the left side
+    * and down a row. If the initial write is outside the window, it will
+    * be captured into the window when it crosses a boundary.
+    * @param x is the left edge in pixels.
+    * @param y is the top edge in pixels.
+    * @param w is the window width in pixels.
+    * @param h is the window height in pixels.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void window(int x, int y, int w, int h);
+
+    /** Put a single pixel at the current pixel location
+    * and update the pixel location based on window settings.
+    * @param colour is the pixel colour.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void putp(int colour);
     
+    /** clear the entire screen
+    */
     virtual void cls();
+
+    /** Fill a region using a single colour.
+    * @param x is the left-edge of the region.
+    * @param y is the top-edge of the region.
+    * @param w specifies the width of the region.
+    * @param h specifies the height of the region.
+    * @param colour is the fill colour.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void fill(int x, int y, int w, int h, int colour);
+
+    /** Fill a region using an array.
+    * @param x is the left-edge of the region.
+    * @param y is the top-edge of the region.
+    * @param w specifies the width of the region.
+    * @param h specifies the height of the region.
+    * @param colour is a pointer to the array with size = w * h.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void blit(int x, int y, int w, int h, const int *colour);    
+
+    /** Fill a region using a font array.
+    * @param x is the left-edge of the region.
+    * @param y is the top-edge of the region.
+    * @param w specifies the width of the region.
+    * @param h specifies the height of the region.
+    * @param colour is a pointer to the font array.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void blitbit(int x, int y, int w, int h, const char* colour);
     
+    /** Print one character at the specified row, column.
+    * @param column is the horizontal character position.
+    * @param row is the vertical character position.
+    * @param value is the character to print.
+    * @note this method may be overridden in a derived class.
+    */
     virtual void character(int column, int row, int value);
+
+    /** Get the number of columns based on the currently active font.
+    * @returns number of columns.
+    * @note this method may be overridden in a derived class.
+    */
     virtual int columns();
+
+    /** Get the number of rows based on the currently active font.
+    * @returns number of rows.
+    * @note this method may be overridden in a derived class.
+    */
     virtual int rows();
     
 protected: