<!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>SGL: SkJS.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.0 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">skia</a></div>
<h1>SkJS.h</h1><div class="fragment"><pre class="fragment">00001 <span class="preprocessor">#include "SkTypes.h"</span>
00002 <span class="preprocessor">#include "SkWindow.h"</span>
00003 
00004 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00005         <span class="keyword">typedef</span> <span class="keywordtype">long</span> JSWord;
00006         <span class="keyword">typedef</span> JSWord jsword;
00007         <span class="keyword">typedef</span> jsword  jsval;
00008         <span class="keyword">typedef</span> <span class="keyword">struct </span>JSRuntime JSRuntime;
00009         <span class="keyword">typedef</span> <span class="keyword">struct </span>JSContext JSContext;
00010         <span class="keyword">typedef</span> <span class="keyword">struct </span>JSObject JSObject;
00011 }
00012 
00013 <span class="keyword">class </span><a class="code" href="classSkString.html">SkString</a>;
00014 
00015 <span class="keyword">class </span>SkJS : <span class="keyword">public</span> SkOSWindow {
00016 <span class="keyword">public</span>:
00017         SkJS(<span class="keywordtype">void</span>* hwnd);
00018         ~SkJS();
00019         SkBool EvaluateScript(<span class="keyword">const</span> <span class="keywordtype">char</span>* script, jsval* rVal);
00020         SkBool ValueToString(jsval value, <a class="code" href="classSkString.html">SkString</a>* string);
00021 <span class="preprocessor">#ifdef SK_DEBUG</span>
00022 <span class="preprocessor"></span>        <span class="keyword">static</span> <span class="keywordtype">void</span> Test(<span class="keywordtype">void</span>* hwnd);
00023 <span class="preprocessor">#endif</span>
00024 <span class="preprocessor"></span><span class="keyword">protected</span>:
00025         <span class="keywordtype">void</span> InitializeDisplayables(<span class="keyword">const</span> <a class="code" href="classSkBitmap.html">SkBitmap</a>&amp; , JSContext *, JSObject *, JSObject *);
00026         <span class="keywordtype">void</span> DisposeDisplayables();
00027         JSRuntime *fRuntime;
00028     JSContext *fContext;
00029         JSObject *fGlobal;
00030 };
00031 
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue May 9 14:35:23 2006 for SGL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.0 </small></address>
</body>
</html>
