GUI

More
12 Jul 2012 14:17 #482 by FDR
Replied by FDR on topic Re: GUI

PhracturedBlue wrote:

One way to deal with it is to use the release edge of the pulse to trigger the events. Then you already know how long was it pressed. Of course you have to wait only the amount of time required for the long press, before you can fire that events...

I thought about it before, and maybe we should try it, but I think it isn't intuitive. Maybe it is better if the button highlights when you press it (like the keyboard) so you have some context of what you are about to do.

It worth a try, because it adds max one longpress time delay...

I've already suggested a pressed (not necessarily highlighted) state for the buttons, but then you have to deal with separate bitmaps for the different parts of the complex controls:

FDR wrote:

PhracturedBlue wrote: I'm not sure what you mean by the 'pressed' state. Do you mean for feedback on widgets that take a long-press?
Implementing the 'change color on press' for the keyboard was actually very complicated. I don't really want to implement it for other widgets unless it gives some real benefit. Most widgets immediately react when you press them, so I'm not sure of the benefit of having a pressed state.

Yes, I like visual feedback more, than beeps. It would help not only with the long presses, but to feedback the physical button presses. It would teach the user, which button effects which part of the widgets...


Later I will make some main screen layout examples...

Please Log in or Create an account to join the conversation.

More
12 Jul 2012 14:49 #483 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
When I get some time, I'll do some measurements on how long it takes to open and read a bmp on the devo8. That will help to determine what the best options are as far as duplicate vs composite bitmaps.

Please Log in or Create an account to join the conversation.

More
12 Jul 2012 14:55 #484 by FDR
Replied by FDR on topic Re: GUI

PhracturedBlue wrote: When I get some time, I'll do some measurements on how long it takes to open and read a bmp on the devo8. That will help to determine what the best options are as far as duplicate vs composite bitmaps.

Can we keep the file open?
We would use the arrows.bmp most of the time...

Please Log in or Create an account to join the conversation.

More
12 Jul 2012 16:07 #486 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI

FDR wrote:

PhracturedBlue wrote: When I get some time, I'll do some measurements on how long it takes to open and read a bmp on the devo8. That will help to determine what the best options are as far as duplicate vs composite bitmaps.

Can we keep the file open?
We would use the arrows.bmp most of the time...

Possibly. On the Devo8 only one file can be 'open' at a time, but I was considering duplicating the data structure to simulate the file being kept open. I'll need to experiment to see what the options are.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 04:24 #491 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
Ok, here are some measurements:
devo8.bmp:    270msec
btn90_24.bmp:  10msec
btn46_24:       5msec
arrows.bmp:     between 1 and 2 msec
btn48_16.bmp:   4msec
btn64_16.bmp:   5msec
spin96.bmp:     7msec
btn96_16.bmp:   7msec
The actual opening of a file is < 1msec
so, I think it should be fine to split the spinbox into a text-entry + 2 arrows. The total time will be within a msec per widget. I also found that I was redrawing the background much more often than needed. Each time a transparent bmp or text is drawn, the background underneath it is drawn too. that is only necessary if the widget changes, not when the widget is 1st shown. I need to enable debugging and try to determine how to only redraw when needed, which should significantly speed up page draw time.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 05:14 #492 by FDR
Replied by FDR on topic Re: GUI
Cool!

It seems, that the times are proportional to the size.
We will need to double (or triple) the size of the control bitmaps with the selected and pressed states. I assume the time is less if you only read in a part of the bitmap...

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 05:21 #493 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
Yes time is proportional to the amount of data actually drawn, not so much the size of the bmp on disk (the arrow is much less than a 64x16 button, but they are the same size on disk). As I've mentioned before a 16x96 bmp would take longer to render than a 96x16bmp though. I'm not sure by how much, probably no more than 20% though.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 05:22 #494 by FDR
Replied by FDR on topic Re: GUI
One more question: what image formats we can use?
The controls are ARGB1555 bmps as I see, but since the background does not need transparency we could use some else to reduce it's size...

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 05:33 - 13 Jul 2012 05:33 #495 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
You can only use RGB565 and ARGB1555 today. I could add support for 8-bit BMP, but they require a table, so memory usage would increase by 512bytes and filesize would be 50% smaller. I don't think it is worth it unless we plan to have many more full-page background images. Ideally we could use a RGB332 format, but I don't think BMP supports it. Also, GIMP apparently won't save an 8-bit bmp, which makes it more annoying for me to work on. I had considered supporting RLE bitmaps, but the problem is that you can draw a window out of a compressed bitmap, so they aren't an option.
Last edit: 13 Jul 2012 05:33 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 06:20 #496 by FDR
Replied by FDR on topic Re: GUI
Yep, I was thought of some paletted one. For the large bitmaps the size decrease could speed up their read in. Question is, if the more processing need for diplaying is worth it or not...

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 14:11 #497 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
I just changed the spin-box to use the btn16_* buttons + arrows. The next step will be to support a pressed-version of them.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 14:26 #498 by FDR
Replied by FDR on topic Re: GUI

