<!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" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - Guacamole.Client</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header">
</div>
		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><i><a href="../symbols/_global_.html">_global_</a></i></li>
	
	<li><a href="../symbols/Guacamole.html">Guacamole</a></li>
	
	<li><a href="../symbols/Guacamole.AudioChannel.html">Guacamole.AudioChannel</a></li>
	
	<li><a href="../symbols/Guacamole.AudioChannel.Packet.html">Guacamole.AudioChannel.Packet</a></li>
	
	<li><a href="../symbols/Guacamole.Blob.html">Guacamole.Blob</a></li>
	
	<li><a href="../symbols/Guacamole.ChainedTunnel.html">Guacamole.ChainedTunnel</a></li>
	
	<li><a href="../symbols/Guacamole.Client.html">Guacamole.Client</a></li>
	
	<li><a href="../symbols/Guacamole.Client.LayerContainer.html">Guacamole.Client.LayerContainer</a></li>
	
	<li><a href="../symbols/Guacamole.HTTPTunnel.html">Guacamole.HTTPTunnel</a></li>
	
	<li><a href="../symbols/Guacamole.Keyboard.html">Guacamole.Keyboard</a></li>
	
	<li><a href="../symbols/Guacamole.Layer.html">Guacamole.Layer</a></li>
	
	<li><a href="../symbols/Guacamole.Layer.Pixel.html">Guacamole.Layer.Pixel</a></li>
	
	<li><a href="../symbols/Guacamole.Mouse.html">Guacamole.Mouse</a></li>
	
	<li><a href="../symbols/Guacamole.Mouse.State.html">Guacamole.Mouse.State</a></li>
	
	<li><a href="../symbols/Guacamole.Mouse.Touchpad.html">Guacamole.Mouse.Touchpad</a></li>
	
	<li><a href="../symbols/Guacamole.Mouse.Touchscreen.html">Guacamole.Mouse.Touchscreen</a></li>
	
	<li><a href="../symbols/Guacamole.OnScreenKeyboard.html">Guacamole.OnScreenKeyboard</a></li>
	
	<li><a href="../symbols/Guacamole.OnScreenKeyboard.Cap.html">Guacamole.OnScreenKeyboard.Cap</a></li>
	
	<li><a href="../symbols/Guacamole.OnScreenKeyboard.Key.html">Guacamole.OnScreenKeyboard.Key</a></li>
	
	<li><a href="../symbols/Guacamole.Parser.html">Guacamole.Parser</a></li>
	
	<li><a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a></li>
	
	<li><a href="../symbols/Guacamole.WebSocketTunnel.html">Guacamole.WebSocketTunnel</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Class Guacamole.Client
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
				
			
				
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/src_main_resources_guacamole.js.html">guacamole.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class Guacamole.Client.">
				<caption>Class Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/Guacamole.Client.html#constructor">Guacamole.Client</a></b>(tunnel)
							</div>
							<div class="description">Guacamole protocol client.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class Guacamole.Client.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#connect">connect</a></b>(data)
								</div>
								<div class="description">Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#disconnect">disconnect</a></b>()
								</div>
								<div class="description">Sends a disconnect instruction to the server and closes the tunnel.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#flatten">flatten</a></b>()
								</div>
								<div class="description">Returns a canvas element containing the entire display, with all child
layers composited within.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getDisplay">getDisplay</a></b>()
								</div>
								<div class="description">Returns an element containing the display of this Guacamole.Client.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getHeight">getHeight</a></b>()
								</div>
								<div class="description">Returns the height of the display.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getScale">getScale</a></b>()
								</div>
								<div class="description">Returns the scale of the display.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#getWidth">getWidth</a></b>()
								</div>
								<div class="description">Returns the width of the display.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#scale">scale</a></b>(scale)
								</div>
								<div class="description">Sets the scale of the client display element such that it renders at
a relatively smaller or larger size, without affecting the true
resolution of the display.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendKeyEvent">sendKeyEvent</a></b>(pressed, keysym)
								</div>
								<div class="description">Sends a key event having the given properties as if the user
pressed or released a key.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendMouseState">sendMouseState</a></b>(mouseState)
								</div>
								<div class="description">Sends a mouse event having the properties provided by the given mouse
state.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#sendSize">sendSize</a></b>(width, height)
								</div>
								<div class="description">Sends the current size of the screen.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#setClipboard">setClipboard</a></b>(data)
								</div>
								<div class="description">Sets the clipboard of the remote client to the given text data.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the events documented in the class Guacamole.Client.">
					<caption>Event Summary</caption>
					<thead>
						<tr>
							<th scope="col">Event Attributes</th>
							<th scope="col">Event Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onblob">onblob</a></b>(blob)
								</div>
								<div class="description">Fired when a blob is created.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onclipboard">onclipboard</a></b>(data)
								</div>
								<div class="description">Fired when the clipboard of the remote client is changing.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onerror">onerror</a></b>(error)
								</div>
								<div class="description">Fired when an error is reported by the remote client, and the connection
is being closed.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onname">onname</a></b>(name)
								</div>
								<div class="description">Fired when the remote client sends a name update.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onresize">onresize</a></b>(width, height)
								</div>
								<div class="description">Fired when the default layer (and thus the entire Guacamole display)
is resized.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/Guacamole.Client.html#event:onstatechange">onstatechange</a></b>(state)
								</div>
								<div class="description">Fired whenever the state of this Guacamole.Client changes.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Class Detail
				</div>
				
				<div class="fixedFont">
						<b>Guacamole.Client</b>(tunnel)
				</div>
				
				<div class="description">
					Guacamole protocol client. Given a display element and <a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a>,
automatically handles incoming and outgoing Guacamole instructions via the
provided tunnel, updating the display using one or more canvas elements.
					
				</div>
				
				
				
				
					
						<dl class="detailList">
						<dt class="heading">Parameters:</dt>
						
							<dt>
								<span class="light fixedFont">{<a href="../symbols/Guacamole.Tunnel.html">Guacamole.Tunnel</a>}</span>  <b>tunnel</b>
								
							</dt>
								<dd>The tunnel to use to send and receive
                                 Guacamole instructions.</dd>
						
						</dl>
					
					
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name="connect"> </a>
					<div class="fixedFont">
					
					
					<b>connect</b>(data)
					
					</div>
					<div class="description">
						Connects the underlying tunnel of this Guacamole.Client, passing the
given arbitrary data to the tunnel during the connection process.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>data</b>
									
								</dt>
								<dd>Arbitrary connection data to be sent to the underlying
            tunnel during the connection process.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="disconnect"> </a>
					<div class="fixedFont">
					
					
					<b>disconnect</b>()
					
					</div>
					<div class="description">
						Sends a disconnect instruction to the server and closes the tunnel.
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="flatten"> </a>
					<div class="fixedFont">
					
					<span class="light">{HTMLCanvasElement}</span>
					<b>flatten</b>()
					
					</div>
					<div class="description">
						Returns a canvas element containing the entire display, with all child
layers composited within.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{HTMLCanvasElement}</span> A new canvas element containing a copy of
                            the display.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getDisplay"> </a>
					<div class="fixedFont">
					
					<span class="light">{Element}</span>
					<b>getDisplay</b>()
					
					</div>
					<div class="description">
						Returns an element containing the display of this Guacamole.Client.
Adding the element returned by this function to an element in the body
of a document will cause the client's display to be visible.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Element}</span> An element containing ths display of this
                  Guacamole.Client.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getHeight"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>getHeight</b>()
					
					</div>
					<div class="description">
						Returns the height of the display.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> The height of the display.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getScale"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>getScale</b>()
					
					</div>
					<div class="description">
						Returns the scale of the display.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> The scale of the display.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="getWidth"> </a>
					<div class="fixedFont">
					
					<span class="light">{Number}</span>
					<b>getWidth</b>()
					
					</div>
					<div class="description">
						Returns the width of the display.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> The width of the display.</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name="scale"> </a>
					<div class="fixedFont">
					
					
					<b>scale</b>(scale)
					
					</div>
					<div class="description">
						Sets the scale of the client display element such that it renders at
a relatively smaller or larger size, without affecting the true
resolution of the display.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>scale</b>
									
								</dt>
								<dd>The scale to resize to, where 1.0 is normal
                      size (1:1 scale).</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="sendKeyEvent"> </a>
					<div class="fixedFont">
					
					
					<b>sendKeyEvent</b>(pressed, keysym)
					
					</div>
					<div class="description">
						Sends a key event having the given properties as if the user
pressed or released a key.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>pressed</b>
									
								</dt>
								<dd>Whether the key is pressed (true) or released
                         (false).</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>keysym</b>
									
								</dt>
								<dd>The keysym of the key being pressed or released.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="sendMouseState"> </a>
					<div class="fixedFont">
					
					
					<b>sendMouseState</b>(mouseState)
					
					</div>
					<div class="description">
						Sends a mouse event having the properties provided by the given mouse
state.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/Guacamole.Mouse.State.html">Guacamole.Mouse.State</a>}</span> <b>mouseState</b>
									
								</dt>
								<dd>The state of the mouse to send
                                          in the mouse event.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="sendSize"> </a>
					<div class="fixedFont">
					
					
					<b>sendSize</b>(width, height)
					
					</div>
					<div class="description">
						Sends the current size of the screen.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>width</b>
									
								</dt>
								<dd>The width of the screen.</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>height</b>
									
								</dt>
								<dd>The height of the screen.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="setClipboard"> </a>
					<div class="fixedFont">
					
					
					<b>setClipboard</b>(data)
					
					</div>
					<div class="description">
						Sets the clipboard of the remote client to the given text data.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>data</b>
									
								</dt>
								<dd>The data to send as the clipboard contents.</dd>
							
							</dl>
						
						
						
						
						
						
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
				<div class="sectionTitle">
					Event Detail
				</div>
				
					<a name="event:onblob"> </a>
					<div class="fixedFont">
					
					
					<b>onblob</b>(blob)
					
					</div>
					<div class="description">
						Fired when a blob is created. The blob provided to this event handler
will contain its own event handlers for received data and the close
event.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/Guacamole.Blob.html">Guacamole.Blob</a>}</span> <b>blob</b>
									
								</dt>
								<dd>A container for blob data that will receive
                             data from the server.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="event:onclipboard"> </a>
					<div class="fixedFont">
					
					
					<b>onclipboard</b>(data)
					
					</div>
					<div class="description">
						Fired when the clipboard of the remote client is changing.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>data</b>
									
								</dt>
								<dd>The new text data of the remote clipboard.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="event:onerror"> </a>
					<div class="fixedFont">
					
					
					<b>onerror</b>(error)
					
					</div>
					<div class="description">
						Fired when an error is reported by the remote client, and the connection
is being closed.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>error</b>
									
								</dt>
								<dd>A human-readable description of the error.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="event:onname"> </a>
					<div class="fixedFont">
					
					
					<b>onname</b>(name)
					
					</div>
					<div class="description">
						Fired when the remote client sends a name update.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>name</b>
									
								</dt>
								<dd>The new name of this client.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="event:onresize"> </a>
					<div class="fixedFont">
					
					
					<b>onresize</b>(width, height)
					
					</div>
					<div class="description">
						Fired when the default layer (and thus the entire Guacamole display)
is resized.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>width</b>
									
								</dt>
								<dd>The new width of the Guacamole display.</dd>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>height</b>
									
								</dt>
								<dd>The new height of the Guacamole display.</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="event:onstatechange"> </a>
					<div class="fixedFont">
					
					
					<b>onstatechange</b>(state)
					
					</div>
					<div class="description">
						Fired whenever the state of this Guacamole.Client changes.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Number}</span> <b>state</b>
									
								</dt>
								<dd>The new state of the client.</dd>
							
							</dl>
						
						
						
						
						
						
						

					
				
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Fri May 23 2014 12:15:22 GMT-0700 (PDT)
		</div>

<!-- Google Analytics -->
<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-75289145-1', 'auto');
  ga('send', 'pageview');

</script>
<!-- End Google Analytics -->
	</body>
</html>
