Commit Graph

108 Commits

Author SHA1 Message Date
783213b8fc minor cleanup to weightpaint code, move color & weight blending into own function (was duplicated), also add enum for vpaint blend modes. 2012-01-15 06:29:08 +00:00
30e759c75b Fix all remaining unified paint settings uses of current Scene.
Things like brush size and strength accessors now take a scene
parameter rather than guessing about which Scene's unified paint
settings to use.

Setting the size/strength through RNA can now be done separately for
the brush or the UnifiedPaintSettings.

The UI python code required updating to check whether the
size/strength controls should use brush or UnifiedPaintSettings RNA.

Radial control also required some updates to switch between the two
RNA sources.
2012-01-14 23:54:51 +00:00
b2ae44dc41 Fix some RNA/scene issuess with unified paint settings.
Added RNA for the unified paint setting flags that matches the Brush
RNA. Fixed the getter/setter functions to avoid guessing which Scene's
UnifiedPaintSetting to use. The getter functions take a Scene pointer
now, the setter functions are removed in favor of a more explicit
approach through RNA:

Rather than RNA choosing whether a property's value is in the Brush or
in the UnifiedPaintSettings, there are now explicit properties for
both. The UI code has been modified accordingly to switch the toggle
buttons between affecting the Brush and the UnifiedPaintSettings.
2012-01-12 21:48:08 +00:00
937c5494c4 A (hopefully last) bunch of fixes and tweaks to UI label and messages (found while translating in french). 2011-12-04 17:36:13 +00:00
6bab3b0179 More UI messages fixes and tweaks (found while translating in french). 2011-11-22 00:14:59 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
348f947d80 tag unused rna args. 2011-05-31 02:14:25 +00:00
844d6f0ac0 rearranged previous patch to compile with C89
conversion to double probably not needed
better comments
2011-05-28 12:33:53 +00:00
Nathan Letwory
43385394ed Introduce vars before using them, otherwise compile fails (reminder: with C, present all
your vars at the begin of the scope _before any other statement_).
2011-05-28 12:11:39 +00:00
7154b424e9 Fix: The radial control would fail, in sculpt mode, to set size if object-space sizing was enabled.
This was caused because a small part of sculpt's radial control code did not make it into the new version.  The old code would set a new object-space size by scaling it proportional to how much the new screen-space size was changed.  

The solution I implement here is to do the same scaling inside the RNA callbacks.  This way, users of those properties do not have to worry about inconsistency.

I added a comment warning that brush_set_size, brush_set_unified_size, brush_unprojected_radius, and brush_set_unprojected_radius do not guarantee consistency because it is not always possible to precisely know what the new unprojected radius is in all contexts where you might set the size.  

I would implement the consistency check at the lower level (in those listed functions) but at this time I think it needs to be looked at to make sure that won't cause problems.  In addition, I am not sure that scaling by the ratio of change is strictly correct in all cases.

