diff --git a/src/graph.c b/src/graph.c index fcec800d..15e6364f 100644 --- a/src/graph.c +++ b/src/graph.c @@ -335,180 +335,51 @@ try_again: { default: case PIXEL_SIMPLE: - Pixel = Pixel_simple ; - Read_pixel= Read_pixel_simple ; - Display_screen = Display_part_of_screen_simple ; - Block = Block_simple ; - Pixel_preview_normal = Pixel_preview_normal_simple ; - Pixel_preview_magnifier = Pixel_preview_magnifier_simple ; - Horizontal_XOR_line = Horizontal_XOR_line_simple ; - Vertical_XOR_line = Vertical_XOR_line_simple ; - Display_brush_color = Display_brush_color_simple ; - Display_brush_mono = Display_brush_mono_simple ; - Clear_brush = Clear_brush_simple ; - Remap_screen = Remap_screen_simple ; - Display_line = Display_line_on_screen_simple ; - Display_line_fast = Display_line_on_screen_simple ; - Read_line = Read_line_screen_simple ; - Display_zoomed_screen = Display_part_of_screen_scaled_simple ; - Display_brush_color_zoom = Display_brush_color_zoom_simple ; - Display_brush_mono_zoom = Display_brush_mono_zoom_simple ; - Clear_brush_scaled = Clear_brush_scaled_simple ; - Display_brush = Display_brush_simple ; +#define Display_line_on_screen_fast_simple Display_line_on_screen_simple +#define SETPIXEL(x) \ + Pixel = Pixel_##x ; \ + Read_pixel= Read_pixel_##x ; \ + Display_screen = Display_part_of_screen_##x ; \ + Block = Block_##x ; \ + Pixel_preview_normal = Pixel_preview_normal_##x ; \ + Pixel_preview_magnifier = Pixel_preview_magnifier_##x ; \ + Horizontal_XOR_line = Horizontal_XOR_line_##x ; \ + Vertical_XOR_line = Vertical_XOR_line_##x ; \ + Display_brush_color = Display_brush_color_##x ; \ + Display_brush_mono = Display_brush_mono_##x ; \ + Clear_brush = Clear_brush_##x ; \ + Remap_screen = Remap_screen_##x ; \ + Display_line = Display_line_on_screen_##x ; \ + Display_line_fast = Display_line_on_screen_fast_##x ; \ + Read_line = Read_line_screen_##x ; \ + Display_zoomed_screen = Display_part_of_screen_scaled_##x ; \ + Display_brush_color_zoom = Display_brush_color_zoom_##x ; \ + Display_brush_mono_zoom = Display_brush_mono_zoom_##x ; \ + Clear_brush_scaled = Clear_brush_scaled_##x ; \ + Display_brush = Display_brush_##x ; + SETPIXEL(simple) break; case PIXEL_TALL: - Pixel = Pixel_tall; - Read_pixel= Read_pixel_tall; - Display_screen = Display_part_of_screen_tall; - Block = Block_tall; - Pixel_preview_normal = Pixel_preview_normal_tall; - Pixel_preview_magnifier = Pixel_preview_magnifier_tall; - Horizontal_XOR_line = Horizontal_XOR_line_tall; - Vertical_XOR_line = Vertical_XOR_line_tall; - Display_brush_color = Display_brush_color_tall; - Display_brush_mono = Display_brush_mono_tall; - Clear_brush = Clear_brush_tall; - Remap_screen = Remap_screen_tall; - Display_line = Display_line_on_screen_tall; - Display_line_fast = Display_line_on_screen_tall; - Read_line = Read_line_screen_tall; - Display_zoomed_screen = Display_part_of_screen_scaled_tall; - Display_brush_color_zoom = Display_brush_color_zoom_tall; - Display_brush_mono_zoom = Display_brush_mono_zoom_tall; - Clear_brush_scaled = Clear_brush_scaled_tall; - Display_brush = Display_brush_tall; +#define Display_line_on_screen_fast_tall Display_line_on_screen_tall + SETPIXEL(tall) break; case PIXEL_WIDE: - Pixel = Pixel_wide ; - Read_pixel= Read_pixel_wide ; - Display_screen = Display_part_of_screen_wide ; - Block = Block_wide ; - Pixel_preview_normal = Pixel_preview_normal_wide ; - Pixel_preview_magnifier = Pixel_preview_magnifier_wide ; - Horizontal_XOR_line = Horizontal_XOR_line_wide ; - Vertical_XOR_line = Vertical_XOR_line_wide ; - Display_brush_color = Display_brush_color_wide ; - Display_brush_mono = Display_brush_mono_wide ; - Clear_brush = Clear_brush_wide ; - Remap_screen = Remap_screen_wide ; - Display_line = Display_line_on_screen_wide ; - Display_line_fast = Display_line_on_screen_fast_wide ; - Read_line = Read_line_screen_wide ; - Display_zoomed_screen = Display_part_of_screen_scaled_wide ; - Display_brush_color_zoom = Display_brush_color_zoom_wide ; - Display_brush_mono_zoom = Display_brush_mono_zoom_wide ; - Clear_brush_scaled = Clear_brush_scaled_wide ; - Display_brush = Display_brush_wide ; + SETPIXEL(wide) break; case PIXEL_DOUBLE: - Pixel = Pixel_double ; - Read_pixel= Read_pixel_double ; - Display_screen = Display_part_of_screen_double ; - Block = Block_double ; - Pixel_preview_normal = Pixel_preview_normal_double ; - Pixel_preview_magnifier = Pixel_preview_magnifier_double ; - Horizontal_XOR_line = Horizontal_XOR_line_double ; - Vertical_XOR_line = Vertical_XOR_line_double ; - Display_brush_color = Display_brush_color_double ; - Display_brush_mono = Display_brush_mono_double ; - Clear_brush = Clear_brush_double ; - Remap_screen = Remap_screen_double ; - Display_line = Display_line_on_screen_double ; - Display_line_fast = Display_line_on_screen_fast_double ; - Read_line = Read_line_screen_double ; - Display_zoomed_screen = Display_part_of_screen_scaled_double ; - Display_brush_color_zoom = Display_brush_color_zoom_double ; - Display_brush_mono_zoom = Display_brush_mono_zoom_double ; - Clear_brush_scaled = Clear_brush_scaled_double ; - Display_brush = Display_brush_double ; + SETPIXEL(double) break; case PIXEL_TRIPLE: - Pixel = Pixel_triple ; - Read_pixel= Read_pixel_triple ; - Display_screen = Display_part_of_screen_triple ; - Block = Block_triple ; - Pixel_preview_normal = Pixel_preview_normal_triple ; - Pixel_preview_magnifier = Pixel_preview_magnifier_triple ; - Horizontal_XOR_line = Horizontal_XOR_line_triple ; - Vertical_XOR_line = Vertical_XOR_line_triple ; - Display_brush_color = Display_brush_color_triple ; - Display_brush_mono = Display_brush_mono_triple ; - Clear_brush = Clear_brush_triple ; - Remap_screen = Remap_screen_triple ; - Display_line = Display_line_on_screen_triple ; - Display_line_fast = Display_line_on_screen_fast_triple ; - Read_line = Read_line_screen_triple ; - Display_zoomed_screen = Display_part_of_screen_scaled_triple ; - Display_brush_color_zoom = Display_brush_color_zoom_triple ; - Display_brush_mono_zoom = Display_brush_mono_zoom_triple ; - Clear_brush_scaled = Clear_brush_scaled_triple ; - Display_brush = Display_brush_triple ; + SETPIXEL(triple) break; case PIXEL_WIDE2: - Pixel = Pixel_wide2 ; - Read_pixel= Read_pixel_wide2 ; - Display_screen = Display_part_of_screen_wide2 ; - Block = Block_wide2 ; - Pixel_preview_normal = Pixel_preview_normal_wide2 ; - Pixel_preview_magnifier = Pixel_preview_magnifier_wide2 ; - Horizontal_XOR_line = Horizontal_XOR_line_wide2 ; - Vertical_XOR_line = Vertical_XOR_line_wide2 ; - Display_brush_color = Display_brush_color_wide2 ; - Display_brush_mono = Display_brush_mono_wide2 ; - Clear_brush = Clear_brush_wide2 ; - Remap_screen = Remap_screen_wide2 ; - Display_line = Display_line_on_screen_wide2 ; - Display_line_fast = Display_line_on_screen_fast_wide2 ; - Read_line = Read_line_screen_wide2 ; - Display_zoomed_screen = Display_part_of_screen_scaled_wide2 ; - Display_brush_color_zoom = Display_brush_color_zoom_wide2 ; - Display_brush_mono_zoom = Display_brush_mono_zoom_wide2 ; - Clear_brush_scaled = Clear_brush_scaled_wide2 ; - Display_brush = Display_brush_wide2 ; + SETPIXEL(wide2) break; case PIXEL_TALL2: - Pixel = Pixel_tall2 ; - Read_pixel= Read_pixel_tall2 ; - Display_screen = Display_part_of_screen_tall2 ; - Block = Block_tall2 ; - Pixel_preview_normal = Pixel_preview_normal_tall2 ; - Pixel_preview_magnifier = Pixel_preview_magnifier_tall2 ; - Horizontal_XOR_line = Horizontal_XOR_line_tall2 ; - Vertical_XOR_line = Vertical_XOR_line_tall2 ; - Display_brush_color = Display_brush_color_tall2 ; - Display_brush_mono = Display_brush_mono_tall2 ; - Clear_brush = Clear_brush_tall2 ; - Remap_screen = Remap_screen_tall2 ; - Display_line = Display_line_on_screen_tall2 ; - Display_line_fast = Display_line_on_screen_fast_tall2 ; - Read_line = Read_line_screen_tall2 ; - Display_zoomed_screen = Display_part_of_screen_scaled_tall2 ; - Display_brush_color_zoom = Display_brush_color_zoom_tall2 ; - Display_brush_mono_zoom = Display_brush_mono_zoom_tall2 ; - Clear_brush_scaled = Clear_brush_scaled_tall2 ; - Display_brush = Display_brush_tall2 ; + SETPIXEL(tall2) break; case PIXEL_QUAD: - Pixel = Pixel_quad ; - Read_pixel= Read_pixel_quad ; - Display_screen = Display_part_of_screen_quad ; - Block = Block_quad ; - Pixel_preview_normal = Pixel_preview_normal_quad ; - Pixel_preview_magnifier = Pixel_preview_magnifier_quad ; - Horizontal_XOR_line = Horizontal_XOR_line_quad ; - Vertical_XOR_line = Vertical_XOR_line_quad ; - Display_brush_color = Display_brush_color_quad ; - Display_brush_mono = Display_brush_mono_quad ; - Clear_brush = Clear_brush_quad ; - Remap_screen = Remap_screen_quad ; - Display_line = Display_line_on_screen_quad ; - Display_line_fast = Display_line_on_screen_fast_quad ; - Read_line = Read_line_screen_quad ; - Display_zoomed_screen = Display_part_of_screen_scaled_quad ; - Display_brush_color_zoom = Display_brush_color_zoom_quad ; - Display_brush_mono_zoom = Display_brush_mono_zoom_quad ; - Clear_brush_scaled = Clear_brush_scaled_quad ; - Display_brush = Display_brush_quad ; + SETPIXEL(quad) break; } }