/*
 * 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 _SHIFT_OPTIONS_H
#define _SHIFT_OPTIONS_H

#ifndef _SHIFT_OPTIONS_INTERNAL
#define getCompPluginInfo shiftOptionsGetCompPluginInfo
#endif

#ifdef  __cplusplus
extern "C" {
#endif

CompPluginVTable *shiftOptionsGetCompPluginInfo (void);

typedef enum
{
    ShiftDisplayOptionInitiate,
    ShiftDisplayOptionInitiateAll,
    ShiftDisplayOptionNext,
    ShiftDisplayOptionPrev,
    ShiftDisplayOptionNextAll,
    ShiftDisplayOptionPrevAll,
    ShiftDisplayOptionNextGroup,
    ShiftDisplayOptionPrevGroup,
    ShiftDisplayOptionNum
} ShiftDisplayOptions;

typedef void (*shiftDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ShiftDisplayOptions num);

CompOption *shiftGetDisplayOption (CompDisplay *d, ShiftDisplayOptions num);

typedef enum
{
    ShiftScreenOptionSpeed,
    ShiftScreenOptionShiftSpeed,
    ShiftScreenOptionTimestep,
    ShiftScreenOptionWindowMatch,
    ShiftScreenOptionMinimized,
    ShiftScreenOptionMouseSpeed,
    ShiftScreenOptionClickDuration,
    ShiftScreenOptionMode,
    ShiftScreenOptionSize,
    ShiftScreenOptionBackgroundIntensity,
    ShiftScreenOptionHideAll,
    ShiftScreenOptionReflection,
    ShiftScreenOptionGroundColor1,
    ShiftScreenOptionGroundColor2,
    ShiftScreenOptionGroundSize,
    ShiftScreenOptionIntensity,
    ShiftScreenOptionFlipRotation,
    ShiftScreenOptionCoverOffset,
    ShiftScreenOptionOverlayIcon,
    ShiftScreenOptionMipmaps,
    ShiftScreenOptionMultioutputMode,
    ShiftScreenOptionWindowTitle,
    ShiftScreenOptionTitleFontBold,
    ShiftScreenOptionTitleFontSize,
    ShiftScreenOptionTitleBackColor,
    ShiftScreenOptionTitleFontColor,
    ShiftScreenOptionTitleTextPlacement,
    ShiftScreenOptionNum
} ShiftScreenOptions;

typedef void (*shiftScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ShiftScreenOptions num);

CompOption *shiftGetScreenOption (CompScreen *s, ShiftScreenOptions num);

typedef enum
{
    ModeCover = 0,
    ModeFlip = 1,
} ShiftModeEnum;

typedef enum
{
    OverlayIconNone = 0,
    OverlayIconEmblem = 1,
    OverlayIconBig = 2,
} ShiftOverlayIconEnum;

typedef enum
{
    MultioutputModeDisabled = 0,
    MultioutputModeOnActivatedOutput = 1,
    MultioutputModeOneBigSwitcher = 2,
} ShiftMultioutputModeEnum;

typedef enum
{
    TitleTextPlacementCenteredOnScreen = 0,
    TitleTextPlacementAbove = 1,
    TitleTextPlacementBelow = 2,
} ShiftTitleTextPlacementEnum;

CompAction *     shiftGetInitiate (CompDisplay *d);
void             shiftSetInitiateInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetInitiateTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetInitiateOption (CompDisplay *d);
void             shiftSetInitiateNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetInitiateAll (CompDisplay *d);
void             shiftSetInitiateAllInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetInitiateAllTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetInitiateAllOption (CompDisplay *d);
void             shiftSetInitiateAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetNext (CompDisplay *d);
void             shiftSetNextInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetNextTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetNextOption (CompDisplay *d);
void             shiftSetNextNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetPrev (CompDisplay *d);
void             shiftSetPrevInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetPrevTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetPrevOption (CompDisplay *d);
void             shiftSetPrevNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetNextAll (CompDisplay *d);
void             shiftSetNextAllInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetNextAllTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetNextAllOption (CompDisplay *d);
void             shiftSetNextAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetPrevAll (CompDisplay *d);
void             shiftSetPrevAllInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetPrevAllTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetPrevAllOption (CompDisplay *d);
void             shiftSetPrevAllNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetNextGroup (CompDisplay *d);
void             shiftSetNextGroupInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetNextGroupTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetNextGroupOption (CompDisplay *d);
void             shiftSetNextGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
CompAction *     shiftGetPrevGroup (CompDisplay *d);
void             shiftSetPrevGroupInitiate (CompDisplay *d, CompActionCallBackProc init);
void             shiftSetPrevGroupTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     shiftGetPrevGroupOption (CompDisplay *d);
void             shiftSetPrevGroupNotify (CompDisplay *d, shiftDisplayOptionChangeNotifyProc notify);
            
float            shiftGetSpeed (CompScreen *s);
CompOption *     shiftGetSpeedOption (CompScreen *s);
void             shiftSetSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetShiftSpeed (CompScreen *s);
CompOption *     shiftGetShiftSpeedOption (CompScreen *s);
void             shiftSetShiftSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetTimestep (CompScreen *s);
CompOption *     shiftGetTimestepOption (CompScreen *s);
void             shiftSetTimestepNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
CompMatch *      shiftGetWindowMatch (CompScreen *s);
CompOption *     shiftGetWindowMatchOption (CompScreen *s);
void             shiftSetWindowMatchNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetMinimized (CompScreen *s);
CompOption *     shiftGetMinimizedOption (CompScreen *s);
void             shiftSetMinimizedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetMouseSpeed (CompScreen *s);
CompOption *     shiftGetMouseSpeedOption (CompScreen *s);
void             shiftSetMouseSpeedNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetClickDuration (CompScreen *s);
CompOption *     shiftGetClickDurationOption (CompScreen *s);
void             shiftSetClickDurationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetMode (CompScreen *s);
CompOption *     shiftGetModeOption (CompScreen *s);
void             shiftSetModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetSize (CompScreen *s);
CompOption *     shiftGetSizeOption (CompScreen *s);
void             shiftSetSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetBackgroundIntensity (CompScreen *s);
CompOption *     shiftGetBackgroundIntensityOption (CompScreen *s);
void             shiftSetBackgroundIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetHideAll (CompScreen *s);
CompOption *     shiftGetHideAllOption (CompScreen *s);
void             shiftSetHideAllNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetReflection (CompScreen *s);
CompOption *     shiftGetReflectionOption (CompScreen *s);
void             shiftSetReflectionNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
unsigned short * shiftGetGroundColor1 (CompScreen *s);
unsigned short   shiftGetGroundColor1Red (CompScreen *s);
unsigned short   shiftGetGroundColor1Green (CompScreen *s);
unsigned short   shiftGetGroundColor1Blue (CompScreen *s);
unsigned short   shiftGetGroundColor1Alpha (CompScreen *s);
CompOption *     shiftGetGroundColor1Option (CompScreen *s);
void             shiftSetGroundColor1Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
unsigned short * shiftGetGroundColor2 (CompScreen *s);
unsigned short   shiftGetGroundColor2Red (CompScreen *s);
unsigned short   shiftGetGroundColor2Green (CompScreen *s);
unsigned short   shiftGetGroundColor2Blue (CompScreen *s);
unsigned short   shiftGetGroundColor2Alpha (CompScreen *s);
CompOption *     shiftGetGroundColor2Option (CompScreen *s);
void             shiftSetGroundColor2Notify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetGroundSize (CompScreen *s);
CompOption *     shiftGetGroundSizeOption (CompScreen *s);
void             shiftSetGroundSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetIntensity (CompScreen *s);
CompOption *     shiftGetIntensityOption (CompScreen *s);
void             shiftSetIntensityNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetFlipRotation (CompScreen *s);
CompOption *     shiftGetFlipRotationOption (CompScreen *s);
void             shiftSetFlipRotationNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
float            shiftGetCoverOffset (CompScreen *s);
CompOption *     shiftGetCoverOffsetOption (CompScreen *s);
void             shiftSetCoverOffsetNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetOverlayIcon (CompScreen *s);
CompOption *     shiftGetOverlayIconOption (CompScreen *s);
void             shiftSetOverlayIconNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetMipmaps (CompScreen *s);
CompOption *     shiftGetMipmapsOption (CompScreen *s);
void             shiftSetMipmapsNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetMultioutputMode (CompScreen *s);
CompOption *     shiftGetMultioutputModeOption (CompScreen *s);
void             shiftSetMultioutputModeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetWindowTitle (CompScreen *s);
CompOption *     shiftGetWindowTitleOption (CompScreen *s);
void             shiftSetWindowTitleNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
Bool             shiftGetTitleFontBold (CompScreen *s);
CompOption *     shiftGetTitleFontBoldOption (CompScreen *s);
void             shiftSetTitleFontBoldNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetTitleFontSize (CompScreen *s);
CompOption *     shiftGetTitleFontSizeOption (CompScreen *s);
void             shiftSetTitleFontSizeNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
unsigned short * shiftGetTitleBackColor (CompScreen *s);
unsigned short   shiftGetTitleBackColorRed (CompScreen *s);
unsigned short   shiftGetTitleBackColorGreen (CompScreen *s);
unsigned short   shiftGetTitleBackColorBlue (CompScreen *s);
unsigned short   shiftGetTitleBackColorAlpha (CompScreen *s);
CompOption *     shiftGetTitleBackColorOption (CompScreen *s);
void             shiftSetTitleBackColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
unsigned short * shiftGetTitleFontColor (CompScreen *s);
unsigned short   shiftGetTitleFontColorRed (CompScreen *s);
unsigned short   shiftGetTitleFontColorGreen (CompScreen *s);
unsigned short   shiftGetTitleFontColorBlue (CompScreen *s);
unsigned short   shiftGetTitleFontColorAlpha (CompScreen *s);
CompOption *     shiftGetTitleFontColorOption (CompScreen *s);
void             shiftSetTitleFontColorNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
int              shiftGetTitleTextPlacement (CompScreen *s);
CompOption *     shiftGetTitleTextPlacementOption (CompScreen *s);
void             shiftSetTitleTextPlacementNotify (CompScreen *s, shiftScreenOptionChangeNotifyProc notify);
            
#ifdef  __cplusplus
}
#endif

#endif


syntax highlighted by Code2HTML, v. 0.9.1