Apply second half of [#21590] .dds textures: fix for DXT1n format + sync with upstrea...
[blender-staging.git] / source / blender / imbuf / intern / dds / ColorBlock.h
index 47b08303a0528a5abcb5f7de5cc7c22429dc91ab..d4e4e8a809ffd89c3a57a8fb366be7503ec6f853 100644 (file)
@@ -51,26 +51,15 @@ struct ColorBlock
        ColorBlock(const Image * img, uint x, uint y);
        
        void init(const Image * img, uint x, uint y);
+    void init(uint w, uint h, const uint * data, uint x, uint y);
+    void init(uint w, uint h, const float * data, uint x, uint y);
        
-       void swizzleDXT5n();
-       void splatX();
-       void splatY();
+       void swizzle(uint x, uint y, uint z, uint w); // 0=r, 1=g, 2=b, 3=a, 4=0xFF, 5=0
        
-       bool isSingleColor() const;
-       bool isSingleColorNoAlpha() const;
-       uint countUniqueColors() const;
-       Color32 averageColor() const;
+    bool isSingleColor(Color32 mask = Color32(0xFF, 0xFF, 0xFF, 0x00)) const;
        bool hasAlpha() const;
        
-       void diameterRange(Color32 * start, Color32 * end) const;
-       void luminanceRange(Color32 * start, Color32 * end) const;
-       void boundsRange(Color32 * start, Color32 * end) const;
-       void boundsRangeAlpha(Color32 * start, Color32 * end) const;
        
-       void sortColorsByAbsoluteValue();
-
-       float volume() const;
-
        // Accessors
        const Color32 * colors() const;