X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvdevicex11.C;h=5d07807d51cfa63f339513c1f7a908be8c69984f;hb=318256a48938064b695268d03396977739ef4724;hp=e1b5c2a91dbc0112ce2f1a714be9b8816a265517;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/vdevicex11.C b/cinelerra-5.1/cinelerra/vdevicex11.C index e1b5c2a9..5d07807d 100644 --- a/cinelerra-5.1/cinelerra/vdevicex11.C +++ b/cinelerra-5.1/cinelerra/vdevicex11.C @@ -20,12 +20,15 @@ */ #include "assets.h" +#include "auto.h" #include "bccapture.h" #include "bcsignals.h" #include "canvas.h" #include "bccmodels.h" #include "edl.h" #include "edlsession.h" +#include "maskautos.h" +#include "maskauto.h" #include "mwindow.h" #include "playback3d.h" #include "playbackconfig.h" @@ -678,9 +681,17 @@ void VDeviceX11::do_fade(VFrame *output_temp, float fade) this->output->mwindow->playback_3d->do_fade(this->output, output_temp, fade); } -void VDeviceX11::do_mask(VFrame *output_temp, int64_t start_position_project, - MaskAutos *keyframe_set, MaskAuto *keyframe, - MaskAuto *default_auto) +bool VDeviceX11::can_mask(int64_t start_position_project, MaskAutos *keyframe_set) +{ + Auto *current = 0; + MaskAuto *keyframe = (MaskAuto*)keyframe_set-> + get_prev_auto(start_position_project, PLAY_FORWARD, current); + return keyframe->disable_opengl_masking ? 0 : 1; +} + +void VDeviceX11::do_mask(VFrame *output_temp, + int64_t start_position_project, MaskAutos *keyframe_set, + MaskAuto *keyframe, MaskAuto *default_auto) { this->output->mwindow->playback_3d->do_mask(output, output_temp, start_position_project,