Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libg15render(3)		   Library Functions Manual	       libg15render(3)

NAME
       libg15render - Render text and graphics to a buffer usable by libg15(3)
       or g15daemon(1).

SYNOPSIS
       #include	<libg15render.h>

   Data	Structures
       struct g15canvas
	   This	structure holds	the data need to render	objects	to the LCD
	   screen.

   Defines
       #define BYTE_SIZE   8
       #define G15_BUFFER_LEN	1048
       #define G15_COLOR_BLACK	 1
       #define G15_COLOR_WHITE	 0
       #define G15_LCD_HEIGHT	43
       #define G15_LCD_OFFSET	32
       #define G15_LCD_WIDTH   160
       #define G15_MAX_FACE   5
       #define G15_PIXEL_FILL	1
       #define G15_PIXEL_NOFILL	  0
       #define G15_TEXT_LARGE	2
       #define G15_TEXT_MED   1
       #define G15_TEXT_SMALL	0

   Functions
       void g15r_clearScreen (g15canvas	*canvas, int color)
	   Fills the screen with pixels	of color.
       void g15r_drawBar (g15canvas *canvas, int x1, int y1, int x2, int y2,
	   int color, int num, int max,	int type)
	   Draws a completion bar.
       void g15r_drawBigNum (g15canvas *canvas,	unsigned int x1, unsigned int
	   y1, unsigned	int x2,	unsigned int y2, int num)
	   Draw	a large	number.
       void g15r_drawCircle (g15canvas *canvas,	int x, int y, int r, int fill,
	   int color)
	   Draws a circle centered at (x, y) with a radius of r.
       void g15r_drawIcon (g15canvas *canvas, char *buf, int my_x, int my_y,
	   int width, int height)
	   Draw	an icon	to the screen from a wbmp buffer.
       void g15r_drawLine (g15canvas *canvas, int px1, int py1,	int px2, int
	   py2,	const int color)
	   Draws a line	from (px1, py1)	to (px2, py2).
       void g15r_drawRoundBox (g15canvas *canvas, int x1, int y1, int x2, int
	   y2, int fill, int color)
	   Draws a box with rounded corners bounded by (x1, y1)	and (x2, y2).
       void g15r_drawSprite (g15canvas *canvas,	char *buf, int my_x, int my_y,
	   int width, int height, int start_x, int start_y, int	total_width)
	   Draw	a sprite to the	screen from a wbmp buffer.
       int g15r_getPixel (g15canvas *canvas, unsigned int x, unsigned int y)
	   Gets	the value of the pixel at (x, y).
       void g15r_initCanvas (g15canvas *canvas)
	   Clears the canvas and resets	the mode switches.
       int g15r_loadWbmpSplash (g15canvas *canvas, char	*filename)
	   Draw	a splash screen	from 160x43 wbmp file.
       int g15r_loadWbmpToBuf (char *buf, char *filename, int *img_width, int
	   *img_height,	int maxlen)
	   Load	a wbmp file into a buffer.
       void g15r_pixelBox (g15canvas *canvas, int x1, int y1, int x2, int y2,
	   int color, int thick, int fill)
	   Draws a box bounded by (x1, y1) and (x2, y2).
       void g15r_pixelOverlay (g15canvas *canvas, int x1, int y1, int width,
	   int height, short colormap[])
	   Overlays a bitmap of	size width x height starting at	(x1, y1).
       void g15r_pixelReverseFill (g15canvas *canvas, int x1, int y1, int x2,
	   int y2, int fill, int color)
	   Fills an area bounded by (x1, y1) and (x2, y2).
       void g15r_renderCharacterLarge (g15canvas *canvas, int x, int y,
	   unsigned char character, unsigned int sx, unsigned int sy)
	   Renders a character in the large font at (x,	y).
       void g15r_renderCharacterMedium (g15canvas *canvas, int x, int y,
	   unsigned char character, unsigned int sx, unsigned int sy)
	   Renders a character in the meduim font at (x, y).
       void g15r_renderCharacterSmall (g15canvas *canvas, int x, int y,
	   unsigned char character, unsigned int sx, unsigned int sy)
	   Renders a character in the small font at (x,	y).
       void g15r_renderString (g15canvas *canvas, unsigned char	stringOut[],
	   int row, int	size, unsigned int sx, unsigned	int sy)
	   Renders a string with font size in row.
       void g15r_setPixel (g15canvas *canvas, unsigned int x, unsigned int y,
	   int val)
	   Sets	the value of the pixel at (x, y).
       void g15r_ttfLoad (g15canvas *canvas, char *fontname, int fontsize, int
	   face_num)
	   Loads a font	through	the FreeType2 library.
       void g15r_ttfPrint (g15canvas *canvas, int x, int y, int	fontsize, int
	   face_num, int color,	int center, char *print_string)
	   Prints a string in a	given font.

   Variables
       unsigned	char fontdata_6x4 []
	   Font	data for the small (6x4) font.
       unsigned	char fontdata_7x5 []
	   Font	data for the medium (7x5) font.
       unsigned	char fontdata_8x8 []
	   Font	data for the large (8x8) font.

