26
25
CompPluginVTable showdesktopOptionsVTable;
28
27
#define GET_SHOWDESKTOP_OPTIONS_DISPLAY(d) \
29
((ShowdesktopOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr)
28
((ShowdesktopOptionsDisplay *) (d)->base.privates[displayPrivateIndex].ptr)
31
30
#define SHOWDESKTOP_OPTIONS_DISPLAY(d) \
32
31
ShowdesktopOptionsDisplay *od = GET_SHOWDESKTOP_OPTIONS_DISPLAY (d)
34
33
#define GET_SHOWDESKTOP_OPTIONS_SCREEN(s, od) \
35
((ShowdesktopOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr)
34
((ShowdesktopOptionsScreen *) (s)->base.privates[(od)->screenPrivateIndex].ptr)
37
36
#define SHOWDESKTOP_OPTIONS_SCREEN(s) \
38
37
ShowdesktopOptionsScreen *os = GET_SHOWDESKTOP_OPTIONS_SCREEN (s, GET_SHOWDESKTOP_OPTIONS_DISPLAY (s->display))
259
s->privates[od->screenPrivateIndex].ptr = os;
258
s->base.privates[od->screenPrivateIndex].ptr = os;
261
260
if (!compInitScreenOptionsFromMetadata (s, &showdesktopOptionsMetadata, showdesktopOptionsScreenOptionInfo, os->opt, ShowdesktopScreenOptionNum))
266
if (showdesktopPluginVTable && showdesktopPluginVTable->initScreen)
267
return showdesktopPluginVTable->initScreen (p, s);
271
269
static void showdesktopOptionsFiniScreen (CompPlugin *p, CompScreen *s)
273
if (showdesktopPluginVTable && showdesktopPluginVTable->finiScreen)
274
return showdesktopPluginVTable->finiScreen (p, s);
276
271
SHOWDESKTOP_OPTIONS_SCREEN (s);
341
332
compFiniMetadata (&showdesktopOptionsMetadata);
335
static CompBool showdesktopOptionsInitObject (CompPlugin *p, CompObject *o)
337
static InitPluginObjectProc dispTab[] = {
338
(InitPluginObjectProc) 0,
339
(InitPluginObjectProc) showdesktopOptionsInitDisplay,
340
(InitPluginObjectProc) showdesktopOptionsInitScreen
343
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), TRUE, (p, o));
346
static void showdesktopOptionsFiniObject (CompPlugin *p, CompObject *o)
348
static FiniPluginObjectProc dispTab[] = {
349
(FiniPluginObjectProc) 0,
350
(FiniPluginObjectProc) showdesktopOptionsFiniDisplay,
351
(FiniPluginObjectProc) showdesktopOptionsFiniScreen
354
DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), (p, o));
357
static CompBool showdesktopOptionsInitObjectWrapper (CompPlugin *p, CompObject *o)
360
rv = showdesktopOptionsInitObject (p, o);
361
if (showdesktopPluginVTable->initObject)
362
rv &= showdesktopPluginVTable->initObject (p, o);
366
static void showdesktopOptionsFiniObjectWrapper (CompPlugin *p, CompObject *o)
368
if (showdesktopPluginVTable->finiObject)
369
showdesktopPluginVTable->finiObject (p, o);
370
showdesktopOptionsFiniObject (p, o);
373
static CompOption * showdesktopOptionsGetObjectOptions (CompPlugin *p, CompObject *o, int *count)
375
static GetPluginObjectOptionsProc dispTab[] = {
376
(GetPluginObjectOptionsProc) 0,
377
(GetPluginObjectOptionsProc) 0,
378
(GetPluginObjectOptionsProc) showdesktopOptionsGetScreenOptions
381
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab),
382
(void *) (*count = 0), (p, o, count));
385
static CompBool showdesktopOptionsSetObjectOption (CompPlugin *p, CompObject *o, const char *name, CompOptionValue *value)
387
static SetPluginObjectOptionProc dispTab[] = {
388
(SetPluginObjectOptionProc) 0,
389
(SetPluginObjectOptionProc) 0,
390
(SetPluginObjectOptionProc) showdesktopOptionsSetScreenOption
393
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), FALSE,
394
(p, o, name, value));
344
397
static CompMetadata *
345
398
showdesktopOptionsGetMetadata (CompPlugin *plugin)
347
400
return &showdesktopOptionsMetadata;
350
CompPluginVTable *getCompPluginInfo (void)
403
CompPluginVTable *getCompPluginInfo20070830 (void)
352
405
if (!showdesktopPluginVTable)
354
showdesktopPluginVTable = showdesktopOptionsGetCompPluginInfo ();
407
showdesktopPluginVTable = getCompPluginInfo ();
355
408
memcpy(&showdesktopOptionsVTable, showdesktopPluginVTable, sizeof(CompPluginVTable));
356
409
showdesktopOptionsVTable.getMetadata = showdesktopOptionsGetMetadata;
357
410
showdesktopOptionsVTable.init = showdesktopOptionsInit;
358
411
showdesktopOptionsVTable.fini = showdesktopOptionsFini;
359
showdesktopOptionsVTable.initDisplay = showdesktopOptionsInitDisplay;
360
showdesktopOptionsVTable.finiDisplay = showdesktopOptionsFiniDisplay;
361
showdesktopOptionsVTable.initScreen = showdesktopOptionsInitScreen;
362
showdesktopOptionsVTable.finiScreen = showdesktopOptionsFiniScreen;
363
showdesktopOptionsVTable.getScreenOptions = showdesktopOptionsGetScreenOptions;
364
showdesktopOptionsVTable.setScreenOption = showdesktopOptionsSetScreenOption;
412
showdesktopOptionsVTable.initObject = showdesktopOptionsInitObjectWrapper;
413
showdesktopOptionsVTable.finiObject = showdesktopOptionsFiniObjectWrapper;
414
showdesktopOptionsVTable.getObjectOptions = showdesktopOptionsGetObjectOptions;
415
showdesktopOptionsVTable.setObjectOption = showdesktopOptionsSetObjectOption;
367
418
return &showdesktopOptionsVTable;