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

Function tabOnMouseUp

src/OpenLoco/src/Ui/Windows/Options.cpp:2753–2787  ·  view source on GitHub ↗

0x004BFC11

Source from the content-addressed store, hash-verified

2751
2752 // 0x004BFC11
2753 static void tabOnMouseUp(Window& self, WidgetIndex_t wi)
2754 {
2755 ToolManager::toolCancel(self.type, self.number);
2756
2757 TextInput::sub_4CE6C9(self.type, self.number);
2758 self.currentTab = wi - Common::Widx::tab_display;
2759 self.frameNo = 0;
2760 self.flags &= ~(WindowFlags::maximised);
2761 self.disabledWidgets = 0;
2762 self.holdableWidgets = 0;
2763 self.activatedWidgets = 0;
2764 self.rowHover = -1;
2765 self.viewportRemove(0);
2766
2767 auto& tabInfo = kTabInformationByTabOffset[self.currentTab];
2768 self.eventHandlers = &tabInfo.events;
2769 self.setWidgets(tabInfo.widgets);
2770 self.invalidate();
2771 self.setSize(tabInfo.kWindowSize);
2772
2773 if ((Common::tab)self.currentTab == Common::tab::display)
2774 {
2775 Display::applyScreenModeRestrictions(self);
2776 }
2777
2778 else if ((Common::tab)self.currentTab == Common::tab::audio)
2779 {
2780 self.holdableWidgets = (1ULL << AudioTab::Widx::volume_master) | (1ULL << AudioTab::Widx::volume_music) | (1ULL << AudioTab::Widx::volume_effects) | (1ULL << AudioTab::Widx::volume_vehicles) | (1ULL << AudioTab::Widx::volume_ui) | (1ULL << AudioTab::Widx::volume_ambient);
2781 }
2782
2783 self.callOnResize();
2784 self.callPrepareDraw();
2785 self.initScrollWidgets();
2786 self.invalidate();
2787 }
2788}

Callers 1

onMouseUpFunction · 0.85

Calls 10

sub_4CE6C9Function · 0.85
viewportRemoveMethod · 0.80
setWidgetsMethod · 0.80
setSizeMethod · 0.80
callOnResizeMethod · 0.80
callPrepareDrawMethod · 0.80
initScrollWidgetsMethod · 0.80
toolCancelFunction · 0.70
invalidateMethod · 0.45

Tested by

no test coverage detected