Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-16Edge-scrolling for node editorLukas Tönne
Starts scrolling when dragging a node or node link and going outside the current window. Largely copied from the VIEW2D_OT_edge_pan operator. Edge panning operator customdata and supporting functions now in UI_view2d.h, so they could be used by operators in other editor libraries. The VIEW2D_OT_edge_pan operator also uses this customdata and shared functions now. Operators properties can be used to configure edge panning margins and speed for each use case, rather than using hardcoded values. The speed function for edge panning has been tweaked somewhat: * "Speed per pixel" has been replaced with a "speed ramp" distance. This is more intuitive and also creates an upper bound for the speed, which can otherwise become extreme with large cursor distance. * "Max speed" is reached at the end of the speed ramp. * Padding the region inside and outside is applied as before, but both values are operator properties now. Node transform operator also supports edge panning. This requires an offset for changes in the view2d rect, otherwise nodes are "stuck" to the original view. Transform operator had cursor wrapping categorically enabled, but this gets quite confusing with the edge scrolling mechanism. A new TransInfo option T_NO_CURSOR_WRAP has been introduced to disable this behavior. The double negative is a bit annoying, but want to avoid affecting the existing transform modes, so by default it should still set the OP_IS_MODAL_GRAB_CURSOR flag (which then sets the WM_CURSOR_WRAP_XY flag during modal execution). Reviewed By: HooglyBoogly, JacquesLucke Differential Revision: https://developer.blender.org/D11073
2021-01-15Cleanup: Add const in various places in node codeHans Goudey
Also includes some various other minor cleanups, like using bool instead of int in a couple places.
2020-09-30Cleanup: Remove unused View2D variables and functionHans Goudey
It looks like this code was left over from tabbed panels in the properties editor. It wasn't used anywhere except for in one line of the horizontally-aligned panel code that was recently removed. Differential Revision: https://developer.blender.org/D8651
2020-08-17Cleanup: spellingCampbell Barton
2020-08-13View2D: Centralize handling of changes to v2d->curSergey Sharybin
Currently there are no functional changes, preparing code to add more functionality which is to be run from navigation/zoom operators.
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-06-22Refactoring: View2DScrollers memory allocationJeroen Bakker
View2DScrollers used the memory manager to allocate memory. This isn't a problem but in a upcoming change the scrollers will be drawn more often than it used to (See {D8066}). To limit the number of allocations and frees this patch will use the stack for allocation. Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D8076
2020-05-04Cleanup: pass ARegion, View2D as constCampbell Barton
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-03-16Cleanup: use unsigned char for UI_view2d_text_cache_addCampbell Barton
Avoids casts when used with other UI code where the color is often unsigned.
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-03-02Cleanup: make remaining editor include headers work in C++Jacques Lucke
2019-12-04Make curve decimation only take into account the selected curve pointsSebastian Parborg
Previously the decimation would take the whole curve into account when decimating and not just the selected part. This also contains various smaller bug fixes for the fcurve decimation. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D6286
2019-07-05UI: Smaller minimum size of scrollbarEitan
Differential Revision: https://developer.blender.org/D5086
2019-06-04Cleanup: rename 2D scroll definesCampbell Barton
- Use `V2D_SCROLL_` prefix. - Use more descriptive names.
2019-06-03UI: Prevent scrollbars from getting too small to grabEitanSomething
Differential Revision: https://developer.blender.org/D5001
2019-05-31Gizmo: add 2D navigation for image/clip/sequencer viewsCampbell Barton
2019-05-28Cleanup: use time scrub instead of scrubbingCampbell Barton
Renaming was only done to ED_time_scrub_ui.h, function names and struct members used term 'scrubbing' which is ambiguous.
2019-05-08UI: Move scrollbars to the right in animation editorsJacques Lucke
The text, that was in the scrollbars, stays on the left. Reviewers: brecht, billreynish Differential Revision: https://developer.blender.org/D4821
2019-05-07UI: Animation editor scrubbing areaJacques Lucke
The main reason for this change is to allow setting the active frame with the left mouse button, while still being able to select e.g. keyframes with the same mouse button. The solution is to introduce a new scrubbing region with a specialized keymap. There are a couple of related todos, that will be handled in separate commits. Those are listed in D4654. This solves T63193. Differential Revision: https://developer.blender.org/D4654 Reviewers: brecht, billreynish
2019-05-03UI: Pass color id into view2d text drawingJacques Lucke
2019-05-03Refactor: Support arbitrary y offset for channel listJacques Lucke
At first you could think that this refactor would not be necessary, because `ACHANNEL_FIRST` exists already. It contained the small y offset that all channels had. Unfortunately, a lot of code assumed that `ACHANNEL_FIRST = -ACHANNEL_HEIGHT`, making the define pretty much useless. This refactor fixes that for the action and nla editor. As a nice side effect, this patch fixes channel box select. Before there was always have a half-channel offset. Reviewers: brecht Differential Revision: https://developer.blender.org/D4783
2019-05-02Refactor grid and scale indicator text drawingJacques Lucke
This affects the timeline, dopesheet, graph editor, sequencer, clip editor and nla editor. Removed structs and enums: `V2D_ARG_DUMMY`, `eView2D_Units`, `eView2D_Clamp`, `eView2D_Gridlines`, `View2DGrid`. A main goal of this refactor is to get rid of the very generic `View2DGrid` struct. The drawing code became very complex because there were many different combinations of settings. This refactor implements a different approach. Instead of one very generic API, there are many slighly different functions that do exactly, what we need in the different editors. Only very little code is duplicated, because the API functions compose some shared low level code. This structure makes the code much easier to debug and change, because every function has much fewer responsibilities. Additionally, this refactor fixes some long standing bugs. E.g. when `Show Seconds` is enabled, you zoom in and pan the view. Or that the step size between displayed frame numbers was always `>= 2`, no matter how close you zoom in. Reviewers: brecht Differential Revision: https://developer.blender.org/D4776
2019-04-30Refactor: Separate scrollers from text drawing in APIJacques Lucke
This is a continuation of rB7fdffd735ff24, where I separated the e.g. frame number drawing from scrollers internally. This patch changes the API, so that space draw handlers have to draw these numbers explicitely. This greatly simplifies the scrollers API for all spaces that just need scrollers without any frame numbers. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D4747
2019-04-23UI: ignore events in empty region overlap areasCampbell Barton
- Resizable areas use 2D view bounds. - Header uses the button bounds. - A margin is added to avoid clicking between buttons. - Region resize edges clamp to the 2D view bounds. Resovles T61554
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16UI: Refactor View2D number drawingJacques Lucke
This also fixes alignment issues in many editors. E.g. the frame numbers were badly aligned to the grid lines in the timeline. Checkout the images in D4681 for more examples. Reviewers: brecht Differential Revision: https://developer.blender.org/D4681
2019-03-25Cleanup: return argument namingCampbell Barton
2019-03-21Cleanup: move functions into doxy sectionsCampbell Barton
Also use const args for queries.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-13Cleanup: use const argsCampbell Barton
2018-11-07Fix redraws from non-existing scrollbarsCampbell Barton
Cursor motion was often causing redraws. Distance to scrollbars that don't exist in hidden regions caused redraws (for alpha fading). Check if scrollbars are used before calculating fade.
2018-10-22UI: move scrollbars inside region tabsCampbell Barton
2018-07-11UI: don't change scrollbar size on mouse move, only fade.Brecht Van Lommel
It's not necessary to do both, and trying to hit a target that changes size is annoying.
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04Cleanup: strip trailing space in editorsCampbell Barton
2018-06-01Merge branch 'master' into blender2.8Campbell Barton
2018-06-01Cleanup: trailing whitespace (comment blocks)Campbell Barton
Strip unindented comment blocks - mainly headers to avoid conflicts.
2018-05-07UI: Hide & shrink scroll-bars based on cursor positionJulian Eisel
Scroll-bars are now hidden unless the cursor approaches them, in which case they smoothly grow and become more & more visible. Note that since 0d309144020168e55, scroll-bars are drawn on top of editor contents. There's no more jumping of buttons when scroll-bars appear. Technical notes: * AZones are used to adjust scrollbars based on mouse movements We may want to support screen level AZones if we want scrollbars to also smoothly appear when approaching them from a different area. I also plan to make further changes to AZones to clean up stuff a bit. * Had to move AZone handling to a post ARegion init stage, since we need the updated View2D data from there. * View2D masks and scroller rectangles are now updated on every redraw. It's cheap to do that though.
2018-05-07UI: Draw scroll-bars overlapping with editor contentJulian Eisel
Scroll-bars used to draw in a little extra space in the editor, causing buttons to jump a bit when they appeared/disappeared. Now they draw on top of the buttons, just small enough to avoid bigger overlaps. Followup commits will do further adjustments. With this we can get rid of a hack that was calling the (often Python defined) panel definition - the panel 'draw' callback - twice.
2018-04-26Reduce size of scrollbars that don't contain scale markingsJulian Eisel
More changes will follow, this is just an initial tweak.
2017-10-23VSE: draw grid lines at every secondCampbell Barton
Was hard-coded to 25 frames. D2893 by @jooert
2017-08-29View2D: function to get view to region matrixCampbell Barton
2015-10-16Cleanup: use bools for v2d, minor ws editsCampbell Barton