haiku-website/static/legacy-docs/bebook/BShape_Overview.html

45 lines
6.7 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - System Overview - The Interface Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheInterfaceKit_Overview.html" title="The Interface Kit" /><link rel="prev" href="BSeparatorItem_Overview.html" title="BSeparatorItem" /><link rel="next" href="BShapeIterator_Overview.html" title="BShapeIterator" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BSeparatorItem_Overview.html" title="BSeparatorItem"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheInterfaceKit_Overview.html" title="The Interface Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="BShapeIterator_Overview.html" title="BShapeIterator"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - System Overview - The Interface Kit</div></div><div id="headerB">Prev: <a href="BSeparatorItem_Overview.html">BSeparatorItem</a>  Up: <a href="TheInterfaceKit_Overview.html">The Interface Kit</a>  Next: <a href="BShapeIterator_Overview.html">BShapeIterator</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BShape_Overview"></a>BShape</h2></div></div></div><a id="id556168" class="indexterm"></a><p>
The <a class="link" href="BShape.html" title="BShape"><code class="classname">BShape</code></a>
class provides a powerful means of representing the outline of
any shape that can be comprised of lines or Beziér curves.
</p><p>
The <a class="link" href="BShapeIterator.html" title="BShapeIterator"><code class="classname">BShapeIterator</code></a>
class provides a means for utilizing
<a class="link" href="BShape.html" title="BShape"><code class="classname">BShape</code></a>
objects in your own code. You can also use
<a class="link" href="BShape.html" title="BShape"><code class="classname">BShape</code></a>
objects to obtain outlines of characters in a
<a class="link" href="BFont.html" title="BFont"><code class="classname">BFont</code></a> by calling
<a class="link" href="BFont.html#BFont_GetGlyphShapes" title="GetGlyphShapes()"><code class="methodname">BFont::GetGlyphShapes()</code></a>.
</p><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="id556238"></a>Creating a BShape</h3></div></div></div><p>
A <a class="link" href="BShape.html" title="BShape"><code class="classname">BShape</code></a>
is essentially a list of graphics commands, of which there are
four types:
</p><ul class="itemizedlist"><li><p>
MoveTo. This sets the BShape's coordinates to a specified point in
the shape's space.
</p></li><li><p>
LineTo. This represents a line from the current point to the next
point in the shape.
</p></li><li><p>
BeziérTo. This represents a Bezier curve, connecting the current
point to a new point, with other points serving to control the shape of
the curve.
</p></li><li><p>
Close. This indicates the end of the shape's command list.
</p></li></ul><p>
Functions by the same names are used to add the corresponding commands to
the BShape object. For example, to create a BShape that represents two
vertical lines, the following code might be used:
</p><pre class="programlisting example cpp"><code class="classname">BShape</code> <code class="varname">shape</code>;
<code class="varname">shape</code>.<code class="methodname">MoveTo</code>(0,0);
<code class="varname">shape</code>.<code class="methodname">LineTo</code>(0,100);
<code class="varname">shape</code>.<code class="methodname">MoveTo</code>(5,0);
<code class="varname">shape</code>.<code class="methodname">LineTo</code>(5,100);</pre></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BSeparatorItem_Overview.html">BSeparatorItem</a>  Up: <a href="TheInterfaceKit_Overview.html">The Interface Kit</a>  Next: <a href="BShapeIterator_Overview.html">BShapeIterator</a> </div><div id="footerB"><div id="footerBL"><a href="BSeparatorItem_Overview.html" title="BSeparatorItem"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheInterfaceKit_Overview.html" title="The Interface Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="BShapeIterator_Overview.html" title="BShapeIterator"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>