Paint Brush Application
   Ranjani Chandrasekar / Manu Jain

| Introduction | High Level Design | Hardware | Software | Interface | Results | Conclusion | Appendix | Downloads |

To use the device port ISP1362 and NIOS II CPU for mouse movement detection and the VGA interface and implement a Paint Brush Application[1] using Cyclone II FPGA on the Altera DE2 board.

The goal of project is to display the application on the VGA and use the mouse to draw different figures on the VGA. The VGA is interfaced by implementing the VGA Controller in hardware. The mouse is interfaced through the USB port – ISP 1362 of the DE2board. The driver for the USB mouse is implemented in software using the NIOS II IDE. The complete functionality of the paint brush application and the realization of various figures and shapes on the VGA screen is done using various graphics algorithms. Bresenham’s algorithm is used for line and circle drawing. Edge fill algorithm is used for detecting the edges of a closed figure and filling color inside its boundary. Fencing technique is applied to reduce the scan area. This decreases the number of pixels being inverted for every polygon color fill and thus achieves better speed and performance. Some of the functionalities provided by this paint brush application are drawing a point, line, square, circle, polygon, clearing the pixels using the eraser, spray paint, fill color, pick color, clear drawing area and various color options in a color pallet at the bottom of the screen. The functionality of each icon on the Tool Bar when clicked is displayed on the LCD available on the DE2 board.