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
2018-03-23Merge branch 'master' into blender2.8Campbell Barton
2018-03-23Fix issues with confirmation prompt on WindowsJulian Eisel
* Pressing "OK" wouldn't close Blender anymore * Using File -> Quit would use popup version, not OS native window Cleaned up code a bit to avoid duplicated logic.
2018-03-21Merge branch 'master' into blender2.8Campbell Barton
2018-03-21UI: Optional prompt to quit for non win32 systemsCampbell Barton
D566 by @januz Use Blender native dialog when OS dialog's aren't supported.
2018-02-26DRW: Add new Draw Manager OpenGL Context.Clément Foucault
This separate context allows two things: - It allows viewports in multi-windows configuration. - F12 render can use this context in a separate thread and do a non-blocking render. The downside is that the context cannot be used while rendering so a request to refresh a viewport will lock the UI. This is something that will be adressed in the future. Under the hood what does that mean: - Not adding more mess with VAOs management in gawain. - Doing depth only draw for operators / selection needs to be done in an offscreen buffer. - The 3D cursor "autodis" operator is still reading the backbuffer so we need to copy the result to it. - All FBOs needed by the drawmanager must to be created/destroyed with its context active. - We cannot use batches created for UI in the DRW context and vice-versa. There is a clear separation of resources that enables the use of safe multi-threading.
2017-10-18Merge branch 'master' into blender2.8Campbell Barton
2017-06-01Main Workspace IntegrationJulian Eisel
This commit does the main integration of workspaces, which is a design we agreed on during the 2.8 UI workshop (see https://wiki.blender.org/index.php/Dev:2.8/UI/Workshop_Writeup) Workspaces should generally be stable, I'm not aware of any remaining bugs (or I've forgotten them :) ). If you find any, let me know! (Exception: mode switching button might get out of sync with actual mode in some cases, would consider that a limitation/ToDo. Needs to be resolved at some point.) == Main Changes/Features * Introduces the new Workspaces as data-blocks. * Allow storing a number of custom workspaces as part of the user configuration. Needs further work to allow adding and deleting individual workspaces. * Bundle a default workspace configuration with Blender (current screen-layouts converted to workspaces). * Pressing button to add a workspace spawns a menu to select between "Duplicate Current" and the workspaces from the user configuration. If no workspaces are stored in the user configuration, the default workspaces are listed instead. * Store screen-layouts (`bScreen`) per workspace. * Store an active screen-layout per workspace. Changing the workspace will enable this layout. * Store active mode in workspace. Changing the workspace will also enter the mode of the new workspace. (Note that we still store the active mode in the object, moving this completely to workspaces is a separate project.) * Store an active render layer per workspace. * Moved mode switch from 3D View header to Info Editor header. * Store active scene in window (not directly workspace related, but overlaps quite a bit). * Removed 'Use Global Scene' User Preference option. * Compatibility with old files - a new workspace is created for every screen-layout of old files. Old Blender versions should be able to read files saved with workspace support as well. * Default .blend only contains one workspace ("General"). * Support appending workspaces. Opening files without UI and commandline rendering should work fine. Note that the UI is temporary! We plan to introduce a new global topbar that contains the workspace options and tabs for switching workspaces. == Technical Notes * Workspaces are data-blocks. * Adding and removing `bScreen`s should be done through `ED_workspace_layout` API now. * A workspace can be active in multiple windows at the same time. * The mode menu (which is now in the Info Editor header) doesn't display "Grease Pencil Edit" mode anymore since its availability depends on the active editor. Will be fixed by making Grease Pencil an own object type (as planned). * The button to change the active workspace object mode may get out of sync with the mode of the active object. Will either be resolved by moving mode out of object data, or we'll disable workspace modes again (there's a `#define USE_WORKSPACE_MODE` for that). * Screen-layouts (`bScreen`) are IDs and thus stored in a main list-base. Had to add a wrapper `WorkSpaceLayout` so we can store them in a list-base within workspaces, too. On the long run we could completely replace `bScreen` by workspace structs. * `WorkSpace` types use some special compiler trickery to allow marking structs and struct members as private. BKE_workspace API should be used for accessing those. * Added scene operators `SCENE_OT_`. Was previously done through screen operators. == BPY API Changes * Removed `Screen.scene`, added `Window.scene` * Removed `UserPreferencesView.use_global_scene` * Added `Context.workspace`, `Window.workspace` and `BlendData.workspaces` * Added `bpy.types.WorkSpace` containing `screens`, `object_mode` and `render_layer` * Added Screen.layout_name for the layout name that'll be displayed in the UI (may differ from internal name) == What's left? * There are a few open design questions (T50521). We should find the needed answers and implement them. * Allow adding and removing individual workspaces from workspace configuration (needs UI design). * Get the override system ready and support overrides per workspace. * Support custom UI setups as part of workspaces (hidden panels, hidden buttons, customizable toolbars, etc). * Allow enabling add-ons per workspace. * Support custom workspace keymaps. * Remove special exception for workspaces in linking code (so they're always appended, never linked). Depends on a few things, so best to solve later. * Get the topbar done. * Workspaces need a proper icon, current one is just a placeholder :) Reviewed By: campbellbarton, mont29 Tags: #user_interface, #bf_blender_2.8 Maniphest Tasks: T50521 Differential Revision: https://developer.blender.org/D2451
2017-03-28Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/readfile.c source/blender/windowmanager/intern/wm_window.c
2017-03-25Automatic DPI for all platforms, per monitor DPI for Windows.Wouter
For Windows 8.1 and X11 (Linux, BSD) now use the DPI specified by the operating system, which previously only worked on macOS. For Windows this is handled per monitor, for X11 this is based on Xft.dpi or xrandr --dpi. This should result in appropriate font and button sizes by default in most cases. The UI has been simplified to a single UI Scale factor relative to the automatic DPI, instead of two DPI and Virtual Pixel Size settings. There is forward and backwards compatibility for existing user preferences. Reviewed By: brecht, LazyDodo Differential Revision: https://developer.blender.org/D2539
2017-03-13New Window Operator (to replace Duplicate Window)Dalai Felinto
A user doesn't want to necessarily create a new Screen only because she wants a new window. This patch allows the user to pick the screen to use for the new Window. If the screen picked is the active one, it duplicates it (as the old behaviour in Blender). Patch with contributions and fixes by Julian Eisel (Severin) Subscribers: venomgfx Differential Revision: https://developer.blender.org/D2555
2015-10-20Add operator to close a windowCampbell Barton
Useful for Python scripts, which could duplicate but not close windows.
2015-10-06WM: Fix crash when a new window can't be createdCampbell Barton
Report an error instead of crashing if a new window can't be created (typically caused by bad drivers).
2015-10-03Fix T44605: OS X continuous grab issues.Brecht Van Lommel
2015-06-08WM: refactor window code for stereo3dCampbell Barton
Window copy code made it hard to test fixes.
2015-05-08Cleanup: use r_* prefix for return argsCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2014-12-07Input Method Editor (IME) support for text buttonsSeverin
Original patch by @random (D765) with some minor work done by @campbell and me. At this place, I'd like call out a number of people who were involved and deserve a big "Thank you!": * At the first place @randon who developed and submitted the patch * The Blendercn community which helped a lot with testing - espacially * @yuzukyo, @leon_cheung and @kjym3 * @campbellbarton, @mont29 and @sergey for their help and advises during * review * @ton who realized the importance of this early on and asked me for * reviewing We are still not finished, as this is only the first part of the implementaion, but there's more to come!
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2014-09-30Support for "virtual pixelsize" on 4k screens.Lukas Tönne
On 4k devices the default pixel size leads to tiny OpenGL drawing that is hardly usable without doubling the DPI. The retina system on OSX aims to alleviate this problem by introducing a general 2x pixel size. No equivalent feature exists on other platforms so far. However, to emulate the effect this patch introduces a "virtual" pixel size factor for OpenGL drawing. Note that the user currently has to enable this manually by selecting the "Virtual Pixel Mode" in the user preferences (defaults to native). All windows of a Blender instance share the same virtual pixel size as well. It may be possible to handle this on a per-window basis and automate the selection somewhat (if enabled by the user), so working with multiple screens becomes more convenient, but technical limitations make this a bit difficult (on X11 with nvidia drivers the actual screen size is not reported correctly). Reviewers: ton, campbellbarton Differential Revision: https://developer.blender.org/D669
2013-09-10Change window checks to desktop size instead of screen size.Nathan Letwory
This allows to open windows stretched over monitors. Saving stretched layouts open correctly as well. Renamed screensize_all to desktopsize to better convey meaning.
2013-07-30BGE: Adding vsync control. Users can enable vsync, disable vsync, or use ↵Mitchell Stokes
adaptive vsync via UI options in the render properties, or by using the new Python method bge.render.setVsync(). Win32 and X11 support are done via EXT_swap_control. Support for using EXT_swap_control on OS X still needs to be added to Ghost.
2013-04-18Fix #34997: when starting the game engine in one window and switching to a ↵Brecht Van Lommel
second window, the game would stop drawing in the first and mess up the OpenGL state of the second. Also fixes glPushAttrib/glPopAttrib getting out of sync in some cases.
2013-03-12change defaults for window state on X11 (yet again), after further discussion.Campbell Barton
instead use a fixed size as a default, clamp by the desktop size and add some padding (to account for title bar and panel).
2013-02-07start blender maximized on X11 - finding screen limits taking window ↵Campbell Barton
borders, title bar, panels & multi-monitor is quite involved - without this size if often wrong. For sizes outside the screen bounds many window managers will ignore the requested size. Also opening maximized was default with 2.49.
2013-01-31add ghost function getAllDisplayDimensions, GHOST_GetAllDisplayDimensionsCampbell Barton
This returns the desktop size, not just the size of the active monitor, useful since this constrains the mouse and we dont have to detect the active monitor (which isn't so straightforward with xlib). carbon/cocoa are TODO, they still use getMainDisplayDimensions().
2012-12-12Holiday coding log :)Ton Roosendaal
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)
2012-07-02code cleanup: minor editsCampbell Barton
2012-03-10patch [#30511] Save/load window state (allows Blender to start maximised)Campbell Barton
from Tom Edwards (artfunkel) This patch fixes bug [#20791]
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-02-25doxygen: blender/windowmanager tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2011-02-08minor edits, no functional changes.Campbell Barton
- BGE was getting MCol array and not using it. - use list lookup functions for getting constraint from pose bone. - use const char * in more places.
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-09-15Apply patch [#23809] Blender.exe -W supportNathan Letwory
by Dalai Felinto/Nathan Letwory This basically implements -W support for Blender.
2010-08-16Py API (GSoC): Second merging commitJoerg Mueller
Rough summary of fixes/changes: - Blender Py API: GameLogic -> bge.logic - Blender Py API: Implemented missing KX_PYATTRIBUTE_TODOs and -DUMMYs. - Fix for [#22924] KX_PolygonMaterial.diffuse does not return expected list[r,g,b] - Py API: Renaming _owner attribute of mathutils classes to owner. - Fix some minor errors in mathutils and blf. - Enabling game engine autoplay again based on a patch by Dalai: * The biggest 3D view in the open scene is used, if there is none, blender opens the file normally and raises an error. * The 3D view are is made fullscreen. * Quad view, header, properties and toolbox panel are all hidden to get the maximum view. * If the game engine full screen setting is set, the game starts in fullscreen. - Fix for ipo conversion on file transition in the game engine.
2010-03-21Fix syntax for ID keyword.Guillermo S. Romero
2010-02-12correct fsf addressCampbell Barton
2009-12-24support for registering operators using the same internal rna api as panels, ↵Campbell Barton
menus, headers & render engines since there was a fair bit of duplicate functionality. will remove the old system and update scripts next.
2009-12-07Function to access the real cursor position from Ghost (useful when cursor ↵Martin Poirier
is grabbed and warped)
2009-11-30better not process events early, could cause troubles later.Campbell Barton
added a function - wm_window_get_size_ghost(), which looks into the ghost window directly so events dont need processing first.
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-08menus are now global (like operators), so for eg, the info add menu and the ↵Campbell Barton
3D add menu can be shared.
2009-08-05fix for ghost memory leaksCampbell Barton
- ghost data wasn't being freed (added wm_ghost_exit() call to wm_init_exit.c) - GHOST_EventManager wasn't freeing GHOST_IEventConsumer's - ghost/X11 wasnt calling XCloseDisplay(), some junk from X11 wasnt being freed - ghost/X11 XAllocNamedColor wasn't freeing the colors when done making a custom cursor.
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-06-14BGE events, not sure every event works as it should but keyboard looking and ↵Campbell Barton
mouse focus seems to work ok. Tested some basic logic brick blend files that use key input which run properly.
2009-03-112.5 / Area managementNathan Letwory
* Add Area Swap: hold alt and drag with LMB from either actionzone. Release LMB on area you want to swap with. I added a matching cute cursor for this (and to make it a politically delicate issue, it's white on black). Note, there are still some error totblocks that I haven't been able to track down properly yet, so that's still a bit WIP.
2009-02-182.5Ton Roosendaal
Several things in one commit; could not split this up easily, one job invoked another, and so on. :) - Added pulldowns for save/load .blend file in top bar. - To enable "Save" without further popups (save over) I've added a signaling function in window header to indicate a succesful save. - On any undo push it now signals 'file changed'. This goes by notifiers nicely, but now registers only the undopushes, which is quite unreliable. "Changed" state shows in header as "Blender*" and for OSX with the standard close button black dot. - Made screencast show a button in top bar indicating such, and allowing quit. No hotkey for quit yet... but ESC will keep casting now. - Fixed new BLF_init(), which should be in WM_init() and not on any .B.blend read. - Fixed CTRL+F3 "Save Screenshot", which was still using old fileselect code.
2009-02-132.5Ton Roosendaal
feature restored: window title shows file name, if saved/loaded.
2009-01-312.5Ton Roosendaal
Edit Mesh: - Added back "Edge Shortest Path select" It now also does regular selection, more fun! It's mapped to CTRL+click now, and makes or clears selections between current and previously activated edge. Seam/Sharp/etc marking is a toolsetting mode still. These options cannot become properties easily, because the tool uses the properties of selected edge to clear... - Removed a whole bunch of G.f flags, related to mesh drawing. It's all now local in me->drawflags. Here's the list of removed old globals: G_DRAWEDGES G_DRAWFACES G_DRAWNORMALS G_DRAW_VNORMALS G_ALLEDGES G_HIDDENEDGES G_DRAWCREASES G_DRAWSEAMS G_DRAWSHARP G_DRAWBWEIGHTS G_DRAW_EDGELEN G_DRAW_FACEAREA G_DRAW_EDGEANG