#ifndef __GIS_OPENGL_H__
#define __GIS_OPENGL_H__
-#include <config.h>
#include <gtk/gtk.h>
#include <gtk/gtkgl.h>
#include <glib-object.h>
-#include "gis-view.h"
-#include "gis-world.h"
-
/* Type macros */
#define GIS_TYPE_OPENGL (gis_opengl_get_type())
#define GIS_OPENGL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GIS_TYPE_OPENGL, GisOpenGL))
typedef struct _GisOpenGL GisOpenGL;
typedef struct _GisOpenGLClass GisOpenGLClass;
+#include "gis-view.h"
+#include "gis-world.h"
+#include "gis-plugin.h"
+#include "roam.h"
+#include "wms.h"
+
struct _GisOpenGL {
- GObject parent_instance;
+ GtkDrawingArea parent_instance;
/* instance members */
- GisWorld *world;
- GisView *view;
- GtkDrawingArea *drawing;
- GList *plugins;
+ GisWorld *world;
+ GisView *view;
+ GisPlugins *plugins;
+ RoamSphere *sphere;
+ WmsInfo *bmng;
+ WmsInfo *srtm;
+ guint sm_source;
};
struct _GisOpenGLClass {
- GObjectClass parent_class;
+ GtkDrawingAreaClass parent_class;
/* class members */
};
GType gis_opengl_get_type(void);
/* Methods */
-GisOpenGL *gis_opengl_new(GisWorld *world, GisView *view, GtkDrawingArea *drawing);
+GisOpenGL *gis_opengl_new(GisWorld *world, GisView *view, GisPlugins *plugins);
+
+void gis_opengl_center_position(GisOpenGL *gis, gdouble lat, gdouble lon, gdouble elev);
+
+void gis_opengl_redraw(GisOpenGL *gis);
-void gis_opengl_redraw(GisOpenGL *gis);
-void gis_opengl_begin(GisOpenGL *gis);
-void gis_opengl_end(GisOpenGL *gis);
-void gis_opengl_flush(GisOpenGL *gis);
+void gis_opengl_begin(GisOpenGL *gis);
+void gis_opengl_end(GisOpenGL *gis);
+void gis_opengl_flush(GisOpenGL *gis);
#endif