static int paintcurve_select_point_invoke(bContext *C, wmOperator *op, const wmEvent *event) { int loc[2] = {UNPACK2(event->mval)}; bool toggle = RNA_boolean_get(op->ptr, "toggle"); bool extend = RNA_boolean_get(op->ptr, "extend"); if (paintcurve_point_select(C, op, loc, toggle, extend)) { RNA_int_set_array(op->ptr, "location", loc); return OPERATOR_FINISHED; } else { return OPERATOR_CANCELLED; } }
static int paintcurve_select_point_exec(bContext *C, wmOperator *op) { int loc[2]; if (RNA_struct_property_is_set(op->ptr, "location")) { bool toggle = RNA_boolean_get(op->ptr, "toggle"); bool extend = RNA_boolean_get(op->ptr, "extend"); RNA_int_get_array(op->ptr, "location", loc); if (paintcurve_point_select(C, op, loc, toggle, extend)) return OPERATOR_FINISHED; } return OPERATOR_CANCELLED; }