/*
- * Copyright (C) 2009 Andy Spencer <spenceal@rose-hulman.edu>
+ * Copyright (C) 2009-2010 Andy Spencer <andy753421@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#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;
+ GMutex *sphere_lock;
guint sm_source[2];
+ guint ue_source;
/* 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_set_height_func(GisOpenGL *self, GisTile *tile,
- RoamHeightFunc height_func, gpointer user_data, gboolean update);
-
-void gis_opengl_clear_height_func(GisOpenGL *self);
-
-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, GisPrefs *prefs);
#endif