Changeset 134 for ttyvaders


Ignore:
Timestamp:
Nov 10, 2003, 7:23:23 PM (16 years ago)
Author:
Sam Hocevar
Message:
  • test/demo.c: + Ellipses demo.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk/test/demo.c

    r124 r134  
    3636static void demo_thin_lines(void);
    3737static void demo_circles(void);
     38static void demo_ellipses(void);
    3839static void demo_triangles(void);
    3940static void demo_outlined_triangles(void);
     
    9899            case '5':
    99100                ee_clear();
     101                demo = demo_ellipses;
     102                break;
     103            case '6':
     104                ee_clear();
    100105                demo = demo_triangles;
    101106                break;
    102             case '6':
     107            case '7':
    103108                ee_clear();
    104109                demo = demo_outlined_triangles;
    105110                break;
    106             case '7':
     111            case '8':
    107112                ee_clear();
    108113                demo = demo_sprites;
     
    150155    ee_putstr("4: circles demo");
    151156    ee_goto(4, 11);
    152     ee_putstr("5: triangles demo");
     157    ee_putstr("5: ellipses demo");
    153158    ee_goto(4, 12);
    154     ee_putstr("6: outlined triangles demo");
     159    ee_putstr("6: triangles demo");
    155160    ee_goto(4, 13);
    156     ee_putstr("7: sprites demo");
     161    ee_putstr("7: outlined triangles demo");
     162    ee_goto(4, 14);
     163    ee_putstr("8: sprites demo");
    157164
    158165    ee_goto(4, yo - 2);
     
    363370}
    364371
     372static void demo_ellipses(void)
     373{
     374    int w = ee_get_width();
     375    int h = ee_get_height();
     376
     377    /* Draw circles */
     378    if(force_clipping)
     379    {
     380        ee_color(ee_rand(1, 10));
     381        ee_draw_ellipse(ee_rand(- w, 2 * w),
     382                        ee_rand(- h, 2 * h),
     383                        ee_rand(0, w),
     384                        ee_rand(0, h),
     385                        '#');
     386    }
     387    else
     388    {
     389        int x = ee_rand(0, w);
     390        int y = ee_rand(0, h);
     391        int a = ee_rand(0, w);
     392        int b = ee_rand(0, h);
     393
     394        if(x - a < 0 || x + a >= w || y - b < 0 || y + b >= h)
     395        {
     396            demo_ellipses();
     397            return;
     398        }
     399
     400        ee_color(ee_rand(1, 10));
     401        ee_draw_ellipse(x, y, a, b, '#');
     402    }
     403
     404    ee_refresh();
     405}
     406
    365407static void demo_triangles(void)
    366408{
Note: See TracChangeset for help on using the changeset viewer.