Define Documentation
   #define BYTE_SIZE   8
       Definition at line 21 of	file libg15render.h.

       Referenced by g15r_drawIcon(), g15r_drawSprite(), g15r_getPixel(),
       g15r_loadWbmpToBuf(), and g15r_setPixel().

   #define G15_BUFFER_LEN   1048
       Definition at line 22 of	file libg15render.h.

       Referenced by g15r_clearScreen(), g15r_initCanvas(), and
       g15r_loadWbmpSplash().

   #define G15_COLOR_BLACK   1
       Definition at line 27 of	file libg15render.h.

       Referenced by g15r_drawBigNum(),	g15r_drawRoundBox(),
       g15r_pixelOverlay(), g15r_renderCharacterLarge(),
       g15r_renderCharacterMedium(), and g15r_renderCharacterSmall().

   #define G15_COLOR_WHITE   0
       Definition at line 26 of	file libg15render.h.

       Referenced by g15r_drawBigNum(),	g15r_drawRoundBox(),
       g15r_pixelOverlay(), g15r_renderCharacterLarge(),
       g15r_renderCharacterMedium(), and g15r_renderCharacterSmall().

   #define G15_LCD_HEIGHT   43
       Definition at line 24 of	file libg15render.h.

       Referenced by g15r_getPixel(), and g15r_setPixel().

   #define G15_LCD_OFFSET   32
       Definition at line 23 of	file libg15render.h.

   #define G15_LCD_WIDTH   160
       Definition at line 25 of	file libg15render.h.

       Referenced by g15r_getPixel(), and g15r_setPixel().

   #define G15_MAX_FACE	  5
       Definition at line 33 of	file libg15render.h.

       Referenced by g15r_ttfLoad().

   #define G15_PIXEL_FILL   1
       Definition at line 32 of	file libg15render.h.

   #define G15_PIXEL_NOFILL   0
       Definition at line 31 of	file libg15render.h.

   #define G15_TEXT_LARGE   2
       Definition at line 30 of	file libg15render.h.

       Referenced by g15r_renderString().

   #define G15_TEXT_MED	  1
       Definition at line 29 of	file libg15render.h.

       Referenced by g15r_renderString().

   #define G15_TEXT_SMALL   0
       Definition at line 28 of	file libg15render.h.

       Referenced by g15r_renderString().

