![]() |
FJMovieEditor Pré-Alpha
A GTK video editor for GNOME. Designed for Artists to do, special effects, compositing and animation.
|
00001 /* 00002 A GTK video editor Designed for Artists to do, special effects, compositing and animation. 00003 Copyright (C) 2012 Fabio J. Gonzalez 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 */ 00018 00029 #include <glib.h> 00030 00031 #ifndef SHARED_DATA_SYSTEM_H 00032 #define SHARED_DATA_SYSTEM_H 1 00033 00034 struct iShared; 00035 typedef struct iShared iShared; 00036 00041 #define SHARED(x) ((iShared*)x) 00042 00047 typedef void (*iSharedCallable)(iShared* s); 00048 00061 struct iShared { 00066 gint32 timeout; 00067 00073 gpointer data; 00074 00079 iShared* next; 00080 00085 iShared* prev; 00086 00099 gchar* name; 00100 00110 gpointer p; 00111 00123 iSharedCallable delete; 00124 00130 guint32 id; 00131 }; 00132 00150 gboolean shared_data_add(gchar* name, gpointer data); 00151 00157 gboolean shared_data_add_timeout(gchar* name, gchar* data, guint32 timeout); 00158 00167 gboolean shared_data_add_custom_timeout(gchar* name, gchar* data, 00168 iSharedCallable delete_function, guint32 timeout); 00169 00182 gboolean shared_data_add_custom(gchar* name, gpointer data, 00183 iSharedCallable delete_function); 00184 00200 gboolean shared_data_delete(gchar* name); 00201 00213 gpointer shared_data_get(gchar* name); 00214 00233 gboolean shared_data_set_number(gchar* name, guint32 number); 00234 00244 #define shared_data_number_get(number) \ 00245 (g_list_nth_data( g_list_first(cmain->shareds), number)) 00246 00247 #endif