00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016
00017
00025 #include <gobjconfig.h>
00026
00027 #ifndef gobj_lib_viewer_h
00028 #define gobj_lib_viewer_h
00029
00030 #include <gobj/decls.h>
00031 #include <gobj/id.h>
00032 #include <gobj/context.h>
00033 #include <gobj/stream.h>
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 #if 0
00039 }
00040 #endif
00041
00042
00049 Gj_Viewer* Gj_viewer_new(Gj_Ctx* ctx, Gj_View* view);
00050
00051
00058 Gj_Viewer* Gj_viewer_create(Gj_Ctx* ctx, Gj_Model* model, Gj_Stream* stream);
00059
00060
00067 Gj_Viewer* Gj_viewer_duplicate(Gj_Ctx* ctx, Gj_Viewer* viewer);
00068
00069
00076 int Gj_viewer_write(Gj_Ctx* ctx, Gj_Viewer* viewer, Gj_Stream* stream);
00077
00078
00085 int Gj_viewer_delete(Gj_Ctx* ctx, Gj_Viewer* ptr);
00086
00087
00094 int Gj_viewer_getParameterByName(Gj_Ctx* ctx, Gj_Viewer* viewer, char* name, Gj_Object** value);
00095
00096
00103 int Gj_viewer_getParameterByNumber(Gj_Ctx* ctx, Gj_Viewer* viewer, int index, Gj_Object** value);
00104
00105
00114 int Gj_viewer_setParameterByName(Gj_Ctx* ctx, Gj_Viewer* viewer, char* name, Gj_Object* value);
00115
00116
00125 int Gj_viewer_setParameterByNumber(Gj_Ctx* ctx, Gj_Viewer* viewer, int index, Gj_Object* value);
00126
00127
00136 Gj_Object* Gj_viewer_view(Gj_Ctx* ctx, Gj_Viewer* viewer, Gj_Object* obj);
00137
00138
00139 #ifdef GJ_STDIO
00140 #include <stdio.h>
00147 void Gj_viewer_dump(Gj_Ctx* ctx, Gj_Viewer* viewer, FILE* s, int* indent);
00148 #endif
00149
00150
00155 struct Gj_Viewer_struct {
00156
00157 Gj_View* view;
00158
00159 Gj_Object** parameters;
00160
00161 Gj_Viewer* last;
00162 Gj_Viewer* next;
00163
00164 };
00165
00166
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170
00171 #endif
00172