It may be a little early to worry about virtual calls at this point; I think there's enough time to worry about those when we need them. (And we may not; it's not clear to me how we intend to implement the actual effects, but there seems to be a good chance that the differences between the different effects would largely be expressed as static data.)
The more immediate issue I have with this patch is that much of it amounts to being dead code; other than the "clsid" field, none of the information in builtin_effects[] is actually used.
On Tue, 27 Jul 2021 at 13:11, Ziqing Hui zhui@codeweavers.com wrote:
- for (i = 0; i < ARRAY_SIZE(builtin_effects); ++i)
- {
if (IsEqualGUID(effect_id, builtin_effects[i].clsid))
{
d2d_effect_init_standard_properties(effect, builtin_effects + i);
return;
}
- }
By convention, "&builtin_effects[i]" instead of "builtin_effects + i".