view gui/skin/font.h @ 32786:31f88a1387ad

Define constants in a single place.
author ib
date Thu, 10 Feb 2011 11:35:32 +0000
parents 91625bcadbe8
children d55d0bb7d00f
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 <gtk/gtk.h>
#include "gui/bitmap.h"
#include "gui/app.h"

#define ASCII_CHRS 128   // number of ASCII characters
#define EXTRA_CHRS 128   // (arbitrary) number of non-ASCII characters

#define MAX_FONT_NAME 128
#define MAX_FONTS 25

#define fntAlignLeft   0
#define fntAlignCenter 1
#define fntAlignRight  2

typedef struct
{
 int x,y;   // location
 int sx,sy; // size
} fntChar;

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

extern bmpFont  * Fonts[MAX_FONTS + 1];

int  fntAddNewFont( char * name );
void fntFreeFont( void );
int  fntFindID( char * name );
int  fntGetCharIndex( int id, unsigned char **str, gboolean utf8, int direction );
int  fntTextHeight( int id, char * str );
int  fntTextWidth( int id, char * str );

int        fntRead( char * path, char * fname );
txSample * fntRender( wItem * item, int px, char * txt );

#endif /* MPLAYER_GUI_FONT_H */