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