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
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-04-10Point Cache RefactoringBrecht Van Lommel
======================= Caching and Baking: - The point cache is now cleared on DAG_object_flush_update(), and not cleared for time dependency graph updates. - There is now a Bake button instead of Protect. Also cache start and end frames were added to softbody and particles. - The cloth autoprotect feature was removed. - The Ctrl+B menu now also bakes cloth and particles next to softbody and fluids. Additionally there are now frree bake and free cache menu entries. - The point cache api has been changed. There is now a PTCacheID struct for each point cache type that can be filled and then used to call the point cache functions. - PointCache struct was added to DNA and is automatically allocated for each physics type. - Soft body now supports Bake Editing just like cloth. - Tried to make the systems deal consistently with time ipo's and offsets. Still not sure it all works correct, but too complicated to solve completely now. Library Linking: - Added some more warnings to prevent editing settings on library linked objects. - Linked objects now read from the cache located next to the original library file, and never write to it. This restores old behavior for softbodies. For local simulation the mesh and not the object should be linked. - Dupligroups and proxies can't create local point caches at the moment, how to implement that I'm not sure. We probably need a proxy point cache for that to work (ugh). Physics UI: - Renamed deflection panel to collision for consistency and reorganized the buttons. Also removed some softbody collision buttons from the softbody panel that were duplicated in this panel for cloth. - Tweaked field panel buttons to not jump around when changing options. - Tabbing e.g. Soft Body Collision into the Soft Body panel, it now only shows Collision to make the panel names readable. - I tried to make enabled/disabling physics more consistent, since all three system did things different. Now the two modifier buttons to enable the modifier for the viewport and rendering are also duplicated in the physics panels. Toggling the Soft Body and Cloth buttons now both remove their modifiers. - Fixed modifier error drawing glitch. Particles: - Particles are now recalculated more often than before. Previously it did partial updates based on the changes, but that doesn't work well with DAG_object_flush_update() .. - Fixed memory leak loading keyed particle system. Now keys are not written to file anymore but always created after loading. - Make particle threads work with autothreads. Continue Physics: - The timeline play now has a Continue Physics option in the playback menu, which keeps the simulations going without writing them to the cache. - This doesn't always work that well, some changes are not immediately updated, but this can be improved later. Still it's fun to get a feel for the physics. Todo: - Point cache can get out of sync with and undo and changing a file without saving it. - Change the point cache file format to store a version (so old point cache files can be either converted or at least ignored), and to do correct endian conversion. - Menu item and/or buttons for Ctrl+B. - A system("rm ..") was changed to remove() since the former is very slow for clearing point caches. These system() calls were already giving trouble in a bug in the tracker, but really most use of this system("") should be changed and tested. - The Soft Body Collision and Clot Collision panel titles don't mention there's point cache settings there too, doing that makes them unreadable with the default panel setup.. but may need to make the names longer anyway.
2008-03-16Bugfix #8526Ton Roosendaal
Sometimes a panel could not be moved, this caused by fact that its parent was sometimes not visible. Old bug actually. :) There's a lot of editbutton panels btw... so there it happened.
2008-03-03Fix for bug #8412: clicking to active tabbed panels could stillBrecht Van Lommel
go wrong with tabbed panels being hidden.
2008-02-25Fix for bug #8351: clicking to select a tabbed panel wentBrecht Van Lommel
wrong if there were more, hidden panels tabbed also.
2007-11-15Bugfix #7552Ton Roosendaal
Panels with different width or height, should give a re-align call when tabbed and tabs switch
2007-04-226488 - Interface - Theme controls corner styleCampbell Barton
Made some other changes too, to border redraw, and dont draw antialiased squares when the minimal themes enabled.
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2007-03-27Bugfix #6453Ton Roosendaal
Panel name of "transform properties" can change based on mode. This was not drawn correct when panel minimized.
2006-11-16New stuff:Ton Roosendaal
- Weight paint options now also show in Nkey panel - added uiNewPanelTitle() in interface API to rename panels. In use now for the Nkey panel title. (Note: original name is identifier, do not change that)
2006-06-29Bugfix from own testing:Ton Roosendaal
In outliner, the icons sometimes were drawing too large or too small. Same happened in NLA, Action, Image window etc. And it happened for "International fonts" when set to use 'texture drawing'. Reason: the API call for setting icon size BIF_icon_set_aspect() was not used consistantly. Sometimes it was set, sometimes not. And even worse, for every icon drawn in UI buttons, the icon lookup had to be done twice because of the aspect function. Solved it by removing this call, and adding a new function: BIF_icon_draw_aspect() The old BIF_icon_draw() call now draws with aspect 1.0 always. The icons code already had optimal checking for changed sizes, zo a change in aspect won't result in much cpu overhead. Plus it saves calling icons lookup code, which will make it all a bit faster. Andrea: I've added this aspect function a long while ago, I think you also like it better how it is now? Please check!
2006-06-27The tab clickable area was a bit off (10px or so when zoomed in) now its a ↵Campbell Barton
lot better though not 100% perfect abt 2-3px out.
2006-04-26== interface ==Matt Ebb
* Floating panel edge snapping Floating panels now have a snapping mechanism that sticks them to the edge of a window when you drag them within a small range of it. This not only allows nice easy alignment of panels within a window, but also keeps them stuck to window edges when the window is resized. This means that you no longer get panels that were once on the edge of the window left drifting in the middle of your view if you resize it larger, which was rather annoying before. Another goodie is that panels snapped to the bottom edge of the screen will minimise down to the bottom when collapsed, and will move back up to be edge aligned when maximised again, preventing collapsed panels down here from hanging around in space.
2006-04-25* patch #3876: Rotating view iconMatt Ebb
submitted by Davide Vercelli This replaces (as a user preference) the static icon shown in the bottom-left of the 3D View with a small rotating axis that updates live in all ortho/perspective modes I made several modifications to the original patch. In the patch, it displayed the axis on top of the 'object info' text since when floating panels are minimised, they sit in the bottom corner and cover the axis up. This annoyance is not limited to the axis, it also covers the frame number and info text, which can be frustrating. Sending them to the bottom is not that useful either, since it's quicker (with esc) and just as much movement to close and re-open them again. I decided to solve this problem at the cause: Now when using the disclosure triangle on floating panels, they 'minimise in place' rather than going to the bottom. User preferences are in the 'View & controls' section to: - Display either the 3D axis or the old icon - The size of the axis - the brightness of the axis (colours are taken from grid theme settings) * patch #3801: Option to show view direction in 3D View submitted by Daniele Fornaciari Simple one, just adds an user pref to show the name of the view's direction as text in the top left corner.
2006-02-09Compositing workflow upgrade;Ton Roosendaal
You now can set a Preview panel in the Image window, to define a sub-rect of an image to be processed. Works like the preview in 3D Window. Just press SHIFT+P to get it activated. Very nice speedup! This is how it works: - The compositor still uses the scene image size (including % setting) for Viewer or Composite output size - If a preview exists, it calculates the cropped rect from its position in the Image window, and stores that in the Scene render data - On composite execute, it copies only this part from the 'generator nodes', right now Images or Render Results. That makes the entire composite tree only using small rects, so it will execute fast. - Also the render window will only display the cropped rect, and on F12 only the cropped part is being executed - On rendering in background mode, the cropping is ignored though. Usability notes: - translating or zooming view will automatically invoke a recalculation - if you zoom in on details, the calculated rect will even become smaller - only one Imagewindow can have this Preview Panel, to prevent conflicts of what the cropped area should be. Compositing is on Scene level, not local per image window. (Note; 3D Previews are local per window!) - Closing the preview panel will invoke a full-size recalculation - All passes/layers from rendering are nicely cropped, including Z and vectors. The work to make the compositor do cropping was simple, but getting the Image window displaying correctly and get all events OK was a lot of work... indeed, we need to refactor Image Window usage once. Sorry for making the mess even bigger now. :) I've tried not to interfere with UV edit or Paint though... only when you're in compositing mode the panel will work. BUG fix: 3D Preview render didn't work when multiple layers were set in the current scene.
2006-01-24Giant commit!Ton Roosendaal
A full detailed description of this will be done later... is several days of work. Here's a summary: Render: - Full cleanup of render code, removing *all* globals and bad level calls all over blender. Render module is now not called abusive anymore - API-fied calls to rendering - Full recode of internal render pipeline. Is now rendering tiles by default, prepared for much smarter 'bucket' render later. - Each thread now can render a full part - Renders were tested with 4 threads, goes fine, apart from some lookup tables in softshadow and AO still - Rendering is prepared to do multiple layers and passes - No single 32 bits trick in render code anymore, all 100% floats now. Writing images/movies - moved writing images to blender kernel (bye bye 'schrijfplaatje'!) - made a new Movie handle system, also in kernel. This will enable much easier use of movies in Blender PreviewRender: - Using new render API, previewrender (in buttons) now uses regular render code to generate images. - new datafile 'preview.blend.c' has the preview scenes in it - previews get rendered in exact displayed size (1 pixel = 1 pixel) 3D Preview render - new; press Pkey in 3d window, for a panel that continuously renders (pkey is for games, i know... but we dont do that in orange now!) - this render works nearly identical to buttons-preview render, so it stops rendering on any event (mouse, keyboard, etc) - on moving/scaling the panel, the render code doesn't recreate all geometry - same for shifting/panning view - all other operations (now) regenerate the full render database still. - this is WIP... but big fun, especially for simple scenes! Compositor - Using same node system as now in use for shaders, you can composit images - works pretty straightforward... needs much more options/tools and integration with rendering still - is not threaded yet, nor is so smart to only recalculate changes... will be done soon! - the "Render Result" node will get all layers/passes as output sockets - The "Output" node renders to a builtin image, which you can view in the Image window. (yes, output nodes to render-result, and to files, is on the list!) The Bad News - "Unified Render" is removed. It might come back in some stage, but this system should be built from scratch. I can't really understand this code... I expect it is not much needed, especially with advanced layer/passes control - Panorama render, Field render, Motion blur, is not coded yet... (I had to recode every single feature in render, so...!) - Lens Flare is also not back... needs total revision, might become composit effect though (using zbuffer for visibility) - Part render is gone! (well, thats obvious, its default now). - The render window is only restored with limited functionality... I am going to check first the option to render to a Image window, so Blender can become a true single-window application. :) For example, the 'Spare render buffer' (jkey) doesnt work. - Render with border, now default creates a smaller image - No zbuffers are written yet... on the todo! - Scons files and MSVC will need work to get compiling again OK... thats what I can quickly recall. Now go compiling!
2005-12-29More node goodies!Ton Roosendaal
First note; this is a WIP project, some commits might change things that make formerly saved situations not to work identically... like now! ------ New Material integration ------ Until now, the Node system worked on top of the 'current' Material, just like how the Material Layers worked. That's quite confusing in practice, especially to see what Material is a Node, or what is the "base material" Best solution is to completely separate the two. This has been implemented as follows now; - The confusing "Input" node has been removed. - When choosing a Material in Blender, you can define this Material to be either 'normal' (default) or be the root of a Node tree. - If a Material is a Node tree, you have to add Nodes in the tree to see something happen. An empty Node tree doesn't do anything (black). - If a Material is a Node Tree, the 'data browse' menus show it with an 'N' mark before the name. The 'data block' buttons display it with the suffix 'NT' (instead of 'MA'). - In a Node Tree, any Material can be inserted, including itself. Only in that case the Material is being used itself for shading. UI changes: Added a new Panel "Links", which shows: - where the Material is linked to (Object, Mesh, etc) - if the Material is a NodeTree or not - the actual active Material in the Tree The "Node" Panel itself now only shows buttons from the other nodes, when they are active. Further the Material Nodes themselves allow browsing and renaming or adding new Materials now too. Second half of today's work was cleaning up selection when the Nodes overlap... it was possible to drag links from invisible sockets, or click headers for invisible nodes, etc. This because the mouse input code was not checking for visibility yet. Works now even for buttons. :)
2005-12-29tiny tweaks to hiding triangles etc :)Matt Ebb
2005-12-29Review done with Matt; so here's a nicer version of the 'mini node'.Ton Roosendaal
- nodes now have in header a triangle to minimize them or restore view - mininodes have a scale dragger on right hand
2005-12-28Christmas coding work!Ton Roosendaal
********* Node editor work: - To enable Nodes for Materials, you have to set the "Use Nodes" button, in the new Material buttons "Nodes" Panel or in header of the Node editor. Doing this will disable Material-Layers. - Nodes now execute materials ("shaders"), but still only using the previewrender code. - Nodes have (optional) previews for rendered images. - Node headers allow to hide buttons and/or preview image - Nodes can be dragged larger/smaller (right-bottom corner) - Nodes can be hidden (minimized) with hotkey H - CTRL+click on an Input Socket gives a popup with default values. - Changing Material/Texture or Mix node will adjust Node title. - Click-drag outside of a Node changes cursor to "Knife' and allows to draw a rect where to cut Links. - Added new node types RGBtoBW, Texture, In/Output, ColorRamp - Material Nodes have options to ouput diffuse or specular, or to use a negative normal. The input socket 'Normal' will force the material to use that normal, otherwise it uses the normal from the Material that has the node tree. - When drawing a link between two not-matching sockets, Blender inserts a converting node (now only for value/rgb combos) - When drawing a link to an input socket that's already in use, the old link will either disappear or flip to another unused socket. - A click on a Material Node will activate it, and show all its settings in the Material Buttons. Active Material Nodes draw the material icon in red. - A click on any node will show its options in the Node Panel in the Material buttons. - Multiple Output Nodes can be used, to sample contents of a tree, but only one Output is the real one, which is indicated in a different color and red material icon. - Added ThemeColors for node types - ALT+C will convert existing Material-Layers to Node... this currently only adds the material/mix nodes and connects them. Dunno if this is worth a lot of coding work to make perfect? - Press C to call another "Solve order", which will show all possible cyclic conflicts (if there are). - Technical: nodes now use "Type" structs which define the structure of nodes and in/output sockets. The Type structs store all fixed info, callbacks, and allow to reconstruct saved Nodes to match what is required by Blender. - Defining (new) nodes now is as simple as filling in a fixed Type struct, plus code some callbacks. A doc will be made! - Node preview images are by default float ********* Icon drawing: - Cleanup of how old icons were implemented in new system, making them 16x16 too, correctly centered *and* scaled. - Made drawing Icons use float coordinates - Moved BIF_calcpreview_image() into interface_icons.c, renamed it icon_from_image(). Removed a lot of unneeded Imbuf magic here! :) - Skipped scaling and imbuf copying when icons are OK size ********* Preview render: - Huge cleanup of code.... - renaming BIF_xxx calls that only were used internally - BIF_previewrender() now accepts an argument for rendering method, so it supports icons, buttonwindow previewrender and node editor - Only a single BIF_preview_changed() call now exists, supporting all signals as needed for buttos and node editor ********* More stuff: - glutil.c, glaDrawPixelsSafe() and glaDrawPixelsTex() now accept format argument for GL_FLOAT rects - Made the ColorBand become a built-in button for interface.c Was a load of cleanup work in buttons_shading.c... - removed a load of unneeded glBlendFunc() calls - Fixed bug in calculating text length for buttons (ancient!)
2005-12-22Big commit in orange: Interface icons for materials, texturesAndrea Weikert
world and lamp. Also for images in pupmenus. Also preparation for work on using preview images in imagebrowser. -- Andrea
2005-12-04Orange branch feature; Material LayeringTon Roosendaal
(WIP, don't bugs for this in tracker yet please!) - New Panel "Layers" in Material buttons, allows to add unlimited amount of materials on top of each other. - Every Layer is actually just another Material, which gets rendered/shaded (including texture), and then added on top of previous layer with an operation like Mix, Add, Mult, etc. - Layers render fully independent, so bumpmaps are not passed on to next layers. - Per Layer you can set if it influences Diffuse, Specular or Alpha - If a Material returns alpha (like from texture), the alpha value is used for adding the layers too. - New texture "Map To" channel allows to have a texture work on a Layer - Each layer, including basis Material, can be turned on/off individually Notes: - at this moment, the full shading pass happens for each layer, including shadow, AO and raytraced mirror or transparency... - I had to remove old hacks from preview render, which corrected reflected normals for preview texturing. - still needs loadsa testing!
2005-08-20A couple of smaller fixes;Ton Roosendaal
- Modifier Panel, name label for "Virtual" modifiers was too short - On extrude Bones, "soft distance" now is always set based on length of the bone (also on CTRL+click, also when Envelope drawmode is not set) - Added undo-push for "Apply Bone Envelopees to VertexGroup" in WeightPaint. - Menu-buttons in floating panels sometimes gave drawing error - InfoWindow buttons were always allocated & drawn, even when window was zero sized... waste of cpu, tsk!
2005-08-05 - added UI_EMBOSSR option (rounded emboss)Daniel Dunbar
- added support for vector icons, from user API side is just like using a regular icon... on icon side is defined by a function in resources.c instead of using the blenderbuttons png file. vector icons are much easier to add and scale properly. intent is that vector icons would be drawn in window coordinates which lets icon developers make the most beautiful icons, but this requires some tweaking of the interface drawing that I am not going to do atm. - changed BIF_draw_icon* to take coordinates of where to draw icon instead of using passed in raster position - switch modifier UI to using vector icons, and tweaked some position and style stuff. - replaced most uses of UI_EMBOSSX with UI_EMBOSS (do same thing, just there to confuse people I guess) After the window coordinate stuff is sorted out with vector icons it probably makes sense to move all non-photorealistic icons in blenderbuttons to vector form just so scaling goes better.
2005-07-10Bug fix #2774Ton Roosendaal
Using linked library files with relative paths, didn't set the correct relative root... so it only worked with files in the same directory. ALso fixed the button-lock in material buttons, it didn't allow to see which materials were linked to the mesh/object.
2005-03-20 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)Daniel Dunbar
NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle undefining various crap that windows.h defines. Platform specific headers should only have to be included in a few places. This reduces the number of inclusions of BLI_winstuff.h to 16 which is a much more reasonable number (than the 144 or whatever it used to be)
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2004-12-14Small fixes for UI;Ton Roosendaal
- Add UV Sphere now aligns with view, as do all primitives - Small drawing error in edges between blender areas (black lines were 2 pixels too short) - Replaced the heuristics in opening sublevel menus, to be less frustrating. It now keeps sublevel open while mouse moves within the triangle defined by original mouse location (before moving) and the closest vertical edge of the new sub menu. Works nice for toolbox and pulldowns.
2004-12-01Bug #1909Ton Roosendaal
When choosing "render engine" in Scene Buttons, the newly added or removed Panels didn't invoke a re-alignment event yet. Also added code that inserts new panels as good as possible on their previous locations. This works reliable for 1 new panel, not for more, this because a Panel only stores its old location, not the locations of all Panels in a given configuration. Consider that minor issue...
2004-10-08Accidentally committed work in progress/experiment with panel tab colors.Ton Roosendaal
Was not meant for cvs yet!
2004-10-06Version 1.0 of the new OutlinerTon Roosendaal
The outliner is a hierarchical diagram displaying a list of data in Blender and its dependencies. The 'databrowse' doesn't really show it, and Oops is too chaotic still. And most of all, the former two don't offer much tools. After discussions on irc, Matt came with this design proposal; http://mke3.net/blender/interface/layout/outliner/ Which is closely followed for the implementation. The current version only shows all 'library data' in Blender (objects, meshes, ipos, etc) and not the 'direct data' such as vertex groups or NLA. I decided to make it inside the Oopw window, as an option. You can find the option in the "View" pulldown, or directly invoke it with ALT+SHIFT+F9 Here's a quick overview of the Outliner GUI: - Header pulldown has options what it can show (Visible = in current layers) - click on triangle arrow to open/close - press AKEY to open/close all - Leftmouse click on an item activates; and does based on type a couple of extra things: - activates a scene - selects/activates the Object - enters editmode (if clicked on Mesh, Curve, etc) - shows the appropriate Shading buttons (Lamp, Material, Texture) - sets the IpoWindow to the current IPO - activates the Ipo-channel in an Action - Selected and Active objects are drawn in its Theme selection color - SHIFT+click on Object does extend-select - Press DOTkey to get the current active data in center of view TODO; - rightmouse selection; for indicating operations like delete or duplicate - showing more data types - icon (re)design... - lotsof options as described in Matts paper still...
2004-10-03Lots of small changes, all for UI in Blender;Ton Roosendaal
----- Killed UI frontbuffer draw The interface toolkit was drawing all live updates (while using menus/buttons) in the frontbuffer. This isn't well supported cross-platform, so time to be killed once. Now it uses *only* glReadPixels and glCopyPixels for frontbuffer access. Live updates or menus now are drawn in backbuffer always, and copied to front when needed. NOTE: it was tested, but needs thorough review! On PC systems I suspects backbuffer selection to screw up (check!). On SGI/SUN workstations it should work smooth; but I need evidence ----- Smaller fixes; - AA fonts were garbled on ATI systems. Now the AA fonts are drawn exact on pixel positions. Needs the new FTGL libb too, patch is on maillist - Rounded theme uses antialiased outlines - Pulldown and popup menus have nice softshadow now - New button type 'PULLDOWN', thats the one that callsup a pulldown menu. Should be added to themes, as is the full menu/pulldown drawing - Screendump for 1 window does the full window now, including header - Empty pulldowns (for example running blender without scripts) give no drawing error anymore For review & fun; - added curved lines as connectors, for Oops window
2004-08-31Three functionalities in one commit, but there's overlap so I can'tTon Roosendaal
separate it... 1) Curve/Surface editmode undo Uses same syntax as mesh undo, so simple to integrate. Edit-curve data is also quite simpler, so no need for any hack at all. It re-uses the undo system from next point, which is nice short & clean local code 2) Framework for global undo The undo calls themselves are commented out. In a next commit I want to enable it for a couple of main features, for further feedback. The speed goes surprisingly well, especially with this new version that 'pushes' undo after a command, ensuring interactivity isnt frustrated 3) framework for texture based icons in Blender Not activated code, but tested here. Part of 2.3 UI project. btw: Johnny Matthews will assist in (and complete) the undo project
2004-07-23Added a fix for calculating centring buttons in panel. It was off 8 pixelsTon Roosendaal
(the safety).
2004-07-01Fixed draw error in panels, the header was overdrawn with panel background.Ton Roosendaal
Only visible when panels are not transparent.
2004-06-19Popular request: the floating panels (NKEY) now close on a 2nd NKEY command.Ton Roosendaal
This for all current NKEY menus by default. Can be standard for each hotkey controlled Panel from now on; use toggle_blockhandler() for it. Another popular request: hotkey enabled Panels now optionally reopen on the previous location, instead of under mouse. This option "Pinned" is a user option now. Optional for later; have it as per-panel option... dunno! The last request, close on mouse-exit, won't be implemented, this intrudes with Panel consistancy, and is pretty OK solved with NKEY-NKEY now.
2004-06-14* Floating panel cosmetic tweaksMatt Ebb
* Minor language/label cleanups I missed first time around.
2004-04-07Bug #928Ton Roosendaal
Logic buttons have not been Panelized (will be difficult, dont try!) so the 'Home' and automatic view-limits didn't work it anymore. This caused logic blocks not being accessible by scrolling window. Fixed by updating the code that sets view limits.
2004-01-28* Replaced crappy close icon (that always got distorted) with an OpenGL ↵Matt Ebb
drawn X. Can someone with a graphics card that supports AA lines please check that this looks ok, since mine doesn't :( * Minor tweaks to panel shading/colours
2004-01-24* Small tweaks to the default theme's coloursMatt Ebb
2004-01-13Converted the Userpreference buttons to zr's new ButBit calls.Rob Haarsma
Also added USER_* to each define located in DNA_userdef.h.
2003-12-24- only cosmetic stuff; result of going over the output of mipspro ccTon Roosendaal
compile round. Wrong prototypes, unused variables, zealot const usage, and in action.c fixed insane & unreadable function call syntax.
2003-10-29- new .B.blend as provided by intrr, and tweaked by me. :)Ton Roosendaal
- fixed error introduced by coding color for panel, instead of just implementing the right default color. this caused colors not possible below value '100'... tsk tsk
2003-10-23- fixed drawing of headers... they align now exactly with the 1 pixelTon Roosendaal
black edge between 'area windows'. the new ortho matrix seems to work for me... :)
2003-10-21- Lots of tweaks to interface colours, shading, etc.Matt Ebb
- Fixed alignment/width of menus Still needs more work.
2003-10-20Another mega commit... loadsof restructure, and a pretty good one! :)Ton Roosendaal
- changed the BIF_DrawString() function. it used to work different for AA fonts as for default fonts. Now it's identical. Setting color for fonts can just be done with OpenGL, for both font types. Removed: BIF_DrawStringRGB() - added theme color options for Buttons - recoded DefButton, so it automatically chooses the right color. - had to remove a 1000 uiBlockSetCol() calls for that reason... - uiBlockSetCol() still works, to override automatic color - removed entirely the silly old color system (BIFColorID). All color calls can now be done with a BIF_ThemeColor() call, including fonts and buttons and opengl stuff - all buttons in button header have headercolor by default - recoded drawing icons, it was a really bad & old loop doing manually colorshading and blending... which was per pixel a load of code! Now it uses a single OpenGL call to blend or colorize. Quite faster! - (as test, for review) icons don't colorize anymore with button color, but have a different alpha to blend in (when not active) - recoded the entire interface_draw.c file...: - drawing buttons is separated in three parts: 1. main drawing function for text and icons 2. free definable callback for button itself 3. free definable callback for slider - removed a load of redundant code for this! - coded a minimal theme, and adjusted Matt's buttons to match new callback system - adding new drawing themes is piece of cake now - for coders, default 'themes' to be aware of: UI_EMBOSS : the themable drawing style UI_EMBOSSP: the pulldown menu system (apart from color not themable) UI_EMBOSSN: draw nothing, only text and/or icon UI_EMBOSSM: minimal theme, still in use for Logic and Constraintsa this can be set with uiBlockSetEmboss(block) or in the uiNewBlock() call. TODO: make UI API call for button alignment (plus removed another series of warnings from code...) Plus: fixed bug in Matts commit: he used a 'short' button for an 'int'
2003-10-19- simplified Theme API. No need to include 'current active area' anymore.Ton Roosendaal
like: BIF_ThemeColor(TH_GRID); will be sufficient. Blender does the rest. - fixed bug in CTRL-X (reload home file) with themes - fixed bug in horizontal alignment of different height panels. Seems also to solve the drawing error with constraints...
2003-10-18A few small tweaks to the panel drawingMatt Ebb
2003-10-18- Updated panel style based on funboard feedbackMatt Ebb
- Added white 'close panel' icon ICON_PANEL_CLOSE to blenderbuttons
2003-10-18- further work on theme colors:Ton Roosendaal
- panels work - ipo window done - buttonswindow done Please be warned that saving Themes now wont work... it will also save BLACK for all uninitalized colors... so dont panic when you see weird things, just go back the default theme and copy a new one.