PhracturedBlue wrote: I just changed the spin-box to use the btn16_* buttons + arrows. The next step will be to support a pressed-version of them.

Now all the fields look like a combined button+spinbox.
Shouldn't we create separate field bitmaps to use for the simple spinbuttons?

Have you reveived my email with the files?

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 14:42 #499 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
There you go

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 14:52 #500 by FDR
Replied by FDR on topic Re: GUI
Thanks, now it is like before.
I just had to redo my pictures...

It doesn't seem slower...

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 16:16 #501 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI

FDR wrote: Thanks, now it is like before.
I just had to redo my pictures...

It doesn't seem slower...

You won't be able to see the performance on the emulator. The actual transmitter is much slower. But I don't think you'll see the difference there either.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 18:32 #502 by FDR
Replied by FDR on topic Re: GUI
I would like to start refining the gui, if you don't mind.
But I may need some help to do it on Windows.

If I understand right, I have to install mercurial client.
I've already made a bitbucket repository.
What else do I need?

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 19:14 - 13 Jul 2012 19:17 #503 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI

FDR wrote: I would like to start refining the gui, if you don't mind.
But I may need some help to do it on Windows.

If I understand right, I have to install mercurial client.
I've already made a bitbucket repository.
What else do I need?

How have you been getting my latest changes? just downloading the whole thing from bitbucket?

since you can already build the code, all you need is to get mercurial up and running.

Once hg is installed:
hg clone bitbucket.org/PhracturedBlue/deviation
cd deviation
edit .hg/hgrc with the following so that you pull from my repo, and push to your own:
[paths]
default = https://bitbucket.org/PhracturedBlue/deviation
default-push = <your bitbucket repo here>
[ui]
username = FDR <email@whatever>
now you can make changes, and compile as usual
when you are happy, commit your changes locally:
hg commit -m "some description of the change"
you can now continue making changes and commiting, or push your changes to bitbucket with:
hg push

I can't help you with getting hg going on Windows, but as kohansey said, there is ToriseHg which should be gui oriented.

Edit: I think you also need to create a new repo in bitbucket (through the web-page), and either make it public or invite me to be able to see it.
Last edit: 13 Jul 2012 19:17 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 19:39 #504 by FDR
Replied by FDR on topic Re: GUI
So far I always downloaded the whole zip.

I've installed TortoiseHg.
Created a bitbucket repository: https://bitbucket.org/FDR/deviation
Comitted the deviation dir from the explorer, but there are some files and directories, which icon hasn't changed. Strange...

Now I'm trying to figure out how to push to my repository...

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 19:49 - 13 Jul 2012 19:50 #505 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI

FDR wrote: So far I always downloaded the whole zip.

I've installed TortoiseHg.
Created a bitbucket repository: https://bitbucket.org/FDR/deviation
Comitted the deviation dir from the explorer, but there are some files and directories, which icon hasn't changed. Strange...

Now I'm trying to figure out how to push to my repository...

a couple of useful commands:
hg status will show you what files in your repo are moidified and not committed
hg diff will show you whatis actually different
hg revert <file> will remove all of your changes from '<file>' (the old version will be saved as <file>.orig)

Also, i just pushed changes that will break your icons again. Now all buttons and spinboxes have 2 flavors. The normal one, and the 'pressed' one. the pressed is placed right below the normal, and must have identical dimensions.
I haven't done the spinbox 'main' yet, since I haven't yet decided if we should have an alternate icon for pressable ones.
Last edit: 13 Jul 2012 19:50 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
13 Jul 2012 20:54 #506 by FDR
Replied by FDR on topic Re: GUI
Well, I've done something...
Mine now looks almost exactly like yours, is that supposed to be? :unsure:

Please Log in or Create an account to join the conversation.

Time to create page: 0.120 seconds
Powered by Kunena Forum