Git Product home page Git Product logo

Comments (2)

rxi avatar rxi commented on June 25, 2024 2

This isn't something I plan to support in the base library at the moment, as you can imagine given the goals of the project the addition of features is typically avoided. I did experiment a little with tab-moves-to-next-control in the past but for what it added in code it didn't yield results I was happy with. Anything more complex than this (eg, being able to use arrow keys to navigate between buttons/sliders, enter to select) would be a huge change in both lines of code and complexity.

This being said microui should be able to act as a foundation for these kinds of additions, eg. in projects I use it in I typically use it as a base to many additional controls and features specific to the application. Keyboard controls would be one of these application-specific features.

from microui.

ericoporto avatar ericoporto commented on June 25, 2024

Hey, I understand this is not something to be part of the library, since it's good it's really tiny and easy to understand, but I wanted to use it in a game.

So, I understand that for some rustic way of using arrow keys/d-pad to move a cursor on the "cells" (comparing a bunch of rows with a table), I would need to know the position/dimensions of these cells. But I think that these only exist fleetingly, between the BeginWindow and EndWindow, with things getting popped out of the stack - so a new window on the same frame would "overwrite" the stacked layouts and there goes my positional information.

In this way, I think the only possible way would be store that the player had intention to move cursor right (a boolean key_right or something) and then when it's the control in the position of where the cursor is now, mark somewhere this, and then on layout next advance the cursor.

Are there other simpler strategies? Or is there a way to recover the position of controls on screen I am not seeing?

from microui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.