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

Function open

src/OpenLoco/src/Ui/Dropdown.cpp:367–387  ·  view source on GitHub ↗

0x004CCF1E

Source from the content-addressed store, hash-verified

365
366 // 0x004CCF1E
367 static void open(Ui::Point origin, Ui::Size size, AdvancedColour colour)
368 {
369 auto window = WindowManager::createWindow(WindowType::dropdown, origin, size, WindowFlags::stickToFront, common::events);
370
371 window->setWidgets(common::widgets);
372
373 if (colour.isTranslucent())
374 {
375 window->flags |= WindowFlags::transparent;
376 }
377
378 common::initEvents();
379
380 window->widgets[0].windowColour = WindowColour::primary;
381 window->setColour(WindowColour::primary, colour);
382
383 _dropdownHighlightedIndex = -1;
384 _dropdownDisabledItems = 0;
385 _dropdownSelection = 0;
386 Input::state(Input::State::dropdownActive);
387 }
388
389 // 0x004CC807 based on
390 static void setColourAndInputFlags(AdvancedColour& colour, uint8_t& flags)

Callers 15

beginFunction · 0.70
handleRightReleasedFunction · 0.70
dispatchUpdateAllFunction · 0.70
showTextFunction · 0.70
showFunction · 0.70
showImageFunction · 0.70
showText2Function · 0.70
showEditorFunction · 0.50
goToPreviousStepFunction · 0.50
goToNextStepFunction · 0.50
tickFunction · 0.50

Calls 6

initEventsFunction · 0.85
setWidgetsMethod · 0.80
createWindowFunction · 0.70
stateFunction · 0.50
isTranslucentMethod · 0.45
setColourMethod · 0.45

Tested by

no test coverage detected