Commit Graph

285 Commits

Author SHA1 Message Date
Brecht Van Lommel
5f6d775e0c Fix for bug #7447
Pressing twice on a constraint or modifier button did 2 undo pushes,
the ROUNDBOX button they use also generated an undo push.
2007-10-10 22:24:26 +00:00
Joshua Leung
e96b27dd72 Action Editor - Sliders Bugfix:
Pasting values into/onto sliders in the Action Editor didn't insert new keyframes for the related channels. 

I've added a one-liner to the interface/buttons code which calls the button callback upon pasting values, thus fixing this bug and perhaps some others in the future. This shouldn't cause any problems in general (I haven't seen any yet!).

Thanks to venomgfx (Pablo Vazquez) for reporting this.
2007-10-05 09:03:37 +00:00
Matt Ebb
21c567854a Patch #6770 by James C (sheep)
Tooltip getStringSize and getBoundingBox correction

Not really any user-visible changes here, but a nice clean-up of 
internal font drawing functions, in this case used in tooltips.

Thanks!
2007-08-20 01:02:12 +00:00
Brecht Van Lommel
53b434919b Added highlighting of non-existant names and autocomplete for
specifying the uv layer name in a material.

Also added generic autocomplete_begin/do_name/end functions,
this code was copied five times.
2007-05-17 17:15:22 +00:00
Ton Roosendaal
243d1a28c0 Casting fixes for 64 bits. Incomplete commit, discussion on proper casting
has to be finished.
2007-04-29 10:49:02 +00:00
Matt Ebb
21d1b9e310 * Tablet sensitivity for number field dragging now revealed from behind rt. 2007-04-06 05:31:46 +00:00
Matt Ebb
a5e82ca3e9 * Tablet pressure sensitivity in number field dragging (again!)
This time, it's temporarily hidden by default, but active with rt: set to 5.
If anyone that was having probs with it before could test and let me know if
things go without issues, that would be appreciated!
2007-04-05 13:54:23 +00:00
Matt Ebb
bbceedced0 * Tablet support fixup
This commit should hopefully fix some of the problems some people were
having with tablet support in sculpt mode, and also the problems I made
visible with my previous commit related to number field dragging.

Now, all the ghost related stuff is tucked away in ghostwinlay.c and a
simple Blender API, similar to the existing get_mbut() for example, is
provided to access the tablet data. As with the other mouse related data in
Blender, the tablet data is cached upon each mouse move or click, in the
Window struct.

You can now just use:

float get_pressure(void);
void get_tilt(float *xtilt, float *ytilt);
short get_activedevice(void);

to get such data from the tablet. Documentation on the returned data
is in ghostwinlay.c in the _Window struct definition.


Brecht and Nicholas, I've updated the painting and sculpt code and it works
just fine here, you may want to give it a check though to make sure I
haven't done anything silly.
2007-04-05 12:42:07 +00:00
Campbell Barton
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
Ton Roosendaal
3c5462e660 Bugfix #6426
Clearing number buttons and press enter (for assigning zero) did not give
a button event anymore. Caused by code for python eval, it treated this
as an error.
2007-03-29 12:57:15 +00:00
Ton Roosendaal
04b20827ce Removed tablet sensitivity for number sliding
Tablet code has design issues, report goes to the bf-committers list.
2007-03-25 11:34:22 +00:00
Matt Ebb
c448d2d3a5 == Interface ==
* Tablet pressure sensitivity for number field dragging

Many of the number fields in Blender are very sensitive. With this addition, 
softer tablet pressure causes the number field dragging to be more precise, 
as if you're holding shift, but variable depending on how hard or soft 
you're pressing. You can push hard for large adjustments or just lightly
stroke it for fine tuning.

P.S. There was a bug in the tracker regarding tablet support in sculpt mode that
never really got resolved. I don't know if it still exists, but number fields 
are a pretty major part of Blender, so just in case this commit causes problems
for you, you can disable it (temporarily, this won't be left in) by changing
rt: to any value other than 0. If anyone has problems, please report them, and
we can get it sorted out properly.
2007-03-23 05:41:58 +00:00
Ton Roosendaal
ee79b599ea Small silly feature: menus in blender now scroll with mouse wheel. :)
Note that activiting it works as if you used arrow keys, not with mouse.
2007-03-05 20:49:04 +00:00
Ton Roosendaal
84b8e5b97b IRC reported bug: sometimes menu entries showed a name like "%l", caused
by imporper handling of separators in menus.
2007-01-24 20:51:33 +00:00
Ton Roosendaal
a0cd868f14 Bugfix #5784
Buttons: Missing linked-library lock reset in code could invoke error menu

Bugfix #5770

Renamed option "Clear Pose" to "Clear User Transform" to indicate that this
differs from rest-pose. This option clears all Pose channel transforms, but
leaves Action values in pose unchanged. Means that when you do this, an
'insert key' won't change the animation.

Own fix:

Missing test for NULL pointer could crash Image Properties panel for linked
Image data.
2007-01-22 12:21:41 +00:00
Ton Roosendaal
97eb805f9c Bugfix #5551
CTRL+C/V (or Apple+C/V) on buttons didn't copy/paste names for buttons
of type "ID pointer" anymore. Was caused by NULL pointer check in wrong
location.
2007-01-08 14:55:53 +00:00
Ton Roosendaal
eaeed165db Bugfix #5599
TAB in text-edited buttons didn't always go to next button, for example
in constraints. Was caused by the 'roundbox' backdrop.
2007-01-06 10:59:07 +00:00
Matt Ebb
69da3d93fb * Fix for bug #5555 Numpad zoom does not recognize that the
transform properties window is collapsed.

Just checks now to see if the floating panel is collapsed or not
and where the mouse is before zooming.
2006-12-30 05:37:45 +00:00
Ton Roosendaal
d109129663 Bugfix #5498
Textbutton: SHIFT+Arrow selections did not work proper when the amount of
text in a button was more than its width could display. Now still doesn't
work OK 100% (when selection itself goes outside of button view).

Also: removed the very bad SELWIDTH define (but->selend - but->selsta).
That's not making readable code!
2006-12-26 10:18:38 +00:00
Ton Roosendaal
bb6dc38f89 Picker buttons: the 'sample' option crashed. Caused by yesterdays commit.
Reason: I had to make the "BUT" type in Blender to use callbacks *after* the
uiBlock was freed, because in Blender several of these callbacks invoke
drawing, which isn't possible while a block is being evaluated.
2006-12-21 15:30:43 +00:00
Ton Roosendaal
253432bfc7 The Big Image refactor!
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html

Or in short:

- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images

Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
2006-12-20 17:57:56 +00:00
Ton Roosendaal
17231f83f3 Work on RenderLayer and Pass control:
Full log:
http://www.blender3d.org/cms/Render_Passes.829.0.html

In short:
- Passes now have option to be excluded from "Combined".
- RenderLayers allow to override Light (Lamp groups) or Material.
- RenderLayers and Passes are in Outliner now, (ab)using Matt's nice
  'restriction collumns'. :)
2006-12-07 14:17:38 +00:00
Martin Poirier
cbd84b26f4 === Interface ===
Based on patch #5140 by Juho Vepsäläinen, this commit removes the requirement to type # at the start when you want to use Python expression evaluation when typing a value in a button.

In a nutshell, that means you can now type 3 + 5 in a numbut and see it change to 8.

Word of warning: The normal Python operator logic applies, so if you type in 1 / 3, you'll get 0 and not 0.333. There's no going around that.
2006-12-03 18:59:13 +00:00
Ton Roosendaal
c1258980a4 Render Baking upgrade:
- Now baking itself is threaded too (like for render, max 2 cpus. Moving
  this to 4 cpus is on todo. Goes twice as fast!

- fix: ESC from bake was broken...

- other fix: toolbox menus didn't treat sublevel string lengths OK,
  truncating items like for Group library names.
2006-11-28 10:16:24 +00:00
Ton Roosendaal
b78b3a4761 Group groupie features:
- When using (referenced) Library files, the groups in Add menu now are
  listed per used file. This allows to easier create custom datasets.
- Toolbox opens in collums now, when more than 30 items in a menu exist
2006-11-24 22:12:24 +00:00
Ton Roosendaal
fbcb0c1e45 New 'TOG DUAL' button (for locking bone layers) disabled extend-press
with shift key.
2006-11-12 09:26:38 +00:00
Ton Roosendaal
feb210f08e Experimental feature, especially for the animation department:
THE OBJECT PROXY

Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.

This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.

Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-11 16:45:17 +00:00
Matt Ebb
3e0c45440d * Simple patch 5058 from gsrb3d to use constants instead of magic numbers for
theme drawtypes
2006-10-28 13:21:02 +00:00
Ton Roosendaal
c2edcd4879 Siggraph show commit!
- pending commit for OSX intel systems, with intel graphics. These now call
  an extra swapbuffers after glFlush(). Code is ifdeffed, and doesnt affect
  other systems.

- show-off commit: option to have transparent nodes over the composite
  result. Only draws Image for active Viewer Node now, and image doesnt
  translate nor zoom (which isnt bad though).
  Set in themes the alpha color of "node backdrop" to make nodes
  transparent.
2006-07-31 19:23:42 +00:00
Ton Roosendaal
7aaa8c720c Removed the isnan() fix for silly people who type in NAN in a button!
Apparently not supported in Windows compiler, and although it has _isnan()
I've got no time to code wrappers for it, and #ifdefs here is plain bad
code.

Nice todo for Campbell one of these days after release!
2006-07-12 15:28:37 +00:00
Ton Roosendaal
a8ad9880f4 Bugfix #4661
Apparently the atof() function allows to convert a NAN string input to a
NAN float value.
That we don't want when you input values in our sliders! :)
2006-07-11 08:56:46 +00:00
Ton Roosendaal
1cd74bab99 Bugfix #4652
Using TAB to type values in button sequences, didn't execute button
callbacks on the 2nd and and 3rd etc. Error could be noticed in the
Node Editor, Mapping node. That one didn't pass on changes to shading code.
2006-07-10 14:49:20 +00:00
Ton Roosendaal
cd976bfd42 Bugfix #4628
Ancient issue in making screendumps in Blender. It used to support making
dumps of popup menus, but that disappeared a while ago. However, when you
press CTRL+F3 in a menu now, Blender hangs in some eternal loop in ghost.

This commit fixes making menu screendumps (nice for docs!).

- press CTRL+F3 *twice* for an exact copy of a menu. (first press exits
  menu, 2nd press opens filewindow)
- note, it is ALT+CTRL+F3 in OSX
- what is saved is only the topmost open level of a menu
- full-screen dumps work too by holding SHIFT extra.
2006-07-06 12:50:48 +00:00
Ton Roosendaal
7f72afa650 Button alignment error in Particle panel (set 'static').
Appeared to be a missing check in the alignment code even. :)
2006-06-22 12:25:28 +00:00
Ton Roosendaal
9410c7a731 #4361
Eyedropper (in ColorPicker) bug: It was reading a 4xfloat color into a
single float. tsk tsk!
2006-06-20 11:15:00 +00:00
Ton Roosendaal
2a2c5e7f4e Bugfix #4354
Fix for old (post 2.3) annoyance in UI; on redraw of the entire buttons
window, the active button (with highlight) was detected wrong. Was just
a matrix calculation on wrong moment. :)

