Windows/SDL2 + OpenGL for programs with interface [closed] - windows

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I want to create a piece of software, that has a menu like the standard windows menus bars and supports opening the windows explorer where can i look up files paths etc. At the same time i want to render something to another section of the screen.
Think of a program where you open a .obj (3D object) via the windows explorer from a dropdown menu; then it loads into the program and then it will be rendered to one half of the window, while having some sliders and options on the other.
I know how to create an SDL2 window and use OpenGL in it, but i cannot seem to make the connection from an SDL2 window and a windows window (i think they are of the same type though). In my understanding SDL2 is just wrapper around the standard winapi while being able to do the same on linux. (waiting to get corrected)
First off, can SDL2 do what i want? or do i need to learn the winapi in addition? (it doesn't need to be portable to linux or mac)
Are there better alternatives? (what do you use?) Preferably something more low level, because if prefer knowing what i am doing.
And of course, if you can recommend some online resources that would be great.

SDL is
Simple DirectMedia Layer is a cross-platform development library
designed to provide low level access to audio, keyboard, mouse,
joystick, and graphics hardware via OpenGL and Direct3D.
While SDL is capable of create a simple window it does not provide more complex ones, like controls for input or file handling.
It's up to you to create and manage those controls, for example using the Windows win API.
There are some good API's that you can use instead of low level win API: Qt, wxWidgets, .NET, etc.

Related

Vimium concept for Windows/Linux desktop [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
lately I discovered this awesome chrome extension vimium and really love the idea to control GUI (in this case chrome) with some sort of popups if shortcuts not available or unknown.
I searched for while but couldn't find any general tool or OS which supports such kind of navigation with Keyboard in GUI application.
I know that at least for Windows automation for GUI applications is possible but couldn't find any existing project, so I tried it myself but it didn't worked well in the end.
My Question: Is there ANY similar program/project/OS to vimium available but in a more general way, so that I can control the whole desktop (with help from popups/modals) with my Keyboard?
Thanks
I used a combination of following two programs to get semi Vimium-like functionality in Windows.
Hunt-and-Peck -
https://github.com/zsims/hunt-and-peck
This works like vimium on the active window. Uses "ALT+;" as the trigger. Doesn't work in all programs. (Only supports UI Automation Elements with "invoke" patterns) I use it mostly in File Explorer and to trigger Chrome Browser Extensions or other chrome elements outside the active page (that can't be accessed with vimium).
FastWindowSwitcher
https://github.com/JochenBaier/fastwindowswitcher
I find this to be quicker than using ALT+TAB or WIN+TAB to quickly switch to another active window.
For Windows, I use Fluent Search: https://www.fluentsearch.net/
Demo video at Youtube
For macOS, Vimac works very similarly to Vimium: https://vimacapp.com/
Linux has keynav, which is not exactly the same, but also works great:
https://github.com/jordansissel/keynav
That said, it's X11 only. I actually ended up in this Stack Overflow question after searching for a keynav alternative, as I'm currently using Wayland.

What is GUI toolkit better architecture? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am working on a lightweight GUI toolkit. It is designed to be easy portable in X11 (xlib), Win32 and possibly other systems with very rudimental GUI support.
As far as I know, there are mainly two possible architectures:
To use the OS provided windows services - X11 in Linux and normal windows in Win32. In this approach, every control is the same window object as its parent. It receives events from the OS and processes them, has its own painting surface, etc.
To use the OS provided windows only for the top level windows - main application window, dialog boxes, etc. All child windows are simply painted on the surface of its parent window. In this case, the toolkit has to manage parent-child relations, the events are only received by the main window and has to be dispatched to the controls.
What variant use the widespread GUI toolkits? Qt? wxWidgets? FLTK? Others? Why they choose this approach?
How are both variants related to the size and speed of the result GUI toolkit?
I can't make a comment yet but I strongly advice against going into X right now, in more or less two years Wayland (or Mir, maybe) will be the main rendering manager for Linux.
And I think the main problem with the first approach is that :
You have to get a perfect knowledge of the both systems (X & Win32 (and why not Cocoa for OS X?))
If X changes a little implementation detail somewhere you will have to change your code to take this into account, while if you only use the top level stuff, it is less likely to change.
There might be tons and tons of code duplications (ex. : handling checkboxes for Win32 and X...)

Embedded GUI - Similar to GWEN? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I wrote a library to use different LCDs, such as TFT LCDs with TouchScreens with an existing RTOS.
The library does include all highlevel routines like drawing lines, circles, render fonts and so on.
Now, I would like to make the library more useful and give it a small GUI toolkit so the user can create buttons, sliders, radio buttons and all the other classical GUI elements.
There is GWEN which works pretty well.
My question: Are there free, opensource libraries like GWEN out there which are easy to use for my purpose?
I cannot take stuff like Qt because I'd need to implement the entire internals like event handling and stuff. Also, the RTOS would need to support POSIX. I really just want the GUI elements, nothing more. It must be very lightweight and only implement all the highlevel classes. It should be as lightweight as possible, because it's supposed to run on small microcontrollers like the STM32F1 (ARM Cortex-M3 with less than 100kB of RAM).
Well, at the end I decided to write my own: http://ugfx.io
Gwork is a fork of GWEN. You might try that.

GUI API for directX? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Is there any GUI API that can be used together with DirectX other than MFC, WIN32, Winforms
and WPF?
If you're doing your own DirectX rendering, you can use any GUI technology for windows that exposes an HWND.
Just use the "panel" equivelent in whatever toolkit you want, and feed it's handle (HWND) into DirectX to initialize the device. This technique is the same, no matter whether you use MFC, Windows Forms, WPF, Qt, GTK, FLTK, or any other framework.
As long as you can get a handle to the window, you can do it. It's just easier, and potentially more flexible, with some of the Microsoft toolkits. (For example, using D3DImage makes it seamless in WPF...)
Check out CEGUI. It's pretty popular especially for games. And it supports both Direct3d and OpenGL.
Have a look at XNA. Ultimately WPF or WinForms will be used to get a display surface - can't draw in Windows without a window - but you'll need an additional framework for rendering.

Game UI HUD [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
What are some good tools and techniques for making in game UI? I'm looking for things that help artists-types create and animate game HUD (heads up display) UI and can be added to the game engine for real time playback.
If you are working with a middleware environment like Torque or Unity3D, they include a GUI framework to build on. Flash is an ideal tool, but to use in anything other than a Flash or Shockwave3d game you need to purchase ScaleForm too, which is expensive and isn't easy to get hold of for indie developers. WPF and Silverlight look promising for this purpose, but so far haven't been set up for game integration.
Unfortunately, for many developers the only solution is to roll their own UI components from scratch.
Using flash will give the highest productivity for the graphical artist (well - if he knows flash).
You may want to have a look at gameswf. It's a bit dated but seems like a perfect match for your problem.
http://tulrich.com/geekstuff/gameswf.html
Another option would be to just do the entire UI in your 3D content-tool and use your animation system to play back the transitions.
One option is to use Flash in conjunction with a package called ScaleForm. This allows the artist to make the UI in flash and then ScaleForm executes the flash in game.

Resources