/* ---------------------------------------------------------------------------- | |
* SAM Software Package License | |
* ---------------------------------------------------------------------------- | |
* Copyright (c) 2015, Atmel Corporation | |
* | |
* All rights reserved. | |
* | |
* Redistribution and use in source and binary forms, with or without | |
* modification, are permitted provided that the following conditions are met: | |
* | |
* - Redistributions of source code must retain the above copyright notice, | |
* this list of conditions and the disclaimer below. | |
* | |
* Atmel's name may not be used to endorse or promote products derived from | |
* this software without specific prior written permission. | |
* | |
* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR | |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE | |
* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, | |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | |
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | |
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
* ---------------------------------------------------------------------------- | |
*/ | |
/** | |
* \file | |
* | |
* Interface for draw font on LCD. | |
* | |
*/ | |
/** | |
* \addtogroup lcdd_font LCD Font Drawing | |
* | |
* \section Purpose | |
* | |
* The lcd_font.h files declares a font structure and a LCDD_DrawChar() function | |
* that must be implemented by a font definition file to be used with the | |
* lcdd_draw_string() method of draw.h. | |
* | |
* The font10x14.c implements the necessary variable and function for a 10x14 | |
* font. | |
* | |
* \note Before drawing fonts, <b>canvas</b> should be selected via | |
* LCDD_SelectCanvas(), or created by LCDD_CreateCanvas(). | |
* | |
* \section Usage | |
* | |
* -# Declare a gFont global variable with the necessary Font information. | |
* -# Implement an LCDD_DrawChar() function which displays the specified | |
* character on the LCD. | |
* -# Select or create canvas via LCDD_SelectCanvas() or LCDD_CreateCanvas(). | |
* -# Use the lcdd_draw_string() method defined in draw.h to display a complete | |
* string. | |
* | |
* \sa \ref lcdd_module, \ref lcdd_draw. | |
*/ | |
#ifndef _LCD_FONT_ | |
#define _LCD_FONT_ | |
/** \addtogroup lcdd_font | |
*@{ | |
*/ | |
/*---------------------------------------------------------------------------- | |
* Headers | |
*----------------------------------------------------------------------------*/ | |
#include "font.h" | |
#include <stdint.h> | |
/*---------------------------------------------------------------------------- | |
* Types | |
*----------------------------------------------------------------------------*/ | |
/** \brief Describes the font (width, height, supported characters, etc.) used by | |
* the LCD driver draw API. | |
*/ | |
struct _font { | |
uint8_t width; /* Font width in pixels. */ | |
uint8_t height; /* Font height in pixels. */ | |
}; | |
/*---------------------------------------------------------------------------- | |
* Variables | |
*----------------------------------------------------------------------------*/ | |
/*---------------------------------------------------------------------------- | |
* Exported functions | |
*----------------------------------------------------------------------------*/ | |
/** \addtogroup lcdd_font_func Font Functions */ | |
/** @{*/ | |
extern struct _font_parameters* lcdd_select_font (_FONT_enum font); | |
extern uint8_t lcdd_get_selected_font (void); | |
extern void lcdd_draw_char(uint32_t x, uint32_t y, uint8_t c, uint32_t color); | |
extern void lcdd_draw_char_with_bgcolor(uint32_t x, uint32_t y, uint8_t c, | |
uint32_t fontColor, uint32_t bgColor); | |
/** @}*/ | |
/**@}*/ | |
#endif /* #ifndef LCD_FONT_ */ |