Also: fixed tooltip for transparent material "add" option. It was talking
about "Glow", a confusing description.
2006-06-19 11:21:42 +00:00
Matt Ebb
d5b3e75652 * Added a better mouse pointer for the eyedropper tool (thanks Bart) and also
some 2d scroll pointers
2006-06-15 14:22:59 +00:00
Jean-Luc Peurière
b535b671b3 interim fix for the low end integrated intel graphic cards
until a better solution is found
2006-06-14 18:04:57 +00:00
Martin Poirier
873e2eaae3 == Python Button Evaluation ==
Users can write any valid Python expression (that evals to an int or float) inside Blender's gui number buttons (preceded by #) and have them evaluated to their actual int or float value.

Button Evaluation has access to the same modules as PyDrivers.

For example:

#1.0*9-2.3
#ob("Camera").LocZ
#1.0/ob("Cube").LocX
#math.sin(math.pi) -- or simply #m.sin(m.pi)
etc
2006-06-12 00:10:00 +00:00
Matt Ebb
67dc5585cb * Added an 'eyedropper' tool in the colour picker. With the colour picker open,
you can click on the 'Sample' button, to sample any colour on the Blender
screen. This is really useful in the compositor, and would probably be good for
sampling footage in any eventual chroma key nodes that may be made, too.

LMB to pick the colour, ESC or RMB to cancel.
2006-06-09 16:01:27 +00:00
Matt Ebb
4612605786 * Woops, a debug printf slipped through. Removed. 2006-06-05 16:01:00 +00:00
Matt Ebb
1fcae2e0f7 * Cut, Copy and Paste for buttons now also works while editing button text.
Hotkeys Ctrl/Command (Mac) X, C, and V will cut, copy and paste the selected
  text to and from the 'buttons clipboard'.

  This clipboard is still not that good since it doesn't even use the same
  storage as the blender text editor, let alone the host OS. But I guess that
  sort of thing should be tackled inside of GHOST. Any takers? :)
2006-06-05 15:52:42 +00:00
Campbell Barton
5695dba2c9 Added the letter T for the Ipo type menu (key shortcut). So we can close bug 3700
typo in commant interface.c
2006-06-05 01:46:03 +00:00
Campbell Barton
ce202f7540 Clicking on the arrows of a python float button did not change the value :/ - (Click step was zero) Fixed in Draw.c
Added a comment to interface.c on how a1 and a2 are used with float buttons.
Added an example to Draw.py epydocs of a script using a float button.
2006-06-05 01:23:56 +00:00
Jean-Luc Peurière
2dfc4b9a2f fix for bug #3930 Colour picker broken - HSV sliders
Note : this part of code was quite a mess with things called twice when
not needed, tests for not updating when we want to, and hsv sliders not
handled properly.

I tried to figure what was useful and what was not but cannot garantee i
spotted everything or even fixed it the most proper way, the event callback
nesting making hard to figure what really happen.

However it does work again now
2006-03-13 02:22:48 +00:00
Ton Roosendaal
0e44aa60b2 Half fix for colorpicker: after using sliders, the redraw callback was
too late... moved it one line up. :)

Still unknown; why doesn't HSV color field not redraw?
2006-03-12 14:51:33 +00:00
Ton Roosendaal
130c41c7ba More compositing goodies.
- Texture Node
Allows to use any Blender Texture block as input for masks or color
blending. The texture node doesn't generate a real image, but adjusts to
the size as mapped with during an operation. So it won't work to use it
as Image input for Blur or Filter nodes.

Note; the Vector inputs for this node only work with manual input now!

- Translation Node
Give any image an offset in X or Y direction

For the Texture node to work, I needed to move the central 'pixel
processor' up one level... to allow differently sized images to merge
and allow 'procedural images' without size.

Temporal image of the day: http://www.blender.org/bf/rt.jpg
2006-02-19 14:55:16 +00:00
Ton Roosendaal
387f9a7c6d Four-in-one commit:
(NOTE: new include dependency in Render module, might need MSVC update!
It has to include the imbuf/intern/openexr/ directory in search path)

-> New Composite node: "Hue Saturation".
Works like the former 'post process' menu. There's no gamma, brightness or
multiply needed in this node, for that the Curves Node functions better.

-> Enabled Toolbox in Node editor
This now also replaces the SHIFT+A for adding nodes. The nodes are
automatically added to the menus, using the 'class' category from the
type definition.

Current classes are (compositor examples):

Inputs: RenderResult, Image
Outputs: Composite, Viewer
Color Ops: RGB Curves, Mix, Hue Saturation, AlphaOver
Vector Ops: Normal, Vector Curves, Map Value
Filters: Filter, Blur, VectorBlur
Convertors: ColorRamp, RGBtoBW, Separate RGBA, Separate HSVA, Set Alpha
Generators: RGB, Value, Time
Groups: the list of custom defined nodes

-> OpenEXR tile saving support
Created an API for for saving tile-based Images with an unlimited amount
of layers/channels. I've tested it for 'render result' now, with the idea
that this can (optionally) replace the current inserting of tiles in the
main result buffers. Especially with a lot of layers, the used memory for
these buffers can easily go into the 100s of megs.
Two other advantages:
- all 'render result' layers can be saved entirely in a single file, for
  later use in compositing, also for animation output.
- on each render, per scene, a unique temp file can be stored, allowing
  to re-use these temp files on starting Blender or loading files, showing
  the last result of a render command.

The option is currently disabled, needs more work... but I had to commit
this because of the rest of the work I did!

-> Bug fix
The Image node didn't call an execute event when browsing another image.
2006-02-18 13:28:44 +00:00
Jean-Luc Peurière
4dfa22b6d0 commiting patch #3847
add drag-lock to numbuts to prevent accidental adjustemnts.
Patch furnished by Roger Prefontaine (isocles)
2006-02-12 18:25:53 +00:00
Ton Roosendaal
1db5c23716 More work on render stuff!
- Scene support in RenderLayers
You now can indicate in Compositor to use RenderLayer(s) from other scenes.
Use the new dropdown menu in the "Render Result" node. It will change the
title of the node to indicate that.

The other Scenes are rendered fully separate, creating own databases (and
octrees) after the current scene was finished. They use their own render
settings, with as exception the render output size (and optional border).
This makes the option an interesting memory saver and speedup.

Also note that the render-results of other scenes are kept in memory while
you work. So, after a render, you can tweak all composit effects.

- Render Stats
Added an 'info string' to stats, printed in renderwindow header. It gives
info now on steps "creating database", "shadow buffers", and "octree".

- Bug fixes

Added redraw event for Image window, when using compositor render.

Text objects were not rendered using background render (probably a bug
since depsgraph was added)

Dropdown buttons in Node editor were not refreshed after usage

Sometimes render window did not open, this due to wrong check for 'esc'.

Removed option that renders view-layers on F12, with mouse in 3d window.
Not only was it confusing, it's now more efficient with the Preview Panel,
which does this nicely.
2006-02-04 13:28:50 +00:00