Changeset 1101 for toilet/trunk


Ignore:
Timestamp:
Sep 24, 2006, 12:53:17 AM (14 years ago)
Author:
Sam Hocevar
Message:
  • Created skeleton for future FIGlet font handling. Nothing here yet.
Location:
toilet/trunk/src
Files:
2 added
2 edited

Legend:

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

    r1100 r1101  
    22bin_PROGRAMS = toilet
    33
    4 toilet_SOURCES = main.c render.c render.h filters.c filter.h
     4toilet_SOURCES = main.c \
     5        render.c render.h \
     6        filters.c filter.h \
     7        figlet.c figlet.h
    58toilet_CFLAGS = `pkg-config --cflags cucul`
    69toilet_LDFLAGS = `pkg-config --libs cucul` @GETOPT_LIBS@
  • toilet/trunk/src/main.c

    r1100 r1101  
    2626
    2727#include "render.h"
     28#include "figlet.h"
    2829#include "filters.h"
    2930
     
    3940
    4041    char const *export = "utf8";
     42    char const *font = "mono9";
    4143    unsigned flag_gay = 0;
    4244    unsigned flag_metal = 0;
     
    5153        {
    5254            /* Long option, needs arg, flag, short option */
     55            { "font", 1, NULL, 'f' },
     56            { "gay", 0, NULL, 'g' },
    5357            { "metal", 0, NULL, 'm' },
    54             { "gay", 0, NULL, 'g' },
    5558            { "irc", 0, NULL, 'i' },
    5659            { "help", 0, NULL, 'h' },
     
    5962        };
    6063
    61         int c = getopt_long(argc, argv, "gmihv", long_options, &option_index);
     64        int c = getopt_long(argc, argv, "f:gmihv", long_options, &option_index);
    6265#   else
    6366#       define MOREINFO "Try `%s -h' for more information.\n"
    64         int c = getopt(argc, argv, "gmihv");
     67        int c = getopt(argc, argv, "f:gmihv");
    6568#   endif
    6669        if(c == -1)
     
    7073        {
    7174        case 'h': /* --help */
    72             printf("Usage: %s [ -gmihv ] [ message ]\n", argv[0]);
     75            printf("Usage: %s [ -f:gmihv ] [ message ]\n", argv[0]);
    7376#   ifdef HAVE_GETOPT_LONG
     77            printf("  -f, --font <fontfile>\n");
     78            printf("                   select the font\n");
    7479            printf("  -g, --gay        add a rainbow effect to the text\n");
    7580            printf("  -m, --metal      add a metal effect to the text\n");
     
    7883            printf("  -v, --version    output version information and exit\n");
    7984#   else
     85            printf("  -f <fontfile>\n");
     86            printf("        select the font\n");
    8087            printf("  -g    add a rainbow effect to the text\n");
    8188            printf("  -m    add a metal effect to the text\n");
     
    8592#   endif
    8693            return 0;
    87         case 'm': /* --metal */
    88             flag_metal = 1;
    89             break;
    90         case 'g': /* --gay */
    91             flag_gay = 1;
    92             break;
    93         case 'i': /* --irc */
    94             export = "irc";
    95             break;
    9694        case 'v': /* --version */
    9795            printf("TOIlet Copyright 2006 Sam Hocevar %s\n", VERSION);
     
    9997            printf("\n");
    10098            return 0;
     99        case 'f': /* --font */
     100            font = optarg;
     101            break;
     102        case 'g': /* --gay */
     103            flag_gay = 1;
     104            break;
     105        case 'm': /* --metal */
     106            flag_metal = 1;
     107            break;
     108        case 'i': /* --irc */
     109            export = "irc";
     110            break;
    101111        case '?':
    102112            printf(MOREINFO, argv[0]);
     
    145155    }
    146156
     157    /* Render string to canvas */
     158    if(!strcasecmp(font, "mono9"))
     159        cv = render_big(string, length);
     160    else if(!strcasecmp(font, "term"))
     161        cv = render_tiny(string, length);
     162    else
     163        cv = render_figlet(string, length, font);
     164
     165    /* Crop output */
     166    filter_autocrop(cv);
     167
    147168    /* Do gay stuff with our string (léopard) */
    148     cv = render_big(string, length);
    149     filter_autocrop(cv);
    150169    if(flag_metal)
    151170        filter_metal(cv);
Note: See TracChangeset for help on using the changeset viewer.