Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: RR should unset the hover state of buttons after a timeout.

  1. #1
    FLAC
    Join Date
    Sep 2004
    Posts
    1,577

    RR should unset the hover state of buttons after a timeout.

    I find myself often driving around with a button stuck highlighted in blue. That happens even if I deliberately use the touch screen to move the mouse pointer over a non-button element (e.g. the track title or the logo space). So there are two suggestions:
    1. Don't leave the last button highlighted if the mouse has left it.
    2. Even if the mouse pointer hasn't left the button, turn off the highlighting after some timeout (possibly configurable - immediate or almost immediate might make sense for a touchscreen).

    Thanks.
    Progress: 80% - Permanent install left.
    Motion LS800 Tablet PC and dock.
    Vista, Bu-535 GPS, RoadRunner, MPT2006.

  2. #2
    Variable Bitrate
    Join Date
    Mar 2004
    Location
    Vancouver, BC, Canada
    Posts
    429
    I addition to this problem, I have found that it is possible to place the cursor between two buttons, and have RR flicker back and forth between them.

  3. #3
    FLAC
    Join Date
    Sep 2004
    Posts
    1,577
    Yes, I've seen that too. RR then uses a bunch of cpu whilst it's doing it.
    Progress: 80% - Permanent install left.
    Motion LS800 Tablet PC and dock.
    Vista, Bu-535 GPS, RoadRunner, MPT2006.

  4. #4
    RoadRunner Mastermind
    Auto Apps:loading...
    guino's Avatar
    Join Date
    Nov 2004
    Location
    Toronto, Canada
    Posts
    9,818
    The reason that happens is because of a badly designed skin -- if you correctly set the areas of the buttons, this should not happen.. Arathranar, you should try running WMP9/10 and check out processor usage while doing so.. then be glad RR uses as much CPU as it does right now..
    Ride Runner RR's Myspace

    "Being happy is not about having what you want, it's about wanting what you have."
    "The best things in life are always free - but that doesn't mean money can't buy you good things."

  5. #5
    FLAC
    Join Date
    Sep 2004
    Posts
    1,577
    Maybe. But just because WMP sucks doesn't mean we should every be satisfied with the performance of other apps . Anyway, I'll stick my money where my mouth is and see if I can work out how to optimize RR's perf. If I can't, I'll shut up about it
    Progress: 80% - Permanent install left.
    Motion LS800 Tablet PC and dock.
    Vista, Bu-535 GPS, RoadRunner, MPT2006.

  6. #6
    I'm sorry, and you are....? frodobaggins's Avatar
    Join Date
    Jan 2003
    Location
    Ruston, LA
    Posts
    8,846
    What is the point of "hover" in a touch screen application anyway ?
    [H]4 Life
    My next generation Front End is right on schedule.
    It will be done sometime in the next generation.
    I'm a lesbian too.
    I am for hire!

  7. #7
    FLAC
    Join Date
    Sep 2004
    Posts
    1,577
    Mostly I see the value as confirmation of a click. Hence the desire to have the 'hover' feedback time out. Maybe we should make that an explicit behavior though - the user chooses touch or mouse behavior. Touch gives you click feedback of buttons presses. Mouse gives you continuous hover feedback. But I think the timeout really addresses both well.
    Progress: 80% - Permanent install left.
    Motion LS800 Tablet PC and dock.
    Vista, Bu-535 GPS, RoadRunner, MPT2006.

  8. #8
    FLAC
    Join Date
    Sep 2004
    Posts
    1,577
    Here is the fix for issue 1 above (button remaining highlighted even when the pointer has moved out of it).

    Note that I have commented out lines of the following form since they are wholly unecessary (the previous InvalidateRect calls generates the correctly formed WM_PAINT windows messages):
    Call SendMessage(Me.hwnd, WM_PAINT, 0, 0)
    I've done this throughout the project and have not yet noticed any side effects.

    What I have not yet worked out is why you need those ValidateRect() calls preceding the InvalidateRect() calls. They should not be necessary either but disabling them causes your labels to suddenly become very flashy and I don't know why that is happening yet. My current assumption is that it's a subtle bug elsewhere in the code.

    I haven't yet worked out why the flashing Mute button uses up so much cpu since the code is basically doing what it should - invalidating only the changed portions of the skin - as far as I can tell so far. It simply shouldn't be as expensive as it is.

    My rr.exe files is either ~350k if I compile as P-code or ~850k if I compile native. The one in your download is only ~223k. What's causing the huge difference in size?
    Attached Files Attached Files
    Progress: 80% - Permanent install left.
    Motion LS800 Tablet PC and dock.
    Vista, Bu-535 GPS, RoadRunner, MPT2006.

  9. #9
    RoadRunner Mastermind
    Auto Apps:loading...
    guino's Avatar
    Join Date
    Nov 2004
    Location
    Toronto, Canada
    Posts
    9,818
    What I have not yet worked out is why you need those ValidateRect() calls preceding the InvalidateRect() calls. They should not be necessary either but disabling them causes your labels to suddenly become very flashy and I don't know why that is happening yet. My current assumption is that it's a subtle bug elsewhere in the code.
    This is EXACTLY WHY those calls are there -- to prevent labels from flashing.

    I haven't yet worked out why the flashing Mute button uses up so much cpu since the code is basically doing what it should - invalidating only the changed portions of the skin - as far as I can tell so far. It simply shouldn't be as expensive as it is.
    This is VB -- there's NOTHING fast about it.. probably the PaintPicture procedure is at fault (specialy when scaling is being used).. I just didn't want to go throgh the trouble of using API calls when the result was fairly decent as it is.. honestly I don't know what all the fuss about speed/cpu usage is.. you've always had the option to turn off those things and save your 2% CPU extra usage..
    In any case, I appreciate the help in trying to firgure out ways of improving the performance (yet more) from what it was in MediaCar..
    Ride Runner RR's Myspace

    "Being happy is not about having what you want, it's about wanting what you have."
    "The best things in life are always free - but that doesn't mean money can't buy you good things."

  10. #10
    RoadRunner Mastermind
    Auto Apps:loading...
    guino's Avatar
    Join Date
    Nov 2004
    Location
    Toronto, Canada
    Posts
    9,818
    Quote Originally Posted by frodobaggins
    What is the point of "hover" in a touch screen application anyway ?
    I've asked myself the same question... then also the question about: "why do we need an empty image for the skins ?"

    Here's the answers I came up with:

    -Hover on touchscreen is basically for NOTHING.. BUT, it is a very nice feature to have when you DON'T have a touchscreen and use the keyboard to use the software (it is the only way to know which object is selected on the screen). Without it, the only way of controlling the software through the keyboard would be to assign each key (or combination) a specific function -- this would require lots of keys as opposed to a few needed to control the software using hovering/highlighting.. It is surely possible to make the highlight by code, but that makes everything look ugly too..

    -The Empty screen.. this is a very basic concept but hardly ever used.. basically it allows the users to hide buttons from the screen when they don't intend to use them.. For instance, if one doesn't have a TV tuner, without editing the images one could go on the skin definitions and comment out the TV button, which would then make the software display the "EMPTY" backgroud as if the button never existed... The problem with this is that typically, people don't want less buttons, but instead, they want MORE..

    I built support for all the above knowing that at least SOME people would want it... I for one, don't use any of the above.. in fact, I hardly use half the features I've implemented so far (not even simple stuff like ID3 support)..
    Ride Runner RR's Myspace

    "Being happy is not about having what you want, it's about wanting what you have."
    "The best things in life are always free - but that doesn't mean money can't buy you good things."

Page 1 of 3 123 LastLast

Similar Threads

  1. I-BUS sterring buttons now working for RR
    By CdRsKuLL in forum Road Runner
    Replies: 51
    Last Post: 06-19-2007, 08:13 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •