MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / MouseReleased

Method MouseReleased

Source/ModularSynth.cpp:1947–2019  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1945}
1946
1947void ModularSynth::MouseReleased(int intX, int intY, int button, const juce::MouseInputSource& source)
1948{
1949 mMousePos.x = intX;
1950 mMousePos.y = intY;
1951 mMouseMovedSignificantlySincePressed = source.hasMovedSignificantlySincePressed();
1952
1953 if (button >= 0 && button < (int)mIsMouseButtonHeld.size())
1954 mIsMouseButtonHeld[button] = false;
1955
1956 mIsMousePanning = false;
1957
1958 bool rightButton = button == 2;
1959
1960 if (button == 3)
1961 return;
1962
1963 float x = GetMouseX(&mModuleContainer);
1964 float y = GetMouseY(&mModuleContainer);
1965
1966 if (GetTopModalFocusItem())
1967 {
1968 GetTopModalFocusItem()->MouseReleased();
1969 }
1970
1971 if (mResizeModule)
1972 mResizeModule = nullptr;
1973
1974 if (mMoveModule)
1975 {
1976 Prefab::sJustReleasedModule = mMoveModule;
1977 if (!mMouseMovedSignificantlySincePressed)
1978 {
1979 if (mMoveModule->WasMinimizeAreaClicked())
1980 {
1981 mMoveModule->ToggleMinimized();
1982 mMoveModule = nullptr;
1983 }
1984
1985 if (!mMoveModuleCanStickToCursor)
1986 mMoveModule = nullptr;
1987 }
1988 else
1989 {
1990 mMoveModule = nullptr;
1991 }
1992 }
1993
1994 mUILayerModuleContainer.MouseReleased();
1995 mModuleContainer.MouseReleased();
1996
1997 if (mHeldSample)
1998 {
1999 IDrawableModule* module = GetModuleAtCursor();
2000 if (module)
2001 {
2002 float moduleX, moduleY;
2003 module->GetPosition(moduleX, moduleY);
2004 module->SampleDropped(x - moduleX, y - moduleY, GetHeldSample());

Callers

nothing calls this directly

Calls 7

sizeMethod · 0.80
ToggleMinimizedMethod · 0.80
emptyMethod · 0.80
GetPositionMethod · 0.45
SampleDroppedMethod · 0.45

Tested by

no test coverage detected