MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / OnMouseDrag

Method OnMouseDrag

src/order_gui.cpp:1521–1539  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1519 }
1520
1521 void OnMouseDrag(Point pt, WidgetID widget) override
1522 {
1523 if (this->selected_order != -1 && widget == WID_O_ORDER_LIST) {
1524 /* An order is dragged.. */
1525 VehicleOrderID from_order = this->OrderGetSel();
1526 VehicleOrderID to_order = this->GetOrderFromPt(pt.y);
1527 uint num_orders = this->vehicle->GetNumOrders();
1528
1529 if (from_order != INVALID_VEH_ORDER_ID && from_order <= num_orders) {
1530 if (to_order != INVALID_VEH_ORDER_ID && to_order <= num_orders) { // ..over an existing order.
1531 this->order_over = to_order;
1532 this->SetWidgetDirty(widget);
1533 } else if (from_order != to_order && this->order_over != INVALID_VEH_ORDER_ID) { // ..outside of the order list.
1534 this->order_over = INVALID_VEH_ORDER_ID;
1535 this->SetWidgetDirty(widget);
1536 }
1537 }
1538 }
1539 }
1540
1541 void OnResize() override
1542 {

Callers

nothing calls this directly

Calls 4

OrderGetSelMethod · 0.95
GetOrderFromPtMethod · 0.95
SetWidgetDirtyMethod · 0.80
GetNumOrdersMethod · 0.45

Tested by

no test coverage detected