summaryrefslogtreecommitdiffstats
path: root/ppapi/documentation/index.dox
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/documentation/index.dox')
-rw-r--r--ppapi/documentation/index.dox105
1 files changed, 105 insertions, 0 deletions
diff --git a/ppapi/documentation/index.dox b/ppapi/documentation/index.dox
new file mode 100644
index 0000000..21b9351
--- /dev/null
+++ b/ppapi/documentation/index.dox
@@ -0,0 +1,105 @@
+/** \mainpage Pepper API (PPAPI) Reference Documentation
+
+ <p>
+ This reference documentation describes the Pepper plugin API (PPAPI),
+ a cross-platform, open-source API for browser plugins.
+ You can use the Pepper API
+ in <a href="http://code.google.com/p/nativeclient-sdk">Native Client</a>
+ modules to communicate with the Google Chrome browser.
+ This page has the following contents:
+ </p>
+
+ <ul>
+ <li> @ref reading </li>
+ <li> @ref modules </li>
+ <li> @ref about </li>
+ <li> @ref todo </li>
+ </ul>
+
+
+ \section reading Before you start
+
+ This documentation assumes that you have read and understood
+ the following pages in the PPAPI project:
+
+ - <a href="http://code.google.com/p/ppapi/wiki/GettingStarted">Getting started</a>
+ - <a href="http://code.google.com/p/ppapi/wiki/Concepts">Important concepts</a>
+
+ For additional documentation and information
+ about Pepper, see the PPAPI project
+ <a href="http://code.google.com/p/ppapi/">homepage</a> and
+ <a href="http://code.google.com/p/ppapi/w/list">wiki</a>.
+
+
+ \section modules API categories
+
+The Pepper API consists of C API,
+plus C++ classes
+(in the pp namespace)
+that we recommend you use if you're writing a C++ plugin.
+You'll see three prefixes in the C API:
+
+ <dl>
+ <dt> PP_ </dt>
+ <dd> Data types,
+ such as ::PP_Instance and ::PP_Event.
+ </dd>
+ <dt> PPB_ </dt>
+ <dd> API that you can use to call into the browser,
+ such as ::PPB_Instance and ::PPB_GetInterface.
+ </dd>
+ <dt> PPP_ </dt>
+ <dd> API that you implement
+ so that the browser can call into your module.
+ Examples include ::PPP_Instance and ::PPP_InitializeModule.
+ </dd>
+ </dl>
+
+ The C++ API provides a layer over the C API.
+ For example, when you call the constructor
+ for the pp::Instance class,
+ you specify a ::PP_Instance variable.
+ For your convenience, pp::Instance defines methods such as
+ HandleEvent(), which implements ::PPP_Instance.HandleEvent, and
+ GetWindowObject(), which implements ::PPB_Instance.GetWindowObject.
+
+
+ \section about About this doc
+
+ <p>
+ The tabs at the top of each page
+ take you to the following sections.
+ </p>
+
+ <ul>
+ <li> <b>Main Page</b>: This page </li>
+ <li> <a href="modules.html"><b>Modules</b></a>:
+ Lets you find API by functional area
+ &mdash; for example,
+ <a href="group___c_p_p.html">C++ API</a> or
+ <a href="group___p_p.html">Data Types (PP)</a>.
+ Don't confuse this Doxygen term
+ with the Pepper concept of modules,
+ which are represented by pp::Module objects.
+ </li>
+ <li> <a href="annotated.html"><b>Data Structures</b></a>:
+ List of classes and data structures in PPAPI.
+ </li>
+ <li> <a href="files.html"><b>Files</b></a>:
+ The header files used to generate this documentation,
+ with file descriptions and links to generated doc.
+ Don't miss the <a href="globals.html">File member index</a>.
+ </li>
+ </ul>
+
+ \section todo TO DO {PENDING: remove/comment this out before publishing}
+
+ - add include filenames to doc {NOTE: they're now at the end of each page. ok?}
+ - check whether private fields should be documented
+ - make sure naming is consistent and as understandable as possible
+ (modules? plugins? ...)
+ <!-- - make sure access levels (public/protected/private are in the doc)
+ {PENDING: they appear to be. e.g. see file:///home/kathyw/SVN/ppapi/doc-out-linux/html/classpp_1_1_resource.html} -->
+ <!-- - Modules -> API Groups? I couldn't figure out how to do this. -->
+
+ */