<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Fox::Canvas::Shape
— FXRuby API Documentation
</title>
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Fox::Canvas::Shape";
relpath = '../../';
</script>
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../../class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../../_index.html">Index (S)</a> »
<span class='title'><span class='object_link'><a href="../../Fox.html" title="Fox (module)">Fox</a></span></span> » <span class='title'><span class='object_link'><a href="../Canvas.html" title="Fox::Canvas (module)">Canvas</a></span></span>
»
<span class="title">Shape</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Class: Fox::Canvas::Shape
</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd>
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Fox::Canvas::Shape</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/fox16/canvas.rb</dd>
</dl>
</div>
<div id="subclasses">
<h2>Direct Known Subclasses</h2>
<p class="children"><span class='object_link'><a href="CircleShape.html" title="Fox::Canvas::CircleShape (class)">CircleShape</a></span>, <span class='object_link'><a href="ImageShape.html" title="Fox::Canvas::ImageShape (class)">ImageShape</a></span>, <span class='object_link'><a href="LineShape.html" title="Fox::Canvas::LineShape (class)">LineShape</a></span>, <span class='object_link'><a href="PolygonShape.html" title="Fox::Canvas::PolygonShape (class)">PolygonShape</a></span>, <span class='object_link'><a href="RectangleShape.html" title="Fox::Canvas::RectangleShape (class)">RectangleShape</a></span>, <span class='object_link'><a href="TextShape.html" title="Fox::Canvas::TextShape (class)">TextShape</a></span></p>
</div>
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#foreground-instance_method" title="#foreground (instance method)">#<strong>foreground</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute foreground.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#selector-instance_method" title="#selector (instance method)">#<strong>selector</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute selector.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#target-instance_method" title="#target (instance method)">#<strong>target</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute target.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#x-instance_method" title="#x (instance method)">#<strong>x</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute x.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#y-instance_method" title="#y (instance method)">#<strong>y</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute y.</p>
</div></span>
</li>
</ul>
<h2>
Instance Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="protected ">
<span class="summary_signature">
<a href="#apply_dc-instance_method" title="#apply_dc (instance method)">#<strong>apply_dc</strong>(dc) ⇒ Object </a>
</span>
<span class="note title protected">protected</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#bounds-instance_method" title="#bounds (instance method)">#<strong>bounds</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Return the bounding box for this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#deselect-instance_method" title="#deselect (instance method)">#<strong>deselect</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Deselect this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#disable-instance_method" title="#disable (instance method)">#<strong>disable</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Disable this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#draggable=-instance_method" title="#draggable= (instance method)">#<strong>draggable=</strong>(d) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Set this shape’s draggability.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#draggable%3F-instance_method" title="#draggable? (instance method)">#<strong>draggable?</strong> ⇒ Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Is this shape draggable?.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#draw-instance_method" title="#draw (instance method)">#<strong>draw</strong>(dc) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Draw this shape into the specificed device context.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#drawOutline-instance_method" title="#drawOutline (instance method)">#<strong>drawOutline</strong>(dc, x, y, w, h) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Draws outline.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#enable-instance_method" title="#enable (instance method)">#<strong>enable</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Enable this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#enabled%3F-instance_method" title="#enabled? (instance method)">#<strong>enabled?</strong> ⇒ Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Is this shape enabled?.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#hide-instance_method" title="#hide (instance method)">#<strong>hide</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Hide this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#hit%3F-instance_method" title="#hit? (instance method)">#<strong>hit?</strong>(xpos, ypos) ⇒ Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Hit test.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(x, y) ⇒ Shape </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>A new instance of Shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#makeControlPoints-instance_method" title="#makeControlPoints (instance method)">#<strong>makeControlPoints</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Default: make 6 control points.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#move-instance_method" title="#move (instance method)">#<strong>move</strong>(x, y) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Move shape to specified position.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#position-instance_method" title="#position (instance method)">#<strong>position</strong>(x, y, w, h) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Move and resize the shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#resize-instance_method" title="#resize (instance method)">#<strong>resize</strong>(w, h) ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Resize shape to specified width and height.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#select-instance_method" title="#select (instance method)">#<strong>select</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Select this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#selected%3F-instance_method" title="#selected? (instance method)">#<strong>selected?</strong> ⇒ Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Is this shape selected?.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#show-instance_method" title="#show (instance method)">#<strong>show</strong> ⇒ Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Show this shape.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#visible%3F-instance_method" title="#visible? (instance method)">#<strong>visible?</strong> ⇒ Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Is this shape visible?.</p>
</div></span>
</li>
</ul>
<div id="constructor_details" class="method_details_list">
<h2>Constructor Details</h2>
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
#<strong>initialize</strong>(x, y) ⇒ <tt><span class='object_link'><a href="" title="Fox::Canvas::Shape (class)">Shape</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns a new instance of Shape.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
26
27
28
29
30
31
32
33
34
35
36</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 26</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
<span class='ivar'>@enabled</span> <span class='op'>=</span> <span class='kw'>true</span>
<span class='ivar'>@visible</span> <span class='op'>=</span> <span class='kw'>true</span>
<span class='ivar'>@selected</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='ivar'>@draggable</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='ivar'>@x</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span>
<span class='ivar'>@y</span> <span class='op'>=</span> <span class='id identifier rubyid_y'>y</span>
<span class='ivar'>@foreground</span> <span class='op'>=</span> <span class='const'>FXRGB</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
<span class='ivar'>@target</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='ivar'>@selector</span> <span class='op'>=</span> <span class='int'>0</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="foreground=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="foreground-instance_method">
#<strong>foreground</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute foreground.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
24
25
26</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 24</span>
<span class='kw'>def</span> <span class='id identifier rubyid_foreground'>foreground</span>
<span class='ivar'>@foreground</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="selector=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="selector-instance_method">
#<strong>selector</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute selector.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
24
25
26</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 24</span>
<span class='kw'>def</span> <span class='id identifier rubyid_selector'>selector</span>
<span class='ivar'>@selector</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="target=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="target-instance_method">
#<strong>target</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute target.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
24
25
26</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 24</span>
<span class='kw'>def</span> <span class='id identifier rubyid_target'>target</span>
<span class='ivar'>@target</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="x=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="x-instance_method">
#<strong>x</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute x.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
24
25
26</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 24</span>
<span class='kw'>def</span> <span class='id identifier rubyid_x'>x</span>
<span class='ivar'>@x</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<span id="y=-instance_method"></span>
<div class="method_details ">
<h3 class="signature " id="y-instance_method">
#<strong>y</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute y.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
24
25
26</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 24</span>
<span class='kw'>def</span> <span class='id identifier rubyid_y'>y</span>
<span class='ivar'>@y</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="apply_dc-instance_method">
#<strong>apply_dc</strong>(dc) ⇒ <tt>Object</tt> <span class="extras">(protected)</span>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
137
138
139
140
141
142</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 137</span>
<span class='id identifier rubyid_protected'>protected</span> <span class='kw'>def</span> <span class='id identifier rubyid_apply_dc'>apply_dc</span><span class='lparen'>(</span><span class='id identifier rubyid_dc'>dc</span><span class='rparen'>)</span>
<span class='id identifier rubyid_oldForeground'>oldForeground</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</span>
<span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</span> <span class='op'>=</span> <span class='id identifier rubyid_foreground'>foreground</span>
<span class='kw'>yield</span>
<span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</span> <span class='op'>=</span> <span class='id identifier rubyid_oldForeground'>oldForeground</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="bounds-instance_method">
#<strong>bounds</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Return the bounding box for this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
39
40
41</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 39</span>
<span class='kw'>def</span> <span class='id identifier rubyid_bounds'>bounds</span>
<span class='const'><span class='object_link'><a href="../FXRectangle.html" title="Fox::FXRectangle (class)">FXRectangle</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../FXRectangle.html#initialize-instance_method" title="Fox::FXRectangle#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='id identifier rubyid_width'>width</span><span class='comma'>,</span> <span class='id identifier rubyid_height'>height</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="deselect-instance_method">
#<strong>deselect</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Deselect this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
99
100
101</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 99</span>
<span class='kw'>def</span> <span class='id identifier rubyid_deselect'>deselect</span>
<span class='ivar'>@selected</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="disable-instance_method">
#<strong>disable</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Disable this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
69
70
71</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 69</span>
<span class='kw'>def</span> <span class='id identifier rubyid_disable'>disable</span>
<span class='ivar'>@enabled</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="draggable=-instance_method">
#<strong>draggable=</strong>(d) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Set this shape’s draggability</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
109
110
111</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 109</span>
<span class='kw'>def</span> <span class='id identifier rubyid_draggable='>draggable=</span><span class='lparen'>(</span><span class='id identifier rubyid_d'>d</span><span class='rparen'>)</span>
<span class='ivar'>@draggable</span> <span class='op'>=</span> <span class='id identifier rubyid_d'>d</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="draggable?-instance_method">
#<strong>draggable?</strong> ⇒ <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Is this shape draggable?</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
114
115
116</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 114</span>
<span class='kw'>def</span> <span class='id identifier rubyid_draggable?'>draggable?</span>
<span class='ivar'>@draggable</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="draw-instance_method">
#<strong>draw</strong>(dc) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Draw this shape into the specificed device context</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
119
120</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 119</span>
<span class='kw'>def</span> <span class='id identifier rubyid_draw'>draw</span><span class='lparen'>(</span><span class='id identifier rubyid_dc'>dc</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="drawOutline-instance_method">
#<strong>drawOutline</strong>(dc, x, y, w, h) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Draws outline</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
123
124
125
126
127
128
129
130
131</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 123</span>
<span class='kw'>def</span> <span class='id identifier rubyid_drawOutline'>drawOutline</span><span class='lparen'>(</span><span class='id identifier rubyid_dc'>dc</span><span class='comma'>,</span> <span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'><<</span> <span class='const'>FXPoint</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span> <span class='op'>-</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>-</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'><<</span> <span class='const'>FXPoint</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span> <span class='op'>+</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'><<</span> <span class='const'>FXPoint</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span> <span class='op'>+</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>+</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'><<</span> <span class='const'>FXPoint</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span> <span class='op'>-</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>+</span> <span class='float'>0.5</span><span class='op'>*</span><span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='id identifier rubyid_points'>points</span> <span class='op'><<</span> <span class='id identifier rubyid_points'>points</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
<span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_drawLines'>drawLines</span><span class='lparen'>(</span><span class='id identifier rubyid_points'>points</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="enable-instance_method">
#<strong>enable</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Enable this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
64
65
66</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 64</span>
<span class='kw'>def</span> <span class='id identifier rubyid_enable'>enable</span>
<span class='ivar'>@enabled</span> <span class='op'>=</span> <span class='kw'>true</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="enabled?-instance_method">
#<strong>enabled?</strong> ⇒ <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Is this shape enabled?</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
74
75
76</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 74</span>
<span class='kw'>def</span> <span class='id identifier rubyid_enabled?'>enabled?</span>
<span class='ivar'>@enabled</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="hide-instance_method">
#<strong>hide</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Hide this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
84
85
86</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 84</span>
<span class='kw'>def</span> <span class='id identifier rubyid_hide'>hide</span>
<span class='ivar'>@visible</span> <span class='op'>=</span> <span class='kw'>false</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="hit?-instance_method">
#<strong>hit?</strong>(xpos, ypos) ⇒ <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Hit test</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
44
45
46</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 44</span>
<span class='kw'>def</span> <span class='id identifier rubyid_hit?'>hit?</span><span class='lparen'>(</span><span class='id identifier rubyid_xpos'>xpos</span><span class='comma'>,</span> <span class='id identifier rubyid_ypos'>ypos</span><span class='rparen'>)</span>
<span class='lparen'>(</span><span class='id identifier rubyid_xpos'>xpos</span> <span class='op'>>=</span> <span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_xpos'>xpos</span> <span class='op'><</span> <span class='id identifier rubyid_x'>x</span><span class='op'>+</span><span class='id identifier rubyid_width'>width</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_ypos'>ypos</span> <span class='op'>>=</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_ypos'>ypos</span> <span class='op'><</span> <span class='id identifier rubyid_y'>y</span><span class='op'>+</span><span class='id identifier rubyid_height'>height</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="makeControlPoints-instance_method">
#<strong>makeControlPoints</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Default: make 6 control points</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
134
135</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 134</span>
<span class='kw'>def</span> <span class='id identifier rubyid_makeControlPoints'>makeControlPoints</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="move-instance_method">
#<strong>move</strong>(x, y) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Move shape to specified position</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
49
50
51</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 49</span>
<span class='kw'>def</span> <span class='id identifier rubyid_move'>move</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
<span class='ivar'>@x</span><span class='comma'>,</span> <span class='ivar'>@y</span> <span class='op'>=</span> <span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="position-instance_method">
#<strong>position</strong>(x, y, w, h) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Move and resize the shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
58
59
60
61</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 58</span>
<span class='kw'>def</span> <span class='id identifier rubyid_position'>position</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='comma'>,</span> <span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='id identifier rubyid_move'>move</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span>
<span class='id identifier rubyid_resize'>resize</span><span class='lparen'>(</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="resize-instance_method">
#<strong>resize</strong>(w, h) ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Resize shape to specified width and height</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
54
55</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 54</span>
<span class='kw'>def</span> <span class='id identifier rubyid_resize'>resize</span><span class='lparen'>(</span><span class='id identifier rubyid_w'>w</span><span class='comma'>,</span> <span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="select-instance_method">
#<strong>select</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Select this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
94
95
96</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 94</span>
<span class='kw'>def</span> <span class='id identifier rubyid_select'>select</span>
<span class='ivar'>@selected</span> <span class='op'>=</span> <span class='kw'>true</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="selected?-instance_method">
#<strong>selected?</strong> ⇒ <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Is this shape selected?</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
104
105
106</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 104</span>
<span class='kw'>def</span> <span class='id identifier rubyid_selected?'>selected?</span>
<span class='ivar'>@selected</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="show-instance_method">
#<strong>show</strong> ⇒ <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Show this shape</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
79
80
81</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 79</span>
<span class='kw'>def</span> <span class='id identifier rubyid_show'>show</span>
<span class='ivar'>@visible</span> <span class='op'>=</span> <span class='kw'>true</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="visible?-instance_method">
#<strong>visible?</strong> ⇒ <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Is this shape visible?</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
89
90
91</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/fox16/canvas.rb', line 89</span>
<span class='kw'>def</span> <span class='id identifier rubyid_visible?'>visible?</span>
<span class='ivar'>@visible</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Mon Jan 2 11:48:19 2023 by
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.28 (ruby-3.1.2).
</div>
</div>
</body>
</html>