在Gtk中使用cairo时,我可以只在不透明部分开始移动拖动吗?

在Gtk中使用cairo时,我可以只在不透明部分开始移动拖动吗?,gtk,cairo,vala,Gtk,Cairo,Vala,这里是Gtk-3.0 我用cairo直接在窗户上画一些东西。窗口的一部分是透明的,另一部分是不透明的(或部分透明的) 我想要开始拖动(开始移动拖动功能)当鼠标点位于不透明部分时,仅窗口。那么,我如何判断当前点是透明状态?获取屏幕pixmap并检查alpha值?或者一些cairo技巧可以帮助我?您的代码绘制了窗口的内容。难道它不能用同样的方式“决定”哪一部分是透明的吗?我的意思是,如果你将从x=0到x=30的所有内容都透明化,那么“如果(x)我不能做这个测试。有时我只是加载一个SVG图片。有时我使

这里是Gtk-3.0

我用cairo直接在窗户上画一些东西。窗口的一部分是透明的,另一部分是不透明的(或部分透明的)


我想要开始拖动(开始移动拖动功能)当鼠标点位于不透明部分时,仅窗口。那么,我如何判断当前点是透明状态?获取屏幕pixmap并检查alpha值?或者一些cairo技巧可以帮助我?

您的代码绘制了窗口的内容。难道它不能用同样的方式“决定”哪一部分是透明的吗?我的意思是,如果你将从x=0到x=30的所有内容都透明化,那么“如果(x)我不能做这个测试。有时我只是加载一个SVG图片。有时我使用show_text()方法。你的代码绘制了窗口的内容。难道不能”决定吗“以同样的方式,哪一部分是透明的?我的意思是,如果你让从x=0到x=30的所有东西都透明,那么”如果(x),我不能做这个测试。有时我只是加载一个SVG图片。有时我使用show_text()方法。