// StackFusion - Experimental Compiz plugin that provides // fancy animations when events happen on registered Stack Exchange // accounts. // Include files #include #include #include #include #include "stackfusion_options.h" #include "bubble.h" class StackFusionScreen : public PluginClassHandler , public GLScreenInterface, public CompositeScreenInterface, public StackfusionOptions { public: StackFusionScreen(CompScreen *); ~StackFusionScreen(); // Painting functions void preparePaint(int); void donePaint(); // Toggle the display void ToggleDisplay(); bool glPaintOutput (const GLScreenPaintAttrib &, const GLMatrix &, const CompRegion &, CompOutput *, unsigned int); // Key binding handlers bool toggle(CompAction *, CompAction::State, CompOption::Vector); private: // Compiz variables CompositeScreen * m_c_screen; GLScreen * m_g_screen; // State variables bool m_active; int m_ms; // Bubble to display Bubble m_bubble; }; class StackFusionVTable : public CompPlugin::VTableForScreen { public: bool init(); };