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

#ifndef _EXPO_OPTIONS_INTERNAL
#define getCompPluginInfo expoOptionsGetCompPluginInfo
#endif

#ifdef  __cplusplus
extern "C" {
#endif

CompPluginVTable *expoOptionsGetCompPluginInfo (void);

typedef enum
{
    ExpoDisplayOptionExpo,
    ExpoDisplayOptionDoubleClickTime,
    ExpoDisplayOptionZoomTime,
    ExpoDisplayOptionRotate,
    ExpoDisplayOptionExpoImmediateMove,
    ExpoDisplayOptionExpoAnimation,
    ExpoDisplayOptionReflection,
    ExpoDisplayOptionGroundColor1,
    ExpoDisplayOptionGroundColor2,
    ExpoDisplayOptionGroundSize,
    ExpoDisplayOptionDistance,
    ExpoDisplayOptionScaleFactor,
    ExpoDisplayOptionAspectRatio,
    ExpoDisplayOptionMipmaps,
    ExpoDisplayOptionMultioutputMode,
    ExpoDisplayOptionHideDocks,
    ExpoDisplayOptionNum
} ExpoDisplayOptions;

typedef void (*expoDisplayOptionChangeNotifyProc) (CompDisplay *display, CompOption *opt, ExpoDisplayOptions num);

CompOption *expoGetDisplayOption (CompDisplay *d, ExpoDisplayOptions num);

typedef enum
{
    ExpoScreenOptionNum
} ExpoScreenOptions;

typedef void (*expoScreenOptionChangeNotifyProc) (CompScreen *screen, CompOption *opt, ExpoScreenOptions num);

CompOption *expoGetScreenOption (CompScreen *s, ExpoScreenOptions num);

typedef enum
{
    ExpoAnimationZoom = 0,
    ExpoAnimationFadeZoom = 1,
    ExpoAnimationVortex = 2,
} ExpoExpoAnimationEnum;

typedef enum
{
    MultioutputModeOneBigWall = 0,
    MultioutputModeOneWallPerOutput = 1,
} ExpoMultioutputModeEnum;

CompAction *     expoGetExpo (CompDisplay *d);
void             expoSetExpoInitiate (CompDisplay *d, CompActionCallBackProc init);
void             expoSetExpoTerminate (CompDisplay *d, CompActionCallBackProc term);
CompOption *     expoGetExpoOption (CompDisplay *d);
void             expoSetExpoNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
int              expoGetDoubleClickTime (CompDisplay *d);
CompOption *     expoGetDoubleClickTimeOption (CompDisplay *d);
void             expoSetDoubleClickTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
float            expoGetZoomTime (CompDisplay *d);
CompOption *     expoGetZoomTimeOption (CompDisplay *d);
void             expoSetZoomTimeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
Bool             expoGetRotate (CompDisplay *d);
CompOption *     expoGetRotateOption (CompDisplay *d);
void             expoSetRotateNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
Bool             expoGetExpoImmediateMove (CompDisplay *d);
CompOption *     expoGetExpoImmediateMoveOption (CompDisplay *d);
void             expoSetExpoImmediateMoveNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
int              expoGetExpoAnimation (CompDisplay *d);
CompOption *     expoGetExpoAnimationOption (CompDisplay *d);
void             expoSetExpoAnimationNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
Bool             expoGetReflection (CompDisplay *d);
CompOption *     expoGetReflectionOption (CompDisplay *d);
void             expoSetReflectionNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
unsigned short * expoGetGroundColor1 (CompDisplay *d);
unsigned short   expoGetGroundColor1Red (CompDisplay *d);
unsigned short   expoGetGroundColor1Green (CompDisplay *d);
unsigned short   expoGetGroundColor1Blue (CompDisplay *d);
unsigned short   expoGetGroundColor1Alpha (CompDisplay *d);
CompOption *     expoGetGroundColor1Option (CompDisplay *d);
void             expoSetGroundColor1Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
unsigned short * expoGetGroundColor2 (CompDisplay *d);
unsigned short   expoGetGroundColor2Red (CompDisplay *d);
unsigned short   expoGetGroundColor2Green (CompDisplay *d);
unsigned short   expoGetGroundColor2Blue (CompDisplay *d);
unsigned short   expoGetGroundColor2Alpha (CompDisplay *d);
CompOption *     expoGetGroundColor2Option (CompDisplay *d);
void             expoSetGroundColor2Notify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
float            expoGetGroundSize (CompDisplay *d);
CompOption *     expoGetGroundSizeOption (CompDisplay *d);
void             expoSetGroundSizeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
float            expoGetDistance (CompDisplay *d);
CompOption *     expoGetDistanceOption (CompDisplay *d);
void             expoSetDistanceNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
float            expoGetScaleFactor (CompDisplay *d);
CompOption *     expoGetScaleFactorOption (CompDisplay *d);
void             expoSetScaleFactorNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
float            expoGetAspectRatio (CompDisplay *d);
CompOption *     expoGetAspectRatioOption (CompDisplay *d);
void             expoSetAspectRatioNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
Bool             expoGetMipmaps (CompDisplay *d);
CompOption *     expoGetMipmapsOption (CompDisplay *d);
void             expoSetMipmapsNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
int              expoGetMultioutputMode (CompDisplay *d);
CompOption *     expoGetMultioutputModeOption (CompDisplay *d);
void             expoSetMultioutputModeNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
Bool             expoGetHideDocks (CompDisplay *d);
CompOption *     expoGetHideDocksOption (CompDisplay *d);
void             expoSetHideDocksNotify (CompDisplay *d, expoDisplayOptionChangeNotifyProc notify);
            
#ifdef  __cplusplus
}
#endif

#endif


syntax highlighted by Code2HTML, v. 0.9.1