In any case, this at least fixes the immediate problem.
2011-05-28 11:30:21 +00:00
155d589333 add the property as an argument to enum item functions, not used yet but needed for dynamic python enums. 2011-05-26 13:38:16 +00:00
76d4c75881 - Description of texture angle sources and stroke methods
- Fixed bug with empty tooltip for some ENUMs
2011-05-01 08:50:09 +00:00
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
2d1e663440 patch [#26861] Spelling, Typos, and Grammar
- also fix own bad assert from yesterday & remove testing cmake print.
2011-04-11 01:18:25 +00:00
367cf47dd6 2.5 UI:
*Brush option "size" had different naming in 3D View / Image Editor.
Ported back name "Radius" to RNA (Brush and ParticleBrush) 

Discovered by Bart Crouch. Thanks!
2011-04-01 20:36:27 +00:00
d4a9bc1c21 while looking into adding back brush tool keys found mixed texture/image paint rna vars, using 'image paint' internally. 2011-04-01 04:22:30 +00:00
0e8d313f0e Fix #26218: texture paint
- Added option "Fixed Texture" to the UI. Because of strange reason,
  this feature was implemented but hidden from users.
  Would be cool, if somebody familiar with 2d texture paiting check.
- Fixed some issues in existing code of fixed texture paiting.
  It now handles brush radius and curve correct.
- Also fixed issue with paiting with texture from node tree - it used
  to be painted with regular brush color instead of texture.
2011-03-01 17:58:12 +00:00
Nathan Letwory
a47ca06502 doxygen: blender/makesrna tagged. 2011-02-27 20:20:01 +00:00
ce81cce75d Fix #26158: The layer hight of the layer tool cannot longer be controled by the strength of the brush, as it was in 2.49
Layer height used to be controlled with brush radius, quite confusing decision.
Added new property for brushes - height for adjusting affectable brush height
(it could be not only layer height in the future).
2011-02-25 16:54:09 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
4c35d8d5a8 rename IDPropertyGroup to PropertyGroup
also renamed IDProperty to PropertyGroupItem (these are not referenced for common usage and we already have 'Property' defined).
2011-02-16 02:51:56 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
f228899e49 Grease Pencil: Redo for sketching sessions now works 2011-01-04 05:57:05 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00
64347d81c4 rna renaming for 'Brush' struct 2010-08-18 03:56:14 +00:00
1f77f7b05a Brush/Paint internal changes
- remove brush array for each Paint struct, just use a single brush pointer.
- removed rna function based template filtering.
- filter brushes using a flag on the brush and the pointer poll function.
- set the brushes using a new operator WM_OT_context_set_id().

TODO
- remake startup.blend, currently brush groupings are lost.
- rewrite WM_OT_context_set_id() to use rna introspection.
2010-08-04 12:18:07 +00:00
fdae90fb1f Revert [#23093] Curve -> CurveMapping in brush. Don't use camel case for
UI text, and this makes it inconsistent with the property name too, Curve
is just fine...
2010-07-30 09:32:21 +00:00
648f40f409 bugfix [#22660] Text Boxes properties are not animateable.
suggestion [#23093] Curve -> CurveMapping in brush...
2010-07-30 06:48:18 +00:00
63791e03d6 * Partially revert r30763, where PROP_IMAGEPATH was added.
* Brush icon property back to not using image browser until a better solution is decided on.
2010-07-26 23:40:46 +00:00
8fb499c34f * Added a new RNA subtype, PROP_IMAGEPATH. It's the same as PROP_FILEPATH, but for images only.
* Changed UI code to display image browser for PROP_IMAGEPATH
* Set the icon_filepath RNA property for brushes to use PROP_IMAGEPATH
* Changed preview icon drawing to ignore unset icons
* Fixed const warnings in brush RNA
2010-07-26 18:37:47 +00:00
9941b7d52d * was suggested I combine all the direction modes into a single enumeration by using RNA_def_property_enum_funcs 2010-07-26 05:25:09 +00:00
ec19c7dffc == Sculpt ==
Fixed brush icons loading slowly

* Changed brush icon property from an enum to a flag that toggles whether a custom file is used for the brush icon
* Changed get_brush_icon to only handle loading external icons, built-ins are handled through the regular icon system
* Modified preview icon drawing to allow built-in icons
* When not using a custom icon, a default icon is selected based on the current tool

TODO:
* Allowing preview to show built-in icons makes the brush texture selector look ugly when nothing is selected. As discussed on IRC though, the nothing-selected state needs to be clarified anyway; I'll address this in another commit
* Use image browser when selecting a custom icon
* Selecting the default icon is ugly (uses the active object's mode), this can be fixed by making brushes know which paint mode they are part of
2010-07-26 04:00:09 +00:00
5b1231849c * Factored out some duplicated code from rna_brush into paint.c, added a new function that checks whether a brush is used by that paint struct
* Fixed an improperly initialized variable in BKE_previewing_free_id
* Added an RNA access function to get the icon associated with a value
2010-07-26 02:35:43 +00:00
cc061d075f == Sculpt ==
More icon work

* Added icon defines for all the brushes
* Load all the brush icons after loading regular Blender icons
* Added the brush icons to their respective tool enums in RNA
* Fixed a couple unused-variable warnings
2010-07-25 22:23:40 +00:00
ba30ac1230 == Sculpt ==
Minor sculpt cleanups

* Moved the (previously extern) declarations of the brush icon data to ED_datafiles.h
* Set sculpt tool RNA to alphabetical order, quite a long list now
2010-07-25 22:05:52 +00:00
2a02632882 * removing the notifiers I added until I can discover the most lightweight way to achieve the same thing 2010-07-22 20:18:42 +00:00
3b5b761a56 == Sculpt/Paint Fixes ==
* Fix: unify strength and size did work consistently with other paint modes
* Fix: If [ and ] keys were used to resize a brush it was not possible to increase the size of the brush if it went under 10 pixels
* Fix: Made interpretation of brush size consistent across all modes, Texture/Image paint interpreted brush size as the diameter while all the other modes interpret it as radius
* Fix: The default spacing for vertex paint brushes was 3%, should be 10%
* Fix: due to fixes to unified strength, re-enabled 'Unify Size' by default
* Fix: Unified size and strength were stored in UserPrefs, moved this to ToolSettings
* Fix: The setting of pressure sensitivity was not unified when strength or size were unified.  Now the appropriate pressure sensitivity setting is also unified across all brushes when corresponding unification option is selected
* Fix: When using [ and ] to resize the brush it didn't immediately redraw
* Fix: fkey resizing/"re-strength-ing" was not working consistently accross all paint modes due to only sculpt mode having full support for unified size and strength, now it works properly.
* Fix: other paint modes did expose the ability to have a  custom brush colors, so I added the small bit of code to allow it.  Note: I made all of the other paint mode brushes white.  Note2: Actually, probably want to make the paint modes use the selected color for painting instead of a constant brush color.
* I had removed OPTYPE_REGISTER from some Sculpt/Paint operators but in this commit I add them back.  I'm not completely sure what this option does so I don't want to disturb it for now.
2010-07-22 18:56:46 +00:00
015ecdee29 * Polish preset did not enable tablet pressure for strength
* Turned off 'Front-Face Only' for all brushes, it needs more testing
* Added brush icons for other paint modes
* Moved 'tool' panel to bottom of all paint modes
* Moved 'appearance' panel to be next to bottom
* Moved brush selector panel to top of all modes
* Closed all panels except the brush selector panel
* Turned off X symmetry
2010-07-21 00:57:25 +00:00
e8d45a8c40 * typo fix 2010-07-20 13:43:09 +00:00
886ce5a351 * can use file for brush icon
* fixed memory leaks
* moved some of the brush icon code around
* the update of the icon after a change is more responsive
2010-07-20 13:42:27 +00:00
b618a335f5 * Made the default sculpt icons an internal part of the executable
* Default icons can be selected from a menu
* Option to make a custom icon from a file is present but the UI is disabled because of a mysterious crash
* New startup.blend that has the appropriate icons selected
2010-07-20 11:32:30 +00:00
80e6323646 * Images for brush icons are now reloaded when they are needed from an external file
* First, try to load the file from the given filename.  This is either absolute or relative to the current .blend
* If file is found using the given filename directly then look for the file in the datafiles/brushicons directory (local, user, or system).

* Note: This commit does not update the .blend to reference the default icons
* Note: This commit does not make sure that the build system copies the default icons to the 2.52/datafiles/brushicons directory
2010-07-20 02:18:10 +00:00
5505697ac5 Merge GSOC Sculpt Branch: 28499-30319
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins
See log of that branch for details.
2010-07-14 14:11:03 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
391526c20e option to lock alpha while projection painting.
(commit 27538 by Campbell from render25 branch)
2010-03-16 18:05:53 +00:00
cb85779da9 Change airbrush rate min/max to allow lower values and add separate
soft/hard limits for even lower/higher ones.
2010-03-08 14:31:27 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
78faeb73b8 Operation Dot-Kill finished 2010-02-11 01:11:52 +00:00