MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / scrollLeftBegin

Function scrollLeftBegin

src/OpenLoco/src/Ui/ScrollView.cpp:447–488  ·  view source on GitHub ↗

0x004C8689

Source from the content-addressed store, hash-verified

445
446 // 0x004C8689
447 void scrollLeftBegin(const int16_t x, const int16_t y, Ui::Window& window, Ui::Widget* const widget, const WidgetIndex_t widgetIndex)
448 {
449 auto res = getPart(window, widget, x, y);
450
451 _currentScrollArea = res.area;
452 _currentScrollIndex = res.index;
453
454 // Not implemented for any window
455 // window->call_22()
456 switch (res.area)
457 {
458 case Ui::ScrollPart::view:
459 window.callScrollMouseDown(res.scrollviewLoc.x, res.scrollviewLoc.y, static_cast<uint8_t>(res.index));
460 break;
461 case Ui::ScrollPart::hscrollbarButtonLeft:
462 hButtonLeft(window, res.index, widgetIndex);
463 break;
464 case Ui::ScrollPart::hscrollbarButtonRight:
465 hButtonRight(window, res.index, widgetIndex);
466 break;
467 case Ui::ScrollPart::hscrollbarTrackLeft:
468 hTrackLeft(window, res.index, widgetIndex);
469 break;
470 case Ui::ScrollPart::hscrollbarTrackRight:
471 hTrackRight(window, res.index, widgetIndex);
472 break;
473 case Ui::ScrollPart::vscrollbarButtonTop:
474 vButtonTop(window, res.index, widgetIndex);
475 break;
476 case Ui::ScrollPart::vscrollbarButtonBottom:
477 vButtonBottom(window, res.index, widgetIndex);
478 break;
479 case Ui::ScrollPart::vscrollbarTrackTop:
480 vTrackTop(window, res.index, widgetIndex);
481 break;
482 case Ui::ScrollPart::vscrollbarTrackBottom:
483 vTrackBottom(window, res.index, widgetIndex);
484 break;
485 default:
486 break;
487 }
488 }
489
490 // Based on 0x004C8689
491 void scrollModalRight(const int16_t x, const int16_t y, Ui::Window& window, Ui::Widget* const widget, [[maybe_unused]] const WidgetIndex_t widgetIndex)

Callers 1

stateNormalLeftFunction · 0.85

Calls 10

getPartFunction · 0.85
hButtonLeftFunction · 0.85
hButtonRightFunction · 0.85
hTrackLeftFunction · 0.85
hTrackRightFunction · 0.85
vButtonTopFunction · 0.85
vButtonBottomFunction · 0.85
vTrackTopFunction · 0.85
vTrackBottomFunction · 0.85
callScrollMouseDownMethod · 0.80

Tested by

no test coverage detected