]> Pileus Git - grits/blobdiff - src/objects/grits-marker.h
Add ortho flag to GritsMarker
[grits] / src / objects / grits-marker.h
index fac46800692877febab28628bbf155dc0f0ae8fa..0e44901754eb79abd9633ab4bc2d0d5b31a2043c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef __GIS_MARKER_H__
-#define __GIS_MARKER_H__
+#ifndef __GRITS_MARKER_H__
+#define __GRITS_MARKER_H__
 
 #include <glib.h>
 #include <glib-object.h>
 #include <cairo.h>
-#include "gis-object.h"
-
-/* GisMarker */
-#define GIS_TYPE_MARKER            (gis_marker_get_type())
-#define GIS_MARKER(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),   GIS_TYPE_MARKER, GisMarker))
-#define GIS_IS_MARKER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),   GIS_TYPE_MARKER))
-#define GIS_MARKER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST   ((klass), GIS_TYPE_MARKER, GisMarkerClass))
-#define GIS_IS_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE   ((klass), GIS_TYPE_MARKER))
-#define GIS_MARKER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),   GIS_TYPE_MARKER, GisMarkerClass))
-
-typedef struct _GisMarker      GisMarker;
-typedef struct _GisMarkerClass GisMarkerClass;
-
-struct _GisMarker {
-       GisObject  parent_instance;
-       gint       xoff, yoff;
+#include "grits-object.h"
+
+/* GritsMarker */
+#define GRITS_TYPE_MARKER            (grits_marker_get_type())
+#define GRITS_MARKER(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),   GRITS_TYPE_MARKER, GritsMarker))
+#define GRITS_IS_MARKER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),   GRITS_TYPE_MARKER))
+#define GRITS_MARKER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST   ((klass), GRITS_TYPE_MARKER, GritsMarkerClass))
+#define GRITS_IS_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE   ((klass), GRITS_TYPE_MARKER))
+#define GRITS_MARKER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),   GRITS_TYPE_MARKER, GritsMarkerClass))
+
+typedef struct _GritsMarker      GritsMarker;
+typedef struct _GritsMarkerClass GritsMarkerClass;
+
+#define GRITS_MARKER_DMASK_NONE         (0x0001)
+#define GRITS_MARKER_DMASK_LABEL        (0x0002)
+#define GRITS_MARKER_DMASK_POINT        (0x0004)
+#define GRITS_MARKER_DMASK_ICON         (0x0008)
+#define GRITS_MARKER_DMASK_DIRECTIONAL  (0x0010)
+#define GRITS_MARKER_DMASK_ALL          (0xffff)
+
+struct _GritsMarker {
+       GritsObject  parent_instance;
+       gint       xoff, yoff;              /* center point offset */
+       gint       icon_width, icon_height; /* size of icon for offsets */
        gchar     *label;
        cairo_t   *cairo;
        guint      tex;
+       gboolean   ortho;
+
+       cairo_surface_t *icon_img;
+
+       /* What object to display */
+       guint      display_mask;
+
+       /* icon data */
+       gint     angle;         /* rotation angle */
+       gboolean flip;          /* keep icon "rightside-up" after rotating? */
+
+       gdouble outline;
+       gdouble radius;
+       gdouble width;
+       gdouble height;
 };
 
-struct _GisMarkerClass {
-       GisObjectClass parent_class;
+struct _GritsMarkerClass {
+       GritsObjectClass parent_class;
 };
 
-GType gis_marker_get_type(void);
+GType grits_marker_get_type(void);
 
-GisMarker *gis_marker_new(const gchar *label);
+GritsMarker *grits_marker_new(const gchar *label);
+GritsMarker *grits_marker_icon_new(const gchar *label, const gchar *filename,
+    guint angle, gboolean flip, guint display_mask);
 
 #endif