1 // This file is part of e93.
2 //
3 // e93 is free software; you can redistribute it and/or modify
4 // it under the terms of the e93 LICENSE AGREEMENT.
5 //
6 // e93 is distributed in the hope that it will be useful,
7 // but WITHOUT ANY WARRANTY; without even the implied warranty of
8 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 // e93 LICENSE AGREEMENT for more details.
10 //
11 // You should have received a copy of the e93 LICENSE AGREEMENT
12 // along with e93; see the file "LICENSE.TXT".
13 
14 typedef void buttonResizeFunction(EDITOR_WINDOW *dialog,EDITOR_RECT *newRect);
15 
16 typedef struct buttonDescriptor									// describes a button to creation routines
17 {
18 	buttonResizeFunction
19 		*resizeFunction;										// function which is used to resize for this window
20 	const char
21 		*buttonName;
22 	const char
23 		*fontName;
24 	bool
25 		hasKey;													// true if this button has a key code associated with it
26 	KeySym
27 		keySym;													// equivalent key code for this button
28 	bool
29 		*pressedState;											// boolean set to true if button pressed
30 	void
31 		(*pressedProc)(void *parameters);						// routine called when the button has been pressed
32 	void
33 		*pressedProcParameters;									// data passed to pressedProc routine
34 } BUTTON_DESCRIPTOR;
35 
36 void PressButtonItem(DIALOG_ITEM *item);
37 bool CreateButtonItem(DIALOG_ITEM *item,void *descriptor);
38