1
+ #ifndef PHP_MIX_CHUNK_H
2
+ #define PHP_MIX_CHUNK_H
1
3
2
- /** {{{ Mix_Chunk */
3
- static zend_class_entry * mix_chunk_ce = NULL ;
4
- static zend_object_handlers php_mix_chunk_object_handlers ;
4
+ #include "php_sdl_mixer.h"
5
5
6
6
typedef struct _php_mix_chunk_object {
7
7
Mix_Chunk * mix_chunk ;
8
8
zend_object std ;
9
9
} php_mix_chunk_object ;
10
10
11
- static php_mix_chunk_object * php_mix_chunk_object_from_zend_object (zend_object * zobj )
12
- {
13
- return ((php_mix_chunk_object * )(zobj + 1 )) - 1 ;
14
- }
11
+ php_mix_chunk_object * php_mix_chunk_object_from_zend_object (zend_object * zobj );
12
+ zend_object * php_mix_chunk_object_to_zend_object (php_mix_chunk_object * obj );
15
13
16
- static zend_object * php_mix_chunk_object_to_zend_object (php_mix_chunk_object * obj )
17
- {
18
- return ((zend_object * )(obj + 1 )) - 1 ;
19
- }
14
+ Mix_Chunk * php_mix_chunk_from_zval_p (zval * zp );
15
+ void mix_chunk_to_zval (Mix_Chunk * mix_chunk , zval * zp );
16
+ zend_object * php_mix_chunk_object_create (zend_class_entry * ce );
20
17
21
- Mix_Chunk * php_mix_chunk_from_zval_p (zval * zp )
22
- {
23
- return php_mix_chunk_object_from_zend_object (Z_OBJ_P (zp ))-> mix_chunk ;
24
- }
18
+ void php_mix_chunk_object_free (zend_object * zobj );
19
+ zend_function * php_mix_chunk_object_get_constructor (zend_object * object );
25
20
21
+ void php_mix_chunk_minit_helper (void );
26
22
27
- static inline void mix_chunk_to_zval (Mix_Chunk * mix_chunk , zval * zp )
28
- {
29
- object_init_ex (zp , mix_chunk_ce );
30
- php_mix_chunk_object * php_mix_chunk = php_mix_chunk_object_from_zend_object (Z_OBJ_P (zp ));
31
- php_mix_chunk -> mix_chunkc = mix_chunk ;
32
- }
33
-
34
- static zend_object * php_mix_chunk_object_create (zend_class_entry * ce )
35
- {
36
- php_mix_chunk_object * obj = zend_object_alloc (sizeof (php_mix_chunk_object ), ce );
37
- zend_object * zobj = php_mix_chunk_object_to_zend_object (obj );
38
-
39
- obj -> mix_chunk = NULL ;
40
- zend_object_std_init (zobj , ce );
41
- object_properties_init (zobj , ce );
42
- zobj -> handlers = & php_mix_chunk_object_handlers ;
43
-
44
- return zobj ;
45
- }
46
-
47
- static void php_mix_chunk_object_free (zend_object * zobj )
48
- {
49
- php_mix_chunk_object * obj = php_mix_chunk_object_from_zend_object (zobj );
50
-
51
- if (obj -> mix_chunk ) {
52
- // @todo implement free es. TTF_CloseFont(obj->mix_chunk);
53
- obj -> mix_chunk = NULL ;
54
- }
55
-
56
- zend_object_std_dtor (zobj );
57
- }
58
-
59
- static zend_function * php_mix_chunk_object_get_constructor (zend_object * object )
60
- {
61
- zend_throw_error (NULL , "You cannot initialize a Mix_Chunk object except through helper functions" );
62
- return NULL ;
63
- }
64
-
65
- static void php_mix_chunk_minit_helper (void )
66
- {
67
- mix_chunk_ce = register_class_Mix_Chunk ();
68
- mix_chunk_ce -> create_object = php_mix_chunk_object_create ;
69
-
70
- memcpy (& php_mix_chunk_object_handlers , & std_object_handlers , sizeof (zend_object_handlers ));
71
- php_mix_chunk_object_handlers .clone_obj = NULL ;
72
- php_mix_chunk_object_handlers .free_obj = php_mix_chunk_object_free ;
73
- php_mix_chunk_object_handlers .get_constructor = php_mix_chunk_object_get_constructor ;
74
- php_mix_chunk_object_handlers .offset = XtOffsetOf (php_mix_chunk_object , std );
75
- }
76
-
77
- /** }}} */
23
+ #endif
0 commit comments