1 /* face.h -- header file for the face module.
2 Copyright (C) 2003, 2004
3 National Institute of Advanced Industrial Science and Technology (AIST)
4 Registration Number H15PRO112
6 This file is part of the m17n library.
8 The m17n library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public License
10 as published by the Free Software Foundation; either version 2.1 of
11 the License, or (at your option) any later version.
13 The m17n library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
18 You should have received a copy of the GNU Lesser General Public
19 License along with the m17n library; if not, write to the Free
20 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
28 /** The font related properties. */
29 /* The order of MFACE_FOUNDRY to MFACE_ADSTYLE must be the same as
30 enum MFontProperty. */
40 /** The color related properties. */
44 /** The other properties. */
49 /** Extention by applications. */
53 /* In a realized face, this is already reflected in MFACE_SIZE,
63 /* Initialized to 0, and incremented by one each the face is
66 void *property[MFACE_PROPERTY_MAX];
83 /** A realized face is registered in MFrame->face_list, thus it does
84 not have to be a managed object. */
88 /** Frame on which this realized face is created. */
91 /** Properties of all stacked faces are merged into here. */
94 /** From what faces this is realized. Keys are Mface and values are
96 MPlist *base_face_list;
98 /* Initialized to the sum of ticks of the above faces. */
101 /* Realized font, one of <frame>->realized_font_list. */
102 MRealizedFont *rfont;
104 /* Realized fontset, one of <frame>->realized_fontset_list. */
105 MRealizedFontset *rfontset;
109 MFaceHLineProp *hline;
113 /** Realized face for ASCII chars that has the same face
115 MRealizedFace *ascii_rface;
117 /** Realized face for undisplayable chars (no font found) that has
118 the same face properties. */
119 MRealizedFace *nofont_rface;
124 /** Pointer to a window system dependent object. */
129 extern MFace *mface__default;
131 extern MRealizedFace *mface__realize (MFrame *frame, MFace **faces, int num,
132 MSymbol language, MSymbol charset,
135 extern MGlyph *mface__for_chars (MSymbol script, MSymbol language,
136 MSymbol charset, MGlyph *from_g, MGlyph *to_g,
139 extern void mface__free_realized (MRealizedFace *rface);
141 #endif /* _M17N_FACE_H_ */