bugMyPaint - Bugs: bug #19082, [wish] viewport zoom feedback

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

bug #19082: [wish] viewport zoom feedback

Submitted by:  David REVOY <deevad>
Submitted on:  Wed 30 Nov 2011 04:46:20 PM UTC  
 
Severity: 1 - WishPriority: 5 - Normal
Status: FixedPrivacy: Public
Assigned to: NoneOpen/Closed: Closed
Release: 0.1.0Git+Planned Release: None
Operating System: LinuxMint / Ubuntu

(Jump to the original submission Jump to the original submission)

Fri 04 Jan 2013 06:12:47 PM UTC, comment #14:

This bug is already Fixed in git, but is marked as Open. I am now
marking it Closed because a new stable version, 1.1.0, is
available, meaning that this bug no longer affects the current
stable release.

Please reopen if this problem reoccurs with the new version of
MyPaint!

Andrew Chadwick <achadwick>
Project Administrator
Mon 26 Nov 2012 01:53:42 PM UTC, comment #13:

Marking as fixed.
David: I gave you the rights to change these things as well.

Jon Nordby <jonnor>
Project Administrator
Sat 25 Aug 2012 02:08:55 PM UTC, comment #12:

This one thread can have the status changed from open to closed. The actual solution ( since January ) of "on canvas label" done by Andrew works perfectly. thanks!

David REVOY <deevad>
Project Member
Fri 13 Jan 2012 10:04:47 PM UTC, comment #11:

Those placement ideas are great.
The newly rounded corner and smooth timed notification works also perfectly. Thanks a lot for this, and for the consideration about my criticism and the correction time you took to do it.

David REVOY <deevad>
Project Member
Fri 13 Jan 2012 09:31:01 PM UTC, comment #10:

I've added rounded corners, slowed the fade speed, and prefixed with "Zoom:". Can you take another look and let me know what you think?

https://gitorious.org/mypaint/mypaint/commit/b177a40d6

Placement is not final yet. As I envisage it, top-right is for view change feedback, like zooming or rotating (or flipping?), the centre is for really radical changes to the view like fullscreening, the bottom of the screen is for statusbar-like messages*, and the top-right might be useful for file operations or stuff that takes a while to do. The fullscreen interface should echo the layout of the windowed interface, but we don't have to use conventional widgets for simple info.

Andrew Chadwick <achadwick>
Project Administrator
Thu 12 Jan 2012 10:51:08 AM UTC, comment #9:

