RE: VBE 2.0 and GUI design

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
SonOFBelial
Posts: 8
Joined: Fri Dec 07, 2007 2:46 pm

RE: VBE 2.0 and GUI design

Post by SonOFBelial »

Two issues. I'm writing an OS in pure x86 assembly. It is a simple monotasking system. Firstly, does anybody have any ideas on GUI design for a monotasking system? Secondly, how should applications interact with the GUI (from a programmers perspective)?
User avatar
Dandee Yuyo
Member
Member
Posts: 47
Joined: Fri Nov 09, 2007 6:46 pm
Location: Argentina

Post by Dandee Yuyo »

Did you ever programmed against a GUI?
NaN - Not a Nerd
Working on: Physical Memory Management with a 5-lod mipmap XD
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Post by Dex »

Yes to both ?, But i think your better off using a differant type of GUI, than you get with your normal multi-tasking desktop.
I would look to game consoles or mobile phones or pda etc for ideas. That's what i did.
I have also done a desktop GUI for my single-tasking OS, just to try it, it works fine, but theres little point, as your run a single program at a time, the screen does not need to be shared with other programs.

As for a gui from a programmers point of view, you have two choser, have some function for drawing window etc or let the app programmer design his own interface.
There little point in having a resizable window in a desktop, as you would need to close it before opening another program, you can still have resizeable windows in the app its self eg: a editor that can open more than one file at a time etc.

Something like this is fine for a single-tasking OS
Attachments
guiindex.PNG
guiindex.PNG (75.93 KiB) Viewed 1176 times
SonOFBelial
Posts: 8
Joined: Fri Dec 07, 2007 2:46 pm

Post by SonOFBelial »

Did you ever programmed against a GUI?
I think you mean "Have you ever programmed with a GUI before?", correct me if I'm wrong.

Yes, but most GUI libraries are object oriented, which isn't really an option with assembly language (without a lot of setup code).
Dex wrote:Yes to both ?, But i think your better off using a differant type of GUI, than you get with your normal multi-tasking desktop.
I would look to game consoles or mobile phones or pda etc for ideas. That's what i did.
I have also done a desktop GUI for my single-tasking OS, just to try it, it works fine, but theres little point, as your run a single program at a time, the screen does not need to be shared with other programs.
The problem I find with GUI's used in embedded devices like phones are somwhat limited, due to there small scope. How might I expand these to encompass the full feature-set that a GUI OS needs to provide to it's applications. DexOS's GUI doesn't extend to applications, as each applicatin provides it's own (giving more control to the programmer, which appears to be DexOS's goal). However, this is not the case with my OS.
As for a gui from a programmers point of view, you have two choser, have some function for drawing window etc or let the app programmer design his own interface.
There little point in having a resizable window in a desktop, as you would need to close it before opening another program, you can still have resizeable windows in the app its self eg: a editor that can open more than one file at a time etc.

Something like this is fine for a single-tasking OS
The problem with not provided a widget set is that applications are more likely to become inconsistent. If the OS provides a consistent GUI library, which can be used for most applications, it makes things easier for the programmer and the user.
User avatar
Dandee Yuyo
Member
Member
Posts: 47
Joined: Fri Nov 09, 2007 6:46 pm
Location: Argentina

Post by Dandee Yuyo »

Yes, but most GUI libraries are object oriented, which isn't really an option with assembly language (without a lot of setup code).
Win32 API is somehow "object oriented" but designed to be programmed with non object-oriented languages, like C. You can take a similar approach in assebler or whatever language you choose.
The problem with not provided a widget set is that applications are more likely to become inconsistent.
Like old linux appz. I agree with you, a decent GUI toolkit -mono or multitasking- should provide those.
NaN - Not a Nerd
Working on: Physical Memory Management with a 5-lod mipmap XD
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Post by Dex »

But you can provide a uniform look or feel, simple by using a include file with windowing function. I believe you need to take a differant approach with mono, than multi-tasking.
In a single-tasking OS, one app has full control over the whole screen.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

Yes, but most GUI libraries are object oriented, which isn't really an option with assembly language (without a lot of setup code).
I recall the existance of some assembly tutorial... it started with windows programming :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply