Demo/main/main.cpp

1 line
2.4 KiB
C++
Raw Normal View History

2020-01-07 14:38:21 +01:00
#include "internal.hpp" #include "vkvm.hpp" #include "../src/Bitmap.hpp" #include "../src/MathFunctions.hpp" #include <unistd.h> //time to sleep for in seconds constexpr int sleepTime = 10; void displayImage(const std::string &file, vkvm::GraphicMode graphicMode) { vkvm::setMode(graphicMode); Bitmap image(file); vkvm::setWidth(image.getWidth()); vkvm::setHeight(image.getHeight()); for (int x = 0; x < vkvm::getWidth(); x++) { for (int y = 0; y < vkvm::getHeight(); y++) { unsigned int hex = image.getPixel(x, y); vkvm::Color color = vkvm::Color(hex); vkvm::setPixel(x, y, color); } } } void setColor(vkvm::Color color) { for (int x = 0; x < vkvm::getWidth(); ++x) { for (int y = 0; y < vkvm::getHeight(); ++y) { vkvm::setPixel(x, y, color); } } } void displayImage(const std::string &file) { displayImage(file, vkvm::GraphicMode::RGB); vkvm::callEvent(vkvm::EventType::Redraw); sleep(sleepTime); vkvm::setMode(vkvm::GraphicMode::Gray_256); vkvm::callEvent(vkvm::EventType::Redraw); sleep(sleepTime); vkvm::setMode(vkvm::GraphicMode::TwoColors); vkvm::callEvent(vkvm::EventType::Redraw); sleep(sleepTime); } int main() { bool running = true; vkvm::initialize(0); while(running) { displayImage("../res/P6.bmp"); sleep(sleepTime); vkvm::setBackgroundColor(vkvm::red); vkvm::setForegroundColor(vkvm::blue); vkvm::callEvent(vkvm::EventType::Redraw); sleep(sleepTime); vkvm::setBackgroundColor(vkvm::black); vkvm::setForegroundColor(vkvm::white); vkvm::callEvent(vkvm::EventType::Redraw); displayImage("../res/P8.bmp"); displayImage("../res/P9.bmp"); displayImage("../res/P10.bmp"); vkvm::setText("Hello World"); sleep(sleepTime); vkvm::setFont(vkvm::FontType::FuturisticBlack); vkvm::callEvent(vkvm::EventType::RenderText); sleep(sleepTime); vkvm::setText("Hello World, lorem ipsum dolor sit amet"); sleep(sleepTime); vkvm::setFont(vkvm::FontType::ProFontIIX); vkvm::callEvent(vkvm::EventType::RenderText); sleep(sleepTime); vkvm::setMode(vkvm::GraphicMode::RGB); mandelbrot(); sleep(sleepTime); sleep(sleepTime); setColor(vkvm::black); sleep(sleepTime); } }