#ifndef __GIS_OPENGL_H__
#define __GIS_OPENGL_H__
-#include <gtk/gtk.h>
-#include <gtk/gtkgl.h>
#include <glib-object.h>
/* Type macros */
typedef struct _GisOpenGL GisOpenGL;
typedef struct _GisOpenGLClass GisOpenGLClass;
-#include "gis-view.h"
-#include "gis-world.h"
-#include "gis-plugin.h"
-#include "gis-tile.h"
+#include "gis-viewer.h"
#include "roam.h"
struct _GisOpenGL {
- GtkDrawingArea parent_instance;
+ GisViewer parent_instance;
/* instance members */
- GisWorld *world;
- GisView *view;
- GisPlugins *plugins;
+ GTree *objects;
RoamSphere *sphere;
- guint sm_source;
+ GMutex *sphere_lock;
+ guint sm_source[2];
/* for testing */
gboolean wireframe;
};
struct _GisOpenGLClass {
- GtkDrawingAreaClass parent_class;
+ GisViewerClass parent_class;
/* class members */
};
GType gis_opengl_get_type(void);
/* Methods */
-GisOpenGL *gis_opengl_new(GisWorld *world, GisView *view, GisPlugins *plugins);
-
-void gis_opengl_center_position(GisOpenGL *opengl,
- gdouble lat, gdouble lon, gdouble elev);
-
-void gis_opengl_render_tile(GisOpenGL *opengl, GisTile *tile);
-
-void gis_opengl_render_tiles(GisOpenGL *opengl, GisTile *root);
-
-void gis_opengl_redraw(GisOpenGL *opengl);
-
-void gis_opengl_begin(GisOpenGL *opengl);
-void gis_opengl_end(GisOpenGL *opengl);
-void gis_opengl_flush(GisOpenGL *opengl);
+GisViewer *gis_opengl_new(GisPlugins *plugins);
#endif