Graphics Primitives

This page contains information for the Graphics Library found in Microchip Libraries for Applications (MLA). It is not relevant for the MPLAB® Harmony Graphics Library.

What are Graphics Primitives

Graphics Primitives

Graphics Primitives are non-interactive rudimentary elements displayed on a screen. Several primitive elements can be combined together to create a complex image. Graphics primitive elements are used by both Microchip Harmony and MLA applications.

Graphics primitives include:

  • Lines, Circles, Arcs, Rectangles, etc.
  • Character Fonts
  • Imported Images

In order to include Graphics Primitives in a project both gfx_primitive.h and gfx_primitive.c files must be included in the project.

Care should be taken regarding the use of Graphics Primitives in an application. Graphics primitives are easy to understand and program. New-to-graphics designers tend to over use graphics primitives in displaying dynamic data. Primitives are primarily used in introduction or "splash" screens. Graphics Objects are best used to display dynamic data and retrieve user input from touch screens.

Primitive Elements


Setup Functions:

DRVgfx_Initialize() - Initializes the display driver. This function must be called before any graphics element can be displayed.

GFX_Primitive_Initialize() - Initializes the primitive layer software allowing the primitive's drawing functions to operate.

GFX_ColorSet(color) - Sets the drawing color. The value of the color is set by the RGB565 macro and can be found in GFXColor.h.

GFX_ScreenClear() - Clears screen with current color then places the cursor at (0,0).

GFX_LineStyleSet(key) - Establishes that any line to be drawn has the attribute set by the key. The options for keys are:

GFX_LINE_STYLE_THIN_SOLID solid line, 1 pixel wide (default)
GFX_LINE_STYLE_THIN_DOTTED dotted line, 1 pixel wide
GFX_LINE_STYLE_THIN_DASHED dashed line, 1 pixel wide
GFX_LINE_STYLE_THICK_SOLID solid line, 3 pixels wide (default)
GFX_LINE_STYLE_THICK_DOTTED dotted line, 3 pixels wide
GFX_LINE_STYLE_THICK_DASHED dashed line, 3 pixels wide

Drawing Functions:

GFX_LineDraw(unit16 x1, unit16 y1, unit16 x2, unit16 y2) draws a line from x1,y1 to x2,y2, and leaves the cursor at the end point of the line.


GFX_RectangleDraw(unit16_t Left, unit16_t Top, unit16_t Right, unit16_t Bottom) draws a rectangle using the current line type, and co-ordinates for top, left, right and bottom.


GFX_RectangleRoundDraw(top, left, bottom, right, radius) renders a rectangular shape with rounded corner using the given left, top, right, bottom and radius parameters to define the shape dimension. Radius defines the rounded corner shape. When = x2 and y1 = y2, a circular object is drawn. When x1 < x2 and y1 < y2 and rad (radius) = 0, a rectangular object is drawn.


GFX_RectangleRoundFillDraw(top, left, bottom, right, radius) draws a filled beveled figure on the screen. For a filled circular object use top = bottom, and left =right. For a filled rectangular object, use radius = 0.


GFX_CircleDraw(x,y,radius) draws a circle with the given radius and center point using the current line type.
GFX_CircleFillDraw(x,y,radius) draws a circle filled with the current color.


RectangleFillDraw(left,top,right,bottom) draws a solid rectangle using the current color within the coordinates.

To get a complete list of all Graphics Primitive functions, open GFX_help.png help_mlagfx.jar
located in..microchip/mla/vYYYY_MM_DD/doc…
© 2017 Microchip Technology, Inc.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.