gegl r1953 - trunk/docs
- From: ok svn gnome org
- To: svn-commits-list gnome org
- Subject: gegl r1953 - trunk/docs
- Date: Mon, 4 Feb 2008 01:34:36 +0000 (GMT)
Author: ok
Date: Mon Feb 4 01:34:36 2008
New Revision: 1953
URL: http://svn.gnome.org/viewvc/gegl?rev=1953&view=rev
Log:
* index-static.html.in: Added link to Development/Extending in index
menu. Rephrased processing format to mention and link to wikipedia
page describing scRGB. Added initial brain dump on documentation for
Operation base classes, needs re-iterating a couple of times.
Modified:
trunk/docs/ChangeLog
trunk/docs/index-static.html.in
Modified: trunk/docs/index-static.html.in
==============================================================================
--- trunk/docs/index-static.html.in (original)
+++ trunk/docs/index-static.html.in Mon Feb 4 01:34:36 2008
@@ -57,6 +57,7 @@
<li><a href='#Development'>Development</a></li>
<!--<li><a href='#Bootstrap'> Bootstrap</a></li>-->
<li><a href='#CodeOverview'> Code Overview</a></li>
+ <li><a href='#extending'> Extending</a></li>
<li> </li>
<li> </li>
@@ -104,15 +105,15 @@
<li>Internal sparse pyramidial render cache.</li>
<li>Bounding box based hit detection.</li>
<li>Rich core set of processing <a
- href='operations.html'>operations</a> that internally computes
- with 32bit floating point, linear light RGB.
+ href='operations.html'>operations</a> that operates in <a href='http://en.wikipedia.org/wiki/ScRGB_color_space'>
+ scRGB</a> (32bit linear light RGBA)
<ul>
<li>PNG, JPEG, SVG, EXR, RAW, ffmpeg and other image sources.</li>
<li><a href='operations.html#cat_render'>Pattern renderers</a></li>
<li><a href='operations.html#math'>Arithmetic operations</a></li>
<li><a href='operations.html#porter_duff'>porter duff</a> compositing</li>
<li>SVG filter modes and full set of compositing ops from SVG-1.2
- draft</li>
+ draft.</li>
<li>Gaussian blur, bilateral-filter, symmetric nearest neighbour,
unsharp mask.</li>
<li><a href='operations.html#cat_color'>Color correction</a>.</li>
@@ -505,6 +506,53 @@
<a name='extending'></a>
<h3>Extending</h3>
+ <p>Each GEGL operation is defined in a .c file that gets turned into a single
+ shared object that is loaded. Each operation is a subclass of one of the provided
+ baseclasses:
+ <dl>
+ <dt>GeglOperation</dt>
+ <dd>The base operation class, which all the other base classes are derived from,
+ deriving from this is often quite a bit of work and is encouraged only when your
+ operation doesn't fit into any of the other categories</dd>
+
+ <dt> GeglOperationFilter</dt>
+ <dd>The filter base class sets up GeglBuffers for input and output pads</dd>
+
+ <dt> GeglOperationAreaFilter</dt>
+ <dd>The AreaFilter base class allows defining operations where the output data depends on a neighbourhood
+ with an input window that extends beyond the output window, the information about needed extra pixels in
+ different directions should be set up in the prepare callback for the operation.</dd>
+
+ <dt> GeglOperationPointFilter</dt>
+ <dd>The point-filter base class is for filters where an output
+ pixel only depends on the color and alpha values of the
+ corresponding input pixel. This allows you to do the processing on
+ linear buffers, in the future versions of GEGL operations
+ implemented using the point-filter will get speed increases due to
+ more intelligent processing possible in the point filter class</dd>
+
+ <dt> GeglOperationComposer</dt>
+ <dd>Composer operations are operations that take two inputs named 'input' and 'aux' and writes their output
+ to the output pad 'output'</dd>
+
+ <dt> GeglOperationPointComposer</dt>
+ <dd>A baseclass for composer functions where the output pixels values depends only on the values of the
+ single corresponding input and aux pixels.</dd>
+
+ <dt> GeglOperationSource</dt>
+ <dd>Operations used as render sources or file loaders, the process method receives a GeglBuffer to write
+ it's output into</dd>
+
+ <dt> GeglOperationSink</dt>
+ <dd>An operation that consumes a GeglBuffer, used for filewriters, display (for the sdl display node)
+ </dd>
+
+ <dt> GeglOperationMeta</dt>
+ <dd>Used for GEGL operations that are implemented as a sub-graph, at the moment these are defined as
+ C files but should in the future be possible to declare as XML instead.
+ </dd>
+ </dl>
+
<p>To create your own operations you should start by looking for one
that does approximatly what you already need. Copy it to a new .c
source file, and replace the occurences of the filename (operation name
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]