Is a text based rendering engine prototype. Explores some aspects of OOP. ##Problem ##High level solution The diagram below ilustrates the main components of the application and their interactions
Available Cmmands
+----------------------+ +---------------------------------+
| Line Command | | |
+----------------------+ | +----------------------------+ |
+----------------------+ | | | |
|Rectangle Command | | | +--------+ +----------+ | | +---------------+
+----------------------+ | | | canvas +---> Renderer +-------------->System Console |
+----------------------+ | | +--------+ +----------+ | | +-------+-------+
|Bucket Fill Command | | | | | |
+----------------------+ | | Graphic Shell | | |
|Create Canvas Command | | +-^---------^----------------+ | |
+----------------------+ | | | | |
| | | | +-----v-------+
| |Exec Cmd |New Canvas <----------+ Sketch REPL |
| + + | +-------------+
| Sketch Command Processor |
+---------------------------------+
- Sketch REPL : has the role of Read Evaluate Print Loop component that reads the literal commands from the System Console and passes them for execution to the Sketch **Sketch Command Processor** component. The REPL will terminate the loop when **Exit Command** is received.
- **Sketch Command Processor** parses validates and if valid pases the command for execution to the **Graphic Shell** component.
- **Graphic Shell** executes a graphic command and sends the results to the renderer
- **Canvas** represents the rendering area
- **Renderer** renders the canvas onto specific output, in this case system console
##Implementation details
Plesae check the diagram
##Execution
Git and Apache Maven is required
Current releaset version is tagged with RELEASE1 tag, please run: git checkout RELEASE1
Execute the application with the following command: mvn