<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>cairomm: Cairo::Win32ScaledFont Class Reference</title> <link href="cairomm.css" rel="stylesheet" type="text/css"> </head> <body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceCairo.html">Cairo</a>::<a class="el" href="classCairo_1_1Win32ScaledFont.html">Win32ScaledFont</a> </div> </div> <div class="contents"> <h1>Cairo::Win32ScaledFont Class Reference</h1><!-- doxytag: class="Cairo::Win32ScaledFont" --><!-- doxytag: inherits="Cairo::ScaledFont" -->Scaled Font implementation for Microsoft Windows fonts. <a href="#_details">More...</a> <p> Inherits <a class="el" href="classCairo_1_1ScaledFont.html">Cairo::ScaledFont</a>. <p> <p> <a href="classCairo_1_1Win32ScaledFont-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#c6212da0cd1703a735c327480c4342cf">select_font</a> (HDC hdc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Selects the font into the given device context and changes the map mode and world transformation of the device context to match that of the font. <a href="#c6212da0cd1703a735c327480c4342cf"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#b06d5966b259ee21db5da72eb3726afd">done_font</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Releases any resources allocated by <a class="el" href="classCairo_1_1Win32ScaledFont.html#c6212da0cd1703a735c327480c4342cf" title="Selects the font into the given device context and changes the map mode and world...">select_font()</a>. <a href="#b06d5966b259ee21db5da72eb3726afd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#fdb579126ac08de40624567c18088e40">get_metrics_factor</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets a scale factor between logical coordinates in the coordinate space used by <a class="el" href="classCairo_1_1Win32ScaledFont.html#c6212da0cd1703a735c327480c4342cf" title="Selects the font into the given device context and changes the map mode and world...">select_font()</a> (that is, the coordinate system used by the Windows functions to return metrics) and font space coordinates. <a href="#fdb579126ac08de40624567c18088e40"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#d3c3ef003def222634fecee16e8e4139">get_logical_to_device</a> (<a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& logical_to_device) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the transformation mapping the logical space used by this scaled font to device space. <a href="#d3c3ef003def222634fecee16e8e4139"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#1d559473b01a1446eca422bc77154e54">get_device_to_logical</a> (<a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& device_to_logical) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the transformation mapping device space to the logical space used by this scaled font. <a href="#1d559473b01a1446eca422bc77154e54"></a><br></td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Win32ScaledFont.html">Win32ScaledFont</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#5571af577942771c07bf33e46ff4e715">create</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Win32FontFace.html">Win32FontFace</a> >& font_face, const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& font_matrix, const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& ctm, const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>& options=<a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>())</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a scaled font for the given <a class="el" href="classCairo_1_1Win32FontFace.html" title="Font support for Microsoft Windows.">Win32FontFace</a>. <a href="#5571af577942771c07bf33e46ff4e715"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCairo_1_1Win32ScaledFont.html#6257a1be5c290dedad297f34db488211">Win32ScaledFont</a> (const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Win32FontFace.html">Win32FontFace</a> >& font_face, const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& font_matrix, const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& ctm, const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>& options=<a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>())</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Scaled Font implementation for Microsoft Windows fonts. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="6257a1be5c290dedad297f34db488211"></a><!-- doxytag: member="Cairo::Win32ScaledFont::Win32ScaledFont" ref="6257a1be5c290dedad297f34db488211" args="(const RefPtr< Win32FontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Cairo::Win32ScaledFont::Win32ScaledFont </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Win32FontFace.html">Win32FontFace</a> >& </td> <td class="paramname"> <em>font_face</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>font_matrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>ctm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>& </td> <td class="paramname"> <em>options</em> = <code><a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="5571af577942771c07bf33e46ff4e715"></a><!-- doxytag: member="Cairo::Win32ScaledFont::create" ref="5571af577942771c07bf33e46ff4e715" args="(const RefPtr< Win32FontFace > &font_face, const Matrix &font_matrix, const Matrix &ctm, const FontOptions &options=FontOptions())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a><<a class="el" href="classCairo_1_1Win32ScaledFont.html">Win32ScaledFont</a>> Cairo::Win32ScaledFont::create </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCairo_1_1RefPtr.html">RefPtr</a>< <a class="el" href="classCairo_1_1Win32FontFace.html">Win32FontFace</a> >& </td> <td class="paramname"> <em>font_face</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>font_matrix</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>ctm</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>& </td> <td class="paramname"> <em>options</em> = <code><a class="el" href="classCairo_1_1FontOptions.html">FontOptions</a>()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a scaled font for the given <a class="el" href="classCairo_1_1Win32FontFace.html" title="Font support for Microsoft Windows.">Win32FontFace</a>. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <a class="anchor" name="b06d5966b259ee21db5da72eb3726afd"></a><!-- doxytag: member="Cairo::Win32ScaledFont::done_font" ref="b06d5966b259ee21db5da72eb3726afd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Win32ScaledFont::done_font </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Releases any resources allocated by <a class="el" href="classCairo_1_1Win32ScaledFont.html#c6212da0cd1703a735c327480c4342cf" title="Selects the font into the given device context and changes the map mode and world...">select_font()</a>. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <a class="anchor" name="1d559473b01a1446eca422bc77154e54"></a><!-- doxytag: member="Cairo::Win32ScaledFont::get_device_to_logical" ref="1d559473b01a1446eca422bc77154e54" args="(Matrix &device_to_logical) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Win32ScaledFont::get_device_to_logical </td> <td>(</td> <td class="paramtype"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>device_to_logical</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Gets the transformation mapping device space to the logical space used by this scaled font. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>device_to_logical</em> </td><td>matrix to return</td></tr> </table> </dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <a class="anchor" name="d3c3ef003def222634fecee16e8e4139"></a><!-- doxytag: member="Cairo::Win32ScaledFont::get_logical_to_device" ref="d3c3ef003def222634fecee16e8e4139" args="(Matrix &logical_to_device) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Win32ScaledFont::get_logical_to_device </td> <td>(</td> <td class="paramtype"><a class="el" href="classCairo_1_1Matrix.html">Matrix</a>& </td> <td class="paramname"> <em>logical_to_device</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Gets the transformation mapping the logical space used by this scaled font to device space. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>logical_to_device</em> </td><td>matrix to return</td></tr> </table> </dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <a class="anchor" name="fdb579126ac08de40624567c18088e40"></a><!-- doxytag: member="Cairo::Win32ScaledFont::get_metrics_factor" ref="fdb579126ac08de40624567c18088e40" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double Cairo::Win32ScaledFont::get_metrics_factor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Gets a scale factor between logical coordinates in the coordinate space used by <a class="el" href="classCairo_1_1Win32ScaledFont.html#c6212da0cd1703a735c327480c4342cf" title="Selects the font into the given device context and changes the map mode and world...">select_font()</a> (that is, the coordinate system used by the Windows functions to return metrics) and font space coordinates. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>factor to multiply logical units by to get font space coordinates.</dd></dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <a class="anchor" name="c6212da0cd1703a735c327480c4342cf"></a><!-- doxytag: member="Cairo::Win32ScaledFont::select_font" ref="c6212da0cd1703a735c327480c4342cf" args="(HDC hdc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Cairo::Win32ScaledFont::select_font </td> <td>(</td> <td class="paramtype">HDC </td> <td class="paramname"> <em>hdc</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Selects the font into the given device context and changes the map mode and world transformation of the device context to match that of the font. <p> This function is intended for use when using layout APIs such as Uniscribe to do text layout with the cairo font. After finishing using the device context, you must call <a class="el" href="classCairo_1_1Win32ScaledFont.html#b06d5966b259ee21db5da72eb3726afd" title="Releases any resources allocated by select_font().">done_font()</a> to release any resources allocated by this function.<p> See <a class="el" href="classCairo_1_1Win32ScaledFont.html#fdb579126ac08de40624567c18088e40" title="Gets a scale factor between logical coordinates in the coordinate space used by select_font()...">get_metrics_factor()</a> for converting logical coordinates from the device context to font space.<p> Normally, calls to SaveDC() and RestoreDC() would be made around the use of this function to preserve the original graphics state.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>scaled_font</em> </td><td>A cairo_scaled_font_t from the Win32 font backend. Such an object can be created with Win32FontFace::create_for_logfontw(). </td></tr> <tr><td valign="top"></td><td valign="top"><em>hdc</em> </td><td>a device context</td></tr> </table> </dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>1.8 </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>cairomm/win32_font.h</ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Thu Aug 13 11:40:14 2009 for cairomm by  <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>