Changeset 2361 for neercs


Ignore:
Timestamp:
Jun 11, 2008, 6:49:57 PM (12 years ago)
Author:
Jean-Yves Lamoureux
Message:
  • Splitted main.c and created effects.c for optionnal features
Location:
neercs/trunk/src
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • neercs/trunk/src/Makefile.am

    r1445 r2361  
    22bin_PROGRAMS = neercs
    33
    4 neercs_SOURCES = main.c neercs.h term.c
     4neercs_SOURCES = main.c neercs.h term.c effects.c
    55neercs_CFLAGS = @CACA_CFLAGS@
    66neercs_LDADD = @CACA_LIBS@ @UTIL_LIBS@
  • neercs/trunk/src/main.c

    r2360 r2361  
    5555        nt = 1;
    5656    }
     57
    5758    default_shell = getenv("SHELL");
    5859
     60    if(default_shell == NULL  && !args)
     61    {
     62        fprintf(stderr, "Environment variable SHELL not set and no arguments given. kthxbye.\n");
     63        return -1;
     64    }
    5965
    6066    /* Create main canvas and associated caca window */
     
    395401}
    396402
     403int destroy_screen(struct screen *s)
     404{
     405    free(s->buf);
     406    cucul_free_canvas(s->cv);
     407    free(s);
     408    return 1;
     409}
    397410
    398411int add_screen(struct screen_list *list, struct screen *s)
     
    412425}
    413426
    414 
    415427int remove_screen(struct screen_list *list, int n)
    416428{
     
    429441}
    430442
    431 int destroy_screen(struct screen *s)
    432 {
    433     free(s->buf);
    434     cucul_free_canvas(s->cv);
    435     free(s);
    436     return 1;
    437 }
    438 
    439 
    440 
    441 void draw_thumbnails(cucul_canvas_t *cv, struct screen_list *screen_list, int pty)
    442 {
    443                 char const * const *fonts;
    444                 cucul_dither_t *d;
    445                 cucul_font_t *f;
    446                 uint8_t *buf;
    447                 int i;
    448                 int miniw, minih;
    449 
    450                 if(screen_list->count)
    451                 {
    452                     fonts = cucul_get_font_list();
    453                     f = cucul_load_font(fonts[0], 0);
    454 
    455                     miniw = cucul_get_canvas_width(screen_list->screen[0]->cv)
    456                         * cucul_get_font_width(f);
    457                     minih = cucul_get_canvas_height(screen_list->screen[0]->cv)
    458                         * cucul_get_font_height(f);
    459                     buf = malloc(4 * miniw * minih);
    460 
    461 #if defined(HAVE_ENDIAN_H)
    462                     if(__BYTE_ORDER == __BIG_ENDIAN)
    463 #else
    464                         /* This is compile-time optimised with at least -O1 or -Os */
    465                         uint32_t const tmp = 0x12345678;
    466                     if(*(uint8_t const *)&tmp == 0x12)
    467 #endif
    468                         d = cucul_create_dither(32, miniw, minih, 4 * miniw,
    469                                                 0xff0000, 0xff00, 0xff, 0x0);
    470                     else
    471                         d = cucul_create_dither(32, miniw, minih, 4 * miniw,
    472                                                 0xff00, 0xff0000, 0xff000000, 0x0);
    473 
    474                     for(i = 0; i < screen_list->count; i++)
    475                     {
    476                         cucul_render_canvas(screen_list->screen[i]->cv, f, buf,
    477                                             miniw, minih, miniw * 4);
    478                         cucul_dither_bitmap(cv, 20 * i,
    479                                             cucul_get_canvas_height(cv) - 6, 19, 6, d, buf);
    480                         cucul_set_color_ansi(cv, CUCUL_WHITE, CUCUL_BLUE);
    481 
    482                         if(pty == i)
    483                             cucul_draw_cp437_box(cv,20 * i,
    484                                                  cucul_get_canvas_height(cv) - 6, 19, 6);
    485                         cucul_printf(cv, 20 * i,
    486                                      cucul_get_canvas_height(cv) - 6, "(%i)", i);
    487                     }
    488 
    489                     cucul_free_dither(d);
    490                     cucul_free_font(f);
    491 
    492                     free(buf);
    493                 }
    494 
    495 }
Note: See TracChangeset for help on using the changeset viewer.