瀏覽代碼

Rename figfont into charfont. We will support far more than figfonts in

the future.
tags/v0.99.beta18
Sam Hocevar sam 14 年之前
父節點
當前提交
c822280896
共有 3 個文件被更改,包括 27 次插入17 次删除
  1. +14
    -3
      caca/caca.h
  2. +1
    -2
      caca/caca_internals.h
  3. +12
    -12
      caca/figfont.c

+ 14
- 3
caca/caca.h 查看文件

@@ -49,7 +49,9 @@ extern "C"
typedef struct caca_canvas caca_canvas_t; typedef struct caca_canvas caca_canvas_t;
/** dither structure */ /** dither structure */
typedef struct caca_dither caca_dither_t; typedef struct caca_dither caca_dither_t;
/** font structure */
/** character font structure */
typedef struct caca_charfont caca_charfont_t;
/** bitmap font structure */
typedef struct caca_font caca_font_t; typedef struct caca_font caca_font_t;
/** file handle structure */ /** file handle structure */
typedef struct caca_file caca_file_t; typedef struct caca_file caca_file_t;
@@ -413,9 +415,18 @@ __extern int caca_dither_bitmap(caca_canvas_t *, int, int, int, int,
__extern int caca_free_dither(caca_dither_t *); __extern int caca_free_dither(caca_dither_t *);
/* @} */ /* @} */


/** \defgroup caca_font libcaca font handling
/** \defgroup caca_charfont libcaca character font handling
* *
* These functions provide font handling routines and high quality
* These functions provide character font handling routines.
*
* @{ */
__extern caca_charfont_t *caca_load_charfont(void const *, size_t);
__extern int caca_free_charfont(caca_charfont_t *);
/* @} */

/** \defgroup caca_font libcaca bitmap font handling
*
* These functions provide bitmap font handling routines and high quality
* canvas to bitmap rendering. * canvas to bitmap rendering.
* *
* @{ */ * @{ */


+ 1
- 2
caca/caca_internals.h 查看文件

@@ -19,7 +19,6 @@


typedef struct caca_timer caca_timer_t; typedef struct caca_timer caca_timer_t;
typedef struct caca_privevent caca_privevent_t; typedef struct caca_privevent caca_privevent_t;
typedef struct caca_figfont caca_figfont_t;


#if !defined(_DOXYGEN_SKIP_ME) #if !defined(_DOXYGEN_SKIP_ME)
# define STAT_VALUES 32 # define STAT_VALUES 32
@@ -75,7 +74,7 @@ struct caca_canvas
uint32_t curattr; uint32_t curattr;


/* FIGfont management */ /* FIGfont management */
caca_figfont_t *ff;
caca_charfont_t *ff;
}; };


/* Graphics driver */ /* Graphics driver */


+ 12
- 12
caca/figfont.c 查看文件

@@ -29,7 +29,7 @@
#include "caca.h" #include "caca.h"
#include "caca_internals.h" #include "caca_internals.h"


struct caca_figfont
struct caca_charfont
{ {
int term_width; int term_width;
int x, y, w, h, lines; int x, y, w, h, lines;
@@ -47,17 +47,17 @@ struct caca_figfont
}; };


static uint32_t hsmush(uint32_t ch1, uint32_t ch2, int rule); static uint32_t hsmush(uint32_t ch1, uint32_t ch2, int rule);
static caca_figfont_t * open_figfont(char const *);
static int free_figfont(caca_figfont_t *);
static caca_charfont_t * open_charfont(char const *);
static int free_charfont(caca_charfont_t *);


/** \brief load a figfont and attach it to a canvas */ /** \brief load a figfont and attach it to a canvas */
int caca_canvas_set_figfont(caca_canvas_t *cv, char const *path) int caca_canvas_set_figfont(caca_canvas_t *cv, char const *path)
{ {
caca_figfont_t *ff = NULL;
caca_charfont_t *ff = NULL;


if(path) if(path)
{ {
ff = open_figfont(path);
ff = open_charfont(path);
if(!ff) if(!ff)
return -1; return -1;
} }
@@ -67,7 +67,7 @@ int caca_canvas_set_figfont(caca_canvas_t *cv, char const *path)
caca_free_canvas(cv->ff->charcv); caca_free_canvas(cv->ff->charcv);
free(cv->ff->left); free(cv->ff->left);
free(cv->ff->right); free(cv->ff->right);
free_figfont(cv->ff);
free_charfont(cv->ff);
} }


cv->ff = ff; cv->ff = ff;
@@ -129,7 +129,7 @@ int caca_canvas_set_figfont(caca_canvas_t *cv, char const *path)
/** \brief paste a character using the current figfont */ /** \brief paste a character using the current figfont */
int caca_put_figchar(caca_canvas_t *cv, uint32_t ch) int caca_put_figchar(caca_canvas_t *cv, uint32_t ch)
{ {
caca_figfont_t *ff = cv->ff;
caca_charfont_t *ff = cv->ff;
int c, w, h, x, y, overlap, extra, xleft, xright; int c, w, h, x, y, overlap, extra, xleft, xright;


if (!ff) if (!ff)
@@ -253,7 +253,7 @@ int caca_put_figchar(caca_canvas_t *cv, uint32_t ch)
/** \brief flush the figlet context */ /** \brief flush the figlet context */
int caca_flush_figlet(caca_canvas_t *cv) int caca_flush_figlet(caca_canvas_t *cv)
{ {
caca_figfont_t *ff = cv->ff;
caca_charfont_t *ff = cv->ff;
int x, y; int x, y;


if (!ff) if (!ff)
@@ -287,19 +287,19 @@ int caca_flush_figlet(caca_canvas_t *cv)
#define STD_GLYPHS (127 - 32) #define STD_GLYPHS (127 - 32)
#define EXT_GLYPHS (STD_GLYPHS + 7) #define EXT_GLYPHS (STD_GLYPHS + 7)


static caca_figfont_t * open_figfont(char const *path)
static caca_charfont_t * open_charfont(char const *path)
{ {
#if !defined __KERNEL__ && defined HAVE_SNPRINTF #if !defined __KERNEL__ && defined HAVE_SNPRINTF
char altpath[2048]; char altpath[2048];
#endif #endif
char buf[2048]; char buf[2048];
char hardblank[10]; char hardblank[10];
caca_figfont_t *ff;
caca_charfont_t *ff;
char *data = NULL; char *data = NULL;
caca_file_t *f; caca_file_t *f;
int i, j, size, comment_lines; int i, j, size, comment_lines;


ff = malloc(sizeof(caca_figfont_t));
ff = malloc(sizeof(caca_charfont_t));
if(!ff) if(!ff)
{ {
seterrno(ENOMEM); seterrno(ENOMEM);
@@ -484,7 +484,7 @@ static caca_figfont_t * open_figfont(char const *path)
return ff; return ff;
} }


int free_figfont(caca_figfont_t *ff)
int free_charfont(caca_charfont_t *ff)
{ {
caca_free_canvas(ff->fontcv); caca_free_canvas(ff->fontcv);
free(ff->lookup); free(ff->lookup);


Loading…
取消
儲存