summaryrefslogtreecommitdiff
path: root/src/guichan
diff options
context:
space:
mode:
Diffstat (limited to 'src/guichan')
-rw-r--r--src/guichan/include/guichan/sdl/sdlpixel.hpp59
-rw-r--r--src/guichan/sdl/sdlgraphics.cpp58
2 files changed, 53 insertions, 64 deletions
diff --git a/src/guichan/include/guichan/sdl/sdlpixel.hpp b/src/guichan/include/guichan/sdl/sdlpixel.hpp
index c068aa290..4ec6b2386 100644
--- a/src/guichan/include/guichan/sdl/sdlpixel.hpp
+++ b/src/guichan/include/guichan/sdl/sdlpixel.hpp
@@ -84,10 +84,11 @@ namespace gcn
break;
case 3:
- if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
color = p[0] << 16 | p[1] << 8 | p[2];
- else
+#else
color = p[0] | p[1] << 8 | p[2] << 16;
+#endif
break;
case 4:
@@ -142,18 +143,15 @@ namespace gcn
break;
case 3:
- if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
- {
- p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>((pixel) & 0xff);
- }
- else
- {
- p[0] = static_cast<uint8_t>((pixel) & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- }
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>((pixel) & 0xff);
+#else
+ p[0] = static_cast<uint8_t>((pixel) & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+#endif
break;
case 4:
@@ -256,24 +254,21 @@ namespace gcn
break;
case 3:
- if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
- {
- p[2] = static_cast<uint8_t>((p[2] * (255 - color.a)
- + color.b * color.a) >> 8);
- p[1] = static_cast<uint8_t>((p[1] * (255 - color.a)
- + color.g * color.a) >> 8);
- p[0] = static_cast<uint8_t>((p[0] * (255 - color.a)
- + color.r * color.a) >> 8);
- }
- else
- {
- p[0] = static_cast<uint8_t>((p[0] * (255 - color.a)
- + color.b * color.a) >> 8);
- p[1] = static_cast<uint8_t>((p[1] * (255 - color.a)
- + color.g * color.a) >> 8);
- p[2] = static_cast<uint8_t>((p[2] * (255 - color.a)
- + color.r * color.a) >> 8);
- }
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ p[2] = static_cast<uint8_t>((p[2] * (255 - color.a)
+ + color.b * color.a) >> 8);
+ p[1] = static_cast<uint8_t>((p[1] * (255 - color.a)
+ + color.g * color.a) >> 8);
+ p[0] = static_cast<uint8_t>((p[0] * (255 - color.a)
+ + color.r * color.a) >> 8);
+#else
+ p[0] = static_cast<uint8_t>((p[0] * (255 - color.a)
+ + color.b * color.a) >> 8);
+ p[1] = static_cast<uint8_t>((p[1] * (255 - color.a)
+ + color.g * color.a) >> 8);
+ p[2] = static_cast<uint8_t>((p[2] * (255 - color.a)
+ + color.r * color.a) >> 8);
+#endif
break;
case 4:
diff --git a/src/guichan/sdl/sdlgraphics.cpp b/src/guichan/sdl/sdlgraphics.cpp
index 6fd7a15dc..b36b5e565 100644
--- a/src/guichan/sdl/sdlgraphics.cpp
+++ b/src/guichan/sdl/sdlgraphics.cpp
@@ -232,26 +232,23 @@ namespace gcn
}
case 3:
- if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ for (; x1 <= x2; ++x1)
{
- for (; x1 <= x2; ++x1)
- {
- p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>(pixel & 0xff);
- p += 3;
- }
+ p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>(pixel & 0xff);
+ p += 3;
}
- else
+#else
+ for (; x1 <= x2; ++x1)
{
- for (; x1 <= x2; ++x1)
- {
- p[0] = static_cast<uint8_t>(pixel & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- p += 3;
- }
+ p[0] = static_cast<uint8_t>(pixel & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+ p += 3;
}
+#endif
break;
case 4:
@@ -351,26 +348,23 @@ namespace gcn
break;
case 3:
- if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ for (; y1 <= y2; ++y1)
{
- for (; y1 <= y2; ++y1)
- {
- p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>(pixel & 0xff);
- p += mTarget->pitch;
- }
+ p[0] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>(pixel & 0xff);
+ p += mTarget->pitch;
}
- else
+#else
+ for (; y1 <= y2; ++y1)
{
- for (; y1 <= y2; ++y1)
- {
- p[0] = static_cast<uint8_t>(pixel & 0xff);
- p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
- p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
- p += mTarget->pitch;
- }
+ p[0] = static_cast<uint8_t>(pixel & 0xff);
+ p[1] = static_cast<uint8_t>((pixel >> 8) & 0xff);
+ p[2] = static_cast<uint8_t>((pixel >> 16) & 0xff);
+ p += mTarget->pitch;
}
+#endif
break;
case 4: