201 lines
9.1 KiB
HTML
201 lines
9.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<title>/* @pjs */ directives | reference | Processing.js</title>
|
|
<link rel="stylesheet" href="../../css/bootstrap.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../css/syntax.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../css/processing-js.css" type="text/css" />
|
|
<script src="../../js/processing.min.js" type="text/javascript"></script>
|
|
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
|
|
<script src="../../js/jquery.tweet.min.js" type="text/javascript"></script>
|
|
<script src="../../js/tabselector.js" type="text/javascript"></script>
|
|
<script src="http://cdn.webglstats.com/stat.js" defer="defer" async="async"></script>
|
|
<script type="text/javascript">
|
|
// Only do tracking on the actual site
|
|
if (document.location.host === "processingjs.org") {
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-8565070-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
}());
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="header">
|
|
<a href="http://processingjs.org/"><img src="../../images/header.png" width="177" height="42"></a>
|
|
</div>
|
|
<span class="tagline">a port of the Processing Visualization Language</span>
|
|
|
|
<div class="navbar">
|
|
<canvas width="940px" height="78px" data-processing-sources="/sketches/bannerSketch.pde"></canvas>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/"><span>home</span></a></li>
|
|
<li><a href="http://processingjs.org/download/"><span>download</span></a></li>
|
|
<li><a href="../index.html"><span>reference</span></a></li>
|
|
<li><a href="http://processingjs.org/exhibition/"><span>exhibition</span></a></li>
|
|
<li><a href="http://processingjs.org/learning/"><span>learning</span></a></li>
|
|
<li><a href="http://processingjs.org/articles/"><span>articles</span></a></li>
|
|
<li><a href="http://processingjs.org/community/"><span>community</span></a></li>
|
|
<li><a href="http://processingjs.org/blog/"><span>blog</span></a></li>
|
|
</ul>
|
|
<a class="viewsource" href="http://processingjs.org/sketches/bannerSketch.pde">view source</a>
|
|
</div>
|
|
|
|
<div class="page row">
|
|
<div class="span11">
|
|
<table cellpadding="0" cellspacing="0" border="0" class="ref-item">
|
|
|
|
<tr class="name-row">
|
|
<th scope="row">Name</th>
|
|
<td><h3> /* @pjs */ directives</h3></td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Examples</th>
|
|
|
|
<td><div class="example"><pre>A single directive:<br />
|
|
/* @pjs preload="image1.jpg"; */<br />
|
|
Multiple directives on a single line: <br />
|
|
/* @pjs preload="image1.jpg,image2.jpg"; crisp="true"; */ <br />
|
|
Multiple directives over multiple lines:<br />
|
|
/*
|
|
@pjs preload="image1.jpg,image2.jpg";
|
|
crisp="true";
|
|
*/
|
|
|
|
|
|
|
|
<strong>Note: You can only have one directives block in a sketch, which should
|
|
be the first line of your sketch. If you wish to use multiple directives,
|
|
see the examples.</strong>
|
|
</pre></div></td>
|
|
</tr>
|
|
<tr class="">
|
|
<th scope="row">Description</th>
|
|
<td><p>As Processing.js offers a tighter integration between Processing sketches and webpages than the traditional applet approach, certain
|
|
functions that are normally regulated by Processing are left to be handled by the browser. This approach means that certain behaviour that is
|
|
expected from a sketch may not work without additional "outside the sketch" instructions, for which /* @pjs */ directives must be used. There
|
|
are two types of directives: directives that tell Processing.js to buffer data that must be available to a sketch when it is run (<a href="../preload.1">preload</a>,
|
|
<a href="../font.1">font</a>), and directives that tell Processing.js how to behave once the sketch is running (<a href="../crisp">crisp</a>,
|
|
<a href="../globalKeyEvents.1">globalKeyEvents</a>, <a href="../pauseOnBlur.1">pauseOnBlur</a>).</p>
|
|
<p>These directives are in block comment syntax so that they do not interfere with a sketch when it runs as native Processing, but if you do not wish
|
|
to pollute your source with @pjs directives, you can also store your directives in a separate file, and only call this file on your page:</p>
|
|
<p><u>directives.pde:</u></p>
|
|
<p>/* @pjs crisp="true"; pauseOnBlur="true"; */</p>
|
|
<p><u>html:</u></p>
|
|
<p><canvas id="sketchcanvas" data-processing-sources="directives.pde mysketch.pde"></canvas></p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Syntax</th>
|
|
<td>
|
|
<pre>
|
|
<kbd>
|
|
/* @pjs directive="value"; */ </kbd></pre><br />
|
|
Multiple directives can be on one line or on multiple lines.
|
|
Both ways require semi-colons between directives.
|
|
<pre><kbd>
|
|
/* @pjs directive_1="value"; directive_2="value"; ... */</kbd>
|
|
<kbd>
|
|
/* @pjs directive_1="value";
|
|
directive_2="value";
|
|
...
|
|
*/</kbd></pre><br />
|
|
In Javascript-only Processing.js code you cannot use these directives. You must change the options directly on the Processing.Sketch object. See the examples below for changing these properties on variables bound to a Processing or Processing.Sketch instance:
|
|
<pre><kbd>
|
|
var mySketch = new Processing.Sketch(
|
|
function(p) { p.draw = function(){...}; ... }
|
|
);
|
|
mySketch.options.crispLines = true;
|
|
var myProcessing = new Processing("myCanvas", mySketch);
|
|
|
|
var pi = new Processing("myCanvas");
|
|
pi.externals.sketch.options.crispLines = true;
|
|
</kbd></pre><br />
|
|
NOTE: all @pjs directives, including the "@pjs" instruction, are case-sensitive.
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Usage</th>
|
|
<td>Web & Application, Processing.js compatibility</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
|
|
<th scope="row">Related</th>
|
|
|
|
<td><a href="../font.1">font</a>
|
|
<br /><a href="../crisp">crisp</a>
|
|
<br /><a href="../pauseOnBlur.1">pauseOnBlur</a>
|
|
<br /><a href="../globalKeyEvents.1">globalKeyEvents</a>
|
|
<br /><a href="../preload.1">preload</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div class="cclicense">
|
|
<p>This reference is licensed under the CC BY-NC-SA 2.0 license:</p>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">
|
|
<img alt="Creative Commons License" border="0" src="../../images/somerights20.gif" />
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="sidebar span4">
|
|
<h3><a href="http://processingjs.org/download/">Downloads</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/download/">Download the latest version of Processing.js!</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/articles/">Articles</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/articles/jsQuickStart.html">Quick Start - JavaScript Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/p5QuickStart.html">Quick Start - Processing Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/RenderingModes.html">Rendering Modes</a></li>
|
|
<li><a href="http://processingjs.org/articles/PomaxGuide.html">Pomax's Guide to processing-js</a></li>
|
|
</ul>
|
|
|
|
<h3><a>Web IDEs</a></h3>
|
|
<ul>
|
|
<li><a href="http://sketchpad.cc">Sketchpad.cc</a></li>
|
|
<li><a href="http://processingjs.org/tools/processing-helper.html">Processing.js Helper</a></li>
|
|
<li><a href="http://www.openprocessing.org">OpenProcessing.org</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/community/">Community</a></h3>
|
|
<ul>
|
|
<li><a href="irc://irc.mozilla.org/processing.js">IRC Channel</a></li>
|
|
<li><a href="http://processing-js.lighthouseapp.com/">Bug Tracker</a></li>
|
|
<li><a href="http://github.com/processing-js/processing-js/">Github Repository</a></li>
|
|
<li><a href="http://groups.google.com/group/processingjs">Google Group</a></li>
|
|
<li><a href="http://zenit.senecac.on.ca/wiki/index.php/">Open Source @ Seneca</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://twitter.com/processingjs">Twitter Feed</a></h3>
|
|
<div class="twitter"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer">
|
|
Processing is an open visualization language developed by
|
|
<a href="http://benfry.com/">Ben Fry</a> & <a href="http://reas.com/">Casey Reas</a>,
|
|
and originally ported to Javascript by
|
|
<a href="http://ejohn.org/blog/processingjs/">John Resig</a>.
|
|
Processing.js is maintained by the Processing.js team.
|
|
</div>
|
|
</div>
|
|
<a href="http://github.com/processing-js/processing-js/">
|
|
<img style="position: absolute; top: 0; right: 0; border: 0;" src="../../images/forkme-right-orange.png" alt="Fork me on GitHub">
|
|
</a>
|
|
</body>
|
|
</html>
|