示例#1
0
void
ColorField::MouseMoved(BPoint where, uint32 code, const BMessage* message)
{
	if (message != NULL || !fMouseDown) {
		BView::MouseMoved(where, code, message);
		return;
	}

	PositionMarkerAt(where);
	Invoke();
}
示例#2
0
void
ColorField::MouseDown(BPoint where)
{
	Window()->Activate();

	fMouseDown = true;
	SetMouseEventMask(B_POINTER_EVENTS,
		B_SUSPEND_VIEW_FOCUS | B_LOCK_WINDOW_FOCUS);
	PositionMarkerAt(where);
	Invoke();
}
示例#3
0
// MouseMoved
void
ColorField::MouseMoved(BPoint where, uint32 transit,
	const BMessage* dragMessage)
{
	if (dragMessage != NULL || !fMouseDown ) {
		BView::MouseMoved(where, transit, dragMessage);
		return;
	}

	PositionMarkerAt(where);
	Invoke();
}
示例#4
0
// MouseDown
void
ColorField::MouseDown(BPoint where)
{
	fMouseDown = true;
	SetMouseEventMask(B_POINTER_EVENTS,
		B_SUSPEND_VIEW_FOCUS | B_LOCK_WINDOW_FOCUS);
	PositionMarkerAt(where);

	if (Message() != NULL) {
		BMessage message(*Message());
		message.AddBool("begin", true);
		Invoke(&message);
	} else
		Invoke();
}