annotate gui/skin/font.h @ 36630:70f30c9c35c1

sub_fribidi: Slightly simplify non-fribidi fallback.
author reimar
date Sat, 25 Jan 2014 16:54:55 +0000
parents 6fd886ce32b9
children 896b8c73943e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26458
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
1 /*
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
2 * This file is part of MPlayer.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
3 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
5 * it under the terms of the GNU General Public License as published by
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
7 * (at your option) any later version.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
8 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
12 * GNU General Public License for more details.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
13 *
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
14 * You should have received a copy of the GNU General Public License along
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
17 */
b0a7b35b78d2 Add standard GPL header to individual files.
diego
parents: 26365
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
19 #ifndef MPLAYER_GUI_FONT_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
20 #define MPLAYER_GUI_FONT_H
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21
35525
e27855a45128 Rebuild GUI directory structure.
ib
parents: 33971
diff changeset
22 #include "gui/app/app.h"
33046
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents: 32948
diff changeset
23 #include "gui/util/bitmap.h"
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24
32734
cc58a1e919d9 Allow character in the font description file to be in UTF-8.
ib
parents: 28051
diff changeset
25 #define ASCII_CHRS 128 // number of ASCII characters
cc58a1e919d9 Allow character in the font description file to be in UTF-8.
ib
parents: 28051
diff changeset
26 #define EXTRA_CHRS 128 // (arbitrary) number of non-ASCII characters
32835
19cc523b8e15 Enlarge uchar buffer, because GLib implements 31-bit UTF-8,
ib
parents: 32787
diff changeset
27 #define UTF8LENGTH 4 // length of an UTF-8 encoding according to RFC 3629
32734
cc58a1e919d9 Allow character in the font description file to be in UTF-8.
ib
parents: 28051
diff changeset
28
32786
31f88a1387ad Define constants in a single place.
ib
parents: 32785
diff changeset
29 #define MAX_FONT_NAME 128
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
30
32869
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
31 typedef struct {
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
32 int x, y; // location
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
33 int sx, sy; // size
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 } fntChar;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35
32869
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
36 typedef struct {
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
37 fntChar Fnt[ASCII_CHRS + EXTRA_CHRS];
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
38 unsigned char nonASCIIidx[EXTRA_CHRS][UTF8LENGTH];
33555
c5a19bbeac2b Cosmetic: Rename some GUI variables and functions.
ib
parents: 33269
diff changeset
39 guiImage Bitmap;
32869
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
40 char name[MAX_FONT_NAME];
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41 } bmpFont;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
42
32948
dc026d74dfce Add variable names to prototype declarations.
ib
parents: 32869
diff changeset
43 int fntFindID(char *name);
32869
67ec52396b81 Cosmetic: Format to MPlayer coding style.
ib
parents: 32852
diff changeset
44 void fntFreeFont(void);
32948
dc026d74dfce Add variable names to prototype declarations.
ib
parents: 32869
diff changeset
45 int fntRead(char *path, char *fname);
35688
6fd886ce32b9 Cosmetic: Rename wItem guiItem.
ib
parents: 35525
diff changeset
46 guiImage *fntTextRender(guiItem *item, int px, char *txt);
32948
dc026d74dfce Add variable names to prototype declarations.
ib
parents: 32869
diff changeset
47 int fntTextWidth(int id, char *str);
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25535
diff changeset
49 #endif /* MPLAYER_GUI_FONT_H */