in user preferences in place.
New scroller code made user pref scroller jump back on activating add-ons,
because that causes a full blender system refresh.
- The main window has sliders, which was drawn behind the region
- If property region had slider too, it got even worse.
Basically the node editor is UI view, so drawing another UI on top isn't
functioning well in general.
Now scrollbars correctly hide and show, making space for the actual contents
in a region. It solves several old hacks, and puts view2d code a bit more
back in control as well.
Implementation notes:
- The view2d mask feature is working again
- The #define V2D_SCROLL_HORIZONTAL_HIDE means: "turn on hiding".
- Code for UI_view2d_region_reinit() is enforcing better standard view settings
But... two hack/patches needed to be added:
- Region panel drawing: if after generating the button panels it appears
a scroller hides or reveils, it calls all the generating code again.
(a simple scale doesn't work due to rounding differences in layout code)
- View2d code that maps 'tot' and 'cur' rects: if this code detects that
the mask changes, it calcs the map code again.
Also a bugfix (issue in 2.65)
- The left/bottom area split widget was drawing 1 pixel too large sometimes,
leaving bad trails on moving area dividers.
This codec is absolutely needed to generate DCP using OpenDCP,
before that external application to convert JP2 to J2K was used
which slowed down export a lot.
New codec is exposed to image format settings panel and called
Codec. Default one is JP2 which creates files with .jp2 extension,
new one is called J2K which creates with .j2c extension.
Other changes:
- Fixed avi jpeg warning which was treating as error here.
- Made it so extension is detecting from ImageFormatData instead
of image file type, which makes it possible to have different
extension for the same file type depending on it's settings.
IRIS format should still be changed (depending on number of
channels it'll be .bw, .rgb or .rgba extension)
- Default image format settings would be set from image buffer
when re-saving it. Makes it possible to easily open .j2c file
and save it using J2K codec (without this change it'll save as
.jp2 using JP2 codec)
- The corner 'duplicate/merge area' widget was drawing too often.
(Added comment in subwindow 'active' code, too many redraws are being
sent on moving mouse over region eddges)
- Since 2.50, the .blends have the current file name stored
- In versions up to 2.65.0 this didn't save for files saved from startup
(i.e. files saved without loading a file)
Code now adds the file name after all, except for recovery loads.
Recoded the (2.65.1 version) region scale, which happened on loading files with
different saved size windows. Also scaling window itself was affected.
Old method: scaled region widths based on area/editor scaling factors.
That was leading to too small or too large button regions easily.
New method: region width/height now are in DPI control. Much nicer!
- On changing dpi, buttons remain visually same widths.
- On changing window sizes, the button views and zooms stick to exactly same.
Caveat: people who were using Blender with 'extreme' dpi setting, might find
the layouts slightly differ. Not sure if this is worth version patching...
Todo: overlapping regions that overlap together draw badly. Fix underway.
ED_region_visible_rect(ar, rect)
Returns the visible rect inside a region, subtracting the overlapping UI regions.
Added with minimal overhead, only called once per region draw.
Also fixes the 'Auto Key' warning print in 3d window (was behind properties)
- on setting lower DPI, the regions that were scrolled down would start moving down
1 pixel on every draw. Caused by rounding error. (int + 0.1 vs int -0.1)
(Ancient bug)
- circles used in outliner - to denote selection/active - now draw bigger, and better
centered. (2.66 fix only)
On mouse-over these regions now become active always (as if they were opaque).
This active state is used by many tools, or for drawing cursors.
Currently, all events (if not handled by button region) are passed on anyway to
the underlying region.
Visible errors were for example drawing the paint brush circle.
Notes and image:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability
- now each editor has own settings for "show panel header" and
"show panel background", and colors+alpha for this.
- this setting used to be global for all editors, but it can conflict
with looks of specific editors.
- Now you can set for editors to show panels with a 100% transparent
tool/properties region.
Note: read XML theme files now might get an error, Campbell will fix.
With larger header sizes (via DPI setting), splitting an area horizontally (using
left-bottom corner widget, move up) stopped immediate after split, not allowing
to drag it to a position.
Culprit was code to check minimum header size, and area operator using the same
flags. Now ScrVert has two flags - one for internal use, one for the tools to set.
- Move to layer (and more popups) didn't scale yet
- User Prefs and render window now open on right location on Mac Retinas
- Brush sizes for painting now scale for Mac Retina
Overlapping regions, when you both want them on the same side they should not overlap
each other! (Try F5 on a region to flip position).
Code for subdivision is in need for some cleanup - a branching recursion is needed.
Nice formatted version (pictures soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability
Short list of main changes:
- Transparent region option (over main region), added code to blend in/out such panels.
- Min size window now 640 x 480
- Fixed DPI for ui - lots of cleanup and changes everywhere. Icon image need correct size still, layer-in-use icon needs remake.
- Macbook retina support, use command line --no-native-pixels to disable it
- Timeline Marker label was drawing wrong
- Trackpad and magic mouse: supports zoom (hold ctrl)
- Fix for splash position: removed ghost function and made window size update after creation immediate
- Fast undo buffer save now adds UI as well. Could be checked for regular file save even...
Quit.blend and temp file saving use this now.
- Dixed filename in window on reading quit.blend or temp saves, and they now add a warning in window title: "(Recovered)"
- New Userpref option "Keep Session" - this always saves quit.blend, and loads on start.
This allows keeping UI and data without actual saves, until you actually save.
When you load startup.blend and quit, it recognises the quit.blend as a startup (no file name in header)
- Added 3D view copy/paste buffers (selected objects). Shortcuts ctrl-c, ctrl-v (OSX, cmd-c, cmd-v).
Coded partial file saving for it. Could be used for other purposes. Todo: use OS clipboards.
- User preferences (themes, keymaps, user settings) now can be saved as a separate file.
Old option is called "Save Startup File" the new one "Save User Settings".
To visualise this difference, the 'save startup file' button has been removed from user preferences window. That option is available as CTRL+U and in File menu still.
- OSX: fixed bug that stopped giving mouse events outside window.
This also fixes "Continuous Grab" for OSX. (error since 2009)
- Screencast: stops working on window resize - crashes movie file output
- Screencast now draws simple brush overlay to indicate mouse cursor.
- Greasepencil now works again to use MMB for view rotates
(and missed proper redraw signal for toolbar, at end of paint)
"Area prev space" was setting areas to "Info" - in case no previous editor
could be found. That goes wrong for cases like:
- goto composite screen
- make image editor full
- render
- esc
Ancient 2.5 UI issue:
The button views in Property Editor have an internal storage, to ensure the view
on the buttons stays same when you switch contextes or select objects.
Bug was that - in case buttons were all scrolled invisible - sometimes no slider
was drawn to indicate that.
Discussion on whether this is a good feature or not: the only improvement would
be to store such settings even per object... but that's a feature creep I think.
When I added DPI support in the UI, I added code that refreshes views for 2d
regions. These refreshes also happened on screen switches or file select, causing
header views (horizontal scrolled) to clear.
Now the code less intrusive, changing header views in fewer cases.
This is a patch provided by Anthony Edlin. Thanks dude!
When playback was running fast the frame step could be 0, making playback jittery.
this commit just makes sure the frame step is at least 1, but there is still an issue with framedrop skipping too many frames (or too few) which Ill check on next.