void SFMLColorPalette::updateColorMagnify() { sf::Vector2f localMouseFloat(getLocalPoint(sf::Mouse::getPosition(m_window))); sf::Vector2i localMouse(getLocalPoint(sf::Mouse::getPosition(m_window))); if(!getLocalBounds().contains(localMouseFloat)) //SFML BUG: SOMETIMES MOUSE IS NOT IN BOUNDS return; m_colorMagnify.setPosition(localMouseFloat.x - m_colorMagnify.getLocalBounds().width - 5.0f, localMouseFloat.y - m_colorMagnify.getLocalBounds().height - 5.0f); m_colorMagnify.setFillColor(m_colorImage->getPixel(localMouse.x, localMouse.y) * sf::Color(static_cast<sf::Uint8>(m_brightness*255),static_cast<sf::Uint8>(m_brightness*255),static_cast<sf::Uint8>(m_brightness*255), 255)); }
void MidiKeyboardComponent::timerCallback() { if (shouldCheckState) { shouldCheckState = false; for (int i = rangeStart; i <= rangeEnd; ++i) { bool isOn = state.isNoteOnForChannels (midiInChannelMask, i); if (keysCurrentlyDrawnDown[i] != isOn) { keysCurrentlyDrawnDown.setBit (i, isOn); repaintNote (i); } } } if (shouldCheckMousePos) { for (auto& ms : Desktop::getInstance().getMouseSources()) if (ms.getComponentUnderMouse() == this || isParentOf (ms.getComponentUnderMouse())) updateNoteUnderMouse (getLocalPoint (nullptr, ms.getScreenPosition()), ms.isDragging(), ms.getIndex()); } }
void MidiKeyboardComponent::timerCallback() { if (shouldCheckState) { shouldCheckState = false; for (int i = rangeStart; i <= rangeEnd; ++i) { if (keysCurrentlyDrawnDown[i] != state.isNoteOnForChannels (midiInChannelMask, i)) { keysCurrentlyDrawnDown.setBit (i, state.isNoteOnForChannels (midiInChannelMask, i)); repaintNote (i); } } } if (shouldCheckMousePos) { Desktop& desktop = Desktop::getInstance(); for (int i = desktop.getNumMouseSources(); --i >= 0;) { MouseInputSource* source = desktop.getMouseSource (i); jassert (source != nullptr); updateNoteUnderMouse (getLocalPoint (nullptr, source->getScreenPosition()), source->isDragging(), source->getIndex()); } } }
void CommandHistoryWindow::moveIndexToMouse() { sf::Vector2f localMouseFloat(getLocalPoint(sf::Mouse::getPosition(m_window))); if(!getLocalBounds().contains(localMouseFloat)) //SFML BUG: SOMETIMES MOUSE IS NOT IN BOUNDS return; int clickedIndex = static_cast<int>(localMouseFloat.y / m_entrySize.y); moveIndex(clickedIndex - std::distance(m_commandList.begin(), m_iterator)); }
void SFMLColorPalette::selectColorAtMouse() { sf::Vector2i localMouse(getLocalPoint(sf::Mouse::getPosition(m_window))); m_selectedColor = m_colorImage->getPixel(localMouse.x, localMouse.y); m_brightnessQuad[0].color = m_selectedColor; m_brightnessQuad[1].color = m_selectedColor; }
void SFMLColorPalette::selectBrightnessAtMouse() { sf::Vector2i localMouse(getLocalPoint(sf::Mouse::getPosition(m_window))); m_brightness = 1 - localMouse.y/m_brightnessRect.getLocalBounds().height; m_brightnessSlider.setPosition(m_brightnessRect.getGlobalBounds().left + m_brightnessRect.getOutlineThickness(), static_cast<float>(localMouse.y)); m_brightnessSlider.setFillColor(sf::Color(static_cast<sf::Uint8>((1.0f-m_brightness)*255), static_cast<sf::Uint8>((1.0f-m_brightness)*255),static_cast<sf::Uint8>((1.0f-m_brightness)*255), 255)); }