Comments (14)
Not yet 😞 I think I am going start working on this issue next week, going to try to fix a few other fundamental issues as well.
from imnodes.
I have done a test, the result shows that the issue comes from Imgui itself.
from imnodes.
Meet the same issue.
from imnodes.
are there any improvements?
from imnodes.
Great, please let me know if you need any help that comes from other developers.
from imnodes.
Cool! Keep it up, I really love your lib!
It's pretty simple in comparison with others
from imnodes.
Thanks, happy to hear that you think so! 😊
from imnodes.
All right, finally made some progress on this. Now nodes are nicely rendered on top of each other if they overlap. It's not perfect though: clicking and dragging a node doesn't put it in top of other nodes automatically -- the "depth order" depends on which order you called BeginNode
/EndNode
. It would be nice to have more control over the depth order of the node draw commands, but that's another issue. I will close this issue 🙂
@ketoo I had to delete IsAttributeLinked
and therefore remove the pin linked/unlinked rendering 😞 Really sorry for breaking the feature so soon after you wrote it! To fix the overlap issue, I had to movedraw_node
and draw_pin
from EndNodeEditor
to EndNode()
, which meant that the link connectivity information is no longer available at that point. So the pins are back to being simple filled shapes for now. One of the drawbacks of being an immediate mode UI is that you have to throw the state away at the end of every frame 😬
from imnodes.
All right, finally made some progress on this. Now nodes are nicely rendered on top of each other if they overlap. It's not perfect though: clicking and dragging a node doesn't put it in top of other nodes automatically -- the "depth order" depends on which order you called
BeginNode
/EndNode
. It would be nice to have more control over the depth order of the node draw commands, but that's another issue. I will close this issue 🙂@ketoo I had to delete
IsAttributeLinked
and therefore remove the pin linked/unlinked rendering 😞 Really sorry for breaking the feature so soon after you wrote it! To fix the overlap issue, I had to movedraw_node
anddraw_pin
fromEndNodeEditor
toEndNode()
, which meant that the link connectivity information is no longer available at that point. So the pins are back to being simple filled shapes for now. One of the drawbacks of being an immediate mode UI is that you have to throw the state away at the end of every frame 😬
No worry, the application can manage the pin's status by itself. To do this, the pin system needs to support more shapes, for instance, the solid triangle and the hollow triangle, which can meet the same goal. Actually, my application has all statuses about the nodes and pins, which means the application can pass the status when drawing the nodes and pins.
from imnodes.
Yeah, my application also has the connectivity information. So what we now need is to be able to set per-pin style, and allow the pin shape style to be hollow or filled 👍
from imnodes.
Great, thats enough for the developer.
from imnodes.
I added filled/unfilled shapes to master.
from imnodes.
Cool! I updated and it works. But I meet a new issue when I run the application on MAC, listed as below:
This issue will come when I resize the window.
from imnodes.
Looks like something fails deep inside OpenGL 😯 Are you sure it was imnode's triggering this crash? imnodes itself doesn't touch window resize logic, nor did the pin rendering changes have anything to do with UI event handling 🤔
from imnodes.
Related Issues (20)
- Callback on node translation HOT 2
- Mis-Entering BoxSelection Interaction. HOT 2
- phantom TitleBar rect glitch when conditionnal call to BeginNodeTitleBar
- [Feature Request] Vertical Pins HOT 3
- Node id's are overlapped when we have many attributes and nodes. HOT 1
- emscripten + Saving editor state
- Canvas on nodes HOT 3
- Overlapping nodes aren't compatible with ImGui::BeginDragDropTarget() HOT 1
- Style
- Popup over Grid/Node? HOT 1
- Doesn't work with BeginChild HOT 2
- Compute graph example - multiple outputs? HOT 1
- NodeAnimation HOT 2
- node double click event HOT 1
- Isn't this maintained anymore? HOT 2
- IM_OFFSETOF deprecation
- Question: Creating a NESTED canvas?
- Make node, pins and links work with BeginPopupContextItem
- IsEditorHovered only works between Begin/EndNodeEditor
- Cmake cannot find imgui config ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imnodes.