view gui/skin/font.h @ 36984:3f3a415d605b

Move most of TranslateFilename() back to the renderer files. Although it would be nice to share the code (which was the reason for r34263), most of it really doesn't belong to string.c.
author ib
date Thu, 27 Mar 2014 01:49:01 +0000
parents 896b8c73943e
children
line wrap: on
line source

/*
 * This file is part of MPlayer.
 *
 * MPlayer is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * MPlayer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

#ifndef MPLAYER_GUI_FONT_H
#define MPLAYER_GUI_FONT_H

#include "gui/app/app.h"
#include "gui/util/bitmap.h"

#define ASCII_CHRS 128   // number of ASCII characters
#define EXTRA_CHRS 128   // (arbitrary) number of non-ASCII characters
#define UTF8LENGTH 4     // length of an UTF-8 encoding according to RFC 3629

#define MAX_FONT_NAME 128

typedef struct {
    int x, y;     // location
    int w, h;     // size
} fntChar;

typedef struct {
    fntChar Fnt[ASCII_CHRS + EXTRA_CHRS];
    unsigned char nonASCIIidx[EXTRA_CHRS][UTF8LENGTH];
    guiImage Bitmap;
    char name[MAX_FONT_NAME];
} bmpFont;

int fntFindID(char *name);
void fntFreeFont(void);
int fntRead(char *path, char *fname);
guiImage *fntTextRender(guiItem *item, int px, char *txt);
int fntTextWidth(int id, char *str);

#endif /* MPLAYER_GUI_FONT_H */