From e8dba75affa8a058502c7172957255d71760a189 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Thu, 25 May 2023 12:10:49 +0100 Subject: [PATCH] PicoGraphics: Use std:: prefix, fix some type issues. --- libraries/pico_graphics/pretty-poly-types.hpp | 24 +++++++++---------- libraries/pico_graphics/pretty-poly.hpp | 9 +++---- .../modules/picographics/picographics.cpp | 6 ++--- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/libraries/pico_graphics/pretty-poly-types.hpp b/libraries/pico_graphics/pretty-poly-types.hpp index 8efcfb9a..5dcda206 100644 --- a/libraries/pico_graphics/pretty-poly-types.hpp +++ b/libraries/pico_graphics/pretty-poly-types.hpp @@ -2,8 +2,6 @@ #include #include -using namespace std; - #ifdef PP_DEBUG #define debug(...) printf(__VA_ARGS__) #else @@ -81,14 +79,14 @@ namespace pretty_poly { rect_t(int x, int y, int w, int h) : x(x), y(y), w(w), h(h) {} bool empty() const {return this->w == 0 && this->h == 0;} rect_t intersection(const rect_t &c) { - return rect_t(max(this->x, c.x), max(this->y, c.y), - max(0, min(this->x + this->w, c.x + c.w) - max(this->x, c.x)), - max(0, min(this->y + this->h, c.y + c.h) - max(this->y, c.y))); + return rect_t(std::max(this->x, c.x), std::max(this->y, c.y), + std::max(0, std::min(this->x + this->w, c.x + c.w) - std::max(this->x, c.x)), + std::max(0, std::min(this->y + this->h, c.y + c.h) - std::max(this->y, c.y))); } rect_t merge(const rect_t &c) { - return rect_t(min(this->x, c.x), min(this->y, c.y), - max(this->x + this->w, c.x + c.w) - min(this->x, c.x), - max(this->y + this->h, c.y + c.h) - min(this->y, c.y)); + return rect_t(std::min(this->x, c.x), std::min(this->y, c.y), + std::max(this->x + this->w, c.x + c.w) - std::min(this->x, c.x), + std::max(this->y + this->h, c.y + c.h) - std::min(this->y, c.y)); } }; @@ -110,17 +108,17 @@ namespace pretty_poly { unsigned count; contour_t() {} - contour_t(vector> v) : points(v.data()), count(v.size()) {}; + contour_t(std::vector> v) : points(v.data()), count(v.size()) {}; contour_t(point_t *points, unsigned count) : points(points), count(count) {}; rect_t bounds() { T minx = this->points[0].x, maxx = minx; T miny = this->points[0].y, maxy = miny; for(auto i = 1u; i < this->count; i++) { - minx = min(minx, this->points[i].x); - miny = min(miny, this->points[i].y); - maxx = max(maxx, this->points[i].x); - maxy = max(maxy, this->points[i].y); + minx = std::min(minx, this->points[i].x); + miny = std::min(miny, this->points[i].y); + maxx = std::max(maxx, this->points[i].x); + maxy = std::max(maxy, this->points[i].y); } return rect_t(minx, miny, maxx - minx, maxy - miny); } diff --git a/libraries/pico_graphics/pretty-poly.hpp b/libraries/pico_graphics/pretty-poly.hpp index 31249ea2..f7ad3f05 100644 --- a/libraries/pico_graphics/pretty-poly.hpp +++ b/libraries/pico_graphics/pretty-poly.hpp @@ -5,9 +5,6 @@ #include - -using namespace std; - #ifdef PP_DEBUG #define debug(...) printf(__VA_ARGS__) #else @@ -92,8 +89,8 @@ namespace pretty_poly { int sx = start.x, sy = start.y, ex = end.x, ey = end.y; if(ey < sy) { - swap(sy, ey); - swap(sx, ex); + std::swap(sy, ey); + std::swap(sx, ex); } /*sx <<= settings::antialias; @@ -120,7 +117,7 @@ namespace pretty_poly { if(y >= 0 && y < (int)node_buffer_size) { // clamp node x value to tile bounds - int nx = max(min(x, (int)(tile_bounds.w << settings::antialias)), 0); + int nx = std::max(std::min(x, (int)(tile_bounds.w << settings::antialias)), 0); debug(" + adding node at %d, %d\n", x, y); // add node to node list nodes[y][node_counts[y]++] = nx; diff --git a/micropython/modules/picographics/picographics.cpp b/micropython/modules/picographics/picographics.cpp index d94b2086..189235fa 100644 --- a/micropython/modules/picographics/picographics.cpp +++ b/micropython/modules/picographics/picographics.cpp @@ -309,7 +309,7 @@ mp_obj_t ModPicoGraphics_make_new(const mp_obj_type_t *type, size_t n_args, size _PimoroniBus_obj_t *bus = (_PimoroniBus_obj_t *)MP_OBJ_TO_PTR(args[ARG_bus].u_obj); parallel_bus = *(ParallelPins *)(bus->pins); - } else if (mp_obj_is_exact_type(args[ARG_bus].u_obj, &PimoroniI2C_type) || mp_obj_is_exact_type(args[ARG_bus].u_obj, &machine_hw_i2c_type)) { + } else if (mp_obj_is_exact_type(args[ARG_bus].u_obj, &PimoroniI2C_type) || mp_obj_is_exact_type(args[ARG_bus].u_obj, &machine_i2c_type)) { if(bus_type != BUS_I2C) mp_raise_ValueError("unexpected I2C bus!"); self->i2c = PimoroniI2C_from_machine_i2c_or_native(args[ARG_bus].u_obj); i2c_bus = (pimoroni::I2C *)(self->i2c->i2c); @@ -1041,7 +1041,7 @@ mp_obj_t ModPicoGraphics_pretty_polygon(size_t n_args, const mp_obj_t *pos_args, std::vector> contours; - for(auto i = 0; i < num_tuples; i++) { + for(auto i = 0u; i < num_tuples; i++) { mp_obj_t c_obj = lists[i]; if(!mp_obj_is_exact_type(c_obj, &mp_type_list)) mp_raise_ValueError("Not a list"); @@ -1050,7 +1050,7 @@ mp_obj_t ModPicoGraphics_pretty_polygon(size_t n_args, const mp_obj_t *pos_args, pretty_poly::point_t *points = new pretty_poly::point_t[t_contour->len]; - for(auto p = 0; p < t_contour->len; p++) { + for(auto p = 0u; p < t_contour->len; p++) { mp_obj_t p_obj = t_contour->items[p]; if(!mp_obj_is_exact_type(p_obj, &mp_type_tuple)) mp_raise_ValueError("Not a tuple");