]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/bmtable.h
Really dull and boring header shit
[lyx.git] / src / frontends / xforms / bmtable.h
1 /**
2  * \file bmtable.h
3  * Copyright 1995-1996 Alejandro Aguilar Sierra
4  * Read the file COPYING
5  *
6  * \author Alejandro Aguilar Sierra
7  *
8  * Full author contact details are available in file CREDITS
9  */
10
11 /* A bitmap table uses a single bitmap to simulate a 2d array
12  * of bitmap buttons. It can be used to build bitmap menus.
13  */
14
15 #ifndef BMTABLE_H
16 #define BMTABLE_H
17
18 #ifdef __GNUG__
19 #pragma interface
20 #endif
21
22 #include FORMS_H_LOCATION
23
24 #if defined(__cplusplus)
25 extern "C"
26 {
27 #endif
28
29 /**/
30 #define FL_BMTABLE 1500
31 /* A flat bitmap table */
32 #define FL_BMTABLE_FLAT 0
33 /* A grided bitmap table */
34 #define FL_BMTABLE_GRID 1
35
36
37 /*  Same as fl_bitmapbutton */
38
39
40 /**
41  *  normal bmtable default
42  */
43 #define FL_BMTABLE_BOXTYPE      FL_UP_BOX
44
45
46 /**/
47 FL_OBJECT *fl_create_bmtable(int, FL_Coord, FL_Coord,
48                              FL_Coord, FL_Coord, char const *);
49 /**/
50 FL_OBJECT *fl_add_bmtable(int, FL_Coord, FL_Coord,
51                           FL_Coord, FL_Coord, char const *);
52
53 /** Same as fl_get_button_numb() */
54 int fl_get_bmtable_numb(FL_OBJECT *ob);
55 /**/
56 void fl_set_bmtable(FL_OBJECT *, int pushed, int pos);
57
58 /** Number of columns and rows, and the background bitmap */
59 void fl_set_bmtable_data(FL_OBJECT *, int, int, int, int, unsigned char const *);
60 /**/
61 void fl_set_bmtable_pixmap_data(FL_OBJECT *, int, int, char **);
62 /**/
63 void fl_set_bmtable_file(FL_OBJECT *, int, int, char const *);
64 /**/
65 void fl_set_bmtable_pixmap_file(FL_OBJECT *, int, int, char const *);
66
67 /** Adjust bitmap origin (ox, oy) and cell dimensions (dx, dy) incrementally */
68 void fl_set_bmtable_adjust(FL_OBJECT *, int ox, int oy, int dx, int dy);
69
70 /** The number of items is by default nc x nr, but you can change it */
71 void fl_set_bmtable_maxitems(FL_OBJECT *, int);
72 /**/
73 int fl_get_bmtable_maxitems(FL_OBJECT *);
74
75 /** Returns the index of the selected item or -1 if none was selected */
76 int fl_get_bmtable(FL_OBJECT *);
77
78 /** Replace an item's sub_bitmap at id position */
79 void fl_replace_bmtable_item(FL_OBJECT *ob, int id, int  cw, int ch, char *data);
80
81 /** Get the sub_bitmap from id position. You must alloc memory for the data. */
82 void fl_get_bmtable_item(FL_OBJECT *ob, int id, int *cw, int *ch, char *data);
83
84 /** Returns a pixmap from the table, if available. */
85 Pixmap fl_get_bmtable_pixmap(FL_OBJECT *);
86
87 /** Draws a single item on a drawable */
88 void fl_draw_bmtable_item(FL_OBJECT *ob, int i, Drawable d, int xx, int yy);
89
90 /** Free the current bitmap in preparation for installing a new one */
91 void fl_free_bmtable_bitmap(FL_OBJECT *ob);
92
93 /** Free the current pixmap in preparation for installing a new one */
94 void fl_free_bmtable_pixmap(FL_OBJECT *ob);
95
96 #if defined(__cplusplus)
97 }
98 #endif
99
100 #endif  /* BMTABLE_H */