Add AR24 & AB24 formats
[android/external-libkmsxx.git] / libkmstest / color.cpp
index b5b90019646b6b244bf5b70e1c5495cae8acecc0..78012ac845adde3428d6e033f6407338c5b40e7c 100644 (file)
@@ -4,7 +4,8 @@ namespace kms
 {
 RGB::RGB()
 {
-       r = g = b = a = 0;
+       r = g = b = 0;
+       a = 255;
 }
 
 RGB::RGB(uint8_t r, uint8_t g, uint8_t b)
@@ -12,15 +13,22 @@ RGB::RGB(uint8_t r, uint8_t g, uint8_t b)
        this->r = r;
        this->g = g;
        this->b = b;
-       this->a = 0;
+       this->a = 255;
+}
+
+uint32_t RGB::rgb888() const
+{
+       return (a << 24) | (r << 16) | (g << 8) | (b << 0);
+}
+
+uint32_t RGB::bgr888() const
+{
+       return (a << 24) | (b << 16) | (g << 8) | (r << 0);
 }
 
 uint16_t RGB::rgb565() const
 {
-       uint16_t r = (this->r >> 3) << 11;
-       uint16_t g = (this->g >> 2) << 5;
-       uint16_t b = (this->b >> 3) << 0;
-       return r | g | b;
+       return ((r >> 3) << 11) | ((g >> 2) << 5) | ((b >> 3) << 0);
 }
 
 YUV RGB::yuv() const