mirror of https://github.com/MLXXXp/Arduboy2.git
Add more Doxygen cross-referencing
Also: - Rearrange the order of some member function declarations. - Minor documentation changes.
This commit is contained in:
parent
1264edc748
commit
e78e7c9d55
|
@ -441,10 +441,19 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \details
|
* \details
|
||||||
* The entire contents of the screen buffer are cleared to BLACK.
|
* The entire contents of the screen buffer are cleared to BLACK.
|
||||||
*
|
*
|
||||||
* \see display(bool)
|
* \see display(bool) fillScreen()
|
||||||
*/
|
*/
|
||||||
void clear();
|
void clear();
|
||||||
|
|
||||||
|
/** \brief
|
||||||
|
* Fill the screen buffer with the specified color.
|
||||||
|
*
|
||||||
|
* \param color The fill color (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see clear()
|
||||||
|
*/
|
||||||
|
void fillScreen(uint8_t color = WHITE);
|
||||||
|
|
||||||
/** \brief
|
/** \brief
|
||||||
* Copy the contents of the display buffer to the display.
|
* Copy the contents of the display buffer to the display.
|
||||||
*
|
*
|
||||||
|
@ -507,6 +516,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param y0 The Y coordinate of the circle's center.
|
* \param y0 The Y coordinate of the circle's center.
|
||||||
* \param r The radius of the circle in pixels.
|
* \param r The radius of the circle in pixels.
|
||||||
* \param color The circle's color (optional; defaults to WHITE).
|
* \param color The circle's color (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see fillCircle()
|
||||||
*/
|
*/
|
||||||
void drawCircle(int16_t x0, int16_t y0, uint8_t r, uint8_t color = WHITE);
|
void drawCircle(int16_t x0, int16_t y0, uint8_t r, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -517,6 +528,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param y0 The Y coordinate of the circle's center.
|
* \param y0 The Y coordinate of the circle's center.
|
||||||
* \param r The radius of the circle in pixels.
|
* \param r The radius of the circle in pixels.
|
||||||
* \param color The circle's color (optional; defaults to WHITE).
|
* \param color The circle's color (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see drawCircle()
|
||||||
*/
|
*/
|
||||||
void fillCircle(int16_t x0, int16_t y0, uint8_t r, uint8_t color = WHITE);
|
void fillCircle(int16_t x0, int16_t y0, uint8_t r, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -531,20 +544,11 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* Draw a line from the start point to the end point using
|
* Draw a line from the start point to the end point using
|
||||||
* Bresenham's algorithm.
|
* Bresenham's algorithm.
|
||||||
* The start and end points can be at any location with respect to the other.
|
* The start and end points can be at any location with respect to the other.
|
||||||
|
*
|
||||||
|
* \see drawFastHLine() drawFastVLine()
|
||||||
*/
|
*/
|
||||||
void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint8_t color = WHITE);
|
void drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint8_t color = WHITE);
|
||||||
|
|
||||||
/** \brief
|
|
||||||
* Draw a rectangle of a specified width and height.
|
|
||||||
*
|
|
||||||
* \param x The X coordinate of the upper left corner.
|
|
||||||
* \param y The Y coordinate of the upper left corner.
|
|
||||||
* \param w The width of the rectangle.
|
|
||||||
* \param h The height of the rectangle.
|
|
||||||
* \param color The color of the pixel (optional; defaults to WHITE).
|
|
||||||
*/
|
|
||||||
void drawRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
|
||||||
|
|
||||||
/** \brief
|
/** \brief
|
||||||
* Draw a vertical line.
|
* Draw a vertical line.
|
||||||
*
|
*
|
||||||
|
@ -552,6 +556,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param y The Y coordinate of the upper start point.
|
* \param y The Y coordinate of the upper start point.
|
||||||
* \param h The height of the line.
|
* \param h The height of the line.
|
||||||
* \param color The color of the line (optional; defaults to WHITE).
|
* \param color The color of the line (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see drawFastHLine() drawLine()
|
||||||
*/
|
*/
|
||||||
void drawFastVLine(int16_t x, int16_t y, uint8_t h, uint8_t color = WHITE);
|
void drawFastVLine(int16_t x, int16_t y, uint8_t h, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -562,9 +568,24 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param y The Y coordinate of the left start point.
|
* \param y The Y coordinate of the left start point.
|
||||||
* \param w The width of the line.
|
* \param w The width of the line.
|
||||||
* \param color The color of the line (optional; defaults to WHITE).
|
* \param color The color of the line (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see drawFastVLine() drawLine()
|
||||||
*/
|
*/
|
||||||
void drawFastHLine(int16_t x, int16_t y, uint8_t w, uint8_t color = WHITE);
|
void drawFastHLine(int16_t x, int16_t y, uint8_t w, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
/** \brief
|
||||||
|
* Draw a rectangle of a specified width and height.
|
||||||
|
*
|
||||||
|
* \param x The X coordinate of the upper left corner.
|
||||||
|
* \param y The Y coordinate of the upper left corner.
|
||||||
|
* \param w The width of the rectangle.
|
||||||
|
* \param h The height of the rectangle.
|
||||||
|
* \param color The color of the pixel (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see fillRect() drawRoundRect() fillRoundRect()
|
||||||
|
*/
|
||||||
|
void drawRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
||||||
|
|
||||||
/** \brief
|
/** \brief
|
||||||
* Draw a filled-in rectangle of a specified width and height.
|
* Draw a filled-in rectangle of a specified width and height.
|
||||||
*
|
*
|
||||||
|
@ -573,16 +594,11 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param w The width of the rectangle.
|
* \param w The width of the rectangle.
|
||||||
* \param h The height of the rectangle.
|
* \param h The height of the rectangle.
|
||||||
* \param color The color of the pixel (optional; defaults to WHITE).
|
* \param color The color of the pixel (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see drawRect() drawRoundRect() fillRoundRect()
|
||||||
*/
|
*/
|
||||||
void fillRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
void fillRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
||||||
|
|
||||||
/** \brief
|
|
||||||
* Fill the screen buffer with the specified color.
|
|
||||||
*
|
|
||||||
* \param color The fill color (optional; defaults to WHITE).
|
|
||||||
*/
|
|
||||||
void fillScreen(uint8_t color = WHITE);
|
|
||||||
|
|
||||||
/** \brief
|
/** \brief
|
||||||
* Draw a rectangle with rounded corners.
|
* Draw a rectangle with rounded corners.
|
||||||
*
|
*
|
||||||
|
@ -592,6 +608,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param h The height of the rectangle.
|
* \param h The height of the rectangle.
|
||||||
* \param r The radius of the semicircles forming the corners.
|
* \param r The radius of the semicircles forming the corners.
|
||||||
* \param color The color of the rectangle (optional; defaults to WHITE).
|
* \param color The color of the rectangle (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see fillRoundRect() drawRect() fillRect()
|
||||||
*/
|
*/
|
||||||
void drawRoundRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t r, uint8_t color = WHITE);
|
void drawRoundRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t r, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -604,6 +622,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \param h The height of the rectangle.
|
* \param h The height of the rectangle.
|
||||||
* \param r The radius of the semicircles forming the corners.
|
* \param r The radius of the semicircles forming the corners.
|
||||||
* \param color The color of the rectangle (optional; defaults to WHITE).
|
* \param color The color of the rectangle (optional; defaults to WHITE).
|
||||||
|
*
|
||||||
|
* \see drawRoundRect() drawRect() fillRect()
|
||||||
*/
|
*/
|
||||||
void fillRoundRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t r, uint8_t color = WHITE);
|
void fillRoundRect(int16_t x, int16_t y, uint8_t w, uint8_t h, uint8_t r, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -617,6 +637,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \details
|
* \details
|
||||||
* A triangle is drawn by specifying each of the three corner locations.
|
* A triangle is drawn by specifying each of the three corner locations.
|
||||||
* The corners can be at any position with respect to the others.
|
* The corners can be at any position with respect to the others.
|
||||||
|
*
|
||||||
|
* \see fillTriangle()
|
||||||
*/
|
*/
|
||||||
void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color = WHITE);
|
void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -630,6 +652,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \details
|
* \details
|
||||||
* A triangle is drawn by specifying each of the three corner locations.
|
* A triangle is drawn by specifying each of the three corner locations.
|
||||||
* The corners can be at any position with respect to the others.
|
* The corners can be at any position with respect to the others.
|
||||||
|
*
|
||||||
|
* \see drawTriangle()
|
||||||
*/
|
*/
|
||||||
void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color = WHITE);
|
void fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -654,6 +678,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* least significant bit at the top.
|
* least significant bit at the top.
|
||||||
*
|
*
|
||||||
* The array must be located in program memory by using the PROGMEM modifier.
|
* The array must be located in program memory by using the PROGMEM modifier.
|
||||||
|
*
|
||||||
|
* \see drawCompressed() drawSlowXYBitmap() Sprites
|
||||||
*/
|
*/
|
||||||
static void drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
static void drawBitmap(int16_t x, int16_t y, const uint8_t *bitmap, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -683,6 +709,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* slower than `drawBitmap()`, which uses bitmaps that are stored in a format
|
* slower than `drawBitmap()`, which uses bitmaps that are stored in a format
|
||||||
* that allows them to be directly written to the screen. It is recommended
|
* that allows them to be directly written to the screen. It is recommended
|
||||||
* you use `drawBitmap()` when possible.
|
* you use `drawBitmap()` when possible.
|
||||||
|
*
|
||||||
|
* \see drawBitmap() drawCompressed()
|
||||||
*/
|
*/
|
||||||
void drawSlowXYBitmap(int16_t x, int16_t y, const uint8_t *bitmap, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
void drawSlowXYBitmap(int16_t x, int16_t y, const uint8_t *bitmap, uint8_t w, uint8_t h, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -709,6 +737,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* C source code for a command line program named `Cabi`, which can convert
|
* C source code for a command line program named `Cabi`, which can convert
|
||||||
* a PNG bitmap image file to source code suitable for use with
|
* a PNG bitmap image file to source code suitable for use with
|
||||||
* `drawCompressed()`, is included in the `extras` directory of the library.
|
* `drawCompressed()`, is included in the `extras` directory of the library.
|
||||||
|
*
|
||||||
|
* \see drawBitmap() drawSlowXYBitmap()
|
||||||
*/
|
*/
|
||||||
static void drawCompressed(int16_t sx, int16_t sy, const uint8_t *bitmap, uint8_t color = WHITE);
|
static void drawCompressed(int16_t sx, int16_t sy, const uint8_t *bitmap, uint8_t color = WHITE);
|
||||||
|
|
||||||
|
@ -755,7 +785,7 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* \details
|
* \details
|
||||||
* Set the frame rate, in frames per second, used by `nextFrame()` to update
|
* Set the frame rate, in frames per second, used by `nextFrame()` to update
|
||||||
* frames at a given rate. If this function or `setFrameDuration()`
|
* frames at a given rate. If this function or `setFrameDuration()`
|
||||||
* isn't used, the default rate will be 60 (actually 62.5, see note below).
|
* isn't used, the default rate will be 60 (actually 62.5; see note below).
|
||||||
*
|
*
|
||||||
* Normally, the frame rate would be set to the desired value once, at the
|
* Normally, the frame rate would be set to the desired value once, at the
|
||||||
* start of the game, but it can be changed at any time to alter the frame
|
* start of the game, but it can be changed at any time to alter the frame
|
||||||
|
@ -802,7 +832,8 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
*
|
*
|
||||||
* \details
|
* \details
|
||||||
* When this function returns `true`, the amount of time has elapsed to
|
* When this function returns `true`, the amount of time has elapsed to
|
||||||
* display the next frame, as specified by `setFrameRate()`.
|
* display the next frame, as specified by `setFrameRate()` or
|
||||||
|
* `setFrameDuration()`.
|
||||||
*
|
*
|
||||||
* This function will normally be called at the start of the rendering loop
|
* This function will normally be called at the start of the rendering loop
|
||||||
* which would wait for `true` to be returned before rendering and
|
* which would wait for `true` to be returned before rendering and
|
||||||
|
@ -834,18 +865,20 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* development of a sketch. It does the same thing as `nextFrame()` but
|
* development of a sketch. It does the same thing as `nextFrame()` but
|
||||||
* additionally will light the yellow TX LED (at the bottom, to the left
|
* additionally will light the yellow TX LED (at the bottom, to the left
|
||||||
* of the USB connector) whenever a frame takes longer to generate than the
|
* of the USB connector) whenever a frame takes longer to generate than the
|
||||||
* time allotted per frame, as determined by the `setFrameRate()` function.
|
* time allotted per frame, as determined by the `setFrameRate()` or
|
||||||
|
* `setFrameDuration()` function.
|
||||||
*
|
*
|
||||||
* Therefore, whenever the TX LED comes on (while not communicating over
|
* Therefore, whenever the TX LED comes on (while not communicating over
|
||||||
* USB), it indicates that the sketch is running slower than the desired
|
* USB), it indicates that the sketch is running slower than the desired
|
||||||
* rate set by `setFrameRate()`. In this case the developer may wish to set
|
* rate set by `setFrameRate()` or `setFrameDuration()`. In this case the
|
||||||
* a slower frame rate, or reduce or optimize the code for such frames.
|
* developer may wish to set a slower frame rate, or reduce or optimize the
|
||||||
|
* code for such frames.
|
||||||
*
|
*
|
||||||
* \note
|
* \note
|
||||||
* Once a sketch is ready for release, it would be expected that
|
* Once a sketch is ready for release, it would be expected that
|
||||||
* `nextFrameDEV()` calls be restored to `nextFrame()`.
|
* `nextFrameDEV()` calls be restored to `nextFrame()`.
|
||||||
*
|
*
|
||||||
* \see nextFrame() cpuLoad() setFrameRate()
|
* \see nextFrame() cpuLoad() setFrameRate() setFrameDuration()
|
||||||
*/
|
*/
|
||||||
bool nextFrameDEV();
|
bool nextFrameDEV();
|
||||||
|
|
||||||
|
@ -872,7 +905,7 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* }
|
* }
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* \see setFrameRate() nextFrame()
|
* \see setFrameRate() setFrameDuration() nextFrame()
|
||||||
*/
|
*/
|
||||||
bool everyXFrames(uint8_t frames);
|
bool everyXFrames(uint8_t frames);
|
||||||
|
|
||||||
|
@ -895,7 +928,7 @@ class Arduboy2Base : public Arduboy2Core
|
||||||
* that the frame rate should be made slower or the frame processing code
|
* that the frame rate should be made slower or the frame processing code
|
||||||
* should be optimized to run faster.
|
* should be optimized to run faster.
|
||||||
*
|
*
|
||||||
* \see setFrameRate() nextFrame()
|
* \see nextFrameDEV() setFrameRate() setFrameDuration() nextFrame()
|
||||||
*/
|
*/
|
||||||
int cpuLoad();
|
int cpuLoad();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue