bool DisplayRefreshMonitorMac::requestRefreshCallback() { if (!isActive()) return false; if (!m_displayLink) { setIsActive(false); CVReturn error = CVDisplayLinkCreateWithCGDisplay(displayID(), &m_displayLink); if (error) return false; error = CVDisplayLinkSetOutputCallback(m_displayLink, displayLinkCallback, this); if (error) return false; error = CVDisplayLinkStart(m_displayLink); if (error) return false; setIsActive(true); } LockHolder lock(mutex()); setIsScheduled(true); return true; }
void ShapeMarker::displayIDCB(const visualization_msgs::InteractiveMarkerFeedbackConstPtr& feedback) { interactive_markers::MenuHandler::CheckState check_state; menu_handler_.getCheckState (feedback->menu_entry_id, check_state); if (check_state == interactive_markers::MenuHandler::UNCHECKED) { //ROS_INFO(" entry state changed "); menu_handler_.setCheckState (feedback->menu_entry_id, interactive_markers::MenuHandler::CHECKED); displayID(); } else if (check_state == interactive_markers::MenuHandler::CHECKED) { menu_handler_.setCheckState (feedback->menu_entry_id, interactive_markers::MenuHandler::UNCHECKED); hideID(1); } menu_handler_.reApply (*im_server_); im_server_->applyChanges (); }