AdvancedBrush(Type type) : type(type) {}
void apply(SDL_Renderer* renderer, int x, int y) { switch (type) { case Type::Scatter: scatterPixel(renderer, x, y); break; case Type::Symmetry: drawSymmetry(renderer, x, y); break; } } Aseprite-1-3-Crack-Latest-Version-Free-Download-2022
class AdvancedBrush { public: enum class Type { Scatter, Symmetry }; case Type::Symmetry: drawSymmetry(renderer
void drawSymmetry(SDL_Renderer* renderer, int x, int y) { // Basic symmetry, mirror across X and Y axis SDL_RenderDrawLine(renderer, x, y, x * 2, y); SDL_RenderDrawLine(renderer, x, y, x, y * 2); } void drawSymmetry(SDL_Renderer* renderer
private: void scatterPixel(SDL_Renderer* renderer, int x, int y) { // Simple scatter, could be improved with noise for (int i = 0; i < 10; ++i) { int newX = x + rand() % 5 - 2; int newY = y + rand() % 5 - 2; SDL_RenderDrawPoint(renderer, newX, newY); } }