Example #1
0
static int hide_show_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
	PartialVisArea area = RNA_enum_get(op->ptr, "area");

	if (area != PARTIALVIS_ALL)
		return WM_border_select_invoke(C, op, event);
	else
		return op->type->exec(C, op);
}
Example #2
0
static int node_border_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
	const bool tweak = RNA_boolean_get(op->ptr, "tweak");
	
	if (tweak) {
		/* prevent initiating the border select if the mouse is over a node */
		/* this allows border select on empty space, but drag-translate on nodes */
		SpaceNode *snode = CTX_wm_space_node(C);
		ARegion *ar = CTX_wm_region(C);
		float mx, my;

		UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], &mx, &my);
		
		if (node_under_mouse_tweak(snode->edittree, mx, my))
			return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
	}
	
	return WM_border_select_invoke(C, op, event);
}