# graphic
### _Name_
draw_rectangle - Game program call this function to draw rectangle on screen
### _Signature_
```C
int draw_rectangle(int pos_x, int pos_y, int width, int height)
```
### _Parameters_
int pos_x - the x pixel value of upper left corner of the rectangle to be drawn on screen
int pos_y - the y pixel value of upper left corner of the rectangle to be drawn on screen
int width - the desired width of the rectangle in terms of pixels
int height - the desired height of the rectangle in terms of pixels
### _Return Value_
On success return 1, On failure return -1
### _Name_
draw_circle - Game program call this function to draw circle on screen
### _Signature_
```C
int draw_circle(int center_x, int center_y, int radius)
```
### _Parameters_
int center_x - the x pixel value of center of cicle
int center_y - the y pixel value of center of cicle
int radius - the desired radius of the cicle in terms of pixels
### _Return Value_
On success return 1, On failure return -1
### _Name_
draw_text - Game program call this function to draw text on screen
### _Signature_
```C
int draw_text(int pos_x, int pos_y, string text)
```
### _Parameters_
int pos_x - the x pixel value of starting point of text
int pos_y - the y pixel value of starting point of text
char* text - the desired text to be drawn on screen
### _Return Value_
On success return 1, On failure return -1
### _Name_
read_buffer - directly read RGB value from video buffer by id
### _Signature_
```C
void read_buffer(int vbuffer_id, int start_pos, int length)
```
### _Parameters_
int vbuffer_id - the abstract id for the buffer
int start_pos - the start position to read from
int length - the length to read
### _Return Value_
On success return 1, On failure return -1
### _Name_
write_buffer - directly write RGB value to video buffer by id
### _Signature_
```C
void write_buffer(int vbuffer_id, int index, int r, int g, int b)
```
### _Parameters_
int vbuffer_id - the abstract id for the buffer
int index - the position to write to
int r - the r value to write
int g - the g value to write
int b - the b value to write
### _Return Value_
On success return 1, On failure return -1
### _Name_
clear_buffer - clear video buffer by id
### _Signature_
```C
void clear_buffer(int vbuffer_id, int clear_value)
```
### _Parameters_
int vbuffer_id - the abstract id for the buffer
int clear_value - the value used to overwrite buffer
### _Return Value_
On success return 1, On failure return -1