dbus function is done
[shermanaquarium] / sherman-aquarium / shermans / aquarium.h
1
2 /* Main header file for Sherman's aquarium */
3 #ifndef AQUARIUM_H
4 #define AQUARIUM_H
5
6
7 #include <gtk/gtk.h>
8 #include <gdk/gdk.h>
9 #include <gdk/gdkx.h>
10 #include <gdk-pixbuf/gdk-pixbuf.h>
11 #include "defines.h"
12
13 #ifdef GNOME
14 #include <libgnomeui/libgnomeui.h>
15 #include <libgnome/libgnome.h>
16 #endif
17
18
19 typedef struct {
20     unsigned char *image;
21     unsigned char *rev;
22     int width;
23     int height;
24     int frames;
25     int full_height;
26     int rowstride;
27     GdkPixbuf *pixbuf;
28 } SA_Image;
29
30 /* main dockapp info structure.  windows, buffers, etc */
31 typedef struct {
32
33     int xmax;
34     int ymax;
35     int xmin;
36     int ymin;
37     /*    int windowsize_x;
38           int windowsize_y;*/
39     int virtual_aquarium_x;
40     int virtual_aquarium_y;
41     int viewpoint_start_x;
42     int viewpoint_start_y;
43
44     int posx;
45     int posy;
46     int proximity;
47
48
49     GdkWindow *win;             /* main window */
50     GdkWindow *iconwin;
51
52
53     GtkWidget *about_box;
54     GtkWidget *applet;
55     GtkWidget *drawingarea;
56     int oldwidth;
57     int oldheight;
58     int oldbg;
59
60     GdkGC *gc;                  /* drawing GC */
61
62     GRand *rnd;                 /* Random number instance */
63
64     /* main image buffer */
65     unsigned char *rgb;
66
67     /* back buffer - stores things we dont want to redraw all the time */
68     unsigned char *bgr;
69     int special_action;
70     int dont_update;
71
72 } AquariumData;
73
74
75 #define MOUSE_OFF 0
76 #define MOUSE_RUN 1
77
78 typedef struct {
79     int ratio_width;
80     int ratio_height;
81
82     int mouse_left, mouse_middle, mouse_down, mouse_up;
83     char *mouse_left_option, *mouse_middle_option, *mouse_up_option, *mouse_down_option;
84
85 } General_settings;
86
87 /* Declare functions */
88
89 void aquarium_update(gpointer);
90 void aquarium_change(int, int, int, gpointer);
91 void prepare_graphics(void);
92
93 void aquarium_reload_all(void);
94 void aquarium_free_all(void);
95 void aquarium_draw_image(int, int, int, int, SA_Image *);
96 void aquarium_clean_image(int, int, int, int);
97 void aquarium_draw_pic_alpha(SA_Image *, int, int, int, int, int, int);
98 unsigned char *aquarium_install_path(void);
99
100 /* Returns a pointer to the static struct in aquarium.c */
101 AquariumData *aquarium_get_settings_ptr(void);
102 General_settings *general_get_settings_ptr(void);
103
104 void load_image(char *, SA_Image *,int);
105 void load_image_n_scale(char *, SA_Image *,int, int);
106
107 unsigned int checksum(unsigned char *, int);
108
109 #endif