Tiny graphics library for STM32F746G-DISCO board

Dependents:   RadarDemo 3DDemo RadarDemoT

Committer:
karpent
Date:
Fri Nov 11 12:05:16 2016 +0000
Revision:
3:1ddc4aa1e5cb
Parent:
0:566855d63a2f
Missing method DrawChar() added, DrawText() corrected.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
karpent 0:566855d63a2f 1 /*
karpent 0:566855d63a2f 2 GeometricPrimBase.h - Geometric primitives base class declaration
karpent 0:566855d63a2f 3
karpent 0:566855d63a2f 4 Copyright(c) 2016 karpent at gmail.com, MIT License
karpent 0:566855d63a2f 5
karpent 0:566855d63a2f 6 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"),
karpent 0:566855d63a2f 7 to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
karpent 0:566855d63a2f 8 and / or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions :
karpent 0:566855d63a2f 9
karpent 0:566855d63a2f 10 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
karpent 0:566855d63a2f 11
karpent 0:566855d63a2f 12 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
karpent 0:566855d63a2f 13 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
karpent 0:566855d63a2f 14 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
karpent 0:566855d63a2f 15 THE USE OR OTHER DEALINGS IN THE SOFTWARE.
karpent 0:566855d63a2f 16 */
karpent 0:566855d63a2f 17
karpent 0:566855d63a2f 18 #pragma once
karpent 0:566855d63a2f 19
karpent 0:566855d63a2f 20 #include "stdint.h" // for uint32_t, uint16_t, uint8_t;
karpent 0:566855d63a2f 21
karpent 0:566855d63a2f 22 class GeometricPrimBase
karpent 0:566855d63a2f 23 {
karpent 0:566855d63a2f 24 public:
karpent 0:566855d63a2f 25 /// <summary>
karpent 0:566855d63a2f 26 /// Draws the point.
karpent 0:566855d63a2f 27 /// </summary>
karpent 0:566855d63a2f 28 /// <param name="posX">The position x.</param>
karpent 0:566855d63a2f 29 /// <param name="posY">The position y.</param>
karpent 0:566855d63a2f 30 /// <param name="colorMask">The color mask.</param>
karpent 0:566855d63a2f 31 void virtual DrawPoint(int posX, int posY, uint32_t colorMask) = 0;
karpent 0:566855d63a2f 32
karpent 0:566855d63a2f 33 //void SetDrawColorMask(uint32_t color) = 0;
karpent 0:566855d63a2f 34
karpent 0:566855d63a2f 35 uint32_t virtual GetDrawColor() = 0;
karpent 0:566855d63a2f 36
karpent 0:566855d63a2f 37 /// <summary>
karpent 0:566855d63a2f 38 /// Draws the line.
karpent 0:566855d63a2f 39 /// </summary>
karpent 0:566855d63a2f 40 /// <param name="startX">The start x.</param>
karpent 0:566855d63a2f 41 /// <param name="startY">The start y.</param>
karpent 0:566855d63a2f 42 /// <param name="endX">The end x.</param>
karpent 0:566855d63a2f 43 /// <param name="endY">The end y.</param>
karpent 0:566855d63a2f 44 void virtual DrawLine(int startX, int startY, int endX, int endY) = 0;
karpent 0:566855d63a2f 45
karpent 0:566855d63a2f 46 /// <summary>
karpent 0:566855d63a2f 47 /// Draws the circle.
karpent 0:566855d63a2f 48 /// </summary>
karpent 0:566855d63a2f 49 /// <param name="posX">The position x.</param>
karpent 0:566855d63a2f 50 /// <param name="posY">The position y.</param>
karpent 0:566855d63a2f 51 /// <param name="radius">The radius.</param>
karpent 0:566855d63a2f 52 void virtual DrawCircle(int posX, int posY, uint16_t radius) = 0;
karpent 0:566855d63a2f 53
karpent 0:566855d63a2f 54 /// <summary>
karpent 0:566855d63a2f 55 /// Draws the rectangle.
karpent 0:566855d63a2f 56 /// </summary>
karpent 0:566855d63a2f 57 /// <param name="startX">The start x.</param>
karpent 0:566855d63a2f 58 /// <param name="startY">The start y.</param>
karpent 0:566855d63a2f 59 /// <param name="endX">The end x.</param>
karpent 0:566855d63a2f 60 /// <param name="endY">The end y.</param>
karpent 0:566855d63a2f 61 void virtual DrawRectangle(int startX, int startY, int endX, int endY) = 0;
karpent 0:566855d63a2f 62
karpent 0:566855d63a2f 63 /// <summary>
karpent 0:566855d63a2f 64 /// Draws the triangle.
karpent 0:566855d63a2f 65 /// </summary>
karpent 0:566855d63a2f 66 /// <param name="x1">The x1.</param>
karpent 0:566855d63a2f 67 /// <param name="y1">The y1.</param>
karpent 0:566855d63a2f 68 /// <param name="x2">The x2.</param>
karpent 0:566855d63a2f 69 /// <param name="y2">The y2.</param>
karpent 0:566855d63a2f 70 /// <param name="x3">The x3.</param>
karpent 0:566855d63a2f 71 /// <param name="y3">The y3.</param>
karpent 0:566855d63a2f 72 void virtual DrawTriangle(int x1, int y1, int x2, int y2, int x3, int y3) = 0;
karpent 0:566855d63a2f 73 };
karpent 0:566855d63a2f 74