CCMScreenPlugin

## CCMScreenPlugin CCMScreenPlugin |

## Synopsis

    #define             CCM_SCREEN_PLUGIN_GET_INTERFACE     (obj)
    #define             CCM_SCREEN_PLUGIN_PARENT            (obj)
    #define             CCM_SCREEN_PLUGIN_ROOT              (obj)
    #define             CCM_SCREEN_PLUGIN_LOCK_ROOT_METHOD  (plugin,
                                                             func,
                                                             callback,
                                                             data)
    #define             CCM_SCREEN_PLUGIN_UNLOCK_ROOT_METHOD(plugin,
                                                             func)
                        CCMScreenPlugin;
    void                ccm_screen_plugin_load_options      (CCMScreenPlugin *self,
                                                             CCMScreen *screen);
    gboolean            ccm_screen_plugin_paint             (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             cairo_t *ctx);
    gboolean            ccm_screen_plugin_add_window        (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMWindow *window);
    void                ccm_screen_plugin_remove_window     (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMWindow *window);
    void                ccm_screen_plugin_damage            (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMRegion *area,
                                                             CCMWindow *window);

## Object Hierarchy

      GInterface
       +----CCMScreenPlugin

## Known Implementations

CCMScreenPlugin is implemented by CCMScreen.

## Description

## Details

### CCM_SCREEN_PLUGIN_GET_INTERFACE()

    #define CCM_SCREEN_PLUGIN_GET_INTERFACE(obj)    (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CCM_TYPE_SCREEN_PLUGIN, CCMScreenPluginClass))

### CCM_SCREEN_PLUGIN_PARENT()

    #define CCM_SCREEN_PLUGIN_PARENT(obj)           ((CCMScreenPlugin*)ccm_plugin_get_parent((CCMPlugin*)obj))

### CCM_SCREEN_PLUGIN_ROOT()

    #define CCM_SCREEN_PLUGIN_ROOT(obj)             ((CCMScreenPlugin*)_ccm_screen_plugin_get_root((CCMScreenPlugin*)obj))

### CCM_SCREEN_PLUGIN_LOCK_ROOT_METHOD()

    #define             CCM_SCREEN_PLUGIN_LOCK_ROOT_METHOD(plugin, func, callback, data)

### CCM_SCREEN_PLUGIN_UNLOCK_ROOT_METHOD()

    #define             CCM_SCREEN_PLUGIN_UNLOCK_ROOT_METHOD(plugin, func)

### CCMScreenPlugin

    typedef struct _CCMScreenPlugin CCMScreenPlugin;

### ccm_screen_plugin_load_options ()

    void                ccm_screen_plugin_load_options      (CCMScreenPlugin *self,
                                                             CCMScreen *screen);

### ccm_screen_plugin_paint ()

    gboolean            ccm_screen_plugin_paint             (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             cairo_t *ctx);

### ccm_screen_plugin_add_window ()

    gboolean            ccm_screen_plugin_add_window        (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMWindow *window);

### ccm_screen_plugin_remove_window ()

    void                ccm_screen_plugin_remove_window     (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMWindow *window);

### ccm_screen_plugin_damage ()

    void                ccm_screen_plugin_damage            (CCMScreenPlugin *self,
                                                             CCMScreen *screen,
                                                             CCMRegion *area,
                                                             CCMWindow *window);