changeset 51:b07df0392eb8

Initial revision
author david <david>
date Fri, 18 Dec 1992 13:12:35 +0000
parents 74341ea7b209
children 4e7a0f0061b1
files volume_io/Testing/test_pixels.c
diffstat 1 files changed, 115 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/volume_io/Testing/test_pixels.c
@@ -0,0 +1,115 @@
+
+#include  <def_mni.h>
+
+#define  N_ITER   200
+
+#undef  COLOUR_MAP_MODE
+#define  COLOUR_MAP_MODE
+
+#define  COLOUR_8BIT
+#undef   COLOUR_8BIT
+
+#define  COLOUR_MAP_INDEX_OFFSET  0
+
+main()
+{
+    int               iter;
+    Status            status;
+    window_struct     *window;
+    pixels_struct     pixels;
+#ifdef  COLOUR_8BIT
+    Pixel_types       pixel_type = COLOUR_INDEX_8BIT_PIXEL;
+#else
+    Pixel_types       pixel_type = COLOUR_INDEX_16BIT_PIXEL;
+#endif
+    int               i, j, pixels_x_size, pixels_y_size;
+    Real              start, end;
+#ifndef  COLOUR_MAP_MODE
+    Colour            colour_table[256];
+#endif
+
+    status = G_create_window( "Test Pixels", -1, -1, 500, 500, &window );
+
+    /* ------------ define pixels to be drawn  ------------- */
+
+    pixels_x_size = 256;
+    pixels_y_size = 256;
+
+#ifdef COLOUR_MAP_MODE
+    G_set_colour_map_state( window, ON );
+
+    G_set_background_colour( window, 64 );
+
+    G_set_colour_map_entry( window, NORMAL_PLANES, 64, make_Colour(60,60,60) );
+
+    for_less( i, 0, 256 )
+        G_set_colour_map_entry( window, NORMAL_PLANES,
+                                i + COLOUR_MAP_INDEX_OFFSET,
+                                make_Colour(i,i,i) );
+
+    status = initialize_pixels( &pixels, pixels_x_size, pixels_y_size,
+                                pixel_type );
+
+    start = current_realtime_seconds();
+
+    for_less( iter, 0, N_ITER )
+    for_less( i, 0, pixels_x_size )
+    {
+        for_less( j, 0, pixels_y_size )
+        {
+#ifdef COLOUR_8BIT
+            PIXEL_COLOUR_INDEX_8(pixels,i,j) = i % 256 + COLOUR_MAP_INDEX_OFFSET;
+#else
+            PIXEL_COLOUR_INDEX_16(pixels,i,j) = i % 256 +
+                                                COLOUR_MAP_INDEX_OFFSET;
+#endif
+        }
+    }
+
+    end = current_realtime_seconds();
+
+    (void) printf( "%g seconds\n", (end - start) / (Real) N_ITER );
+
+#else
+    status = initialize_pixels( &pixels, pixels_x_size, pixels_y_size,
+                                RGB_PIXEL );
+
+    for_less( i, 0, 256 )
+    {
+        colour_table[i] = make_Colour( i, i, i );
+    }
+
+    start = current_realtime_seconds();
+
+    for_less( iter, 0, N_ITER )
+    for_less( i, 0, pixels_x_size )
+    {
+        for_less( j, 0, pixels_y_size )
+        {
+            PIXEL_RGB_COLOUR(pixels,i,j) = colour_table[j];
+        }
+    }
+    end = current_realtime_seconds();
+
+    (void) printf( "%g seconds\n", (end - start) / (Real) N_ITER );
+#endif
+
+    start = current_realtime_seconds();
+
+    for_less( iter, 0, N_ITER )
+        G_draw_pixels( window, 10, 10, COLOUR_MAP_INDEX_OFFSET, &pixels );
+
+    end = current_realtime_seconds();
+
+    G_update_window( window );
+
+    (void) printf( "%g seconds\n", (end - start) / (Real) N_ITER );
+
+    (void) getchar();
+
+    status = delete_pixels( &pixels );
+
+    status = G_delete_window( window );
+
+    return( status != OK );
+}