annotate libvisual/lv_object.c @ 25:66610fc7de2d trunk

[svn] Remove queue.png from build.list. *grumble*
author nenolod
date Tue, 25 Oct 2005 17:50:25 -0700
parents 0db4a1dc75c4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
1 /* Libvisual - The audio visualisation framework.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
2 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
3 * Copyright (C) 2004, 2005 Dennis Smit <ds@nerds-incorporated.org>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
4 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
5 * Authors: Dennis Smit <ds@nerds-incorporated.org>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
6 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
7 * $Id:
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
8 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
10 * it under the terms of the GNU Lesser General Public License as
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
11 * published by the Free Software Foundation; either version 2.1
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
12 * of the License, or (at your option) any later version.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
13 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
17 * GNU Lesser General Public License for more details.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
18 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
19 * You should have received a copy of the GNU Lesser General Public License
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
22 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
23
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
24 #include <stdio.h>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
25 #include <stdlib.h>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
26 #include <unistd.h>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
27 #include <string.h>
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
28
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
29 #include "lv_log.h"
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
30 #include "lv_object.h"
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
31
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
32
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
33 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
34 * @defgroup VisObject VisObject
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
35 * @{
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
36 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
37
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
38 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
39 * This function is a global VisListDestroyerFunc handler that unrefs VisObjects.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
40 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
41 * @param data Pointer to the VisObject that needs to be unrefed
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
42 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
43 void visual_object_list_destroyer (void *data)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
44 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
45 if (data == NULL)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
46 return;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
47
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
48 visual_object_unref (VISUAL_OBJECT (data));
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
49 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
50
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
51 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
52 * Creates a new VisObject structure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
53 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
54 * @return A newly allocated VisObject, or NULL on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
55 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
56 VisObject *visual_object_new ()
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
57 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
58 VisObject *object;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
59
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
60 object = visual_mem_new0 (VisObject, 1);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
61
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
62 object->allocated = TRUE;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
63
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
64 visual_object_ref (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
65
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
66 return object;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
67 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
68
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
69 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
70 * Frees the VisObject. This does not destroy the object itself but only releases the memory it's using.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
71 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
72 * @param object Pointer to a VisObject that needs to be freed.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
73 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
74 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL, -VISUAL_ERROR_OBJECT_NOT_ALLOCATED or error values
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
75 * returned by visual_mem_free on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
76 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
77 int visual_object_free (VisObject *object)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
78 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
79 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
80 visual_log_return_val_if_fail (object->allocated == TRUE, -VISUAL_ERROR_OBJECT_NOT_ALLOCATED);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
81
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
82 return visual_mem_free (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
83 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
84
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
85 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
86 * Destroys the VisObject. This does destruct the VisObject
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
87 * by using the dtor function if it's set and also frees the memory
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
88 * it's using. It's valid to pass non allocated VisObjects,
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
89 * the function will recognize this by a flag that is set in the VisObject.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
90 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
91 * @param object Pointer to a VisObject that needs to be destroyed.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
92 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
93 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL or error values returned byvisual_object_free on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
94 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
95 int visual_object_destroy (VisObject *object)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
96 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
97 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
98
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
99 if (object->dtor != NULL)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
100 object->dtor (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
101
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
102 if (object->allocated == TRUE)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
103 return visual_object_free (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
104
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
105 return VISUAL_OK;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
106 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
107
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
108 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
109 * Initializes a VisObject for usage. This also ups the refcount by one, so this function really is for initial object
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
110 * creation.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
111 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
112 * @param object Pointer to a VisObject that is initialized.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
113 * @param allocated Flag to indicate if the VisObject itself is an allocated piece of memory.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
114 * @param dtor The destructor function, that is used to destroy the VisObject when it loses all references or when it's
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
115 * being destroyed.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
116 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
117 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
118 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
119 int visual_object_initialize (VisObject *object, int allocated, VisObjectDtorFunc dtor)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
120 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
121 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
122
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
123 object->allocated = allocated;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
124 object->dtor = dtor;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
125
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
126 visual_object_ref (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
127
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
128 return VISUAL_OK;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
129 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
130
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
131 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
132 * Increases the reference counter for a VisObject.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
133 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
134 * @param object Pointer to a VisObject in which the reference count is increased.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
135 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
136 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
137 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
138 int visual_object_ref (VisObject *object)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
139 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
140 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
141
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
142 object->refcount++;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
143
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
144 return VISUAL_OK;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
145 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
146
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
147 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
148 * Decreases the reference counter for a VisObject. If the reference counter hits zero it will
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
149 * destruct the object using visual_object_destroy.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
150 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
151 * @see visual_object_destroy
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
152 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
153 * @param object Pointer to a VisObject in which the reference count is decreased.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
154 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
155 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL or error values returned by
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
156 * visual_object_destroy on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
157 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
158 int visual_object_unref (VisObject *object)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
159 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
160 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
161
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
162 object->refcount--;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
163
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
164 /* No reference left, start dtoring of this VisObject */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
165 if (object->refcount <= 0) {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
166 object->refcount = 0;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
167
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
168 return visual_object_destroy (object);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
169 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
170 return VISUAL_OK;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
171 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
172
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
173 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
174 * Sets the private data pointer to a VisObject.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
175 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
176 * @param object Pointer to a VisObject to which the private data is set.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
177 * @param priv Pointer to the private data that is set to the VisObject.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
178 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
179 * @return VISUAL_OK on succes, -VISUAL_ERROR_OBJECT_NULL on failure.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
180 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
181 int visual_object_set_private (VisObject *object, void *priv)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
182 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
183 visual_log_return_val_if_fail (object != NULL, -VISUAL_ERROR_OBJECT_NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
184
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
185 object->priv = priv;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
186
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
187 return VISUAL_OK;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
188 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
189
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
190 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
191 * Retrieves the private data from a VisObject.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
192 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
193 * @param object Pointer to a VisObject from which the private data is requested.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
194 *
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
195 * @return Pointer to the private data or NULL.
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
196 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
197 void *visual_object_get_private (VisObject *object)
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
198 {
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
199 visual_log_return_val_if_fail (object != NULL, NULL);
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
200
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
201 return object->priv;
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
202 }
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
203
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
204 /**
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
205 * @}
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
206 */
0db4a1dc75c4 [svn] libvisual.
nenolod
parents:
diff changeset
207