code quality: minor structural changes

development
Michael Ochmann 2 years ago
parent df1c3a78ba
commit cf4f8faa37
  1. 2
      src/Renderer.hpp
  2. 9
      src/renderers/ConsoleRenderer.hpp
  3. 19
      src/renderers/PixelRenderer.hpp
  4. 2
      src/renderers/SVGRenderer.hpp

@ -1,6 +1,8 @@
#pragma once
#include <vector>
#include <string>
#include <cstddef>
namespace massivedynamic {

@ -1,5 +1,7 @@
#pragma once
#include <iomanip>
#include "Renderer.hpp"
namespace massivedynamic {
@ -10,17 +12,16 @@ class ConsoleRenderer : public Renderer {
virtual void render(const std::string&) override {
int border = 1;
std::cout << std::string(border, '\n');
std::cout << std::setfill('\n') << std::setw(border) << "";
for (int y = 0; y < sourceSize; y++) {
std::cout << std::string(border * 2, ' ');
for (int x = 0; x < sourceSize; x++) {
bool isFilled = pixels.at(y * sourceSize + x);
std::cout << (isFilled ? "██" : " ");
}
std::cout << std::string(border * 2, ' ');
std::cout << '\n';
std::cout << std::setfill(' ') << std::setw(border * 2) << '\n';
}
std::cout << std::string(border, '\n');
std::cout << std::setfill('\n') << std::setw(border) << "";
std::cout.flush();
}
};

@ -4,12 +4,13 @@
#include <iostream>
#include <cassert>
#include "Renderer.hpp"
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.hpp"
#include <stb_image_write.hpp>
#include "util.hpp"
#include "Renderer.hpp"
namespace massivedynamic {
typedef uint32_t Color;
class PixelRenderer : public Renderer {
protected:
@ -37,13 +38,11 @@ namespace massivedynamic {
WHITE = 0xFFFFFFFF
};
PixelRenderer(const std::vector<bool>& pixels, size_t sourceSize, size_t targetSize) : Renderer(pixels, sourceSize, targetSize), pixelSize(0) {
this->targetSize = this->targetSize == 0 ? (sourceSize + 2) * 2 : this->targetSize;
this->pixelSize = round(static_cast<float>(this->targetSize) / static_cast<float>(this->sourceSize + 2));
this->border = round(static_cast<float>(this->targetSize - this->pixelSize * this->sourceSize) / 2.0f);
this->bitmap = std::vector<Color>(this->targetSize * this->targetSize, Colors::WHITE);
}
PixelRenderer(const std::vector<bool>& pixels, size_t sourceSize, size_t targetSize) :
Renderer(pixels, sourceSize, targetSize == 0 ? (sourceSize + 2) * 2 : targetSize),
pixelSize(round(static_cast<float>(this->targetSize) / static_cast<float>(this->sourceSize + 2))),
border(round(static_cast<float>(this->targetSize - this->pixelSize * this->sourceSize) / 2.0f)),
bitmap(std::vector<Color>(this->targetSize * this->targetSize, Colors::WHITE)) {}
virtual void generateBuffer() {
for (size_t y = 0; y < sourceSize; y++) {

@ -40,7 +40,7 @@ namespace massivedynamic {
}
}
file << "</svg>" << std::endl;
file << "</svg>\n";
file.close();
}

Loading…
Cancel
Save