Ngo Kien / Graphics

Dependents:   SignalProcessLab DigitalSignalAlgorithm_Lab DigitalSignal_Lab

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GeometricPrim.h Source File

GeometricPrim.h

00001 /*
00002     GeometricPrim.h - Geometric primitives class declaration
00003 
00004     Copyright(c) 2016 karpent at gmail.com, MIT License
00005 
00006     Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"),
00007     to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
00008     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 :
00009 
00010     The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
00011 
00012     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00013     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
00014     OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
00015     THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00016 */
00017 
00018 #pragma once
00019 
00020 #include "GeometricPrimBase.h"
00021 
00022 /// <summary>
00023 /// Geometric primitives class
00024 /// </summary>
00025 /// <seealso cref="GeometricPrimBase" />
00026 class GeometricPrim : public GeometricPrimBase
00027 {
00028 public:
00029     /// <summary>
00030     /// Initializes a new instance of the <see cref="GeometricPrim"/> class.
00031     /// </summary>
00032     GeometricPrim();
00033 
00034     /// <summary>
00035     /// Finalizes an instance of the <see cref="GeometricPrim"/> class.
00036     /// </summary>
00037     ~GeometricPrim();
00038 
00039     /// <summary>
00040     /// Draws the line.
00041     /// </summary>
00042     /// <param name="startX">The start x.</param>
00043     /// <param name="startY">The start y.</param>
00044     /// <param name="endX">The end x.</param>
00045     /// <param name="endY">The end y.</param>
00046     void virtual DrawLine(int startX, int startY, int endX, int endY);
00047 
00048     /// <summary>
00049     /// Draws the circle.
00050     /// </summary>
00051     /// <param name="posX">The position x.</param>
00052     /// <param name="posY">The position y.</param>
00053     /// <param name="radius">The radius.</param>
00054     void virtual DrawCircle(int posX, int posY, uint16_t radius);
00055 
00056     /// <summary>
00057     /// Draws the rectangle.
00058     /// </summary>
00059     /// <param name="startX">The start x.</param>
00060     /// <param name="startY">The start y.</param>
00061     /// <param name="endX">The end x.</param>
00062     /// <param name="endY">The end y.</param>
00063     void virtual DrawRectangle(int startX, int startY, int endX, int endY);
00064 
00065     /// <summary>
00066     /// Draws the triangle.
00067     /// </summary>
00068     /// <param name="x1">The x1.</param>
00069     /// <param name="y1">The y1.</param>
00070     /// <param name="x2">The x2.</param>
00071     /// <param name="y2">The y2.</param>
00072     /// <param name="x3">The x3.</param>
00073     /// <param name="y3">The y3.</param>
00074     void virtual DrawTriangle(int x1, int y1, int x2, int y2, int x3, int y3);
00075 
00076 };
00077