[Bf-blender-cvs] CVS commit: blender/source/blender/blenkernel BKE_colortools.h BKE_node.h SConscript blender/source/blender/blenkernel/intern colortools.c node.c node_shaders.c blender/source/blender/blenloader/intern readfile.c writefile.c blender/source/blender/include ...

Ton Roosendaal ton at blender.org
Sun Jan 8 12:41:06 CET 2006


ton (Ton Roosendaal) 2006/01/08 12:41:06 CET

  Modified files:        (Branch: orange)
    blender/source/blender/blenkernel BKE_node.h SConscript 
    blender/source/blender/blenkernel/intern node.c node_shaders.c 
    blender/source/blender/blenloader/intern readfile.c 
                                             writefile.c 
    blender/source/blender/include BIF_interface.h BIF_resources.h 
                                   butspace.h interface.h 
    blender/source/blender/makesdna/intern makesdna.c 
    blender/source/blender/src blenderbuttons.c butspace.c 
                               buttons_editing.c drawnode.c 
                               editnode.c interface.c 
                               interface_draw.c interface_icons.c 
  Added files:           (Branch: orange)
    blender/source/blender/blenkernel BKE_colortools.h 
    blender/source/blender/blenkernel/intern colortools.c 
    blender/source/blender/makesdna DNA_color_types.h 
  
  Log:
  Orange:
  
  - New UI element: the "Curve Button".
  
  For mapping ranges (like 0 - 1) to another range, the curve button can be
  used for proportional falloff, bone influences, painting density, etc.
  Most evident use is of course to map RGB color with curves.
  
  To be able to use it, you have to allocate a CurveMapping struct and pass
  this on to the button. The CurveMapping API is in the new C file
  blenkernel/intern/colortools.c
  It's as simple as calling:
  
     curvemap= curvemapping_add(3, 0, 0, 1, 1)
  
  Which will create 3 curves, and sets a default 0-1 range. The current code
  only supports up to 4 curves maximum per mapping struct.
  The CurveMap button in Blender than handles allmost all  editing.
  Evaluating a single channel:
  
     float newvalue= curvemapping_evaluateF(curvemap, 0, oldval);
  
  Where the second argument is the channel index, here 0-1-2 are possible.
  Or mapping a vector:
  
     curvemapping_evaluate3F(curvemap, newvec, oldvec);
  
  Optimized versions for byte or short mapping is possible too, not done yet.
  
  In butspace.c I've added a template wrapper for buttons around the curve, to
  reveil settings or show tools; check this screenie:
  
  http://www.blender.org/bf/curves.jpg
  
  - Buttons R, G, B: select channel
  - icons + and -: zoom in, out
  - icon 'wrench': menu with tools, like clear curve, set handle type
  - icon 'clipping': menu with clip values, and to dis/enable clipping
  - icon 'x': delete selection
  
  In the curve button itself, only LMB clicks are handled (like all UI elements
  in Blender).
  
  - click on point: select
  - shift+click on point: swap select
  - click on point + drag: select point (if not selected) and move it
  - click outside point + drag: translate view
  - CTRL+click: add new point
  - hold SHIFT while dragging to snap to grid
    (Yes I know... either one of these can be Blender compliant, not both!)
  - if you drag a point exactly on top of another, it merges them
  
  Other fixes:
  
  - Icons now draw using "Safe RasterPos", so they align with pixel boundary.
    the old code made ints from the raster pos coordinate, which doesn't work
    well for zoom in/out situations
  
  - bug in Node editing: buttons could not get freed, causing in memory error
    prints at end of a Blender session. That one was a very simple, but nasty
    error causing me all evening last night to find!
    (Hint; check diff of editnode.c, where uiDoButtons is called)
  
  Last note: this adds 3 new files in our tree, I did scons, but not MSVC!
  
  Revision  Changes    Path
  1.1.2.13  +2 -0      blender/source/blender/blenkernel/Attic/BKE_node.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/Attic/BKE_node.h.diff?r1=1.1.2.12&r2=1.1.2.13&cvsroot=bf-blender>
  1.18.2.4  +1 -0      blender/source/blender/blenkernel/SConscript
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/SConscript.diff?r1=1.18.2.3&r2=1.18.2.4&cvsroot=bf-blender>
  1.1.2.14  +33 -11    blender/source/blender/blenkernel/intern/Attic/node.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/Attic/node.c.diff?r1=1.1.2.13&r2=1.1.2.14&cvsroot=bf-blender>
  1.1.2.12  +61 -1     blender/source/blender/blenkernel/intern/Attic/node_shaders.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenkernel/intern/Attic/node_shaders.c.diff?r1=1.1.2.11&r2=1.1.2.12&cvsroot=bf-blender>
  1.214.2.32 +20 -0     blender/source/blender/blenloader/intern/readfile.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenloader/intern/readfile.c.diff?r1=1.214.2.31&r2=1.214.2.32&cvsroot=bf-blender>
  1.60.2.8  +19 -2     blender/source/blender/blenloader/intern/writefile.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/blenloader/intern/writefile.c.diff?r1=1.60.2.7&r2=1.60.2.8&cvsroot=bf-blender>
  1.38.2.5  +2 -0      blender/source/blender/include/BIF_interface.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/BIF_interface.h.diff?r1=1.38.2.4&r2=1.38.2.5&cvsroot=bf-blender>
  1.48.2.7  +2 -2      blender/source/blender/include/BIF_resources.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/BIF_resources.h.diff?r1=1.48.2.6&r2=1.48.2.7&cvsroot=bf-blender>
  1.69.2.7  +3 -0      blender/source/blender/include/butspace.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/butspace.h.diff?r1=1.69.2.6&r2=1.69.2.7&cvsroot=bf-blender>
  1.27.2.3  +2 -2      blender/source/blender/include/interface.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/interface.h.diff?r1=1.27.2.2&r2=1.27.2.3&cvsroot=bf-blender>
  1.20.2.2  +2 -0      blender/source/blender/makesdna/intern/makesdna.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/makesdna/intern/makesdna.c.diff?r1=1.20.2.1&r2=1.20.2.2&cvsroot=bf-blender>
  1.32.2.7  +1544 -1544blender/source/blender/src/blenderbuttons.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/blenderbuttons.c.diff?r1=1.32.2.6&r2=1.32.2.7&cvsroot=bf-blender>
  1.41.2.4  +191 -0    blender/source/blender/src/butspace.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/butspace.c.diff?r1=1.41.2.3&r2=1.41.2.4&cvsroot=bf-blender>
  1.235.2.11 +4 -3      blender/source/blender/src/buttons_editing.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/buttons_editing.c.diff?r1=1.235.2.10&r2=1.235.2.11&cvsroot=bf-blender>
  1.1.2.19  +17 -2     blender/source/blender/src/Attic/drawnode.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/Attic/drawnode.c.diff?r1=1.1.2.18&r2=1.1.2.19&cvsroot=bf-blender>
  1.1.2.16  +22 -5     blender/source/blender/src/Attic/editnode.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/Attic/editnode.c.diff?r1=1.1.2.15&r2=1.1.2.16&cvsroot=bf-blender>
  1.217.2.12 +162 -1    blender/source/blender/src/interface.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/interface.c.diff?r1=1.217.2.11&r2=1.217.2.12&cvsroot=bf-blender>
  1.48.2.7  +129 -2    blender/source/blender/src/interface_draw.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/interface_draw.c.diff?r1=1.48.2.6&r2=1.48.2.7&cvsroot=bf-blender>
  1.1.2.6   +6 -2      blender/source/blender/src/Attic/interface_icons.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/Attic/interface_icons.c.diff?r1=1.1.2.5&r2=1.1.2.6&cvsroot=bf-blender>



More information about the Bf-blender-cvs mailing list