## CCMWindowPlugin CCMWindowPlugin |

## Synopsis

    #define             CCM_WINDOW_PLUGIN_GET_INTERFACE     (obj)
    #define             CCM_WINDOW_PLUGIN_PARENT            (obj)
    #define             CCM_WINDOW_PLUGIN_ROOT              (obj)
    #define             CCM_WINDOW_PLUGIN_LOCK_ROOT_METHOD  (plugin, func, callback, data)
    #define             CCM_WINDOW_PLUGIN_UNLOCK_ROOT_METHOD(plugin, func)
                        CCMWindowPlugin;
    void                ccm_window_plugin_load_options      (CCMWindowPlugin *self,
                                                             CCMWindow *window);
    CCMRegion *         ccm_window_plugin_query_geometry    (CCMWindowPlugin *self,
                                                             CCMWindow *window);
    gboolean            ccm_window_plugin_paint             (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             cairo_t *ctx,
                                                             cairo_surface_t *surface,
                                                             gboolean y_invert);
    void                ccm_window_plugin_map               (CCMWindowPlugin *self,
                                                             CCMWindow *window);
    void                ccm_window_plugin_unmap             (CCMWindowPlugin *self,
                                                             CCMWindow *window);
    void                ccm_window_plugin_query_opacity     (CCMWindowPlugin *self,
                                                             CCMWindow *window);
    void                ccm_window_plugin_move              (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int x,
                                                             int y);
    void                ccm_window_plugin_resize            (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int width,
                                                             int height);
    void                ccm_window_plugin_set_opaque_region (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             const CCMRegion *area);
    void                ccm_window_plugin_get_origin        (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int *x,
                                                             int *y);
    CCMPixmap *         ccm_window_plugin_get_pixmap        (CCMWindowPlugin *self,
                                                             CCMWindow *window);

## Object Hierarchy

      GInterface
       +----CCMWindowPlugin

## Known Implementations

CCMWindowPlugin is implemented by CCMWindow.

## Description

## Details

### CCM_WINDOW_PLUGIN_GET_INTERFACE()

    #define CCM_WINDOW_PLUGIN_GET_INTERFACE(obj)   (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CCM_TYPE_WINDOW_PLUGIN, CCMWindowPluginClass))

`obj` : |

### CCM_WINDOW_PLUGIN_PARENT()

    #define CCM_WINDOW_PLUGIN_PARENT(obj)	       ((CCMWindowPlugin*)ccm_plugin_get_parent((CCMPlugin*)obj))

`obj` : |

### CCM_WINDOW_PLUGIN_ROOT()

    #define CCM_WINDOW_PLUGIN_ROOT(obj)	       ((CCMWindowPlugin*)_ccm_window_plugin_get_root((CCMWindowPlugin*)obj))

`obj` : |

### CCM_WINDOW_PLUGIN_LOCK_ROOT_METHOD()

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

`plugin` : |
`func` : |
`callback` : |
`data` : |

### CCM_WINDOW_PLUGIN_UNLOCK_ROOT_METHOD()

    #define             CCM_WINDOW_PLUGIN_UNLOCK_ROOT_METHOD(plugin, func)

`plugin` : |
`func` : |

### CCMWindowPlugin

    typedef struct _CCMWindowPlugin CCMWindowPlugin;

### ccm_window_plugin_load_options ()

    void                ccm_window_plugin_load_options      (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |

### ccm_window_plugin_query_geometry ()

    CCMRegion *         ccm_window_plugin_query_geometry    (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |
Returns : |

### ccm_window_plugin_paint ()

    gboolean            ccm_window_plugin_paint             (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             cairo_t *ctx,
                                                             cairo_surface_t *surface,
                                                             gboolean y_invert);

`self` : |
`window` : |
`ctx` : |
`surface` : |
`y_invert` : |
Returns : |

### ccm_window_plugin_map ()

    void                ccm_window_plugin_map               (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |

### ccm_window_plugin_unmap ()

    void                ccm_window_plugin_unmap             (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |

### ccm_window_plugin_query_opacity ()

    void                ccm_window_plugin_query_opacity     (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |

### ccm_window_plugin_move ()

    void                ccm_window_plugin_move              (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int x,
                                                             int y);

`self` : |
`window` : |
`x` : |
`y` : |

### ccm_window_plugin_resize ()

    void                ccm_window_plugin_resize            (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int width,
                                                             int height);

`self` : |
`window` : |
`width` : |
`height` : |

### ccm_window_plugin_set_opaque_region ()

    void                ccm_window_plugin_set_opaque_region (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             const CCMRegion *area);

`self` : |
`window` : |
`area` : |

### ccm_window_plugin_get_origin ()

    void                ccm_window_plugin_get_origin        (CCMWindowPlugin *self,
                                                             CCMWindow *window,
                                                             int *x,
                                                             int *y);

`self` : |
`window` : |
`x` : |
`y` : |

### ccm_window_plugin_get_pixmap ()

    CCMPixmap *         ccm_window_plugin_get_pixmap        (CCMWindowPlugin *self,
                                                             CCMWindow *window);

`self` : |
`window` : |
Returns : |