Function Documentation
   void	g15r_clearScreen (g15canvas * canvas, int color)
       Fills the screen	with pixels of color.

       Clears the screen and fills it with pixels of color

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   color Screen	will be	filled with this color.

       Definition at line 80 of	file screen.c.

       References g15canvas::buffer, and G15_BUFFER_LEN.

   void	g15r_drawBar (g15canvas	* canvas, int x1, int y1, int x2, int y2, int
       color, int num, int max,	int type)
       Draws a completion bar.

       Given a maximum value, and a value between 0 and	that maximum value,
       calculate and draw a bar	showing	that percentage.

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines leftmost bound of	the bar.
	   y1 Defines uppermost	bound of the bar.
	   x2 Defines rightmost	bound of the bar.
	   y2 Defines bottommost bound of the bar.
	   color The bar will be drawn this color.
	   num Number of units relative	to max filled.
	   max Number of units equal to	100% filled.
	   type	Type of	bar. 1=solid bar, 2=solid bar with border, 3 = solid
	   bar with I-frame.

       Definition at line 337 of file pixel.c.

       References g15r_drawLine(), and g15r_pixelBox().

   void	g15r_drawBigNum	(g15canvas * canvas, unsigned int x1, unsigned int y1,
       unsigned	int x2,	unsigned int y2, int num)
       Draw a large number.

       Draw a large number to a	canvas

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines leftmost bound of	the number.
	   y1 Defines uppermost	bound of the number.
	   x2 Defines rightmost	bound of the number.
	   y2 Defines bottommost bound of the number.
	   num The number to be	drawn.

       Definition at line 542 of file pixel.c.

       References G15_COLOR_BLACK, G15_COLOR_WHITE, and	g15r_pixelBox().

   void	g15r_drawCircle	(g15canvas * canvas, int x, int	y, int r, int fill,
       int color)
       Draws a circle centered at (x, y) with a	radius of r.

       Draws a circle centered at (x, y) with a	radius of r.

       The circle will be filled if fill != 0.

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x Defines horizontal	center of the circle.
	   y Defines vertical center of	circle.
	   r Defines radius of circle.
	   fill	The circle will	be filled with color if	fill !=	0.
	   color Lines defining	the circle will	be drawn this color.

       Definition at line 203 of file pixel.c.

       References g15r_drawLine(), and g15r_setPixel().

   void	g15r_drawIcon (g15canvas * canvas, char	* buf, int my_x, int my_y, int
       width, int height)
       Draw an icon to the screen from a wbmp buffer.

       Draw an icon to a canvas

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated in is found.
	   buf A pointer to the	buffer holding the icon	to be displayed.
	   my_x	Leftmost boundary of image.
	   my_y	Topmost	boundary of image.
	   width Width of the image in buf.
	   height Height of the	image in buf.

       Definition at line 408 of file pixel.c.

       References BYTE_SIZE, and g15r_setPixel().

   void	g15r_drawLine (g15canvas * canvas, int px1, int	py1, int px2, int py2,
       const int color)
       Draws a line from (px1, py1) to (px2, py2).

       A line of color is drawn	from (px1, py1)	to (px2, py2).

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   px1 X component of point 1.
	   py1 Y component of point 1.
	   px2 X component of point 2.
	   py2 Y component of point 2.
	   color Line will be drawn this color.

       Definition at line 99 of	file pixel.c.

       References g15r_setPixel(), and swap().

       Referenced by g15r_drawBar(), g15r_drawCircle(),	g15r_drawRoundBox(),
       and g15r_pixelBox().

   void	g15r_drawRoundBox (g15canvas * canvas, int x1, int y1, int x2, int y2,
       int fill, int color)
       Draws a box with	rounded	corners	bounded	by (x1,	y1) and	(x2, y2).

       Draws a rounded box around the area bounded by (x1, y1) and (x2,	y2).

       The box will be filled if fill != 0.

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines leftmost bound of	the box.
	   y1 Defines uppermost	bound of the box.
	   x2 Defines rightmost	bound of the box.
	   y2 Defines bottommost bound of the box.
	   fill	The box	will be	filled with color if fill != 0.
	   color Lines defining	the box	will be	drawn this color.

       Definition at line 252 of file pixel.c.

       References G15_COLOR_BLACK, G15_COLOR_WHITE, g15r_drawLine(), and
       g15r_setPixel().

   void	g15r_drawSprite	(g15canvas * canvas, char * buf, int my_x, int my_y,
       int width, int height, int start_x, int start_y,	int total_width)
       Draw a sprite to	the screen from	a wbmp buffer.

       Draw a sprite to	a canvas

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated in is found.
	   buf A pointer to the	buffer holding a set of	sprites.
	   my_x	Leftmost boundary of image.
	   my_y	Topmost	boundary of image.
	   width Width of the sprite.
	   height Height of the	sprite.
	   start_x X offset for	reading	sprite from buf.
	   start_y Y offset for	reading	sprite from buf.
	   total_width Width of	the set	of sprites held	in buf.

       Definition at line 440 of file pixel.c.

       References BYTE_SIZE, and g15r_setPixel().

   int g15r_getPixel (g15canvas	* canvas, unsigned int x, unsigned int y)
       Gets the	value of the pixel at (x, y).

       Retrieves the value of the pixel	at (x, y)

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x X offset for pixel	to be retrieved.
	   y Y offset for pixel	to be retrieved.

       Definition at line 29 of	file screen.c.

       References g15canvas::buffer, BYTE_SIZE,	G15_LCD_HEIGHT,	and
       G15_LCD_WIDTH.

       Referenced by g15r_pixelReverseFill(), and g15r_setPixel().

   void	g15r_initCanvas	(g15canvas * canvas)
       Clears the canvas and resets the	mode switches.

       Clears the screen and resets the	mode values for	a canvas

       Parameters:
	   canvas A pointer to a g15canvas struct

       Definition at line 91 of	file screen.c.

       References g15canvas::buffer, g15canvas::ftLib, G15_BUFFER_LEN,
       g15canvas::mode_cache, g15canvas::mode_reverse, and
       g15canvas::mode_xor.

   int g15r_loadWbmpSplash (g15canvas *	canvas,	char * filename)
       Draw a splash screen from 160x43	wbmp file.

       wbmp splash screen loader - assumes image is 160x43

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   filename A string holding the path to the wbmp to be	displayed.

       Definition at line 385 of file pixel.c.

       References g15canvas::buffer, G15_BUFFER_LEN, and g15r_loadWbmpToBuf().

   int g15r_loadWbmpToBuf (char	* buf, char * filename,	int * img_width, int *
       img_height, int maxlen)
       Load a wbmp file	into a buffer.

       basic wbmp loader - loads wbmp into pre-prepared	buf.

       Parameters:
	   buf A pointer to the	buffer into which the wbmp will	be loaded.
	   filename A string holding the path to the wbmp to be	loaded.
	   img_width A pointer to an int that will hold	the image width	on
	   return.
	   img_height A	pointer	to an int that will hold the image height on
	   return.
	   maxlen The maximum number of	bytes that should be read from
	   filename.

       Definition at line 468 of file pixel.c.

       References BYTE_SIZE.

       Referenced by g15r_loadWbmpSplash().

   void	g15r_pixelBox (g15canvas * canvas, int x1, int y1, int x2, int y2, int
       color, int thick, int fill)
       Draws a box bounded by (x1, y1) and (x2,	y2).

       Draws a box around the area bounded by (x1, y1) and (x2,	y2).

       The box will be filled if fill != 0 and the sides will be thick pixels
       wide.

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines leftmost bound of	the box.
	   y1 Defines uppermost	bound of the box.
	   x2 Defines rightmost	bound of the box.
	   y2 Defines bottommost bound of the box.
	   color Lines defining	the box	will be	drawn this color.
	   thick Lines defining	the box	will be	this many pixels thick.
	   fill	The box	will be	filled with color if fill != 0.

       Definition at line 163 of file pixel.c.

       References g15r_drawLine(), and g15r_setPixel().

       Referenced by g15r_drawBar(), and g15r_drawBigNum().

   void	g15r_pixelOverlay (g15canvas * canvas, int x1, int y1, int width, int
       height, short colormap[])
       Overlays	a bitmap of size width x height	starting at (x1, y1).

       A 1-bit bitmap defined in colormap[] is drawn to	the canvas with	an
       upper left corner at (x1, y1) and a lower right corner at (x1+width,
       y1+height).

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines the leftmost bound of the	area to	be drawn.
	   y1 Defines the uppermost bound of the area to be drawn.
	   width Defines the width of the bitmap to be drawn.
	   height Defines the height of	the bitmap to be drawn.
	   colormap An array containing	width*height entries of	value 0	for
	   pixel off or	!= 0 for pixel on.

       Definition at line 74 of	file pixel.c.

       References G15_COLOR_BLACK, G15_COLOR_WHITE, and	g15r_setPixel().

   void	g15r_pixelReverseFill (g15canvas * canvas, int x1, int y1, int x2, int
       y2, int fill, int color)
       Fills an	area bounded by	(x1, y1) and (x2, y2).

       The area	with an	upper left corner at (x1, y1) and lower	right corner
       at (x2, y2) will	be filled with color if	fill>0 or the current contents
       of the area will	be reversed if fill==0.

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x1 Defines leftmost bound of	area to	be filled.
	   y1 Defines uppermost	bound of area to be filled.
	   x2 Defines rightmost	bound of area to be filled.
	   y2 Defines bottommost bound of area to be filled.
	   fill	Area will be filled with color if fill != 0, else contents of
	   area	will have color	values reversed.
	   color If fill != 0, then area will be filled	if color == 1 and
	   emptied if color == 0.

       Definition at line 45 of	file pixel.c.

       References g15r_getPixel(), and g15r_setPixel().

   void	g15r_renderCharacterLarge (g15canvas * canvas, int x, int y, unsigned
       char character, unsigned	int sx,	unsigned int sy)
       Renders a character in the large	font at	(x, y).

       Definition at line 22 of	file text.c.

       References fontdata_8x8,	G15_COLOR_BLACK, G15_COLOR_WHITE, and
       g15r_setPixel().

       Referenced by g15r_renderString().

   void	g15r_renderCharacterMedium (g15canvas *	canvas,	int x, int y, unsigned
       char character, unsigned	int sx,	unsigned int sy)
       Renders a character in the meduim font at (x, y).

       Definition at line 50 of	file text.c.

       References fontdata_7x5,	G15_COLOR_BLACK, G15_COLOR_WHITE, and
       g15r_setPixel().

       Referenced by g15r_renderString().

   void	g15r_renderCharacterSmall (g15canvas * canvas, int x, int y, unsigned
       char character, unsigned	int sx,	unsigned int sy)
       Renders a character in the small	font at	(x, y).

       Definition at line 77 of	file text.c.

       References fontdata_6x4,	G15_COLOR_BLACK, G15_COLOR_WHITE, and
       g15r_setPixel().

       Referenced by g15r_renderString().

   void	g15r_renderString (g15canvas * canvas, unsigned	char stringOut[], int
       row, int	size, unsigned int sx, unsigned	int sy)
       Renders a string	with font size in row.

       Definition at line 104 of file text.c.

       References G15_TEXT_LARGE, G15_TEXT_MED,	G15_TEXT_SMALL,
       g15r_renderCharacterLarge(), g15r_renderCharacterMedium(), and
       g15r_renderCharacterSmall().

   void	g15r_setPixel (g15canvas * canvas, unsigned int	x, unsigned int	y, int
       val)
       Sets the	value of the pixel at (x, y).

       Sets the	value of the pixel at (x, y)

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x X offset for pixel	to be set.
	   y Y offset for pixel	to be set.
	   val Value to	which pixel should be set.

       Definition at line 50 of	file screen.c.

       References g15canvas::buffer, BYTE_SIZE,	G15_LCD_HEIGHT,	G15_LCD_WIDTH,
       g15r_getPixel(),	g15canvas::mode_reverse, and g15canvas::mode_xor.

       Referenced by draw_ttf_char(), g15r_drawCircle(), g15r_drawIcon(),
       g15r_drawLine(),	g15r_drawRoundBox(), g15r_drawSprite(),
       g15r_pixelBox(),	g15r_pixelOverlay(), g15r_pixelReverseFill(),
       g15r_renderCharacterLarge(), g15r_renderCharacterMedium(), and
       g15r_renderCharacterSmall().

   void	g15r_ttfLoad (g15canvas	* canvas, char * fontname, int fontsize, int
       face_num)
       Loads a font through the	FreeType2 library.

       Load a font for use with	FreeType2 font support

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   fontname Absolute pathname to font file to be loaded.
	   fontsize Size in points for font to be loaded.
	   face_num Slot into which font face will be loaded.

       Definition at line 145 of file text.c.

       References g15canvas::ftLib, G15_MAX_FACE, g15canvas::ttf_face, and
       g15canvas::ttf_fontsize.

   void	g15r_ttfPrint (g15canvas * canvas, int x, int y, int fontsize, int
       face_num, int color, int	center,	char * print_string)
       Prints a	string in a given font.

       Render a	string with a FreeType2	font

       Parameters:
	   canvas A pointer to a g15canvas struct in which the buffer to be
	   operated on is found.
	   x initial x position	for string.
	   y initial y position	for string.
	   fontsize Size of string in points.
	   face_num Font to be used is loaded in this slot.
	   color Text will be drawn this color.
	   center Text will be centered	if center == 1 and right justified if
	   center == 2.
	   print_string	Pointer	to the string to be printed.

       Definition at line 283 of file text.c.

       References calc_ttf_centering(),	calc_ttf_right_justify(),
       calc_ttf_true_ypos(), draw_ttf_str(), g15canvas::ttf_face, and
       g15canvas::ttf_fontsize.

Variable Documentation
   unsigned char fontdata_6x4[]
       Font data for the small (6x4) font.

       Referenced by g15r_renderCharacterSmall().

   unsigned char fontdata_7x5[]
       Font data for the medium	(7x5) font.

       Referenced by g15r_renderCharacterMedium().

   unsigned char fontdata_8x8[]
       Font data for the large (8x8) font.

       Referenced by g15r_renderCharacterLarge().

Author
       Anthony J. Mirabella <mirabeaj@gmail.com> Daniek	Menelkir
       <menelkir@itroll.org>

       Generated automatically by Doxygen for libg15render from	the source
       code.

libg15render			  17 Jul 2021		       libg15render(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libg15render&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help