/*
 DRAW.DOX

 License CC0 PUBLIC DOMAIN

 To the extent possible under law, Mark J. Olesen has waived all copyright
 and related or neighboring rights to FDOSTUI Library. This work is published
 from: United States.
*/

/*! \file draw.h
\brief drawing routines that applies clipping
*/

/*!
\fn void draw_fill_area(
    int const                           i_col,
    int const                           i_row,
    unsigned int const                  i_columns,
    unsigned int const                  i_rows,
    unsigned char const                 i_char,
    enum foreground const               i_fcolor,
    enum background const               i_bcolor)
\brief fill an area of the screen
\param[in] i_col column 
\param[in] i_row row
\param[in] i_columns number of columns
\param[in] i_rows number of rows
\param[in] i_char fill character
\param[in] i_fcolor foreground color
\param[in] i_bcolor background color
\returns none
*/

/*!
\fn void draw_putc(
    int const                           i_col,
    int const                           i_row,
    unsigned char const                 i_char,
    unsigned int const                  i_repeat_count,
    enum foreground const               i_fcolor,
    enum background const               i_bcolor)
\brief draw a character to the screen
\param[in] i_col column 
\param[in] i_row row
\param[in] i_repeat_count number of times to repeat horizontally
\param[in] i_fcolor foreground color
\param[in] i_bcolor background color
\returns none
*/

/*!
\fn void draw_putvc(
    int const                           i_col,
    int const                           i_row,
    unsigned char const                 i_char,
    unsigned int const                  i_repeat_count,
    enum foreground const               i_fcolor,
    enum background const               i_bcolor)
\brief draw a character to the screen
\param[in] i_col column 
\param[in] i_row row
\param[in] i_repeat_count number of times to repeat vertically
\param[in] i_fcolor foreground color
\param[in] i_bcolor background color
\returns none
*/

/*!
\fn void draw_puts(
    int const                           i_col,
    int const                           i_row,
    unsigned char const*                i_string,
    unsigned int const                  i_length,
    enum foreground const               i_fcolor,
    enum background const               i_bcolor)
\brief draw a string to the screen
\param[in] i_col column 
\param[in] i_row row
\param[in] i_string string to write
\param[in] i_length length of string
\param[in] i_fcolor foreground color
\param[in] i_bcolor background color
\returns none
*/

/*!
\fn void draw_frame(
    struct box const*const              i_box,
    struct skin_frame const*const       i_skin,
    enum foreground const               i_fcolor,
    enum background const               i_bcolor)
\brief draw a frame to the screen
\param[in] i_box rectangular area to draw
\param[in] i_skin frame properties
\param[in] i_fcolor foreground color
\param[in] i_bcolor background color
\returns none
*/
