app: add GimpToolWidget::hit() virtual function
... which takes the same arguments as GimpToolWidget::hover(), and
performs a hit-test, returning one of the following values:
- GIMP_HIT_DIRECT: The point corresponds to one of the widget's
elements directly.
- GIMP_HIT_INDIRECT: The point does not correspond to one of the
widget's elements directly, but the widget otherwise responds
to press events at this point.
- GIMP_HIT_NONE: The widget does not respond to press events at
this point.
Unlike hover(), hit() should not have any side effects.
(cherry picked from commit 385203f4d6
)
This commit is contained in:
@ -87,6 +87,10 @@ struct _GimpToolWidgetClass
|
||||
guint32 time,
|
||||
GdkModifierType state);
|
||||
|
||||
GimpHit (* hit) (GimpToolWidget *widget,
|
||||
const GimpCoords *coords,
|
||||
GdkModifierType state,
|
||||
gboolean proximity);
|
||||
void (* hover) (GimpToolWidget *widget,
|
||||
const GimpCoords *coords,
|
||||
GdkModifierType state,
|
||||
@ -252,6 +256,10 @@ void gimp_tool_widget_motion (GimpToolWidget *widget,
|
||||
guint32 time,
|
||||
GdkModifierType state);
|
||||
|
||||
GimpHit gimp_tool_widget_hit (GimpToolWidget *widget,
|
||||
const GimpCoords *coords,
|
||||
GdkModifierType state,
|
||||
gboolean proximity);
|
||||
void gimp_tool_widget_hover (GimpToolWidget *widget,
|
||||
const GimpCoords *coords,
|
||||
GdkModifierType state,
|
||||
|
Reference in New Issue
Block a user