cvsimport
[fvwm.git] / modules / FvwmButtons / button.h
blobc309800c1770236cddfef209797bea9178cd294c
1 /* -*-c-*- */
2 /*
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
7 * by Robert Nation
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 -------------------------- */
18 void buttonInfo(
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);