use PixelFormat all around
[android/external-libkmsxx.git] / libkmstest / testpat.cpp
index 56000f10c5861b73867e15d6a31cb910391863ec..c8188d8a00b2e56d00834d49c24c3be3b5f4ba0b 100644 (file)
@@ -9,33 +9,31 @@
 #include <drm.h>
 #include <drm_mode.h>
 
 #include <drm.h>
 #include <drm_mode.h>
 
-#include "card.h"
-#include "framebuffer.h"
-#include "testpat.h"
+#include "kms++.h"
 #include "color.h"
 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
 namespace kms
 {
 #include "color.h"
 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
 namespace kms
 {
-static void draw_pixel(Framebuffer& buf, unsigned x, unsigned y, RGB color)
+static void draw_pixel(DumbFramebuffer& buf, unsigned x, unsigned y, RGB color)
 {
        static RGB c1;
 
        switch (buf.format()) {
 {
        static RGB c1;
 
        switch (buf.format()) {
-       case DRM_FORMAT_XRGB8888:
+       case PixelFormat::XRGB8888:
        {
                uint32_t *p = (uint32_t*)(buf.map(0) + buf.stride(0) * y + x * 4);
                *p = color.raw;
                break;
        }
        {
                uint32_t *p = (uint32_t*)(buf.map(0) + buf.stride(0) * y + x * 4);
                *p = color.raw;
                break;
        }
-       case DRM_FORMAT_RGB565:
+       case PixelFormat::RGB565:
        {
                uint16_t *p = (uint16_t*)(buf.map(0) + buf.stride(0) * y + x * 2);
                *p = color.rgb565();
                break;
        }
        {
                uint16_t *p = (uint16_t*)(buf.map(0) + buf.stride(0) * y + x * 2);
                *p = color.rgb565();
                break;
        }
-       case DRM_FORMAT_UYVY:
+       case PixelFormat::UYVY:
        {
                if ((x & 1) == 0) {
                        c1 = color;
        {
                if ((x & 1) == 0) {
                        c1 = color;
@@ -53,7 +51,7 @@ static void draw_pixel(Framebuffer& buf, unsigned x, unsigned y, RGB color)
                p[3] = yuv2.y;
                break;
        }
                p[3] = yuv2.y;
                break;
        }
-       case DRM_FORMAT_YUYV:
+       case PixelFormat::YUYV:
        {
                if ((x & 1) == 0) {
                        c1 = color;
        {
                if ((x & 1) == 0) {
                        c1 = color;
@@ -71,10 +69,12 @@ static void draw_pixel(Framebuffer& buf, unsigned x, unsigned y, RGB color)
                p[3] = (yuv1.v + yuv2.v) / 2;
                break;
        }
                p[3] = (yuv1.v + yuv2.v) / 2;
                break;
        }
+       default:
+               throw std::invalid_argument("unknown pixelformat");
        }
 }
 
        }
 }
 
-static void draw_rgb_test_pattern(Framebuffer& fb)
+static void draw_rgb_test_pattern(DumbFramebuffer& fb)
 {
        unsigned x, y;
        unsigned w = fb.width();
 {
        unsigned x, y;
        unsigned w = fb.width();
@@ -146,7 +146,7 @@ static void draw_rgb_test_pattern(Framebuffer& fb)
        }
 }
 
        }
 }
 
-void draw_test_pattern(Framebuffer& fb)
+void draw_test_pattern(DumbFramebuffer& fb)
 {
        using namespace std::chrono;
 
 {
        using namespace std::chrono;