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
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2018-10-25WM: space, region type filtering for paint cursorCampbell Barton
Avoids calling poll on mouse-move for unrelated space/region types.
2018-07-15WM: rename files, manipulator -> gizmoCampbell Barton
Edit doxy files and header guards only.
2018-07-13Merge branch 'master' into blender2.8Campbell Barton
2018-07-13Cleanup: move WM type registration into own filesCampbell Barton
Type registration is mostly boiler plate logic, which can be separated from other API's.
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-06-07Merge branch 'master' into blender2.8Campbell Barton
2018-06-07Cleanup: trailing space for windowmanagerCampbell 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-04-27WM: new offscreen window draw method to replace all existing methods.Brecht Van Lommel
For Blender 2.8 we had to be compatible with very old OpenGL versions, and triple buffer was designed to work without offscreen rendering, by copying the the backbuffer to a texture right before swapping. This way we could avoid redrawing unchanged regions by copying them from this texture on the next redraws. Triple buffer used to suffer from poor performance and driver bugs on specific cards, so alternative draw methods remained available. Now that we require newer OpenGL, we can have just a single draw method that draw each region into an offscreen buffer, and then draws those to the screen. This has some advantages: * Poor 3D view performance when using Region Overlap should be solved now, since we can also cache overlapping regions in offscreen buffers. * Page flip, anaglyph and interlace stereo drawing can be a little faster by avoiding a copy to an intermediate texture. * The new 3D view drawing already writes to an offscreen buffer, which we can draw from directly instead of duplicating it to another buffer. * Eventually we will be able to remove depth and stencil buffers from the window and save memory, though at the moment there are still some tools using it so it's not possible yet. * This also fixes a bug with Eevee sampling not progressing with stereo drawing in the 3D viewport. Differential Revision: https://developer.blender.org/D3061
2018-03-23Merge branch 'master' into blender2.8Campbell Barton
2018-03-23Fix T48027: Memory leaks when exiting Blender from menuJulian Eisel
You only had to close Blender through File -> Quit. Leaks happened because WM_exit() was called from within operator, UI wasn't able to free some of it's heap data then. This data was the handler added in uiTemplateRunningJobs() and the IDProperty group added in uiItemFullO_ptr_ex(). There was obviously a general design issue which only became visible in this specific case. We now delay the WM_exit call by wrapping it into a handler that gets registered as usual. I didn't see a better way to do this, all tricks done in ui_apply_but_funcs_after() to prevent leaks didn't work here. In fact they may be redundant now, but am not brave enough to try ;)
2017-11-09Cleanup: Refactor window matching after file read for readabilityJulian Eisel
Code should hopefully be much clearer now. Also removing code that's been commented out for a while, and was never executed in master.
2017-10-17Merge branch 'master' into blender2.8Campbell Barton
2017-10-17WM: move gesture operator callbacks into own fileCampbell Barton
`wm_operators.c` is near 5k LOC with lots of mixed functionality, extract gesture callbacks since they aren't closely related.
2017-10-16Merge branch 'master' into blender2.8Campbell Barton
2017-10-16WM: remove hard-coded circle radius memoryCampbell Barton
Replace with operator type 'last_properties'. Also use generic function for circle gesture properties.
2017-10-16Merge branch 'master' into blender2.8Campbell Barton
2017-10-16Cleanup: simplify lasso reallocationCampbell Barton
Remove unneeded define, double allocations when increasing.
2017-10-14Merge branch 'master' into blender2.8Campbell Barton
2017-10-14Cleanup: use const for eventsCampbell Barton
2017-03-06Merge branch 'master' into blender2.8Julian Eisel
Conflicts: source/blender/editors/space_nla/nla_draw.c source/blender/editors/space_view3d/view3d_draw.c
2017-03-06Multi-View: Map cursor coordinates to visual coordinatesJulian Eisel
When rendering multi-view in side-by-side or top-bottom mode, we squash the UI to half of its size and draw it twice on screen. That means the cursor coordinates used for UI interaction don't match what's visible on screen. This commit is a little event system hack (tm) to fix this. It has some small glitches with cursor grabbing, but nothing to bad. We'll also use it for viewport HMD support. D1350, thanks for the feedback @dfelinto!
2016-10-07Custom Manipulators Core BackendJulian Eisel
This commit lands the core backend of the Custom Manipulators project onto the blender2.8 branch. It is a generic backend for managinig interactive on-screen controls that can be integrated into any 2D or 3D edito. It's also already integrated into the window-manager and editor code where needed. NOTE: The changes here should not be visible for users at all. It's really just a back-end patch. Neither does this include any RNA or Python integration. Of course, there's still lots of work ahead for custom manipulators, but this is a big milestone. WIP code that actually uses this backend can be found in the 'custom-manipulators' branch (previously called 'wiggly-widgets'). The work here isn't completely my own, all the initial work was done by @Antony Riakiotakis (psy-fi) and - although it has changed a lot since them - it's still the same in essence. He definitely deserves a big credit! Some changes in this patch were also done by @Campbell Barton (campbellbarton). Thank you guys! Merge accepted by @brecht and @merwin. Patch: https://developer.blender.org/D2232 Code documentation: https://wiki.blender.org/index.php/Dev:2.8/Source/Custom_Manipulator Main task: https://developer.blender.org/T47343 More info: https://code.blender.org/2015/09/the-custom-manipulator-project-widget-project/
2015-04-07Multiview: update Set Stereo 3D menu when the selected stereo mode changesDalai Felinto
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2014-04-03WM: expose file loading operator property init functionsCampbell Barton
2012-02-29Code Cleanup: remove non existing function declarations.Campbell Barton
added some missing functions too - which are not used yep but should be there for api completeness. * CDDM_set_mloop * CDDM_set_mpoly * BLI_mempool_count
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-05-18cleanup onlyCampbell Barton
- rename 'name', 'dir' --> 'filepath' where these actually represent a file path to avoid confusion. - bugfix for possible (but unlikely) uninitialized string. - remove commented script append function, now we have a python api for this.
2011-02-25doxygen: blender/windowmanager tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2010-10-16- UNUSED macro wasn't throwing an error with GCC if a var become used.Campbell Barton
- made interface, windowmanager, readfile build without unused warnings. - re-arranged CMake's source/blender build order so less changed libs are build later, eg: IK, avi
2010-03-21Fix syntax for ID keyword.Guillermo S. Romero
2010-02-12correct fsf addressCampbell Barton
2010-01-10[#20581] Lasso tool ends unexpectedly Martin Poirier
Don't limit lasso to 1024 points, just realloc array with increased size when current limit is reached. Also silence two stupid warnings.
2009-11-11Background mode in more working conditions.Martin Poirier
What works: The usual command line options for rendering. All python scripts are loaded (which includes custom properties) Render engines are loaded and can be used -P to run scripts works partially: rna api works ok, not operators. What doesn't: Most operator calls in python. This is a problem with poll functions. (Brecht and Campbell are aware of this already) Changes: -d now also applied with -b (it was ignored before) user file (.B25.blend) now also loaded in bg mode. This helps for custom paths and all. wm is also initialized (it's needed for a lot of context calls) Ghost, however, is not initialized.
2009-11-05- converted circle select use a modal mapCampbell Barton
- now works exactly like 2.4x, except that its accessed from the CKey - hack to remember circle size, need some better way to do this
2009-10-20Auto SaveBrecht Van Lommel
Auto save is now working again in 2.5. It will also remember now what the location of the original file was when recovering it, so that library links still work and saving the restored file does not save to the temp directory. There is also a new Recover Auto Save operator which will open the filebrowser in the temp directory and show the auto saved .blends. Implemenation Notes: * Timer storage was moved from window to windowmanager, so we can have windowmanager level timers too now, doesn't make sense to have autosave timer attached to a particular window. * FileGlobal now has a filename field storing where the file was saved. Note that this is only used when loading a file through the recover operators, regular file read doesn't use it, so copying the quit.blend manually over the original file will still work as expected. * Jobs timer no longer uses operator now, this seems more like an internal thing, changing keymaps should not make it possible to break the jobs manager. * Autosave is postponed by 10 seconds when a modal operator is running, e.g. transform or file browsing. * Moved setting G.sce in setup_app_data before depsgraph updates, these can use the filename for pointcaches.
2009-10-08Key ConfigurationBrecht Van Lommel
Keymaps are now saveable and configurable from the user preferences, note that editing one item in a keymap means the whole keymap is now defined by the user and will not be updated by Blender, an option for syncing might be added later. The outliner interface is still there, but I will probably remove it. There's actually 3 levels now: * Default builtin key configuration. * Key configuration loaded from .py file, for configs like Blender 2.4x or other 3D applications. * Keymaps edited by the user and saved in .B.blend. These can be saved to .py files as well to make creating distributable configurations easier. Also, user preferences sections were reorganized a bit, now there is: Interface, Editing, Input, Files and System. Implementation notes: * wmKeyConfig was added which represents a key configuration containing keymaps. * wmKeymapItem was renamed to wmKeyMapItem for consistency with wmKeyMap. * Modal maps are not wrapped yet. * User preferences DNA file reading did not support newdataadr() yet, added this now for reading keymaps. * Key configuration related settings are now RNA wrapped. * is_property_set and is_property_hidden python methods were added.
2009-07-242.5Ton Roosendaal
New feature: allowing to open temporarily windows for output. Implemented for: - Render output (use output menu "new window" option). - User Preferences (alt+U, plus added in 'File' menu) Currently the window opens where your mouse is. The Render window works as usual, with ESC or F11 moving it to back or front again. That allows the window position to remain where you moved it on new renders. If you close a render window when it renders, the render thread will be killed. User prefs show 'info window' now... i thought we'd use outliner? Anyhoo, I've made the 'save settings' to close the 2nd window as well. Opening a secondary file window for save I'll check on later, this has to be checked with the current event system still. the WM_window_open_temp() api call for this maintains currently a *single* temp window. If you have a render window open, and call for the preferences, the render window will be used for it. And the other way around. On closing the blender window, the temp windows close automatically when there's no regular window open, and blender quits.
2009-07-16Console Space TypeCampbell Barton
* interactive console python console. * display reports and filter types. defaults to operator display so you can see the python commands for tools as you use them, eventually it should be possible to select commands and make macto/tools from them. Example use of autocomp. b<tab>, bpy.<tab>, bpy.<tab>, bpy.data.<tab> etc. basic instructions are printed when opening the console. Details... * Console exec and autocomp are done with operators written in python. * added CTX_wm_reports() to get the global report list. * The window manager had a report ListBase but reports have their own struct, switched to allocate and assign when initializing the WM since the type is not available in DNA. * changed report types flags for easier display filtering. * added report type RPT_OPERATOR * logging operators also adds a python-syntax report into CTX_wm_reports() so they can be displayed in the console as well as calling a notifier for console to redraw. * RnaAPI context.area.tag_redraw() to redraw the current area from a python operator. Todo... * better interactions with the console, scrolling, copy/paste. * the text displayed doesnt load back. * colors need to be themed. * scroll limit needs to be a user pref. * only tested with cmake and scons.
2009-05-30* Updated blender 2.5 default setupMatt Ebb
Simplified and started from a clean slate, without much of the hidden existing space data that was hanging around in the old one. One issue I found is that saving the startup file from Blender 2.5 also saves the window size and location. This means the version I just saved would open up strangely on other screen sizes/setups. I added code to reset this to default when loading it up from the version compiled into the Blender binary, but perhaps Ton/ Brecht might want to check the diff.
2009-02-022.5Ton Roosendaal
Sanitized the 'tweak' event. Original idea was to have WM event system generating it automatically. However, I first tested it via a handler and operator, to check what kind of configurations would be useful. It appeared to not work nice, also because that inserting a tweak operator in a keymap is confusing. Now 'tweaks' are generated automatically, and can be catched by keymaps as any event. The current definition of tweak is: - if Left/Middle/Rightmouse pressed if event wasn't handled by window queue (modal handlers) start checking mousepositions - while mousepositions are checked - escape on any event other than mouse - on mouse events: - add tweak event if mousemove > 10 pixels - stop checking for tweak if mousebutton released - Tweak events have a define indicating mousebutton used EVT_TWEAK_L, EVT_TWEAK_M, EVT_TWEAK_R - In keymap definitions you can use _S or _A to map to action or select mouse userdef. - Event value in keymap should be KM_ANY for all tweaks, or use one of the eight directions: EVT_GESTURE_E, _SE, _S, _SW, _W, _NW, _N, _NE - And of course you can add modifier checks in keymaps for it. - Because tweaks are a result of mouse events, the handlers get both to evaluate. That means that RMB-select + tweak will work correctly. In case you don't want both to be handled, for example the CTRL+LMB 'extrude' and CTRL+LMB-tweak 'lasso select', you will need to set the first acting on a EVT_RELEASE, this event only gets passed on when tweak fails. The current system allows all options, configurable, we had in 2.48, and many more! A diagram of what's possible is on the todo. :) Also in this commit: lasso select editmesh failed with 'zbuffer occluded select'. Also circle-select failed.
2009-01-24Added back old sculptmode FKEY radial control. (Moved fullscreen to F11KEY ↵Nicholas Bishop
for now.) Notes: * So far, only size mode ported and tested, still strength and rotation to do * Brought this back for sculptmode first, still to do are particle edit, vpaint, wpaint, texpaint, and I guess image paint? * Changed the wm paint cursor slightly, to take a customdata pointer. * Still need to bring back brush texture display in the cursor
2009-01-222.5Ton Roosendaal
Added WM Jobs manager - WM can manage threaded jobs for you; just provide a couple of components to get it work: - customdata, free callback for it - timer step, notifier code - start callback, update callback - Once started, each job runs an own timer, and will for every time step check necessary updates, or close the job when ready. - No drawing happens in jobs, that's for notifiers! - Every job stores an owner pointer, and based on this owner it will prevent multiple jobs to enter the stack. Instead it will re-use a running job, signal it to stop and allow caller to re-initialize it even. - Check new wm_jobs.c for more explanation. Jobs API is still under construction. Fun: BLI_addtail(&wm->jobs, steve); :) Put Node shader previews back using wmJobs - Preview calculating is now fully threaded (1 thread still) - Thanks to new event system + notifiers, you can see previews update even while dragging sliders! - Currently it only starts when you change a node setting. Warning: the thread render shares Node data, so don't delete nodes while it renders! This topic is on the todo to make safe. Also: - bug in region initialize (do_versions) showed channel list in node editor wrong. - flagged the channel list 'hidden' now, it was really in the way! This is for later to work on anyway. - recoded Render API callbacks so it gets handlers passed on, no globals to use anymore, remember? - previewrender code gets now so much nicer! Will remove a lot of stuff from code soon.
2009-01-092.5Ton Roosendaal
Vertex Paint back! Added WM level "paint cursor" system, which manages a custom painting cursor for tools or modes. - Activate it with WM_paint_cursor_activate(). That function wants two callbacks, a poll(C) to check whether there's a cursor in given context and ARegion, and a draw(C, x, y) which gets called when appropriate. - While paintcursor is active, the WM handles necessary redrawing events for all regions, also to nicely clear the cursor on region exit. - WM_paint_cursor_activate returns a handle, which you have to use to end the paint cursor. This handle also means you can register as many custom cursors as you want. At the moment, vertex paint mode registers only a mousemove handler, all other events are still normally handled. This is stuff for the future todo.