~ubuntu-branches/ubuntu/gutsy/blender/gutsy-security

« back to all changes in this revision

Viewing changes to source/blender/python/api2_2x/gen_library.h

  • Committer: Bazaar Package Importer
  • Author(s): Florian Ernst
  • Date: 2007-05-17 11:47:59 UTC
  • mfrom: (1.2.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20070517114759-yp4ybrnhp2u7pk66
Tags: 2.44-1
* New upstream release.
* Drop debian/patches/01_64bits_stupidity, not needed anymore: as of this
  version blender is 64 bits safe again. Adjust README.Debian accordingly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
 * $Id: gen_library.h,v 1.2 2007/03/26 02:10:22 campbellbarton Exp $
 
3
 *
 
4
 * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU General Public License
 
8
 * as published by the Free Software Foundation; either version 2
 
9
 * of the License, or (at your option) any later version. The Blender
 
10
 * Foundation also sells licenses for use in proprietary software under
 
11
 * the Blender License.  See http://www.blender.org/BL/ for information
 
12
 * about this.
 
13
 *
 
14
 * This program is distributed in the hope that it will be useful,
 
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
 * GNU General Public License for more details.
 
18
 *
 
19
 * You should have received a copy of the GNU General Public License
 
20
 * along with this program; if not, write to the Free Software Foundation,
 
21
 * Inc., 59 Temple Place - Suite 330, Boston, MA        02111-1307, USA.
 
22
 *
 
23
 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
 
24
 * All rights reserved.
 
25
 *
 
26
 * This is a new part of Blender.
 
27
 *
 
28
 * Contributor(s): Michel Selten, Willian P. Germano, Alex Mole, Joseph Gilbert
 
29
 *
 
30
 * ***** END GPL/BL DUAL LICENSE BLOCK *****
 
31
*/
 
32
 
 
33
#ifndef EXPP_gen_library_h
 
34
#define EXPP_gen_library_h
 
35
 
 
36
#include <Python.h>
 
37
 
 
38
#include "DNA_ID.h"
 
39
#include "DNA_listBase.h"
 
40
 
 
41
/* ID functions for all libdata */
 
42
#define GENERIC_LIB_GETSETATTR \
 
43
        {"name",\
 
44
         (getter)GenericLib_getName, (setter)GenericLib_setName,\
 
45
         "name",\
 
46
         NULL},\
 
47
        {"lib",\
 
48
         (getter)GenericLib_getLib, (setter)NULL,\
 
49
         "external library path",\
 
50
         NULL},\
 
51
        {"users",\
 
52
         (getter)GenericLib_getUsers, (setter)NULL,\
 
53
         "user count",\
 
54
         NULL},\
 
55
        {"fakeUser",\
 
56
         (getter)GenericLib_getFakeUser, (setter)GenericLib_setFakeUser,\
 
57
         "fake user state",\
 
58
         NULL},\
 
59
        {"properties",\
 
60
         (getter)GenericLib_getProperties, (setter)NULL,\
 
61
         "properties",\
 
62
         NULL},\
 
63
        {"tag",\
 
64
         (getter)GenericLib_getTag, (setter)GenericLib_setTag,\
 
65
         "temproary tag",\
 
66
         NULL}
 
67
 
 
68
/* Dummy struct for getting the ID from a libdata BPyObject */
 
69
typedef struct {
 
70
        PyObject_HEAD           /* required python macro */
 
71
        ID *id;
 
72
} BPy_GenericLib;
 
73
 
 
74
int GenericLib_setName( void *self, PyObject *value );
 
75
PyObject *GenericLib_getName( void *self );
 
76
PyObject *GenericLib_getFakeUser( void *self );
 
77
int GenericLib_setFakeUser( void *self, PyObject *value );
 
78
PyObject *GenericLib_getTag( void *self );
 
79
int GenericLib_setTag( void *self, PyObject *value );
 
80
PyObject *GenericLib_getLib( void *self );
 
81
PyObject *GenericLib_getUsers( void *self );
 
82
PyObject *GenericLib_getProperties( void *self );
 
83
 
 
84
/* use this for oldstyle somedata.getName("name") */
 
85
PyObject * GenericLib_setName_with_method( void *self, PyObject *value ); 
 
86
 
 
87
int GenericLib_assignData(PyObject *value, void **data, void **ndata, short refcount, short type, short subtype);
 
88
short GenericLib_getType(PyObject * pydata);
 
89
 
 
90
/* Other ID functions */
 
91
ID                      *GetIdFromList( ListBase * list, char *name );
 
92
PyObject        *GetPyObjectFromID( ID * id );
 
93
long GenericLib_hash(PyObject * pydata);
 
94
#endif                          /* EXPP_gen_library_h */