26
25
CompPluginVTable scalefilterOptionsVTable;
28
27
#define GET_SCALEFILTER_OPTIONS_DISPLAY(d) \
29
((ScalefilterOptionsDisplay *) (d)->privates[displayPrivateIndex].ptr)
28
((ScalefilterOptionsDisplay *) (d)->base.privates[displayPrivateIndex].ptr)
31
30
#define SCALEFILTER_OPTIONS_DISPLAY(d) \
32
31
ScalefilterOptionsDisplay *od = GET_SCALEFILTER_OPTIONS_DISPLAY (d)
34
33
#define GET_SCALEFILTER_OPTIONS_SCREEN(s, od) \
35
((ScalefilterOptionsScreen *) (s)->privates[(od)->screenPrivateIndex].ptr)
34
((ScalefilterOptionsScreen *) (s)->base.privates[(od)->screenPrivateIndex].ptr)
37
36
#define SCALEFILTER_OPTIONS_SCREEN(s) \
38
37
ScalefilterOptionsScreen *os = GET_SCALEFILTER_OPTIONS_SCREEN (s, GET_SCALEFILTER_OPTIONS_DISPLAY (s->display))
361
s->privates[od->screenPrivateIndex].ptr = os;
360
s->base.privates[od->screenPrivateIndex].ptr = os;
363
362
if (!compInitScreenOptionsFromMetadata (s, &scalefilterOptionsMetadata, scalefilterOptionsScreenOptionInfo, os->opt, ScalefilterScreenOptionNum))
368
if (scalefilterPluginVTable && scalefilterPluginVTable->initScreen)
369
return scalefilterPluginVTable->initScreen (p, s);
373
371
static void scalefilterOptionsFiniScreen (CompPlugin *p, CompScreen *s)
375
if (scalefilterPluginVTable && scalefilterPluginVTable->finiScreen)
376
return scalefilterPluginVTable->finiScreen (p, s);
378
373
SCALEFILTER_OPTIONS_SCREEN (s);
443
434
compFiniMetadata (&scalefilterOptionsMetadata);
437
static CompBool scalefilterOptionsInitObject (CompPlugin *p, CompObject *o)
439
static InitPluginObjectProc dispTab[] = {
440
(InitPluginObjectProc) 0,
441
(InitPluginObjectProc) scalefilterOptionsInitDisplay,
442
(InitPluginObjectProc) scalefilterOptionsInitScreen
445
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), TRUE, (p, o));
448
static void scalefilterOptionsFiniObject (CompPlugin *p, CompObject *o)
450
static FiniPluginObjectProc dispTab[] = {
451
(FiniPluginObjectProc) 0,
452
(FiniPluginObjectProc) scalefilterOptionsFiniDisplay,
453
(FiniPluginObjectProc) scalefilterOptionsFiniScreen
456
DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), (p, o));
459
static CompBool scalefilterOptionsInitObjectWrapper (CompPlugin *p, CompObject *o)
462
rv = scalefilterOptionsInitObject (p, o);
463
if (scalefilterPluginVTable->initObject)
464
rv &= scalefilterPluginVTable->initObject (p, o);
468
static void scalefilterOptionsFiniObjectWrapper (CompPlugin *p, CompObject *o)
470
if (scalefilterPluginVTable->finiObject)
471
scalefilterPluginVTable->finiObject (p, o);
472
scalefilterOptionsFiniObject (p, o);
475
static CompOption * scalefilterOptionsGetObjectOptions (CompPlugin *p, CompObject *o, int *count)
477
static GetPluginObjectOptionsProc dispTab[] = {
478
(GetPluginObjectOptionsProc) 0,
479
(GetPluginObjectOptionsProc) 0,
480
(GetPluginObjectOptionsProc) scalefilterOptionsGetScreenOptions
483
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab),
484
(void *) (*count = 0), (p, o, count));
487
static CompBool scalefilterOptionsSetObjectOption (CompPlugin *p, CompObject *o, const char *name, CompOptionValue *value)
489
static SetPluginObjectOptionProc dispTab[] = {
490
(SetPluginObjectOptionProc) 0,
491
(SetPluginObjectOptionProc) 0,
492
(SetPluginObjectOptionProc) scalefilterOptionsSetScreenOption
495
RETURN_DISPATCH (o, dispTab, ARRAY_SIZE (dispTab), FALSE,
496
(p, o, name, value));
446
499
static CompMetadata *
447
500
scalefilterOptionsGetMetadata (CompPlugin *plugin)
449
502
return &scalefilterOptionsMetadata;
452
CompPluginVTable *getCompPluginInfo (void)
505
CompPluginVTable *getCompPluginInfo20070830 (void)
454
507
if (!scalefilterPluginVTable)
456
scalefilterPluginVTable = scalefilterOptionsGetCompPluginInfo ();
509
scalefilterPluginVTable = getCompPluginInfo ();
457
510
memcpy(&scalefilterOptionsVTable, scalefilterPluginVTable, sizeof(CompPluginVTable));
458
511
scalefilterOptionsVTable.getMetadata = scalefilterOptionsGetMetadata;
459
512
scalefilterOptionsVTable.init = scalefilterOptionsInit;
460
513
scalefilterOptionsVTable.fini = scalefilterOptionsFini;
461
scalefilterOptionsVTable.initDisplay = scalefilterOptionsInitDisplay;
462
scalefilterOptionsVTable.finiDisplay = scalefilterOptionsFiniDisplay;
463
scalefilterOptionsVTable.initScreen = scalefilterOptionsInitScreen;
464
scalefilterOptionsVTable.finiScreen = scalefilterOptionsFiniScreen;
465
scalefilterOptionsVTable.getScreenOptions = scalefilterOptionsGetScreenOptions;
466
scalefilterOptionsVTable.setScreenOption = scalefilterOptionsSetScreenOption;
514
scalefilterOptionsVTable.initObject = scalefilterOptionsInitObjectWrapper;
515
scalefilterOptionsVTable.finiObject = scalefilterOptionsFiniObjectWrapper;
516
scalefilterOptionsVTable.getObjectOptions = scalefilterOptionsGetObjectOptions;
517
scalefilterOptionsVTable.setObjectOption = scalefilterOptionsSetObjectOption;
469
520
return &scalefilterOptionsVTable;