fixed menu display
continuous-integration/drone/push Build encountered an error Details

master
Yorick GEOFFRE 3 years ago
parent 2f5f88c58f
commit 0119b1b8a3

@ -27,6 +27,7 @@ class PipelineNode{
bool isRunning();
void stop();
void start();
virtual std::string getName()=0;
std::thread* joinThread();
void setThreadToCore(int core);
void addSubNode(SubNode* sn);

@ -18,4 +18,8 @@ void cameraPickerNode::processFrame(){
_sourceManager->accessLocks[0]->unlock();
outputLock.unlock();
DEBUG_LOG("cameraPickerNode on thread " << localThread->get_id() << " is done picking its camera frame");
}
std::string cameraPickerNode::getName(){
return "camera Picker";
}

@ -5,6 +5,7 @@
/// @brief this node will pick the right camera UMat from the ones available in its _sourceManager
class cameraPickerNode : public PipelineNode{
public:
std::string getName() override;
cameraPickerNode(cameraManager* sourceManager);
protected:
void processFrame() override;

@ -25,4 +25,8 @@ void DisplayOutputNode::processFrame()
_managed->drawSurface = previous->getOutput();
_managed->drawAccess.unlock();
_managed->draw();
}
std::string DisplayOutputNode::getName(){
return "display output";
}

@ -6,7 +6,7 @@ class DisplayOutputNode : public PipelineNode
{
public:
DisplayOutputNode(PipelineNode* predecessor, Window* managed);
std::string getName() override;
protected:
void processFrame() override;
bool inited = false;

@ -25,9 +25,8 @@ void UiDrawerNode::processFrame()
cv::rectangle(MenuMat, cv::Rect2i(0, 0, wd, he), cv::Scalar(255, 0, 0), 5, 8, 0);
_backController->update();
cv::putText(MenuMat, _backController->menuTitle, cv::Point2i(5, stackerIndex += 20), cv::HersheyFonts::FONT_HERSHEY_PLAIN, 1, Scalar(255, 255, 255), 1, 8, false);
for (std::map<std::string, std::function<void()>>::iterator iter = _backController->menuItems.begin(); iter != _backController->menuItems.end(); ++iter)
for (String str : _backController->menuItemNames)
{
std::string str = iter->first;
cv::putText(MenuMat, str, cv::Point2i(5, stackerIndex += 20), cv::HersheyFonts::FONT_HERSHEY_PLAIN, 1, Scalar(255, 255, 255), 1, 8, false);
}
Point2d pc = Point2d(0,stackerIndex);
@ -44,4 +43,8 @@ void UiDrawerNode::processFrame()
std::cerr << "\033[1;31m caught DrawUi::drawMenu thread exception \033[0m" << std::endl;
exit(1);
}
}
std::string UiDrawerNode::getName(){
return "ui drawer";
}

@ -4,6 +4,7 @@
class UiDrawerNode : public PipelineNode{
public:
UiDrawerNode(UiController* backController);
std::string getName() override;
protected:
void processFrame() override;
UiController* _backController;

@ -29,4 +29,8 @@ void UiMergerNode::processFrame()
outputLock.lock();
output = finished; // write the final image to the psvr UI buffer
outputLock.unlock();
}
std::string UiMergerNode::getName(){
return "ui merger";
}

@ -5,6 +5,7 @@ class UiMergerNode : public PipelineNode
{
public:
UiMergerNode(PipelineNode* previous,PipelineNode* menuDrawer, UiController* backController);
std::string getName() override;
protected:
void processFrame() override;
PipelineNode* _menuDrawer;

@ -18,14 +18,14 @@ Pipeline::Pipeline(){
nodes.push_back(new cameraPickerNode(cm));
nodes.push_back(new UiDrawerNode(uc));
nodes.at(1)->addSubNode(fc);
nodes.at(1)->fpsLimit = 30;
nodes.push_back(new UiMergerNode(nodes.at(0),nodes.at(1),uc));
nodes.push_back(new DisplayOutputNode(nodes.at(2), wm->managedUIs.at(0)));
fc->addChecker("camera picker",nodes.at(0)->localES);
fc->addChecker("ui drawer",nodes.at(1)->localES);
fc->addChecker("ui merger",nodes.at(2)->localES);
fc->addChecker("display output",nodes.at(3)->localES);
for(PipelineNode* pn : nodes)
fc->addChecker(pn->getName(),pn->localES);
for(PipelineNode* pn : nodes)
pn->start();
}

Binary file not shown.
Loading…
Cancel
Save