GnomeScanPreviewPlugin

## GnomeScanPreviewPlugin GnomeScanPreviewPlugin |

## Synopsis

    #define             GS_DEFINE_PREVIEW_PLUGIN            (Name, name, options)
                        GnomeScanPreviewPlugin;
    GnomeScanPreviewPlugin* gnome_scan_preview_plugin       (GType type,
                                                             GnomeScanPlugin *plugin,
                                                             GParamSpec *pspec,
                                                             GtkWidget *gspa,
                                                             GnomeScanSettings *settings,
                                                             GtkBox *bbox);
    void                gnome_scan_preview_plugin_freeze    (GnomeScanPreviewPlugin *gspp);
    void                gnome_scan_preview_plugin_thaw      (GnomeScanPreviewPlugin *gspp);
    void                gnome_scan_preview_plugin_changed   (GnomeScanPreviewPlugin *gspp);
    void                gnome_scan_preview_plugin_draw_buffer
                                                            (GnomeScanPreviewPlugin *gspp,
                                                             GtkWidget *gspa,
                                                             cairo_t *cr);
    void                gnome_scan_preview_plugin_destroy   (GnomeScanPreviewPlugin *gspp);

## Object Hierarchy

      GnomeScanPreviewPlugin
       +----GnomeScanPreviewPluginRotation
       +----GnomeScanPreviewPluginArea

## Description

## Details

### GS_DEFINE_PREVIEW_PLUGIN()

    #define             GS_DEFINE_PREVIEW_PLUGIN(Name, name, options)

Generate glib boiler plate code for creatin a new preview plugin.

`Name` : | Class name
`name` : | function prefix
`options` : | options to watch.

### GnomeScanPreviewPlugin

    typedef struct {
    	GnomeScanPlugin*	plugin;
    	GtkWidget*			preview_area;
    	GnomeScanSettings*	settings;
    	GParamSpec*			pspec;
    	gulong				settings_changed;
    	gulong				preview_changed;
    	gboolean			frozen;
    } GnomeScanPreviewPlugin;

### gnome_scan_preview_plugin ()

    GnomeScanPreviewPlugin* gnome_scan_preview_plugin       (GType type,
                                                             GnomeScanPlugin *plugin,
                                                             GParamSpec *pspec,
                                                             GtkWidget *gspa,
                                                             GnomeScanSettings *settings,
                                                             GtkBox *bbox);

`type` : | subtype of GnomeScanPreviewPlugin to instanciate
`plugin` : |
`pspec` : | the GSParamSpec to manage
`gspa` : | the GnomeScanPreviewArea to extend
`settings` : | the GnomeScanSettings where to store value
`bbox` : |
Returns : | a GnomeScanPreviewPlugin

### gnome_scan_preview_plugin_freeze ()

    void                gnome_scan_preview_plugin_freeze    (GnomeScanPreviewPlugin *gspp);

Freeze the plugin so that it doesn't react on value changes.

`gspp` : | a GnomeScanPreviewPlugin

### gnome_scan_preview_plugin_thaw ()

    void                gnome_scan_preview_plugin_thaw      (GnomeScanPreviewPlugin *gspp);

Thaw the plugin so that it react on value changes.

`gspp` : | a GnomeScanPreviewPlugin

### gnome_scan_preview_plugin_changed ()

    void                gnome_scan_preview_plugin_changed   (GnomeScanPreviewPlugin *gspp);

To be called when the preview has been changed.

`gspp` : | a GnomeScanPreviewPlugin

### gnome_scan_preview_plugin_draw_buffer ()

    void                gnome_scan_preview_plugin_draw_buffer
                                                            (GnomeScanPreviewPlugin *gspp,
                                                             GtkWidget *gspa,
                                                             cairo_t *cr);

For use by GnomeScanPreviewArea

`gspp` : | a GnomeScanPreviewPlugin
`gspa` : | a GnomeScaPreviewArea
`cr` : | a cairo context

Stability Level: Private

### gnome_scan_preview_plugin_destroy ()

    void                gnome_scan_preview_plugin_destroy   (GnomeScanPreviewPlugin *gspp);

`gspp` : | the dying GnomeScanPreviewPlugin