Bladeren bron

Fixed lodepng using C++ STL and min/max name collision

Eiyeron Fulmincendii 10 jaren geleden
bovenliggende
commit
82cdf3ea83
5 gewijzigde bestanden met toevoegingen van 18 en 2 verwijderingen
  1. 3 0
      external/platform/nspire/rules.mk
  2. 4 0
      platform/nspire/CXfb.cpp
  3. 1 0
      platform/nspire/Graphics.cpp
  4. 10 0
      src/utility/minmax.h
  5. 0 2
      src/utility/misc.h

+ 3 - 0
external/platform/nspire/rules.mk

@@ -1,5 +1,8 @@
 external_LOCAL_PATH := $(call whereami)
 
+CPPFLAGS += -DLODEPNG_NO_COMPILE_CPP
+
 INCLUDE_EXT += $(external_LOCAL_PATH)/lodepng
 
 SRCS_CPP += $(external_LOCAL_PATH)/lodepng/lodepng.cpp
+

+ 4 - 0
platform/nspire/CXfb.cpp

@@ -2,6 +2,7 @@
 #include <cstring>
 #include "CXfb.h"
 #include "utility/misc.h"
+#include "utility/minmax.h"
 
 #define GRAPHICS Nspire::CXfb
 
@@ -22,6 +23,9 @@ bool buffer_swap_ready;
  * Buffer management
  */
 
+#define min(a, b) (((a) < (b)) ? (a) : (b))
+#define max(a, b) (((a) > (b)) ? (a) : (b))
+
 void GRAPHICS::buffer_allocate()
 {
     buffer_screen = (uint16_t *) malloc(BUFFER_SIZE);

+ 1 - 0
platform/nspire/Graphics.cpp

@@ -2,6 +2,7 @@
 #include "CXfb.h"
 #include "stdio.h"
 #include "utility/misc.h"
+#include "utility/minmax.h"
 
 using namespace Nspire;
 using namespace WalrusRPG;

+ 10 - 0
src/utility/minmax.h

@@ -0,0 +1,10 @@
+#ifndef INCLUDE_MIMAX_H
+
+#ifndef min
+#define min(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+#ifndef max
+#define max(a, b) (((a) > (b)) ? (a) : (b))
+#endif
+
+#endif

+ 0 - 2
src/utility/misc.h

@@ -4,8 +4,6 @@
 #define UNUSED(expr) (void)(expr)
 
 #define abs(x) ((x) < 0 ? -(x) : (x))
-#define min(a, b) (((a) < (b)) ? (a) : (b))
-#define max(a, b) (((a) > (b)) ? (a) : (b))
 
 #define in_range(x, a, b) (((x) >= (a)) && ((x) < (b)))