/* CPE 101           Fall 2009   */
/* Lab 7                         */
/* Alex Dekhtyar                 */
/* Graphics Library  Header File */


#include "image.h"      /* image.h defines constants that we need */



/* putSmiley():  draw an image of a smiley face       */
/* char image[][][] : image array                     */
/* x,y : center of the smiley face                    */
/* radius : radius of the smiley face                 */
/* color: color of the smiley face                    */

void  putSmiley(char image[][WIDTH][COLORS], int x, int y, int radius, char color[]);


/* putYingYang():  draw a ying-yang image                          */
/* char image[][][] : image array                                */
/* x,y : center of the ying-yang circle                          */
/* radius : radius of the ying-yang circle                       */
/* ying[], yang[]: colors of the ying (top) and the yang(bottom) */

void  putYingYang(char image[][WIDTH][COLORS], int x, int y, int radius, char ying[], char yang[]);


/* putHouse(): draw a house inside a 100x100 box                       */
/* char image[][][] : image array                                      */
/* topX, topY : coordinates of the top left corner of the bounding box */
/* color1[]: main color of the car                                     */
/* color2[]: accent color of the car                                   */
void putHouse(char image[][WIDTH][COLORS], int topX, int topY, char color1[], char color2[]);

/* putCar(): draw a car inside a 100x100 box                       */
/* char image[][][] : image array                                      */
/* topX, topY : coordinates of the top left corner of the bounding box */
/* color1[]: main color of the house                                   */
void putCar(char image[][WIDTH][COLORS], int topX, int topY, char color[]);





/* putBrickWall(): draw a wall made of bricks                          */
/* char image[][][] : image array                                      */
/* topX, topY : coordinates of the top left corner of the wall         */
/* width, height:  dimensions of the wall                              */
/* brickWidth, brickHeight:  dimensions of the bricks                  */
/* color1[] : color of the bricks                                       */
/* color2[] : color of the space between bricks                        */
void putBrickWall(char image[][WIDTH][COLORS], int topX, int topY, int width, int height,
                  int brickWidth, int brickHeight, 
		  char color1[], char color2[]);



/* putCross(): draw a shape of a(n equal size bars) cross in the           */
/*                  designated bounding box                                */
/* char image[][][] : image array                                          */
/* topX, topY : coordinates of the top left corner of the bounding box     */
/* width, height:  dimensions of the bounding box                          */
/* thickness: the thickness of the cross                                   */
/* color[]: color of the cross                                             */
void putCross(char image[][WIDTH][COLORS], int topX, int topY, int width, int height,
                   int thickness, char color[] );

/* putCrescent(): draw a shape of a crescent                                */
/* char image[][][] : image array                                */
/* x,y : center of the crescent                                  */
/* radius : radius of the crescent                               */
/* orientation: orientation of the crescent (in degrees)         */
/* shift: offset for the background  circle                      */
/* color[]: color of the crescent                                */
/* bgColor[]: color of the backgrouns                            */
  void putCrescent(char image[][WIDTH][COLORS], int x, int y, int radius, 
                 int orientation, int shift, char color[], char bgColor[]);
		 
		 

/* putStar(): draw a star connecting five points                 */
/* char image[][][] : image array                                */
/* points[][2]: array of (five) points                           */		 
/* color[]: color of the star                                    */
		 
		 
 void putStar(char image[][WIDTH][COLORS], int points[][2], char color[]);		 
		 

/* putBrick():  draw a single brick on an image */
/* char image[][][] : image array                                      */
/* topX, topY : coordinates of the top left corner of the brick        */
/* width, height:  dimensions of the brick                  */
/* color1[] : color of the brick                                       */
/* color2[] : color of the space between bricks                        */
void putBrick(char image[][WIDTH][COLORS], int topX, int topY, int width, int height,
              char color1[], char color2[]);



/* putWindow(): draws a window shape (rectangle inside a rectangle */
/* char image[][][] : image array                                  */
/* topX, topY : coordinates of the top left corner of the window   */
/* width,height: width and height of the window                    */
/* color[]: color of the window                                    */

		 
void putWindow(char image[][WIDTH][COLORS],int topX, int topY, 
                    int width, int height, char color[]);



/* putRoof(): draws a triangular roof                                       */
/* char image[][][] : image array                                           */
/* startX, startY : coordinates of the bottom left corner of the triangle   */
/* width: width of the bottom row of the triangle                           */
/* color[]: color of the roof                                               */
 void putRoof(char image[][WIDTH][COLORS], int startX, int startY, 
              int width, char color[]);