lab4 submitted

This commit is contained in:
2022-04-05 01:39:06 -05:00
parent 1156c003f9
commit eb0199c226
4 changed files with 138 additions and 18 deletions

View File

@@ -1,7 +1,21 @@
/**
* @file main.cpp
* @author Trevor Barnes (barnestr@msoe.edu)
* @brief Driver for testing the changes made to x11context.cpp
* 5000 Lines Test Results:
* - X11 Default Implementation: 0.83 Seconds
* - Bresenham Implementation: 29.71 Seconds
* @version 1.0
* @date 2022-04-05
*
* @copyright Copyright (c) 2022
*
*/
#include "x11context.h"
#include <unistd.h>
#include <iostream>
using namespace std;
int main(void)
{
GraphicsContext* gc = new X11Context(800,600,GraphicsContext::BLACK);
@@ -11,7 +25,7 @@ int main(void)
gc->setColor(GraphicsContext::GREEN);
gc->setPixel(10,10);
gc->setPixel(30,30);
gc->drawLine(100,100,500,500);
gc->drawLine(100,100,100,500);
gc->setColor(GraphicsContext::RED);
gc->drawLine(100,500,500,500);
gc->setColor(GraphicsContext::BLUE);
@@ -20,7 +34,67 @@ int main(void)
gc->drawLine(500,100,100,100);
gc->setColor(GraphicsContext::MAGENTA);
gc->drawCircle(300,300,200);
sleep(10);
sleep(2);
gc->clear();
// Random/Negatives Test
gc-> setColor(rand());
gc->drawLine(-100, 5000, 200, -590);
gc-> setColor(rand());
gc->drawLine(rand()%800,rand()%600,rand()%800,rand()%600);
gc-> setColor(rand());
gc->drawLine(rand()%800,rand()%600,rand()%800,rand()%600);
gc-> setColor(rand());
gc->drawLine(rand()%800,rand()%600,rand()%800,rand()%600);
sleep(5);
gc->clear();
// End Random/Negatives Test
// 5000 lines test
// gc->setColor(GraphicsContext::GREEN);
// int total = 0;
// while(total < 5000){
// for(int i = 0; (i < 800) && (total < 5000); i++){
// gc->drawLine(i,0,i,600);
// total++;
// }
// gc-> setColor(rand());
// cout << total << endl;
// }
// cout << total << endl;
// gc->clear();
// End 5000 lines test
// Draw boat
gc->setColor(GraphicsContext::YELLOW);
gc->drawLine(250,500,550,500);
gc->drawLine(250,500,150,400);
gc->drawLine(150,400,650,400);
gc->drawLine(650,400,550,500);
gc->drawLine(400,400,400,100);
gc->drawLine(400,100,300,150);
gc->drawLine(300,150,400,200);
// Draw waves
gc->setColor(GraphicsContext::BLUE);
gc->drawLine(0,550,100,450);
gc->drawLine(100,450,100,550);
gc->drawLine(100,550,200,450);
gc->drawLine(200,450,200,550);
gc->drawLine(200,550,300,450);
gc->drawLine(300,450,300,550);
gc->drawLine(300,550,400,450);
gc->drawLine(400,450,400,550);
gc->drawLine(400,550,500,450);
gc->drawLine(500,450,500,550);
gc->drawLine(500,550,600,450);
gc->drawLine(600,450,600,550);
gc->drawLine(600,550,700,450);
gc->drawLine(700,450,700,550);
gc->drawLine(700,550,800,450);
sleep(5);
delete gc;