Demo/main/main.cpp

1 line
2.4 KiB
C++

#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);
}
}