gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Misc > Beginnings of a GUI lib

#118262 - bjoerngiesler - Sun Feb 11, 2007 5:56 pm

I've started a small GUI lib for the DS; demo is at http://giesler.biz/~bjoern/downloads/DSGUITest.zip. Current features and goals include:

    anti-aliased, clipped fonts, loadable from file or compiled-in, created from TrueType fonts on a PC

    fully themeable

    optionally back-buffered display

    GUI elements can be rotated in 90? steps (so you can hold the DS regular, book-style and left-handed book-style)


I'm still looking for input on this; what would *you* be looking for in a GUI library?

EDIT: Oh BTW, the demo shows rotated text, a couple clickable buttons, and two linked drawing surfaces, one on the bottom and one on the top screen; the top one can be rotated on button click.
_________________
DSFTP homepage

#118268 - Diddl - Sun Feb 11, 2007 7:24 pm

GUI test working fine for me on a R4 in DS lite.

#118271 - Dan2552 - Sun Feb 11, 2007 7:36 pm

havn't looked at the demo but,

will this be compatable with PAlib? Proper anti-aliased fonts sound good.

#118277 - bjoerngiesler - Sun Feb 11, 2007 8:17 pm

Dan2552 wrote:
will this be compatable with PAlib? Proper anti-aliased fonts sound good.


The GUI lib doesn't use anything libnds-specific, so I don't see why it shouldn't work with PAlib. The fonts are still bitmap fonts, though -- no TrueType rendering engine is used on the DS (too slow, IMHO), but you run the TTF through a script on the PC, yielding a memory-optimized bitmap font.
_________________
DSFTP homepage

#118385 - spinal_cord - Tue Feb 13, 2007 12:10 am

I would like to see some sort of scrollable text box, with wrapping. Some sort of graphic support, to display images. erm... cant think of anything else.
_________________
I'm not a boring person, it's just that boring things keep happening to me.
Homepage

#118684 - theli - Thu Feb 15, 2007 3:21 pm

bjoerngiesler wrote:

I'm still looking for input on this; what would *you* be looking for in a GUI library?

unicode support (for internationalization)

#118686 - tepples - Thu Feb 15, 2007 3:33 pm

theli wrote:
unicode support (for internationalization)

How much space would a full Chinese font take up? And how many people know how to implement the contextual character shape modifications needed for Arabic and Indic scripts?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#118692 - theli - Thu Feb 15, 2007 4:37 pm

tepples wrote:
How much space would a full Chinese font take up?

hey! don't blame me :) .. i'm just asking ...

tepples wrote:

And how many people know how to implement the contextual character shape modifications needed for Arabic and Indic scripts?

