diff options
author | kdx <kikoodx@paranoici.org> | 2023-07-15 17:08:57 +0200 |
---|---|---|
committer | kdx <kikoodx@paranoici.org> | 2023-07-15 17:08:57 +0200 |
commit | 2c9805b22860e32628cb7a0fe0b8a9ed854187aa (patch) | |
tree | a5ebecbd6a5aa9c20ec5319460ca514521b06f11 | |
parent | 859465d61e214fce4a84021c91635e297e187a0a (diff) | |
download | fld-2c9805b22860e32628cb7a0fe0b8a9ed854187aa.tar.gz |
viewport
-rw-r--r-- | src/FLD.hpp | 1 | ||||
-rw-r--r-- | src/drawLine.cpp | 4 | ||||
-rw-r--r-- | src/drawPoint.cpp | 2 | ||||
-rw-r--r-- | src/drawRectangle.cpp | 4 |
4 files changed, 7 insertions, 4 deletions
diff --git a/src/FLD.hpp b/src/FLD.hpp index 391e18a..4e1b8bd 100644 --- a/src/FLD.hpp +++ b/src/FLD.hpp @@ -46,6 +46,7 @@ public: static constexpr Color PURPLE {1.0f, 0.0f, 1.0f, -1.0f}; static constexpr Color CYAN {0.0f, 1.0f, 1.0f, -1.0f}; static constexpr Color WHITE {1.0f, 1.0f, 1.0f, -1.0f}; + Point viewport = {0, 0}; const Config config; READONLY(SDL_Window *, window, nullptr); diff --git a/src/drawLine.cpp b/src/drawLine.cpp index eb03f90..f99817a 100644 --- a/src/drawLine.cpp +++ b/src/drawLine.cpp @@ -3,7 +3,9 @@ FLD::Error FLD::drawLine(const Point& p0, const Point& p1) const { - if (SDL_RenderDrawLine(_renderer, p0.x, p0.y, p1.x, p1.y) < 0) + if (SDL_RenderDrawLine(_renderer, + p0.x + viewport.x, p0.y + viewport.y, + p1.x + viewport.x, p1.y + viewport.y) < 0) return sdlError(); return 0; } diff --git a/src/drawPoint.cpp b/src/drawPoint.cpp index f2e3cee..5a78f86 100644 --- a/src/drawPoint.cpp +++ b/src/drawPoint.cpp @@ -3,7 +3,7 @@ FLD::Error FLD::drawPoint(const Point& p) const { - if (SDL_RenderDrawPoint(_renderer, p.x, p.y) < 0) + if (SDL_RenderDrawPoint(_renderer, p.x + viewport.x, p.y + viewport.y)) return sdlError(); return 0; } diff --git a/src/drawRectangle.cpp b/src/drawRectangle.cpp index fad2ccf..d5f1cf4 100644 --- a/src/drawRectangle.cpp +++ b/src/drawRectangle.cpp @@ -6,8 +6,8 @@ FLD::drawRectangle(const Rectangle &rect, unsigned flags) const const bool fill = flags & FILL; const bool center = flags & CENTER; const SDL_Rect srect { - .x = rect.x - center * (rect.w / 2), - .y = rect.y - center * (rect.h / 2), + .x = rect.x - center * (rect.w / 2) + viewport.x, + .y = rect.y - center * (rect.h / 2) + viewport.y, .w = rect.w, .h = rect.h }; |