This is great ! I also read in the code ( as I could , I'm still python beginner ) you added a template to help other coders to use it for other parts of Mypaint. That's really good.

My criticism :

- when I paint, then I zoom ( + and - keys ) my eyes are focused on the center of the canvas at this moment , the time my eyes travel to the notification box for having the new information and this one is already disapeared. So I have to speedly zoom in and zoom out, to see the actual value with my eyes focused on the corner. I think this is just a issue about the delay of fading. I really like how it's really 'light' and 'speedy' actually too. I think the setting just need few more millisecond more.
With "fade_step_delay = 80" I can see it ( greyish at the end of fading almost ). But with tweaking this setting the animation become laggy. It's just to give you an idea :)
By the way, for Ctrl+Space 'continuous interactive zoom' it's work great.

- A minor minor improvement would be rounded corner ( but if it's too complicated , that's not worth it ) I just say it if it's like a css 'rounded-corner' value to tweak.

- Maybe in prefix to "100%" adding the word "Zoom 100%" ; I imagine this little box will be useful for other keyboard feedback, and "100%" alone can be mismatched with other things ( like 100% opacity )

David REVOY <deevad>
Project Member
Thu 12 Jan 2012 01:49:08 AM UTC, comment #8:

I've added an internal interface for drawing little status overlays on top of the main canvas. There is now some scale feedback as the initial implementation of something using this.

https://gitorious.org/mypaint/mypaint/commit/619789d13
https://gitorious.org/mypaint/mypaint/commit/225851151

The scale feedback can be toggled off via the menus if it turns out to be too annoying for people: View → Feedback → *.

David: can you pull the latest git master and take a look at it? You should see the scale show and fade out in the rop-right corner when MyPaint loads, and whenever the zoom level is changed. Let me know your thoughts.

Andrew Chadwick <achadwick>
Project Administrator
Sun 01 Jan 2012 06:51:57 PM UTC, comment #7:

If we go the route of flickery flashy info displays, we'll have to be careful that they aren't too distracting. Fade in/fade out?

Some systems call them "toast" popups.

I'd want corner displays or similar things to basically take the role of a statusbar when the program is fullscreened. Show or hide both the info pops and the status bar using the same menu toggler, of course. Rationale: if we're going to be more modal about user interaction, then we probably need statusbar-like explanations of what to do next ("click and drag to adjust the document frame", "draw straight lines: +alt for radial, +ctrl for angle lock", that sort of thing. Blank for the main "just draw" mode to avoid silly clutter ☺). Speculating wildly, a wrapper around GtkStatusbar + some fancy infobox overlay that allows general status messages and timed messages to be pushed ought to suffice.

Do we have enough of a need for this little API yet? I think just a zoom level, mirror and rotation states, "Loading..." and "Saving..." might not be enough call for it.

There's also GtkInfoBar for very important messages that don't need a dialog, but I don't think we have any messages that need that treatment yet.

Andrew Chadwick <achadwick>
Project Administrator
Sun 18 Dec 2011 01:15:31 AM UTC, comment #6:

Just as information complement to this thread about a visual feedback I saw this video : http://www.youtube.com/watch?v=HtZhI5xcNSg&feature=player_embedded#! ; you can see in it a little 'on canvas' info box with information written for the users.

David REVOY <deevad>
Project Member
Sun 11 Dec 2011 03:06:25 AM UTC, comment #5:

display a text like "25%" on the canvas for 1 second
A notification system on canvas would answer very well as a feedback too, imo. It's better in case of fullscreen work.

I also like the clickable widget, for GUI usage. When I switch here with my Cintiq, I tend to be very dependent of the GUI element. As keyboard is harder to reach, this controls became very productive and intuitive.

David REVOY <deevad>
Project Member
Sat 10 Dec 2011 09:35:31 PM UTC, comment #4:

About the zoom feedback problem, I just noted a webapp that solves this very simple: display a text like "25%" on the canvas for 1 second. Doesn't need any permanent screen space.

I guess a clickable widget can also be useful, but personally I think I would not use it.

Martin Renold <martinxyz>
Project Administrator
Sat 10 Dec 2011 07:08:11 PM UTC, comment #3:

It's a standard control, with a few additional options turned on. Spinbuttons are a little rare as controls because the tiny buttons need a lot of dexterity which makes them unpopular. OTOH, we'd be displaying at 32px which is quite tall, and being able to reformat the text we display on the fly will be nice.

I'd be using the limits set on the main document's viewport, of course; the demo is just a demo.

MyPaint actually has two systems for zooming. The main one is the TiledDrawWidget's "scale" field, sometimes called "zoom" which is just a multiplier stored as a float. On top of that there's a nonlinear "zoomlevel" mediated by the gui.document.Document instance which provides discrete levels geared towards faster power-of-two scaled drawing in the absence of rotations. It's a lot of stuff to keep in sync, so I'm fiddling about here trying to expose the main "scale" field as gtk.Adjustment: not as easy as it may seem, as it happens. But I'm still working on this.

Andrew Chadwick <achadwick>
Project Administrator
Wed 30 Nov 2011 08:37:32 PM UTC, comment #2:

This is something you made custom ? it's a cute control :)
Bravo, it would be perfect in my opinion, and will save room in top toolbar
Thanks also for the *.py file, very comfortable to test.

A little proposition : http://img850.imageshack.us/img850/8328/20111130212025screensho.png ( an icon variation on mouse 'hover' the reset icon ) . I don't know if its possible or complex. If not possible, just forgot about this. I just wanted to make the reset option more KISS for user who discover the GUI.

A similar control for the rotation is also very welcome.

Note : In the spin, the Zoom min is 25% ; I think Mypaint can Zoom out more than 25% ; like 3 'minus' key press more. I know this *.py is just an exemple...

David REVOY <deevad>
Project Member
Wed 30 Nov 2011 07:41:42 PM UTC, comment #1:

Something like the attached snippet in place of the zoom in/out buttons maybe? We could use something similar for the view rotation as well.

(file #14622)

Andrew Chadwick <achadwick>
Project Administrator
Wed 30 Nov 2011 04:46:20 PM UTC, original submission:

Hi,

I did resolution mistakes lastly because of the lake of viewport zoom feedback. So I formulate a humble wish on the bugtracker to know if its planed to solve this, and just discuss about it.

What do you think about something like this ?
http://img404.imageshack.us/img404/429/selection001.jpg

David REVOY <deevad>
Project Member

 

Attached Files
file #14622:  spin.py added by achadwick (2kB - text/x-python)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jonnor (Posted a comment)
  • -unavailable- added by martinxyz (Posted a comment)
  • -unavailable- added by achadwick (Updated the item)
  • -unavailable- added by deevad (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 04 Jan 2013 06:12:47 PM UTCachadwickOpen/ClosedOpen=>Closed
    Mon 26 Nov 2012 01:53:42 PM UTCjonnorStatusIn Progress=>Fixed
    Thu 12 Jan 2012 01:49:08 AM UTCachadwickStatusNone=>In Progress
    Wed 30 Nov 2011 07:41:42 PM UTCachadwickAttached File-=>Added spin.py, #14622
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup