3 * FvwmButtons, copyright 1996, Jarl Totland
5 * This module, and the entire GoodStuff program, and the concept for
6 * interfacing this module to the Window Manager, are all original work
9 * Copyright 1993, Robert Nation. No guarantees or warantees or anything
10 * are provided or implied in any way whatsoever. Use this program at your
11 * own risk. Permission to use this program for any purpose is given,
12 * as long as the copyright is kept intact.
16 /* --------------------------- button information -------------------------- */
19 const button_info
*, int *x
, int *y
, int *padx
, int *pady
, int *frame
);
20 void GetInternalSize(button_info
*, int *, int *, int *, int *);
21 #define buttonFrame(b) abs(buttonFrameSigned(b))
22 int buttonFrameSigned(button_info
*);
23 int buttonXPad(button_info
*);
24 int buttonYPad(button_info
*);
25 FlocaleFont
*buttonFont(button_info
*);
26 Pixel
buttonFore(const button_info
*);
27 Pixel
buttonBack(const button_info
*);
28 Pixel
buttonHilite(button_info
*);
29 Pixel
buttonShadow(button_info
*);
30 int buttonColorset(button_info
*b
);
31 char *buttonTitle (button_info
*b
);
32 FvwmPicture
*buttonIcon (button_info
*b
);
33 unsigned short iconFlagSet (button_info
*b
);
34 int buttonBackgroundButton(button_info
*b
, button_info
**r_b
);
35 byte
buttonSwallow(button_info
*);
36 byte
buttonJustify(button_info
*);
37 #define buttonNum(b) ((b)->n)
39 /* ---------------------------- button creation ---------------------------- */
41 void alloc_buttonlist(button_info
*, int);
42 button_info
*alloc_button(button_info
*, int);
43 void MakeContainer(button_info
*);
45 /* ------------------------- button administration ------------------------- */
47 void NumberButtons(button_info
*);
48 void ShuffleButtons(button_info
*);
50 /* ---------------------------- button iterator ---------------------------- */
52 button_info
*NextButton(button_info
**, button_info
**, int *, int);
54 /* --------------------------- button navigation --------------------------- */
56 int button_belongs_to(button_info
*, int);
57 button_info
*get_xy_button(button_info
*ub
, int row
, int column
);
58 button_info
*select_button(button_info
*, int, int);
60 /* --------------------------- button geometry ----------------------------- */
62 int buttonXPos(const button_info
*b
, int i
);
63 int buttonYPos(const button_info
*b
, int i
);
64 int buttonWidth(const button_info
*b
);
65 int buttonHeight(const button_info
*b
);
66 void get_button_root_geometry(rectangle
*r
, const button_info
*b
);
68 /* --------------------------- swallowing ---------------------------------- */
70 int buttonSwallowCount(button_info
*b
);