diff options
Diffstat (limited to 'ppapi/documentation/index.dox')
-rw-r--r-- | ppapi/documentation/index.dox | 105 |
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 + — 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. --> + + */ |