diff --git a/source/Makefile.mk b/source/Makefile.mk index 27d30e6a5..5024d4844 100644 --- a/source/Makefile.mk +++ b/source/Makefile.mk @@ -94,10 +94,9 @@ endif # --------------------------------------------------------------------------------------------------------------------- # Set USING_JUCE -# Not ready yet -# ifeq ($(MACOS_OR_WIN32),true) -# USING_JUCE=true -# endif +ifeq ($(MACOS_OR_WIN32),true) +USING_JUCE=true +endif # --------------------------------------------------------------------------------------------------------------------- # Set build and link flags diff --git a/source/modules/juce_graphics/colour/juce_PixelFormats.h b/source/modules/juce_graphics/colour/juce_PixelFormats.h index cb0867cfd..dea97a6bd 100644 --- a/source/modules/juce_graphics/colour/juce_PixelFormats.h +++ b/source/modules/juce_graphics/colour/juce_PixelFormats.h @@ -105,22 +105,9 @@ public: //============================================================================== forcedinline uint8 getAlpha() const noexcept { return components.a; } - forcedinline uint8 getRed() const noexcept { return components.r; } + forcedinline uint8 getRed() const noexcept { return components.r; } forcedinline uint8 getGreen() const noexcept { return components.g; } - forcedinline uint8 getBlue() const noexcept { return components.b; } - - #if JUCE_GCC - // NB these are here as a workaround because GCC refuses to bind to packed values. - forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } - forcedinline uint8& getRed() noexcept { return comps [indexR]; } - forcedinline uint8& getGreen() noexcept { return comps [indexG]; } - forcedinline uint8& getBlue() noexcept { return comps [indexB]; } - #else - forcedinline uint8& getAlpha() noexcept { return components.a; } - forcedinline uint8& getRed() noexcept { return components.r; } - forcedinline uint8& getGreen() noexcept { return components.g; } - forcedinline uint8& getBlue() noexcept { return components.b; } - #endif + forcedinline uint8 getBlue() const noexcept { return components.b; } //============================================================================== /** Copies another pixel colour over this one. @@ -340,9 +327,6 @@ private: { uint32 internal; Components components; - #if JUCE_GCC - uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members - #endif }; } #ifndef DOXYGEN @@ -425,13 +409,9 @@ public: //============================================================================== forcedinline uint8 getAlpha() const noexcept { return 0xff; } - forcedinline uint8 getRed() const noexcept { return r; } + forcedinline uint8 getRed() const noexcept { return r; } forcedinline uint8 getGreen() const noexcept { return g; } - forcedinline uint8 getBlue() const noexcept { return b; } - - forcedinline uint8& getRed() noexcept { return r; } - forcedinline uint8& getGreen() noexcept { return g; } - forcedinline uint8& getBlue() noexcept { return b; } + forcedinline uint8 getBlue() const noexcept { return b; } //============================================================================== /** Copies another pixel colour over this one. @@ -646,11 +626,10 @@ public: //============================================================================== forcedinline uint8 getAlpha() const noexcept { return a; } - forcedinline uint8& getAlpha() noexcept { return a; } - forcedinline uint8 getRed() const noexcept { return 0; } + forcedinline uint8 getRed() const noexcept { return 0; } forcedinline uint8 getGreen() const noexcept { return 0; } - forcedinline uint8 getBlue() const noexcept { return 0; } + forcedinline uint8 getBlue() const noexcept { return 0; } //============================================================================== /** Copies another pixel colour over this one. diff --git a/source/modules/juce_graphics/native/juce_RenderingHelpers.h b/source/modules/juce_graphics/native/juce_RenderingHelpers.h index e552758b2..6dd943fb9 100644 --- a/source/modules/juce_graphics/native/juce_RenderingHelpers.h +++ b/source/modules/juce_graphics/native/juce_RenderingHelpers.h @@ -585,10 +585,6 @@ namespace EdgeTableFillers { areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen() && sourceColour.getGreen() == sourceColour.getBlue(); - filler[0].set (sourceColour); - filler[1].set (sourceColour); - filler[2].set (sourceColour); - filler[3].set (sourceColour); } else { @@ -644,7 +640,6 @@ namespace EdgeTableFillers const Image::BitmapData& destData; PixelType* linePixels; PixelARGB sourceColour; - PixelRGB filler [4]; bool areRGBComponentsEqual; forcedinline PixelType* getPixel (const int x) const noexcept @@ -659,43 +654,8 @@ namespace EdgeTableFillers forcedinline void replaceLine (PixelRGB* dest, const PixelARGB colour, int width) const noexcept { - if (destData.pixelStride == sizeof (*dest)) - { - if (areRGBComponentsEqual) // if all the component values are the same, we can cheat.. - { - memset (dest, colour.getRed(), (size_t) width * 3); - } - else - { - if (width >> 5) - { - const int* const intFiller = reinterpret_cast (filler); - - while (width > 8 && (((pointer_sized_int) dest) & 7) != 0) - { - dest->set (colour); - ++dest; - --width; - } - - while (width > 4) - { - int* d = reinterpret_cast (dest); - *d++ = intFiller[0]; - *d++ = intFiller[1]; - *d++ = intFiller[2]; - dest = reinterpret_cast (d); - width -= 4; - } - } - - while (--width >= 0) - { - dest->set (colour); - ++dest; - } - } - } + if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual) + memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat.. else { JUCE_PERFORM_PIXEL_OP_LOOP (set (colour))