ddee0931b8
RNA: use bool for boolean RNA types
...
We were using int's for bool arguments in BKE,
just to avoid having wrapper functions.
2018-07-01 15:57:59 +02:00
af36dd4664
Cleanup: trailing newlines
2018-06-29 08:02:49 +02:00
df237b964b
PyAPI: add ImBuf.copy
...
DD348 by @kilon w/ edits.
2018-06-26 09:31:57 +02:00
a69f985f40
PyAPI: move deep-copy args check to py_capi_utils
2018-06-26 09:31:57 +02:00
cbf5c738d6
Cleanup: get rid of last G.main's in bpy area.
...
Essentially 'validating' them as G_MAIN, and adding some asserts in
dubious places, that handled IDs are actually in G_MAIN.
2018-06-22 11:37:47 +02:00
409cfba1a3
Python API: Initial 'imbuf' API
...
Support only basic operations new/load/write & resize.
Add now so we can extend as needed & more easily accept patches.
2018-06-07 08:00:13 +02:00
7719c11006
Cleanup: strip trailing space in Python module
2018-06-04 08:54:40 +02:00
d3b3df0371
IDProp API: add native C repr function
...
Was using Python which wasn't very efficient (even for logging).
2018-05-05 14:41:25 +02:00
d2591e5c2d
IDProp Py API: Add default argument to pop
...
Match dict.pop behavior.
2018-05-05 09:48:06 +02:00
f3c5b0394f
IDProp API: expose repr utility function
...
Useful for logging properties passed to operators.
2018-05-04 07:29:05 +02:00
31f2a6755d
PyAPI: Add PyC_Tuple_Pack_F64 utility
2018-04-02 19:48:34 +02:00
017c731cf3
Logging: use for Python API
...
Adds categories "bpy.context" & "bpy.rna"
2018-04-02 13:13:57 +02:00
0b325ba201
PyAPI: PyC_Err_PrintWithFunc utility function
...
Move function error printing utility into py_capi_utils.
2017-11-29 13:41:10 +11:00
0a435d49ba
Fix T53074: Use the pybuffer->itemsize to get the corresponding GLtype
...
It seems that `typestr` does not always define the final size of the element. And it varies by operating system.
Then use the `typestr` only to know the itemtype is `float` type or not.
2017-10-17 12:06:52 -02:00
c454d816a9
Cleanup: style
2017-10-06 16:56:41 +11:00
08f728a3e9
Cleanup: redundant casts
2017-10-04 16:52:55 +11:00
92272f56e6
PyAPI: fast keyword parsing for __import__
...
No functional changes.
2017-10-04 15:54:41 +11:00
1f18523edf
Cleanup: switch fall-through warning
2017-09-28 13:41:54 +10:00
5c6e3ff497
bgl module: extend gl_buffer_type_from_py_format_char function to work with more string formats
...
Only basic types of character codes were being used
2017-09-27 16:07:06 -03:00
6c98859b77
Cleanup: warning
2017-09-28 02:04:58 +10:00
2de5e14f53
bgl module: Interpret a buffer as a bgl.Buffer
...
Differential Revision: https://developer.blender.org/D2857
2017-09-27 11:20:00 -03:00
60956397ca
Cleanup: BLI_utildefines prefix for header-only libs
...
This allows to have different macro headers without them sharing
similar names to regular C modules.
2017-09-19 20:16:05 +10:00
b9513706cb
Cleanup: mark VA_NARGS_COUNT as public
...
Was already used in two other headers, remove underscore prefix.
2017-08-23 20:16:17 +10:00
37cfa44222
Cleanup: move variadic defines to their own header
...
So we can use in headers without pulling in many other defines.
2017-08-23 20:16:17 +10:00
55861cb234
PyAPI: avoid instantiating args twice in macro
...
Would cause problems if args included function calls.
2017-08-23 18:48:32 +10:00
691ed21842
PyAPI: replace PyC_FromArray with typed functions
...
This was meant to be generic but introduced possible type errors
and unnecessary complication.
Replace with typed PyC_Tuple_PackArray_* functions.
Also add PyC_Tuple_Pack_* macro which replaces some uses of
Py_BuildValue, with the advantage of not having to parse a string.
2017-08-22 18:10:57 +10:00
81a76469ca
Fix for recent fix in fc890cd, cstdint is c++11 only so don't use it yet.
2017-08-21 19:05:17 +02:00
e27a59d411
Replace BLI_INLINE w/ Py_LOCAL_INLINE for Python
...
Recent inclusion caused build error with the BGE.
2017-08-20 21:14:33 +10:00
46cf33bf01
PyAPI: Make use of PyC_LongAs... API
...
Avoids setting exceptions inline,
also use Matrix_ParseAny for bmesh.ops.
Some inline exceptions are kept because they show useful details.
2017-08-20 15:49:10 +10:00
a10a7f42de
PyAPI: Integer conversion functions
...
Python's C-API doesn't provide functions to get
int's at specific integer sizes.
Leaving the caller to check for overflow,
which ended up being ignored in practice.
Add API functions that convert int/uint 8/16/32/64, also bool.
Raising overflow exception for unsupported ranges.
2017-08-20 15:39:08 +10:00
3d1e5bca88
PyAPI: don't use deprecated PyModule_GetFilename
...
Allows compiling with newer Python versions.
Also add missing decref when compiling as a py-module.
2017-07-17 12:53:55 +10:00
a7b3047cef
Datablock ID Properties
...
The absence of datablock properties "will certainly be resolved soon as the need for them is becoming obvious" said the [[http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.67/Python_Nodes |Python Nodes release notes]]. So this patch allows Python scripts to create ID Properties which reference datablocks.
This functionality is implemented for `PointerProperty` and now such properties can be created with Python.
In addition to the standard update callback, `PointerProperty` can have a `poll` callback (standard RNA) which is useful for search menus. For details see the test included in this patch.
Original author: @artfunkel
Alexander (Blend4Web Team)
Reviewers: brecht, artfunkel, mont29, campbellbarton
Reviewed By: mont29, campbellbarton
Subscribers: jta, sergey, campbellbarton, wisaac, poseidon4o, mont29, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov, fjuhec, sharlybg, cardboard, duarteframos, blueprintrandom, a.romanov, BYOB, disnel, aditiapratama, bliblubli, dfelinto, lukastoenne
Maniphest Tasks: T37754
Differential Revision: https://developer.blender.org/D113
2017-04-13 12:33:05 +03:00
73a9ff0d2d
PyAPI: Fast buffer access to id property arrays
...
Support Python's buffer protocol for ID-properties.
2017-04-10 21:12:02 +10:00
e392bb4937
PyAPI: add BPY_execute_string_as_string
...
Utility to execute a string and get the resulting string,
matching BPY_execute_string_as_number.
Not used just yet but generally useful function.
2017-03-18 12:19:03 +11:00
d863b5182e
Cleanup: use return args last and 'r_' prefix.
2017-03-18 09:39:36 +11:00
a96c9def6f
PyAPI: minor optimization for dictionary creation
...
Pass size when its known.
2016-07-31 17:22:04 +10:00
e97ab8347a
PyAPI: fix leak in unlikely case converting idprops fail
2016-07-31 16:59:08 +10:00
2dfc954c4a
PyAPI: Add PyC_UnicodeAsByteAndSize
...
Read the string length from Python directly when assigning id-properties
2016-07-31 16:52:44 +10:00
409316434c
Docs: add initial idprop.types API docs
2016-07-31 15:40:40 +10:00
c885cea7bb
Cleanup: spelling
2016-07-16 17:48:57 +10:00
f5e020a7a6
PyAPI: fix memory leaks in dictionary assignment
...
Thanks to Kévin Dietrich for spotting driver leak,
checked other uses of PyDict_SetItem and found more.
2016-07-14 17:30:52 +10:00
cca57bf04c
PyAPI: Use module names on initializaton
...
No need to re-convert from C strings to PyUnicode.
2016-07-14 15:51:56 +10:00
0d4961cc52
Fix typo in bgl.Buffer report function
...
A GL_INT buffer was reported as GL_BYTE.
2016-07-02 18:38:05 +02:00
21fddf7d1c
C99/C++11: replace deprecated finite() by isfinite().
2016-05-17 21:39:16 +02:00
c12e1a09ec
BLF: use float vector passing color args
2016-04-22 20:02:41 +10:00
b8417501ab
Cleanup: suspicious use of commas
2016-03-04 16:38:41 +11:00
0ffc603553
Cleanup: Py API naming
...
Use BPY_execute_* prefix for all Python execution commands
2015-12-31 21:20:41 +11:00
41a2b97c30
Minor changes needed for standalone mathutils
2015-12-07 11:09:00 +11:00
d7d1fc5c74
Cleanup: use correct name in prints
2015-11-25 23:54:39 +11:00
00afa02528
PyAPI: remove workaround for Py3.4 bug
2015-11-25 21:54:02 +11:00