blob: 1b4ccfcf4ddb88cd43eac6e8ccf6921531270603 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Skia: SkTypeface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>SkTypeface Class Reference</h1><!-- doxytag: class="SkTypeface" --><!-- doxytag: inherits="SkRefCnt" -->
<p><code>#include &lt;<a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>&gt;</code></p>
<p>Inherits <a class="el" href="class_sk_ref_cnt.html">SkRefCnt</a>.</p>
<div class="dynheader">
Collaboration diagram for SkTypeface:</div>
<div class="dynsection">
<div class="center"><img src="class_sk_typeface__coll__graph.png" border="0" usemap="#_sk_typeface_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="class_sk_typeface-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a> { <a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5a661c14140141c412b896594578de750d">kNormal</a> = 0,
<a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5af7256854fbbc997a677b60d73f4063ba">kBold</a> = 0x01,
<a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5a3a74499fc14a49d408fceef3f96f554f">kItalic</a> = 0x02,
<a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5a4779e5ebefda6eabb37dec31c8b9ad40">kBoldItalic</a> = 0x03
}</td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#ad4e4299982d21726e86c0a3e30f12a59">style</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#a6db690c8e229356d43924c839bdf2745">isBold</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#a364bf06154446393d20086d562c8dd05">isItalic</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#af1e0ac772ca52ad55128f8e07da0747b">uniqueID</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#aaee37b2536aff61146c6766ef70c187e">serialize</a> (<a class="el" href="class_sk_w_stream.html">SkWStream</a> *) const </td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#abd6f0452daa76f17a6918e9d86ee708e">UniqueID</a> (const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *face)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#ae1b1b7fc7dcc78028c6703828731579a">Equal</a> (const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *facea, const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *faceb)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#ad4aa72c969aede1907be3407753f757d">CreateFromName</a> (const char familyName[], <a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a> style)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#adc08449db044819f47d1c16ea53403f3">CreateFromTypeface</a> (const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *family, <a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a> s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#a047671cd11694ef54be4d214266a4dce">CreateFromFile</a> (const char path[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#aefb65b7b5c0605ea38fe47bb3269223f">CreateFromStream</a> (<a class="el" href="class_sk_stream.html">SkStream</a> *stream)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#a3a8f31b21778df5a796cafa8d762d5bc">Deserialize</a> (<a class="el" href="class_sk_stream.html">SkStream</a> *)</td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sk_typeface.html#a54818213b51780069b29134d53e8c6af">SkTypeface</a> (<a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a> style, uint32_t uniqueID)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The <a class="el" href="class_sk_typeface.html">SkTypeface</a> class specifies the typeface and intrinsic style of a font. This is used in the paint, along with optionally algorithmic settings like textSize, textSkewX, textScaleX, kFakeBoldText_Mask, to specify how text appears when drawn (and measured).</p>
<p>Typeface objects are immutable, and so they can be shared between threads. </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00034">34</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="ac009ac5932d826d28e122d4518ffb5b5"></a><!-- doxytag: member="SkTypeface::Style" ref="ac009ac5932d826d28e122d4518ffb5b5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">SkTypeface::Style</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Style specifies the intrinsic style attributes of a given typeface </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ac009ac5932d826d28e122d4518ffb5b5a661c14140141c412b896594578de750d"></a><!-- doxytag: member="kNormal" ref="ac009ac5932d826d28e122d4518ffb5b5a661c14140141c412b896594578de750d" args="" -->kNormal</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac009ac5932d826d28e122d4518ffb5b5af7256854fbbc997a677b60d73f4063ba"></a><!-- doxytag: member="kBold" ref="ac009ac5932d826d28e122d4518ffb5b5af7256854fbbc997a677b60d73f4063ba" args="" -->kBold</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac009ac5932d826d28e122d4518ffb5b5a3a74499fc14a49d408fceef3f96f554f"></a><!-- doxytag: member="kItalic" ref="ac009ac5932d826d28e122d4518ffb5b5a3a74499fc14a49d408fceef3f96f554f" args="" -->kItalic</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ac009ac5932d826d28e122d4518ffb5b5a4779e5ebefda6eabb37dec31c8b9ad40"></a><!-- doxytag: member="kBoldItalic" ref="ac009ac5932d826d28e122d4518ffb5b5a4779e5ebefda6eabb37dec31c8b9ad40" args="" -->kBoldItalic</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00038">38</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a54818213b51780069b29134d53e8c6af"></a><!-- doxytag: member="SkTypeface::SkTypeface" ref="a54818213b51780069b29134d53e8c6af" args="(Style style, uint32_t uniqueID)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">SkTypeface::SkTypeface </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a>&nbsp;</td>
<td class="paramname"> <em>style</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>uniqueID</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline, protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>uniqueID must be unique (please!) and non-zero </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00124">124</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a047671cd11694ef54be4d214266a4dce"></a><!-- doxytag: member="SkTypeface::CreateFromFile" ref="a047671cd11694ef54be4d214266a4dce" args="(const char path[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_sk_typeface.html">SkTypeface</a>* SkTypeface::CreateFromFile </td>
<td>(</td>
<td class="paramtype">const char&nbsp;</td>
<td class="paramname"> <em>path</em>[]</td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a new typeface given a file. If the file does not exist, or is not a valid font file, returns null. </p>
</div>
</div>
<a class="anchor" id="ad4aa72c969aede1907be3407753f757d"></a><!-- doxytag: member="SkTypeface::CreateFromName" ref="ad4aa72c969aede1907be3407753f757d" args="(const char familyName[], Style style)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_sk_typeface.html">SkTypeface</a>* SkTypeface::CreateFromName </td>
<td>(</td>
<td class="paramtype">const char&nbsp;</td>
<td class="paramname"> <em>familyName</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a>&nbsp;</td>
<td class="paramname"> <em>style</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a new reference to the typeface that most closely matches the requested familyName and style. Pass null as the familyName to return the default font for the requested style. Will never return null</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>familyName</em>&nbsp;</td><td>May be NULL. The name of the font family. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>style</em>&nbsp;</td><td>The style (normal, bold, italic) of the typeface. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to the closest-matching typeface. Call must call <a class="el" href="class_sk_ref_cnt.html#a38af7c1c38a521154b2f7e0a73e69bc4">unref()</a> when they are done. </dd></dl>
</div>
</div>
<a class="anchor" id="aefb65b7b5c0605ea38fe47bb3269223f"></a><!-- doxytag: member="SkTypeface::CreateFromStream" ref="aefb65b7b5c0605ea38fe47bb3269223f" args="(SkStream *stream)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_sk_typeface.html">SkTypeface</a>* SkTypeface::CreateFromStream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_stream.html">SkStream</a> *&nbsp;</td>
<td class="paramname"> <em>stream</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a new typeface given a stream. If the stream is not a valid font file, returns null. Ownership of the stream is transferred, so the caller must not reference it again. </p>
</div>
</div>
<a class="anchor" id="adc08449db044819f47d1c16ea53403f3"></a><!-- doxytag: member="SkTypeface::CreateFromTypeface" ref="adc08449db044819f47d1c16ea53403f3" args="(const SkTypeface *family, Style s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_sk_typeface.html">SkTypeface</a>* SkTypeface::CreateFromTypeface </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td>
<td class="paramname"> <em>family</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a>&nbsp;</td>
<td class="paramname"> <em>s</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a new reference to the typeface that most closely matches the requested typeface and specified Style. Use this call if you want to pick a new style from the same family of the existing typeface. If family is NULL, this selects from the default font's family.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>family</em>&nbsp;</td><td>May be NULL. The name of the existing type face. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The style (normal, bold, italic) of the type face. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>reference to the closest-matching typeface. Call must call <a class="el" href="class_sk_ref_cnt.html#a38af7c1c38a521154b2f7e0a73e69bc4">unref()</a> when they are done. </dd></dl>
</div>
</div>
<a class="anchor" id="a3a8f31b21778df5a796cafa8d762d5bc"></a><!-- doxytag: member="SkTypeface::Deserialize" ref="a3a8f31b21778df5a796cafa8d762d5bc" args="(SkStream *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="class_sk_typeface.html">SkTypeface</a>* SkTypeface::Deserialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_stream.html">SkStream</a> *&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Given the data previously written by <a class="el" href="class_sk_typeface.html#aaee37b2536aff61146c6766ef70c187e">serialize()</a>, return a new instance to a typeface referring to the same font. If that font is not available, return null. If an instance is returned, the caller is responsible for calling <a class="el" href="class_sk_ref_cnt.html#a38af7c1c38a521154b2f7e0a73e69bc4">unref()</a> when they are done with it. </p>
</div>
</div>
<a class="anchor" id="ae1b1b7fc7dcc78028c6703828731579a"></a><!-- doxytag: member="SkTypeface::Equal" ref="ae1b1b7fc7dcc78028c6703828731579a" args="(const SkTypeface *facea, const SkTypeface *faceb)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static bool SkTypeface::Equal </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td>
<td class="paramname"> <em>facea</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td>
<td class="paramname"> <em>faceb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if the two typefaces reference the same underlying font, handling either being null (treating null as the default font) </p>
</div>
</div>
<a class="anchor" id="a6db690c8e229356d43924c839bdf2745"></a><!-- doxytag: member="SkTypeface::isBold" ref="a6db690c8e229356d43924c839bdf2745" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkTypeface::isBold </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if getStyle() has the kBold bit set. </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00053">53</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<a class="anchor" id="a364bf06154446393d20086d562c8dd05"></a><!-- doxytag: member="SkTypeface::isItalic" ref="a364bf06154446393d20086d562c8dd05" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SkTypeface::isItalic </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns true if getStyle() has the kItalic bit set. </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00057">57</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<a class="anchor" id="aaee37b2536aff61146c6766ef70c187e"></a><!-- doxytag: member="SkTypeface::serialize" ref="aaee37b2536aff61146c6766ef70c187e" args="(SkWStream *) const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SkTypeface::serialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_sk_w_stream.html">SkWStream</a> *&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write a unique signature to a stream, sufficient to reconstruct a typeface referencing the same font when Deserialize is called. </p>
</div>
</div>
<a class="anchor" id="ad4e4299982d21726e86c0a3e30f12a59"></a><!-- doxytag: member="SkTypeface::style" ref="ad4e4299982d21726e86c0a3e30f12a59" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_sk_typeface.html#ac009ac5932d826d28e122d4518ffb5b5">Style</a> SkTypeface::style </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the typeface's intrinsic style attributes </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00049">49</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<a class="anchor" id="abd6f0452daa76f17a6918e9d86ee708e"></a><!-- doxytag: member="SkTypeface::UniqueID" ref="abd6f0452daa76f17a6918e9d86ee708e" args="(const SkTypeface *face)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static uint32_t SkTypeface::UniqueID </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_sk_typeface.html">SkTypeface</a> *&nbsp;</td>
<td class="paramname"> <em>face</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the uniqueID for the specified typeface. If the face is null, resolve it to the default font and return its uniqueID. Will never return 0. </p>
</div>
</div>
<a class="anchor" id="af1e0ac772ca52ad55128f8e07da0747b"></a><!-- doxytag: member="SkTypeface::uniqueID" ref="af1e0ac772ca52ad55128f8e07da0747b" args="() const " -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t SkTypeface::uniqueID </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return a 32bit value for this typeface, unique for the underlying font data. Will never return 0. </p>
<p>Definition at line <a class="el" href="_sk_typeface_8h_source.html#l00062">62</a> of file <a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/core/<a class="el" href="_sk_typeface_8h_source.html">SkTypeface.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Oct 20 11:03:42 2009 for Skia by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>