MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / HeightmapMouseUp

Method HeightmapMouseUp

src/openrct2-ui/windows/MapGen.cpp:861–902  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

859 }
860
861 void HeightmapMouseUp(WidgetIndex widgetIndex)
862 {
863 switch (widgetIndex)
864 {
865 // Page widgets
866 case WIDX_HEIGHTMAP_BROWSE:
867 {
868 auto intent = Intent(WindowClass::loadsave);
869 intent.PutEnumExtra<LoadSaveAction>(INTENT_EXTRA_LOADSAVE_ACTION, LoadSaveAction::load);
870 intent.PutEnumExtra<LoadSaveType>(INTENT_EXTRA_LOADSAVE_TYPE, LoadSaveType::heightmap);
871 intent.PutExtra(INTENT_EXTRA_CALLBACK, reinterpret_cast<CloseCallback>(HeightmapLoadsaveCallback));
872 ContextOpenIntent(&intent);
873 return;
874 }
875 case WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP:
876 _settings.smooth_height_map = !_settings.smooth_height_map;
877 setCheckboxValue(WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP, _settings.smooth_height_map);
878 setWidgetEnabled(WIDX_HEIGHTMAP_STRENGTH, _settings.smooth_height_map);
879 setWidgetEnabled(WIDX_HEIGHTMAP_STRENGTH_UP, _settings.smooth_height_map);
880 setWidgetEnabled(WIDX_HEIGHTMAP_STRENGTH_DOWN, _settings.smooth_height_map);
881 invalidateWidget(WIDX_HEIGHTMAP_SMOOTH_HEIGHTMAP);
882 invalidateWidget(WIDX_HEIGHTMAP_STRENGTH);
883 break;
884
885 case WIDX_HEIGHTMAP_NORMALIZE:
886 _settings.normalize_height = !_settings.normalize_height;
887 setCheckboxValue(WIDX_HEIGHTMAP_NORMALIZE, _settings.normalize_height);
888 invalidateWidget(WIDX_HEIGHTMAP_NORMALIZE);
889 break;
890
891 case WIDX_HEIGHTMAP_STRENGTH:
892 {
893 Formatter ft;
894 ft.Add<int16_t>(1);
895 ft.Add<int16_t>(20);
896 WindowTextInputOpen(
897 this, widgetIndex, STR_SMOOTH_STRENGTH, STR_ENTER_SMOOTH_STRENGTH, ft, STR_FORMAT_INTEGER,
898 _settings.smooth_strength, 2);
899 break;
900 }
901 }
902 }
903
904 void HeightmapPrepareDraw()
905 {

Callers

nothing calls this directly

Calls 4

ContextOpenIntentFunction · 0.85
WindowTextInputOpenFunction · 0.85
IntentClass · 0.50
PutExtraMethod · 0.45

Tested by

no test coverage detected