i have no idea about Arabic or Indic scripts :(

just (for example) if i'll be going to write Jabber client (it's not that i'm going) for DS i would certainly try to code the possibility to talk with my native language

#118697 - bjoerngiesler - Thu Feb 15, 2007 7:08 pm

theli wrote:
bjoerngiesler wrote:

I'm still looking for input on this; what would *you* be looking for in a GUI library?

unicode support (for internationalization)


The text system supports three different font encodings: ASCII, Unicode, and ISO 8859. You can tell the font creator script what character subranges you want in the font, since a full unicode font takes up way too much memory. (See http://giesler.biz/~bjoern/downloads/dsgui/Fontformat.txt for details.) The fonts I'm currently using only have basic ASCII and the latin 1 additions, though.
_________________
DSFTP homepage

#118704 - Puyo - Thu Feb 15, 2007 10:04 pm

Directory trees, dropdown boxes - anything like that, which doesn`t take too much workspace.

#118730 - HyperHacker - Fri Feb 16, 2007 8:03 am

Assuming 16x16 monochrome characters, you'd have 32 bytes per character. Wikipedia states that:
Quote:
The number of Chinese characters contained in the Kangxi dictionary is approximately 47,035, although a large number of these are rarely-used variants accumulated throughout history. Studies carried out in China have shown that full literacy requires a knowledge of between three and four thousand characters.

So if you wanted all 47,035(!) Chinese characters, at these specifications, that's only ~1.43MB. Add some compression on top of that, and it may not be very big at all. And since only ~3,000 of them are considered necessary today, that's a lot less space. Japanese uses mainly the same glyphs as Chinese, Roman-based alphabets use only about 70 in total (uppercase, lowercase, numbers and punctuation), and I don't know anything about the rest, but this should give you an idea just how small a full Unicode font could be at a readable size.
_________________
I'm a PSP hacker now, but I still <3 DS.

#118734 - theli - Fri Feb 16, 2007 8:14 am

bjoerngiesler wrote:
The text system supports three different font encodings: ASCII, Unicode, and ISO 8859.

superb! :D

#118737 - chishm - Fri Feb 16, 2007 8:42 am

bjoerngiesler wrote:
The fonts are still bitmap fonts, though -- no TrueType rendering engine is used on the DS (too slow, IMHO), but you run the TTF through a script on the PC, yielding a memory-optimized bitmap font.

Is it still too slow for TTF if you render them once to a bitmap buffer when the file is first loaded? It would be nice to be able to just add a font file straight from the PC.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118783 - bjoerngiesler - Fri Feb 16, 2007 6:28 pm

chishm wrote:
Is it still too slow for TTF if you render them once to a bitmap buffer when the file is first loaded? It would be nice to be able to just add a font file straight from the PC.


Certainly possible and may be an option in the future (IIRC, beup uses a TTF engine). Running a quick (and portable) Python script on the font isn't too much of a hassle right now, though.
_________________
DSFTP homepage

#118819 - chishm - Sat Feb 17, 2007 1:52 am

bjoerngiesler wrote:
Running a quick (and portable) Python script on the font isn't too much of a hassle right now, though.

I suppose that could be added as a build step in the Makefile.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#118839 - OOPMan - Sat Feb 17, 2007 9:43 am

Tested the demo last night. Looking good so far bjorn :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#121314 - bjoerngiesler - Sun Mar 11, 2007 2:25 pm

Hey,

I've put up a new version of my GUI test program at http://giesler.biz/~bjoern/downloads/DSGUITest.zip. Check it out if you like. The goal of this project is to have a full-featured, open-source GUI library to build utility/office applications on. The lib is specially tailored to the DS in lightweightness and speed. Additionally, every widget can be rotated in 90? steps to enable the three possible ways of holding the DS (regular and book-style for left and right handers).

I'm still missing a scrollable, wrapped text widget and a font selector; when that's done and I've built a small, real app with it, I'll release the source.

Regards,
Bj?rn
_________________
DSFTP homepage

#121326 - simonjhall - Sun Mar 11, 2007 4:36 pm

Oh this is good!
I noticed sometimes that the button in the top left occasionally flicked on and off though when I clicked a button near it though...have you seen this before?

Other than that, this is ace! When do you reckon you'll have it released by? I'm looking for some kind of easy way of doing wifi settings/on screen keyboard/mod & total conversion selection in Quake - reckon you could have something out within a month? :-)

How are the graphics drawn? Is it in framebuffer mode? Will there be a way to customise the appearance? (font, colour, transparent backgrounds etc)

EDIT: oh, and what's the code size?
_________________
Big thanks to everyone who donated for Quake2

#121329 - deshi - Sun Mar 11, 2007 5:00 pm

works good with SCSD.
but one thing is strange: when i switch to one of the 4 demo screens, there always seems to be a slight shadow of the images from the last screen.
i'm not sure if this is a software problem at all.. maybe there is somethig wrong with my bottom screen..

falls man das nicht so gut verstehn kann:
das zuletzt angezeigte bild; buttons, labels usw. liegt als schatten auf dem neuen bild.. wenn man den bildschirm etwas kippt sieht man es recht gut..
vielleicht k?nntest du die ausgabe ja mal testweise auf den oberen screen umschreiben dann weiss ich obs an meinem screen liegt *g*

also: make the scrollbars dragable ;)

#121334 - bjoerngiesler - Sun Mar 11, 2007 6:21 pm

simonjhall wrote:
I noticed sometimes that the button in the top left occasionally flicked on and off though when I clicked a button near it though...have you seen this before?


Not quite like that, but I attribute that to the touchscreen inaccuracies. I haven't tried devkitpro R20 yet, which supposedly fixes that; the touchscreen is definitely still a problem though.

simonjhall wrote:
When do you reckon you'll have it released by? I'm looking for some kind of easy way of doing wifi settings/on screen keyboard/mod & total conversion selection in Quake - reckon you could have something out within a month? :-)


With text and font selection, yes -- with on-screen keyboard, no. I'm not quite sure yet how to do text input, and that's still a crucial point. But if you want to contribute, you're welcome :-) Mail me if you're interested, and I'll send you the source.

simonjhall wrote:
How are the graphics drawn? Is it in framebuffer mode? Will there be a way to customise the appearance? (font, colour, transparent backgrounds etc)
EDIT: oh, and what's the code size?


The graphics are drawn onto 16bpp images of arbitrary size; either those reference the extended rotation background screens directly (this is the current mode), or they can be blitted onto the screen after the GUI was rendered.

Fonts, colors etc. can be set already (fonts can be in memory or loaded from flash); widget backgrounds have alpha components, so they can be semi-transparent. (See DSFTP's log widget, that's drawn using alpha.) Most of the actual drawing for widget frames, buttons etc. is done using a theme class which can be replaced.

The code (just for the lib) is about 300k compiled right now.

@deshi: I noticed the shadowing; there's probably still a bug in the alpha compositing. And the scrollbars will be draggable soon. :-)
[EDIT] Found the shadowing bug :-)
_________________
DSFTP homepage


Last edited by bjoerngiesler on Sun Mar 11, 2007 6:26 pm; edited 1 time in total

#121335 - Tets - Sun Mar 11, 2007 6:21 pm

The GUI test freezes when run on my MMD, but like a lot of other programs I can get it to run properly renamed as bootme.nds. I understand that the MMD isn't one of the more popular or well-supported devices to run homebrew on, but I still thought it would be a good idea to let you know about this bug.

#121354 - bjoerngiesler - Sun Mar 11, 2007 8:48 pm

@simonjhall: I've just uploaded a new version, same URL, with a quickly hacked-together on-screen keyboard (under the "Std Dlgs" pane). Just small letters and no editing yet; but would something like this be enough for your purposes?
_________________
DSFTP homepage

#121363 - simonjhall - Sun Mar 11, 2007 9:35 pm

Cool man, ta for the demo and answers. The demo OSK would probably do, but I'm happy to wait for a proper solution if one's in the works! Something which understands the dotted quad IP address format would be nice too (like the Nintendo WFC settings dialog does).

Any way to get the memory footprint down to <20k?
_________________
Big thanks to everyone who donated for Quake2

#121365 - bjoerngiesler - Sun Mar 11, 2007 9:55 pm

simonjhall wrote:
Cool man, ta for the demo and answers. The demo OSK would probably do, but I'm happy to wait for a proper solution if one's in the works! Something which understands the dotted quad IP address format would be nice too (like the Nintendo WFC settings dialog does).


Well, since this is not one of my priorities right now, I happily invite you to contribute :-)

simonjhall wrote:
Any way to get the memory footprint down to <20k?


What? No. That's a tenth of what's there right now! The default font alone is 16k!
_________________
DSFTP homepage

#121367 - simonjhall - Sun Mar 11, 2007 10:44 pm

bjoerngiesler wrote:
Well, since this is not one of my priorities right now, I happily invite you to contribute :-)
If I get some time I will! Although you do seem to be doing pretty well on your own ;-)

Quote:
What? No. That's a tenth of what's there right now! The default font alone is 16k!
Jinkies, Scooby!
_________________
Big thanks to everyone who donated for Quake2

#121368 - tepples - Sun Mar 11, 2007 10:47 pm

bjoerngiesler wrote:
What? No. That's a tenth of what's there right now! The default font alone is 16k!

How many pixels does the 16 KiB figure represent? How many glyphs, and how many pixels of width and height per glyph, and how many bits per pixel? Is it significantly bigger than this font?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#121373 - bjoerngiesler - Sun Mar 11, 2007 11:56 pm

tepples wrote:
How many pixels does the 16 KiB figure represent? How many glyphs, and how many pixels of width and height per glyph, and how many bits per pixel? Is it significantly bigger than this font?


That's 190 characters in a 1224x13 pixel 8bpp bitmap. It's uncompressed, but I figure you can either store it uncompressed or uncompress it into RAM and lose time in the process.
_________________
DSFTP homepage

#121374 - tepples - Mon Mar 12, 2007 12:04 am

bjoerngiesler wrote:
That's 190 characters in a 1224x13 pixel 8bpp bitmap. It's uncompressed, but I figure you can either store it uncompressed or uncompress it into RAM and lose time in the process.

If the 190 characters are the same 190 characters I'm thinking of, then one thing you could try is abandoning precomposed glyphs. To draw '?', draw 'o' and draw '^' on top of it. A lot of glyphs, such as those of many lowercase characters, only use half the vertical space; try storing a top and bottom extent for each glyph. And why 8bpp and not 1bpp? Are you using antialiasing?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#121375 - bjoerngiesler - Mon Mar 12, 2007 12:41 am

tepples wrote:
If the 190 characters are the same 190 characters I'm thinking of, then one thing you could try is abandoning precomposed glyphs. To draw '?', draw 'o' and draw '^' on top of it. A lot of glyphs, such as those of many lowercase characters, only use half the vertical space; try storing a top and bottom extent for each glyph.


I admit there's a bit of memory optimization potential still there. It's not a lot though -- 16k for a font isn't much, and what you save on memory you spend on algorithm beforehand and processing time later. Frankly, I understand where simonjhall is coming from -- Quake in 4MB is not easy to do, and you need every byte. But this lib is for GUI apps, and I'm not going to spend my time doing this kind of optimization.

Quote:
And why 8bpp and not 1bpp? Are you using antialiasing?


Yes.
_________________
DSFTP homepage

#121390 - HyperHacker - Mon Mar 12, 2007 3:25 am

Seems 4bpp is enough for anti-aliasing, even 2bpp could pull it off. Sure 16k is not much, but 4k is better. The less memory the GUI uses, the more is left for the program, which is rather important in 4MB.
_________________
I'm a PSP hacker now, but I still <3 DS.

#121412 - bjoerngiesler - Mon Mar 12, 2007 7:54 am

HyperHacker wrote:
Seems 4bpp is enough for anti-aliasing, even 2bpp could pull it off. Sure 16k is not much, but 4k is better. The less memory the GUI uses, the more is left for the program, which is rather important in 4MB.


True true. Well, 2bpp I doubt, but 4bpp could be done. But then you spend more cycles bit-twiddling instead of blitting. No problem for one-line label widgets, but when scrolling large multi-line texts, this becomes a problem.

Oh well, the font file format is versioned, so later versions may switch to packed storage. Currently, in a library of 300k, 16k text is my smallest problem. Better get rid of the STL first.
_________________
DSFTP homepage

#121442 - Lick - Mon Mar 12, 2007 2:53 pm

To be honest, I checked out your application and the anti-aliasing sucks. Maybe because the font-size is so damn small.. Good job on the rest of the GUI.
_________________
http://licklick.wordpress.com

#121477 - bjoerngiesler - Mon Mar 12, 2007 6:18 pm

Lick wrote:
To be honest, I checked out your application and the anti-aliasing sucks. Maybe because the font-size is so damn small..


No, that's because it's one of the free Bitstream Vera fonts, whose hinting is crap. :-) But I can't distribute anything else freely.

EDIT: And I don't think the font size is "damn small". If you want to get any significant amount of text on those 256x192 screens, the font can't be small enough.
_________________
DSFTP homepage


Last edited by bjoerngiesler on Mon Mar 12, 2007 8:54 pm; edited 1 time in total

#121503 - tepples - Mon Mar 12, 2007 7:25 pm

You could do what I did for the PC version of LOCKJAW: start with a larger version of Bitstream Vera and hand-edit the bitmaps.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#121508 - bjoerngiesler - Mon Mar 12, 2007 8:53 pm

tepples wrote:
You could do what I did for the PC version of LOCKJAW: start with a larger version of Bitstream Vera and hand-edit the bitmaps.


Or I could just distribute my TTF converter script so that people can cut their own fonts from their Windows distribution. :-)

Seriously: Hand-editing a unicode font is simply out of the question. You can do that if you only use 7-bit ASCII, and even then it's a pain. For a GUI toolkit that supports disk-loadable fonts, I'm certainly not going to go over every font with the GIMP.
_________________
DSFTP homepage

#121780 - bjoerngiesler - Wed Mar 14, 2007 8:41 pm

Hi,

I've put up a new WIP version at http://giesler.biz/~bjoern/downloads/DSGUITest.zip. The ZIP file also includes pre-converted fonts from the Bitstream Vera connection, a converter script and an explanation of the font file format; there's a README file that should explain everything. Check it out if you like.

The way I see it, this is the last WIP version. Now a first small app as a reality check, and then I'll release the source.

Regards,
Bj?rn
_________________
DSFTP homepage

#121884 - tyraen - Thu Mar 15, 2007 1:24 pm

Your site seems to go on and off for me. I've actually only been able to get there once, and I didn't download the test. Arg. Any mirrors?

#121946 - dantheman - Thu Mar 15, 2007 9:59 pm

I downloaded it on the first try, so here's a mirror: http://dannysied.googlepages.com/DSGUITest.zip

#121950 - tyraen - Thu Mar 15, 2007 10:03 pm

Yup, working for me now too, I tried a few times earlier today to no avail. Thanks for the mirror!

#121957 - Oliv5400 - Thu Mar 15, 2007 11:21 pm

Very good job, i really hope see one day your work as a REAL universal GUI like the DLDI for i/o card : we need a standard DS workbench.

#122830 - ttabbal - Thu Mar 22, 2007 6:37 pm

Very nice! I'd be willing to write apps against this. Can it do different colors for the buttons, backgrounds, etc? I can see people making themes for this type of thing.

Thanks for the mirror dantheman, it worked great.

#122843 - bjoerngiesler - Thu Mar 22, 2007 8:52 pm

ttabbal wrote:
Very nice! I'd be willing to write apps against this. Can it do different colors for the buttons, backgrounds, etc? I can see people making themes for this type of thing.

Thanks for the mirror dantheman, it worked great.


Different colors are built-in, but there's also a theme class which handles much of the actual drawing (background, frame, but also more specialized calls such as "draw a button" and "draw a slider"). It's not tested much, but it should be fully & totally theme-able.
_________________
DSFTP homepage

#123300 - Zarxrax - Tue Mar 27, 2007 3:06 am

So this library is going to provide a way to display unicode text? If thats the case, then I can't wait :)

#123374 - bjoerngiesler - Tue Mar 27, 2007 7:18 pm

Zarxrax wrote:
So this library is going to provide a way to display unicode text? If thats the case, then I can't wait :)


Well, the font format supports full unicode. The library theoretically should also; since I'm in Germany and don't have any texts floating around that require unicode, I can't really test it.

But if anyone sends me an UTF8 encoded text, say Chinese or something, along with a picture of how the text should look taken from another app, I'll do my best to make it full unicode.
_________________
DSFTP homepage

#123415 - Zarxrax - Wed Mar 28, 2007 12:09 am

bjoerngiesler wrote:
But if anyone sends me an UTF8 encoded text, say Chinese or something, along with a picture of how the text should look taken from another app, I'll do my best to make it full unicode.

Here you go, some Japanese text. http://zarxrax.kicks-ass.net/japanese.zip

#123420 - tepples - Wed Mar 28, 2007 12:40 am

You could always go to Wikipedia, find some Unicode-heavy article such as Unicode or International Phonetic Alphabet, copy and paste the article into Notepad, save it as UTF-8, and try to view that.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#123444 - bjoerngiesler - Wed Mar 28, 2007 6:38 am

Zarxrax wrote:
bjoerngiesler wrote:
But if anyone sends me an UTF8 encoded text, say Chinese or something, along with a picture of how the text should look taken from another app, I'll do my best to make it full unicode.

Here you go, some Japanese text. http://zarxrax.kicks-ass.net/japanese.zip


Thanks. I'll look into it.
_________________
DSFTP homepage

#123830 - tyraen - Sat Mar 31, 2007 5:36 pm

How did you implement callbacks in this lib? I'm working on some basic GUI elements for my DSO plugin and I'm trying to find the cleanest way to go about it.

#123833 - bjoerngiesler - Sat Mar 31, 2007 6:19 pm

tyraen wrote:
How did you implement callbacks in this lib? I'm working on some basic GUI elements for my DSO plugin and I'm trying to find the cleanest way to go about it.


Simple: Each widget defines its own delegate class; your class must inherit from BButton::Delegate, then you do myBtn->setDelegate(myCallbackReceiver) and your onButtonClick() method gets called.
_________________
DSFTP homepage

#124037 - ttabbal - Mon Apr 02, 2007 5:56 pm

Any chance of getting some code to play with soon? I've got an app I'd like to use it for. :)

#124043 - rrc2soft - Mon Apr 02, 2007 6:59 pm

bjoerngiesler, need some chinese unicode text? Or did you get it from the wikipedia?

#125990 - Zarxrax - Wed Apr 18, 2007 10:47 pm

Any updates on this? I'm really looking forward to it :)

#126072 - bjoerngiesler - Thu Apr 19, 2007 8:00 pm

Zarxrax wrote:
Any updates on this? I'm really looking forward to it :)


Patience. :-)
_________________
DSFTP homepage

#126129 - bjoerngiesler - Fri Apr 20, 2007 7:43 am

One more (and probably the last) teaser: http://giesler.biz/~bjoern/downloads/DSGUITest.zip. I'm getting very close to finishing ReadMore; afterwards, I'll document the GUI lib and release it as source code.
_________________
DSFTP homepage

#126166 - OOPMan - Fri Apr 20, 2007 2:28 pm

Good to hear. I think we're all looking forward to both the release version of RM and the GUI lib as well :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI

You can find my NDS homebrew projects here...

#126168 - LiraNuna - Fri Apr 20, 2007 3:19 pm

bjoerngiesler, Great job! I like it A LOT.
Just some questions regarding touch control, is it tick based? i,e can I touch a button and the CPU will handle other tasks as well (without taking cycles from Vblank) ?
_________________
Private property.
Violators will be shot, survivors will be shot again.

#126174 - bjoerngiesler - Fri Apr 20, 2007 5:38 pm

LiraNuna wrote:
Just some questions regarding touch control, is it tick based? i,e can I touch a button and the CPU will handle other tasks as well (without taking cycles from Vblank) ?


I don't quite understand your question, but here's how it works: A central Runloop object handles the main loop, which does the following:

1. Read touch screen and keyboard and generate events accordingly. These events move down the widget hierarchy and trigger actions. Those actions can possibly cause widgets to state they need redrawing.
2. Tell interested objects that it will wait for VBlank next (timers, i.e. for animations, can hook into there).
2. swiWaitForVBlank().
3. Redraw all widgets that need it.

The controlling code for this is about 10 lines and can trivially be replaced with something else (e.g. sth based on the touch screen interrupt).

Or, if that was your question, a button does not hog the CPU in a busy loop while it's pressed -- a touch event and a release event are generated by separate iterations of the above; if the touch is in the button, it sets its state to active and requests redraw; if the release is in the button too, the button's delegate is notified, the button's state is set to regular and another redraw is requested.
_________________
DSFTP homepage

#126999 - Zarxrax - Sun Apr 29, 2007 1:49 am

Here are a few things I noticed and suggestions with this latest demo.

- On the buttons panel, if you press "Option1" first, it will toggle off. Same thing with alignment selector under Dialogs.
- If you press directly on a scroll bar, it will scroll up. Is this correct? It would be nice to have some buttons at the top and bottom of the scrollbar to press up/down, or be able to press the scrollbar and drag it up and down.
- When choosing an item in a scroll box list, it would be nice if it kept reading the position of the stylus and update which item is selected as you drag the stylus over it.

#127018 - bjoerngiesler - Sun Apr 29, 2007 9:01 am

Hi,

Zarxrax wrote:
- On the buttons panel, if you press "Option1" first, it will toggle off. Same thing with alignment selector under Dialogs.


Yep, that one's known and will be fixed soon.

Quote:
- If you press directly on a scroll bar, it will scroll up. Is this correct? It would be nice to have some buttons at the top and bottom of the scrollbar to press up/down, or be able to press the scrollbar and drag it up and down.


Draggable scrollers will come.

Quote:
- When choosing an item in a scroll box list, it would be nice if it kept reading the position of the stylus and update which item is selected as you drag the stylus over it.


Nope -- that doesn't match with the drag-and-drop support I'm planning.
_________________
DSFTP homepage

#129013 - moncul - Thu May 17, 2007 6:59 pm

Congratulations, i'm looking forward to use this lib !
I "try to begin" in developping application for ds (i've only used traditionnal winforms or swing in my past gui developments !), and i'm lost in the multiple display modes, the VRAM mappings, do i have to use sprites,...
I hope i'll find my traditionnal label, textbox, listbox, button,, checkbox, radio, messagebox, panels, combobox, statusbar, progressbar, tree (maybe this one would be difficult)...

#129521 - Lynx - Wed May 23, 2007 1:43 pm

Just checking to see if there is any kind of status update on this project?
_________________
NDS Homebrew Roms & Reviews

#131169 - moncul - Mon Jun 11, 2007 9:44 pm

is your gui lib this project, or is it another ?

#131838 - sberube - Wed Jun 20, 2007 4:26 pm

the dsgui sourceforge project is not this project. (I co-own the sourceforge project).

Our GUI Library is based heavily on the QT Library for a graphical user interface (in design at least) and was made for our own use in designing a fully interactive amarok/itunes wifi remote.

The sourceforge dsgui is still in very early alpha stage and in no way useable, at least for a few weeks.

We plan to support all regular GUI components such as buttons, labels, tabbing (with keys), key input response, listboxes, editboxes, etc.. We also have truetype font support but they too have to be converted from a script before compile-time.

All our items should, when working properly, be able to accept input from the DS when properly focused (such as going through listbox items).

I would definitly not recommend using the sourceforge dsgui project for anything right now (as of this writing) as it is simply not ready. However, when we have something more useable we will publicize it more openly.

We did not know, however, that another DSGUI project existed and I hope this clears up the confusion.

#131861 - Lynx - Wed Jun 20, 2007 8:17 pm

Well, until something is released, NEITHER exist. ;)
_________________
NDS Homebrew Roms & Reviews

#131949 - sberube - Thu Jun 21, 2007 3:26 pm

And this is exactly why noone has heard, or will hear of this project until something comes out of it. ;)

#131950 - moncul - Thu Jun 21, 2007 3:38 pm

i'm sorry for revealing your secret :)

#144807 - theli - Wed Nov 07, 2007 2:26 pm

is this dead? i hope not ... ;(

#144846 - bjoerngiesler - Thu Nov 08, 2007 8:08 am

theli wrote:
is this dead? i hope not ... ;(


No, it's not:

http://forum.gbadev.org/viewtopic.php?t=14475
_________________
DSFTP homepage

#144849 - theli - Thu Nov 08, 2007 8:56 am

bjoerngiesler wrote:
theli wrote:
is this dead? i hope not ... ;(


No, it's not:

http://forum.gbadev.org/viewtopic.php?t=14475

thanks, i've akready seen this :D