/*
 * This file is autogenerated with bcop:
 * The Compiz option code generator
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

#ifndef _GROUP_OPTIONS_H
#define _GROUP_OPTIONS_H

#ifndef _GROUP_OPTIONS_INTERNAL
#define getCompPluginInfo groupOptionsGetCompPluginInfo
#endif

#ifdef  __cplusplus
extern "C" {
#endif

CompPluginVTable *groupOptionsGetCompPluginInfo (void);

typedef enum
{
    GroupDisplayOptionSelect,
    GroupDisplayOptionSelectSingle,
    GroupDisplayOptionGroup,
    GroupDisplayOptionUngroup,
    GroupDisplayOptionRemove,
    GroupDisplayOptionClose,
    GroupDisplayOptionIgnore,
    GroupDisplayOptionTabmode,
    GroupDisplayOptionChangeTabLeft,
    GroupDisplayOptionChangeTabRight,
    GroupDisplayOptionChangeColor,
    GroupDisplayOptionNum
} GroupDisplayOptions;

typedef void (*groupDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, GroupDisplayOptions num);

CompOption *groupGetDisplayOption (CompDisplay *d, GroupDisplayOptions num);

typedef enum
{
    GroupScreenOptionMoveAll,
    GroupScreenOptionResizeAll,
    GroupScreenOptionRaiseAll,
    GroupScreenOptionMaximizeUnmaximizeAll,
    GroupScreenOptionMinimizeAll,
    GroupScreenOptionShadeAll,
    GroupScreenOptionAutoGroup,
    GroupScreenOptionAutoUngroup,
    GroupScreenOptionWindowMatch,
    GroupScreenOptionSelectOpacity,
    GroupScreenOptionSelectSaturation,
    GroupScreenOptionSelectBrightness,
    GroupScreenOptionSelectPrecision,
    GroupScreenOptionFillColor,
    GroupScreenOptionLineColor,
    GroupScreenOptionMipmaps,
    GroupScreenOptionUntabOnClose,
    GroupScreenOptionAutotabCreate,
    GroupScreenOptionTabbarShowDelay,
    GroupScreenOptionTabbingSpeed,
    GroupScreenOptionTabbingTimestep,
    GroupScreenOptionFadeTime,
    GroupScreenOptionPulseTime,
    GroupScreenOptionReflexTime,
    GroupScreenOptionFadeTextTime,
    GroupScreenOptionVisibilityTime,
    GroupScreenOptionChangeAnimationTime,
    GroupScreenOptionBarAnimations,
    GroupScreenOptionThumbSize,
    GroupScreenOptionThumbSpace,
    GroupScreenOptionBorderRadius,
    GroupScreenOptionBorderWidth,
    GroupScreenOptionTabBaseColor,
    GroupScreenOptionTabBorderColor,
    GroupScreenOptionTabHighlightColor,
    GroupScreenOptionTabStyle,
    GroupScreenOptionTabbarFontSize,
    GroupScreenOptionTabbarFontColor,
    GroupScreenOptionSpringModelOnMove,
    GroupScreenOptionDndUngroupWindow,
    GroupScreenOptionDragHoverTime,
    GroupScreenOptionDragSpringK,
    GroupScreenOptionDragFriction,
    GroupScreenOptionDragYDistance,
    GroupScreenOptionDragSpeedLimit,
    GroupScreenOptionGlow,
    GroupScreenOptionGlowSize,
    GroupScreenOptionGlowType,
    GroupScreenOptionNum
} GroupScreenOptions;

typedef void (*groupScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, GroupScreenOptions num);

CompOption *groupGetScreenOption (CompScreen *s, GroupScreenOptions num);

typedef enum
{
    TabStyleSimple = 0,
    TabStyleGradient = 1,
    TabStyleGlass = 2,
    TabStyleMetal = 3,
    TabStyleMurrina = 4,
} GroupTabStyleEnum;

typedef enum
{
    GlowTypeRectangularGlow = 0,
    GlowTypeGlowRing = 1,
} GroupGlowTypeEnum;

CompAction *     groupGetSelect (CompDisplay *d);
void             groupSetSelectInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetSelectTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetSelectOption (CompDisplay *d);
void             groupSetSelectNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetSelectSingle (CompDisplay *d);
void             groupSetSelectSingleInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetSelectSingleTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetSelectSingleOption (CompDisplay *d);
void             groupSetSelectSingleNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetGroup (CompDisplay *d);
void             groupSetGroupInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetGroupTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetGroupOption (CompDisplay *d);
void             groupSetGroupNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetUngroup (CompDisplay *d);
void             groupSetUngroupInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetUngroupTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetUngroupOption (CompDisplay *d);
void             groupSetUngroupNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetRemove (CompDisplay *d);
void             groupSetRemoveInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetRemoveTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetRemoveOption (CompDisplay *d);
void             groupSetRemoveNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetClose (CompDisplay *d);
void             groupSetCloseInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetCloseTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetCloseOption (CompDisplay *d);
void             groupSetCloseNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetIgnore (CompDisplay *d);
void             groupSetIgnoreInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetIgnoreTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetIgnoreOption (CompDisplay *d);
void             groupSetIgnoreNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetTabmode (CompDisplay *d);
void             groupSetTabmodeInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetTabmodeTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetTabmodeOption (CompDisplay *d);
void             groupSetTabmodeNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetChangeTabLeft (CompDisplay *d);
void             groupSetChangeTabLeftInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetChangeTabLeftTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetChangeTabLeftOption (CompDisplay *d);
void             groupSetChangeTabLeftNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetChangeTabRight (CompDisplay *d);
void             groupSetChangeTabRightInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetChangeTabRightTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetChangeTabRightOption (CompDisplay *d);
void             groupSetChangeTabRightNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
CompAction *     groupGetChangeColor (CompDisplay *d);
void             groupSetChangeColorInitiate (CompDisplay *d, CompActionCallBackProc init);
void             groupSetChangeColorTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     groupGetChangeColorOption (CompDisplay *d);
void             groupSetChangeColorNotify (CompDisplay *d, groupDisplayOptionChangeNotifyProc notify);
            
Bool             groupGetMoveAll (CompScreen *s);
CompOption *     groupGetMoveAllOption (CompScreen *s);
void             groupSetMoveAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetResizeAll (CompScreen *s);
CompOption *     groupGetResizeAllOption (CompScreen *s);
void             groupSetResizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetRaiseAll (CompScreen *s);
CompOption *     groupGetRaiseAllOption (CompScreen *s);
void             groupSetRaiseAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetMaximizeUnmaximizeAll (CompScreen *s);
CompOption *     groupGetMaximizeUnmaximizeAllOption (CompScreen *s);
void             groupSetMaximizeUnmaximizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetMinimizeAll (CompScreen *s);
CompOption *     groupGetMinimizeAllOption (CompScreen *s);
void             groupSetMinimizeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetShadeAll (CompScreen *s);
CompOption *     groupGetShadeAllOption (CompScreen *s);
void             groupSetShadeAllNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetAutoGroup (CompScreen *s);
CompOption *     groupGetAutoGroupOption (CompScreen *s);
void             groupSetAutoGroupNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetAutoUngroup (CompScreen *s);
CompOption *     groupGetAutoUngroupOption (CompScreen *s);
void             groupSetAutoUngroupNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
CompMatch *      groupGetWindowMatch (CompScreen *s);
CompOption *     groupGetWindowMatchOption (CompScreen *s);
void             groupSetWindowMatchNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetSelectOpacity (CompScreen *s);
CompOption *     groupGetSelectOpacityOption (CompScreen *s);
void             groupSetSelectOpacityNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetSelectSaturation (CompScreen *s);
CompOption *     groupGetSelectSaturationOption (CompScreen *s);
void             groupSetSelectSaturationNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetSelectBrightness (CompScreen *s);
CompOption *     groupGetSelectBrightnessOption (CompScreen *s);
void             groupSetSelectBrightnessNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetSelectPrecision (CompScreen *s);
CompOption *     groupGetSelectPrecisionOption (CompScreen *s);
void             groupSetSelectPrecisionNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetFillColor (CompScreen *s);
unsigned short   groupGetFillColorRed (CompScreen *s);
unsigned short   groupGetFillColorGreen (CompScreen *s);
unsigned short   groupGetFillColorBlue (CompScreen *s);
unsigned short   groupGetFillColorAlpha (CompScreen *s);
CompOption *     groupGetFillColorOption (CompScreen *s);
void             groupSetFillColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetLineColor (CompScreen *s);
unsigned short   groupGetLineColorRed (CompScreen *s);
unsigned short   groupGetLineColorGreen (CompScreen *s);
unsigned short   groupGetLineColorBlue (CompScreen *s);
unsigned short   groupGetLineColorAlpha (CompScreen *s);
CompOption *     groupGetLineColorOption (CompScreen *s);
void             groupSetLineColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetMipmaps (CompScreen *s);
CompOption *     groupGetMipmapsOption (CompScreen *s);
void             groupSetMipmapsNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetUntabOnClose (CompScreen *s);
CompOption *     groupGetUntabOnCloseOption (CompScreen *s);
void             groupSetUntabOnCloseNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetAutotabCreate (CompScreen *s);
CompOption *     groupGetAutotabCreateOption (CompScreen *s);
void             groupSetAutotabCreateNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetTabbarShowDelay (CompScreen *s);
CompOption *     groupGetTabbarShowDelayOption (CompScreen *s);
void             groupSetTabbarShowDelayNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetTabbingSpeed (CompScreen *s);
CompOption *     groupGetTabbingSpeedOption (CompScreen *s);
void             groupSetTabbingSpeedNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetTabbingTimestep (CompScreen *s);
CompOption *     groupGetTabbingTimestepOption (CompScreen *s);
void             groupSetTabbingTimestepNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetFadeTime (CompScreen *s);
CompOption *     groupGetFadeTimeOption (CompScreen *s);
void             groupSetFadeTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetPulseTime (CompScreen *s);
CompOption *     groupGetPulseTimeOption (CompScreen *s);
void             groupSetPulseTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetReflexTime (CompScreen *s);
CompOption *     groupGetReflexTimeOption (CompScreen *s);
void             groupSetReflexTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetFadeTextTime (CompScreen *s);
CompOption *     groupGetFadeTextTimeOption (CompScreen *s);
void             groupSetFadeTextTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetVisibilityTime (CompScreen *s);
CompOption *     groupGetVisibilityTimeOption (CompScreen *s);
void             groupSetVisibilityTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetChangeAnimationTime (CompScreen *s);
CompOption *     groupGetChangeAnimationTimeOption (CompScreen *s);
void             groupSetChangeAnimationTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetBarAnimations (CompScreen *s);
CompOption *     groupGetBarAnimationsOption (CompScreen *s);
void             groupSetBarAnimationsNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetThumbSize (CompScreen *s);
CompOption *     groupGetThumbSizeOption (CompScreen *s);
void             groupSetThumbSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetThumbSpace (CompScreen *s);
CompOption *     groupGetThumbSpaceOption (CompScreen *s);
void             groupSetThumbSpaceNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetBorderRadius (CompScreen *s);
CompOption *     groupGetBorderRadiusOption (CompScreen *s);
void             groupSetBorderRadiusNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetBorderWidth (CompScreen *s);
CompOption *     groupGetBorderWidthOption (CompScreen *s);
void             groupSetBorderWidthNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetTabBaseColor (CompScreen *s);
unsigned short   groupGetTabBaseColorRed (CompScreen *s);
unsigned short   groupGetTabBaseColorGreen (CompScreen *s);
unsigned short   groupGetTabBaseColorBlue (CompScreen *s);
unsigned short   groupGetTabBaseColorAlpha (CompScreen *s);
CompOption *     groupGetTabBaseColorOption (CompScreen *s);
void             groupSetTabBaseColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetTabBorderColor (CompScreen *s);
unsigned short   groupGetTabBorderColorRed (CompScreen *s);
unsigned short   groupGetTabBorderColorGreen (CompScreen *s);
unsigned short   groupGetTabBorderColorBlue (CompScreen *s);
unsigned short   groupGetTabBorderColorAlpha (CompScreen *s);
CompOption *     groupGetTabBorderColorOption (CompScreen *s);
void             groupSetTabBorderColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetTabHighlightColor (CompScreen *s);
unsigned short   groupGetTabHighlightColorRed (CompScreen *s);
unsigned short   groupGetTabHighlightColorGreen (CompScreen *s);
unsigned short   groupGetTabHighlightColorBlue (CompScreen *s);
unsigned short   groupGetTabHighlightColorAlpha (CompScreen *s);
CompOption *     groupGetTabHighlightColorOption (CompScreen *s);
void             groupSetTabHighlightColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetTabStyle (CompScreen *s);
CompOption *     groupGetTabStyleOption (CompScreen *s);
void             groupSetTabStyleNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetTabbarFontSize (CompScreen *s);
CompOption *     groupGetTabbarFontSizeOption (CompScreen *s);
void             groupSetTabbarFontSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
unsigned short * groupGetTabbarFontColor (CompScreen *s);
unsigned short   groupGetTabbarFontColorRed (CompScreen *s);
unsigned short   groupGetTabbarFontColorGreen (CompScreen *s);
unsigned short   groupGetTabbarFontColorBlue (CompScreen *s);
unsigned short   groupGetTabbarFontColorAlpha (CompScreen *s);
CompOption *     groupGetTabbarFontColorOption (CompScreen *s);
void             groupSetTabbarFontColorNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetSpringModelOnMove (CompScreen *s);
CompOption *     groupGetSpringModelOnMoveOption (CompScreen *s);
void             groupSetSpringModelOnMoveNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetDndUngroupWindow (CompScreen *s);
CompOption *     groupGetDndUngroupWindowOption (CompScreen *s);
void             groupSetDndUngroupWindowNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetDragHoverTime (CompScreen *s);
CompOption *     groupGetDragHoverTimeOption (CompScreen *s);
void             groupSetDragHoverTimeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetDragSpringK (CompScreen *s);
CompOption *     groupGetDragSpringKOption (CompScreen *s);
void             groupSetDragSpringKNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
float            groupGetDragFriction (CompScreen *s);
CompOption *     groupGetDragFrictionOption (CompScreen *s);
void             groupSetDragFrictionNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetDragYDistance (CompScreen *s);
CompOption *     groupGetDragYDistanceOption (CompScreen *s);
void             groupSetDragYDistanceNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetDragSpeedLimit (CompScreen *s);
CompOption *     groupGetDragSpeedLimitOption (CompScreen *s);
void             groupSetDragSpeedLimitNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
Bool             groupGetGlow (CompScreen *s);
CompOption *     groupGetGlowOption (CompScreen *s);
void             groupSetGlowNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetGlowSize (CompScreen *s);
CompOption *     groupGetGlowSizeOption (CompScreen *s);
void             groupSetGlowSizeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
int              groupGetGlowType (CompScreen *s);
CompOption *     groupGetGlowTypeOption (CompScreen *s);
void             groupSetGlowTypeNotify (CompScreen *s, groupScreenOptionChangeNotifyProc notify);
            
#ifdef  __cplusplus
}
#endif

#endif


syntax highlighted by Code2HTML, v. 0.9.1