GTK3+ 如何处理触摸板缩放手势?

时间:2021-06-11 16:08:44

标签: gtk gtk3 gesture vala pinchzoom

我想从 GTK 获得 TOUCHPAD 双指缩放手势。 (我在 Wayland 上使用 Gnome 3.38,手势效果很好)

GTK 版本:3.24.29

我有这个 Vala 代码,但它不起作用:

 using Gtk;
 using Gdk;

namespace Slidertest {
    [GtkTemplate (ui = "/com/eminfedar/slidertest/window.ui")]
    public class Window : Gtk.ApplicationWindow {       
        [GtkChild]
        EventBox eventbox;
        
        public Window (Gtk.Application app) {
            Object (application: app);
            print("GTK: %d.%d.%d\n", Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION, Gtk.MICRO_VERSION);
            
            eventbox.add_events(EventMask.TOUCHPAD_GESTURE_MASK);
            
            var zoom = new GestureZoom(eventbox);
            zoom.set_propagation_phase(PropagationPhase.BUBBLE);
            
            print("recog: %d\n", (int)zoom.is_recognized());
            
            zoom.scale_changed.connect((scale) => {
                print("Scale:%f\n", scale);
            });
            zoom.begin.connect((seq) => {
                print("BEGIN\n");
            });
            zoom.end.connect((seq) => {
                print("END\n");
            });
        }
    }
}

zoom.is_recognized() 总是返回 0。我怎样才能让它工作?

谢谢!

0 个答案:

没有答案