void ColorField::MouseMoved(BPoint where, uint32 code, const BMessage* message) { if (message != NULL || !fMouseDown) { BView::MouseMoved(where, code, message); return; } PositionMarkerAt(where); Invoke(); }
void ColorField::MouseDown(BPoint where) { Window()->Activate(); fMouseDown = true; SetMouseEventMask(B_POINTER_EVENTS, B_SUSPEND_VIEW_FOCUS | B_LOCK_WINDOW_FOCUS); PositionMarkerAt(where); Invoke(); }
// MouseMoved void ColorField::MouseMoved(BPoint where, uint32 transit, const BMessage* dragMessage) { if (dragMessage != NULL || !fMouseDown ) { BView::MouseMoved(where, transit, dragMessage); return; } PositionMarkerAt(where); Invoke(); }
// 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(); }