#include <gfxFont.h>
Public Types | |
enum | { UNDERLINE_OFFSET_NOT_SET = 32767 } |
typedef PRBool(* | FontCreationCallback )(const nsAString &aName, const nsACString &aGenericName, void *closure) |
Public Member Functions | |
gfxFontGroup (const nsAString &aFamilies, const gfxFontStyle *aStyle, gfxUserFontSet *aUserFontSet=0L) | |
virtual | ~gfxFontGroup () |
virtual gfxFont * | GetFontAt (PRInt32 i) |
virtual PRUint32 | FontListLength () const |
PRBool | Equals (const gfxFontGroup &other) const |
const gfxFontStyle * | GetStyle () const |
virtual gfxFontGroup * | Copy (const gfxFontStyle *aStyle) |
gfxTextRun * | MakeEmptyTextRun (const Parameters *aParams, PRUint32 aFlags) |
Make a textrun for an empty string. | |
gfxTextRun * | MakeSpaceTextRun (const Parameters *aParams, PRUint32 aFlags) |
Make a textrun for a single ASCII space. | |
virtual gfxTextRun * | MakeTextRun (const PRUnichar *aString, PRUint32 aLength, const Parameters *aParams, PRUint32 aFlags) |
Make a textrun for a given string. | |
virtual gfxTextRun * | MakeTextRun (const PRUint8 *aString, PRUint32 aLength, const Parameters *aParams, PRUint32 aFlags) |
Make a textrun for a given string. | |
PRBool | ForEachFont (const nsAString &aFamilies, nsIAtom *aLanguage, FontCreationCallback fc, void *closure) |
PRBool | ForEachFont (FontCreationCallback fc, void *closure) |
PRBool | HasFont (const gfxFontEntry *aFontEntry) |
Check whether a given font (specified by its gfxFontEntry) is already in the fontgroup's list of actual fonts. | |
const nsString_external & | GetFamilies () |
virtual gfxFloat | GetUnderlineOffset () |
virtual already_AddRefed< gfxFont > | FindFontForChar (PRUint32 ch, PRUint32 prevCh, PRInt32 aRunScript, gfxFont *aPrevMatchedFont) |
virtual already_AddRefed< gfxFont > | WhichPrefFontSupportsChar (PRUint32 aCh) |
virtual already_AddRefed< gfxFont > | WhichSystemFontSupportsChar (PRUint32 aCh) |
void | ComputeRanges (nsTArray< gfxTextRange > &mRanges, const PRUnichar *aString, PRUint32 begin, PRUint32 end, PRInt32 aRunScript) |
gfxUserFontSet * | GetUserFontSet () |
PRUint64 | GetGeneration () |
virtual void | UpdateFontList () |
Static Public Member Functions | |
static void | Shutdown () |
static PRBool | IsInvalidChar (PRUnichar ch) |
The listed characters should not be passed in to MakeTextRun and should be treated as invisible and zero-width. | |
Protected Member Functions | |
void | SetUserFontSet (gfxUserFontSet *aUserFontSet) |
void | BuildFontList () |
void | InitMetricsForBadFont (gfxFont *aBadFont) |
void | InitTextRun (gfxContext *aContext, gfxTextRun *aTextRun, const PRUnichar *aString, PRUint32 aLength) |
void | InitScriptRun (gfxContext *aContext, gfxTextRun *aTextRun, const PRUnichar *aString, PRUint32 aTotalLength, PRUint32 aScriptRunStart, PRUint32 aScriptRunEnd, PRInt32 aRunScript) |
PRBool | ForEachFontInternal (const nsAString &aFamilies, nsIAtom *aLanguage, PRBool aResolveGeneric, PRBool aResolveFontName, FontCreationCallback fc, void *closure) |
Static Protected Member Functions | |
static PRBool | FontResolverProc (const nsAString &aName, void *aClosure) |
static PRBool | FindPlatformFont (const nsAString &aName, const nsACString &aGenericName, void *closure) |
Protected Attributes | |
nsString_external | mFamilies |
gfxFontStyle | mStyle |
nsTArray< nsRefPtr< gfxFont > > | mFonts |
gfxFloat | mUnderlineOffset |
gfxUserFontSet * | mUserFontSet |
PRUint64 | mCurrGeneration |
nsRefPtr< gfxFontFamily > | mLastPrefFamily |
nsRefPtr< gfxFont > | mLastPrefFont |
eFontPrefLang | mLastPrefLang |
PRBool | mLastPrefFirstFont |
eFontPrefLang | mPageLang |
Static Protected Attributes | |
static nsILanguageAtomService * | gLangService |
typedef PRBool(* gfxFontGroup::FontCreationCallback)(const nsAString &aName, const nsACString &aGenericName, void *closure) |
gfxFontGroup::gfxFontGroup | ( | const nsAString & | aFamilies, | |
const gfxFontStyle * | aStyle, | |||
gfxUserFontSet * | aUserFontSet = 0L | |||
) |
virtual gfxFontGroup::~gfxFontGroup | ( | ) | [virtual] |
void gfxFontGroup::BuildFontList | ( | ) | [protected] |
void gfxFontGroup::ComputeRanges | ( | nsTArray< gfxTextRange > & | mRanges, | |
const PRUnichar * | aString, | |||
PRUint32 | begin, | |||
PRUint32 | end, | |||
PRInt32 | aRunScript | |||
) |
virtual gfxFontGroup* gfxFontGroup::Copy | ( | const gfxFontStyle * | aStyle | ) | [virtual] |
Reimplemented in gfxPangoFontGroup.
PRBool gfxFontGroup::Equals | ( | const gfxFontGroup & | other | ) | const [inline] |
virtual already_AddRefed<gfxFont> gfxFontGroup::FindFontForChar | ( | PRUint32 | ch, | |
PRUint32 | prevCh, | |||
PRInt32 | aRunScript, | |||
gfxFont * | aPrevMatchedFont | |||
) | [virtual] |
Reimplemented in gfxPangoFontGroup.
static PRBool gfxFontGroup::FindPlatformFont | ( | const nsAString & | aName, | |
const nsACString & | aGenericName, | |||
void * | closure | |||
) | [static, protected] |
virtual PRUint32 gfxFontGroup::FontListLength | ( | ) | const [inline, virtual] |
static PRBool gfxFontGroup::FontResolverProc | ( | const nsAString & | aName, | |
void * | aClosure | |||
) | [static, protected] |
PRBool gfxFontGroup::ForEachFont | ( | const nsAString & | aFamilies, | |
nsIAtom * | aLanguage, | |||
FontCreationCallback | fc, | |||
void * | closure | |||
) |
PRBool gfxFontGroup::ForEachFont | ( | FontCreationCallback | fc, | |
void * | closure | |||
) |
PRBool gfxFontGroup::ForEachFontInternal | ( | const nsAString & | aFamilies, | |
nsIAtom * | aLanguage, | |||
PRBool | aResolveGeneric, | |||
PRBool | aResolveFontName, | |||
FontCreationCallback | fc, | |||
void * | closure | |||
) | [protected] |
const nsString_external& gfxFontGroup::GetFamilies | ( | ) | [inline] |
virtual gfxFont* gfxFontGroup::GetFontAt | ( | PRInt32 | i | ) | [inline, virtual] |
Reimplemented in gfxPangoFontGroup.
PRUint64 gfxFontGroup::GetGeneration | ( | ) |
const gfxFontStyle* gfxFontGroup::GetStyle | ( | ) | const [inline] |
virtual gfxFloat gfxFontGroup::GetUnderlineOffset | ( | ) | [inline, virtual] |
gfxUserFontSet* gfxFontGroup::GetUserFontSet | ( | ) |
PRBool gfxFontGroup::HasFont | ( | const gfxFontEntry * | aFontEntry | ) |
Check whether a given font (specified by its gfxFontEntry) is already in the fontgroup's list of actual fonts.
void gfxFontGroup::InitMetricsForBadFont | ( | gfxFont * | aBadFont | ) | [protected] |
void gfxFontGroup::InitScriptRun | ( | gfxContext * | aContext, | |
gfxTextRun * | aTextRun, | |||
const PRUnichar * | aString, | |||
PRUint32 | aTotalLength, | |||
PRUint32 | aScriptRunStart, | |||
PRUint32 | aScriptRunEnd, | |||
PRInt32 | aRunScript | |||
) | [protected] |
void gfxFontGroup::InitTextRun | ( | gfxContext * | aContext, | |
gfxTextRun * | aTextRun, | |||
const PRUnichar * | aString, | |||
PRUint32 | aLength | |||
) | [protected] |
The listed characters should not be passed in to MakeTextRun and should be treated as invisible and zero-width.
gfxTextRun* gfxFontGroup::MakeEmptyTextRun | ( | const Parameters * | aParams, | |
PRUint32 | aFlags | |||
) |
Make a textrun for an empty string.
This is fast; if you call it, don't bother caching the result.
gfxTextRun* gfxFontGroup::MakeSpaceTextRun | ( | const Parameters * | aParams, | |
PRUint32 | aFlags | |||
) |
Make a textrun for a single ASCII space.
This is fast; if you call it, don't bother caching the result.
virtual gfxTextRun* gfxFontGroup::MakeTextRun | ( | const PRUint8 * | aString, | |
PRUint32 | aLength, | |||
const Parameters * | aParams, | |||
PRUint32 | aFlags | |||
) | [virtual] |
Make a textrun for a given string.
If aText is not persistent (aFlags & TEXT_IS_PERSISTENT), the textrun will copy it. This calls FetchGlyphExtents on the textrun.
virtual gfxTextRun* gfxFontGroup::MakeTextRun | ( | const PRUnichar * | aString, | |
PRUint32 | aLength, | |||
const Parameters * | aParams, | |||
PRUint32 | aFlags | |||
) | [virtual] |
Make a textrun for a given string.
If aText is not persistent (aFlags & TEXT_IS_PERSISTENT), the textrun will copy it. This calls FetchGlyphExtents on the textrun.
void gfxFontGroup::SetUserFontSet | ( | gfxUserFontSet * | aUserFontSet | ) | [protected] |
static void gfxFontGroup::Shutdown | ( | ) | [static] |
Reimplemented in gfxPangoFontGroup.
virtual void gfxFontGroup::UpdateFontList | ( | ) | [virtual] |
Reimplemented in gfxPangoFontGroup.
virtual already_AddRefed<gfxFont> gfxFontGroup::WhichPrefFontSupportsChar | ( | PRUint32 | aCh | ) | [virtual] |
virtual already_AddRefed<gfxFont> gfxFontGroup::WhichSystemFontSupportsChar | ( | PRUint32 | aCh | ) | [virtual] |
nsILanguageAtomService* gfxFontGroup::gLangService [static, protected] |
PRUint64 gfxFontGroup::mCurrGeneration [protected] |
nsString_external gfxFontGroup::mFamilies [protected] |
nsTArray< nsRefPtr<gfxFont> > gfxFontGroup::mFonts [protected] |
nsRefPtr<gfxFontFamily> gfxFontGroup::mLastPrefFamily [protected] |
PRBool gfxFontGroup::mLastPrefFirstFont [protected] |
nsRefPtr<gfxFont> gfxFontGroup::mLastPrefFont [protected] |
eFontPrefLang gfxFontGroup::mLastPrefLang [protected] |
eFontPrefLang gfxFontGroup::mPageLang [protected] |
gfxFontStyle gfxFontGroup::mStyle [protected] |
gfxFloat gfxFontGroup::mUnderlineOffset [protected] |
gfxUserFontSet* gfxFontGroup::mUserFontSet [protected] |