aboutsummaryrefslogtreecommitdiff
path: root/drivers/pvr/PvrTcEncoder.h
diff options
context:
space:
mode:
authorAnton Yabchinskiy2015-07-29 23:01:36 +0300
committerAnton Yabchinskiy2015-07-29 23:01:36 +0300
commitdc8df8a91a995796f0f330bf6bb6b209f6dfce08 (patch)
tree46cfe09124703b07860754d6b44e0289422e0573 /drivers/pvr/PvrTcEncoder.h
parent16746f157f83d666079ba3266acec13d35b84c3f (diff)
parent922356b903061cda7591090bf19e8346c3a78cf5 (diff)
downloadgodot-dc8df8a91a995796f0f330bf6bb6b209f6dfce08.tar.gz
godot-dc8df8a91a995796f0f330bf6bb6b209f6dfce08.tar.zst
godot-dc8df8a91a995796f0f330bf6bb6b209f6dfce08.zip
Merge branch 'master' of github.com:okamstudio/godot
Diffstat (limited to 'drivers/pvr/PvrTcEncoder.h')
-rw-r--r--drivers/pvr/PvrTcEncoder.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/pvr/PvrTcEncoder.h b/drivers/pvr/PvrTcEncoder.h
new file mode 100644
index 000000000..b9344367d
--- /dev/null
+++ b/drivers/pvr/PvrTcEncoder.h
@@ -0,0 +1,40 @@
+//============================================================================
+
+#pragma once
+#include "ColorRgba.h"
+
+//============================================================================
+
+namespace Javelin
+{
+//============================================================================
+
+ class AlphaBitmap;
+ class RgbBitmap;
+ class RgbaBitmap;
+
+ class PvrTcEncoder
+ {
+ public:
+ // Result must be large enough for bitmap.GetArea()/4 bytes
+ static void EncodeAlpha2Bpp(void* result, const AlphaBitmap& bitmap);
+
+ // Result must be large enough for bitmap.GetArea()/2 bytes
+ static void EncodeAlpha4Bpp(void* result, const AlphaBitmap& bitmap);
+
+ // Result must be large enough for bitmap.GetArea()/2 bytes
+ static void EncodeRgb4Bpp(void* result, const RgbBitmap& bitmap);
+
+ // Result must be large enough for bitmap.GetArea()/2 bytes
+ static void EncodeRgb4Bpp(void* result, const RgbaBitmap& bitmap);
+
+ // Result must be large enough for bitmap.GetArea()/2 bytes
+ static void EncodeRgba4Bpp(void* result, const RgbaBitmap& bitmap);
+
+ private:
+ static unsigned GetMortonNumber(int x, int y);
+ };
+
+//============================================================================
+}
+//============================================================================