source: libcaca/trunk/examples/figfont.c @ 3495

Last change on this file since 3495 was 3495, checked in by Sam Hocevar, 11 years ago

Add caca_export_area_to_memory() to export only a selected part of the
current canvas. This is useful to export dirty rectangles. Accordingly,
add caca_import_area_from_memory() and caca_import_area_from_file().

File size: 1.3 KB
Line 
1/*
2 *  figfont       libcaca FIGfont test program
3 *  Copyright (c) 2007-2009 Sam Hocevar <sam@hocevar.net>
4 *                All Rights Reserved
5 *
6 *  $Id$
7 *
8 *  This program is free software. It comes without any warranty, to
9 *  the extent permitted by applicable law. You can redistribute it
10 *  and/or modify it under the terms of the Do What The Fuck You Want
11 *  To Public License, Version 2, as published by Sam Hocevar. See
12 *  http://sam.zoy.org/wtfpl/COPYING for more details.
13 */
14
15#include "config.h"
16
17#if !defined(__KERNEL__)
18#   include <stdio.h>
19#   include <stdlib.h>
20#endif
21
22#include "caca.h"
23
24int main(int argc, char *argv[])
25{
26    caca_canvas_t *cv;
27    void *buffer;
28    size_t len;
29    uint8_t color = 0;
30
31    if(argc < 3)
32    {
33        fprintf(stderr, "Too few arguments\n");
34        return -1;
35    }
36
37    cv = caca_create_canvas(0, 0);
38    if(caca_canvas_set_figfont(cv, argv[1]))
39    {
40        fprintf(stderr, "Could not open font\n");
41        return -1;
42    }
43
44    while(argv[2][0])
45    {
46        caca_set_color_ansi(cv, 1 + ((color += 4) % 15), CACA_TRANSPARENT);
47        caca_put_figchar(cv, argv[2]++[0]);
48    }
49
50    buffer = caca_export_canvas_to_memory(cv, "utf8", &len);
51    fwrite(buffer, len, 1, stdout);
52    free(buffer);
53
54    caca_free_canvas(cv);
55
56    return 0;
57}
58
Note: See TracBrowser for help on using the repository browser.