wine/rc/parser.h
Alexandre Julliard 33072e1f2c Release 970629
Thu Jun 26 02:14:03 1997  Slaven Rezic  <eserte@cs.tu-berlin.de>

	* [Makefile.in]
	New target install_includes.

	* [rc/parser.h] [rc/parser.y] [rc/winerc.c]
	Some bug fixes.

Wed Jun 25 14:43:41 1997  Victor Schneider <vischne@ibm.net>

	* [controls/edit.c]
	Fixed WM_GETTEXT return value.

Tue Jun 24 23:46:04 1997  Michiel van Loon <mfvl@xs4all.nl>

	* [multimedia/*.c] [include/mmsystem.h]
	Added more callback code, including (I hope) function callback.
	Changed some linear pointers into segmented.

	* [multimedia/audio.c]
	Removed some bugs.

Sat Jun 28 11:37:56 1997  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [if1632/commdlg.spec][if1632/comdlg32.spec][misc/commdlg.c]
	  [include/commdlg.h]
	Implemented parts of comdlg32: GetOpenFileName32*,
	GetSaveFileName32*, GetFileTitle32* using the 16 bit equivalents.

	* [windows/event.c]
	EVENT_QueryZOrder: check for children !=NULL (happens when
	using -managed).

	* [BUGS][DEVELOPER-HINTS]
	Updated.

	* [objects/text.c]
	Added GetTextCharset... (stub mostly).

Sat Jun 21 08:47:58 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [if1632/kernel.spec] [if1632/gdi.spec] [include/windows.h]
	  [loader/resource.c] [graphics/x11drv/xfont.c]
	SetResourceHandler & RemoveFontResource prototypes fixed.

	* [if1632/relay.c] [if1632/kernel.spec] [if1632/user.spec]
	  [if1632/olesvr.spec] [if1632/commdlg.spec] [if1632/ddeml.spec]
	  [if1632/gdi.spec] [if1632/lzexpand.spec] [if1632/shell.spec]
	  [include/windows.h] [memory/string.c] [tools/build.c]
	New type of parameter allowed in .spec files : str, printed
	as a string with -debugmsg +relay. .spec files updated.

	* [objects/dc.c]
	In DC_SetupGCForPen, call BlackPixelOfScreen, not BlackPixel.
	Likewise for WhitePixel.

	* [objects/gdiobj.c] [graphics/x11drv/brush.c]
	Use BS_HATCHED with an added entry in HatchBrushes for DkGrayBrush,
 	instead of BS_SOLID.

Fri May 30 17:58:00 1997  Chris Faherty <chrisf@america.com>

	* [windows/keyboard.c]
	Added vkey to scancode translation table.
	This was primarily to fix Citrix WinFrame client which
	always needs scancodes in WM_KEYDOWN.
	Tested with Exceed 5.1.0.1 & XFree86 3.1.2.
1997-06-29 18:08:02 +00:00

109 lines
3.3 KiB
C

/*
*
* Copyright Martin von Loewis, 1994
*
*/
/* resource types */
enum rt {acc,bmp,cur,dlg,fnt,ico,men,rdt,str};
/* generic resource
Bytes can be inserted at arbitrary positions, the data field (res)
grows as required. As the dialog header contains the number of
controls, this number is generated in num_entries. If n_type if 0,
the resource name is i_name, and s_name otherwise. Top level
resources are linked via next. All gen_res objects are linked via
g_prev, g_next for debugging purposes. space is the length of res,
size is the used part of res.
As most bison rules are right recursive, new items are usually
inserted at the beginning
*/
typedef struct gen_res{
int size,space;
int num_entries;
enum rt type;
union{
int i_name;
char* s_name;
}n;
int n_type; /*0 - integer, 1 = string*/
struct gen_res *next;
struct gen_res *g_prev,*g_next;
unsigned char res[0];
} gen_res;
/* control/dialog style. or collects styles, and collects NOT styles */
typedef struct rc_style{
int and, or;
}rc_style;
/* create a new resource */
gen_res *new_res(void);
/* double the space of the resource */
gen_res* grow(gen_res*);
/* insert byte array at the beginning, increase count */
gen_res* insert_at_beginning(gen_res*,char*,int);
/* insert byte array at offset */
gen_res* insert_bytes(gen_res*,char*,int,int);
/* delete bytes at offset */
gen_res* delete_bytes(gen_res*,int,int);
/* create a new style */
rc_style* new_style(void);
/* convert \t to tab etc. */
char* parse_c_string(char*);
/* get the resources type, convert dlg to "DIALOG" and so on */
char* get_typename(gen_res*);
gen_res* add_accelerator(int,int,int,gen_res*);
gen_res* add_string_accelerator(char*,int,int,gen_res*);
gen_res* add_ascii_accelerator(int,int,int,gen_res*);
gen_res* add_vk_accelerator(int,int,int,gen_res*);
gen_res* new_dialog(void);
gen_res* dialog_style(rc_style*,gen_res*);
int dialog_get_menu(gen_res*);
int dialog_get_class(gen_res*);
int dialog_get_caption(gen_res*);
int dialog_get_fontsize(gen_res*);
gen_res* dialog_caption(char*,gen_res*);
gen_res* dialog_font(short,char*,gen_res*);
gen_res* dialog_class(char*,gen_res*);
gen_res* dialog_menu_id(short,gen_res*);
gen_res* dialog_menu_str(char*,gen_res*);
gen_res* create_control_desc(int,int,int,int,int,rc_style*);
gen_res* label_control_desc(char*,gen_res*);
gen_res* create_generic_control(char*,int,char*,rc_style*,int,int,int,int);
gen_res* add_control(int,int,gen_res*,gen_res*);
gen_res* add_icon(char*,int,int,int,gen_res*,gen_res*);
gen_res* add_generic_control(gen_res*,gen_res*);
gen_res* make_dialog(gen_res*,int,int,int,int,gen_res*);
gen_res *hex_to_raw(char*,gen_res*);
gen_res *int_to_raw(int,gen_res*);
gen_res *make_font(gen_res*);
gen_res *make_raw(gen_res*);
gen_res *make_bitmap(gen_res*);
gen_res *make_icon(gen_res*);
gen_res *make_cursor(gen_res*);
gen_res *load_file(char*);
gen_res *add_menuitem(char*,int,int,gen_res*);
gen_res *add_popup(char*,short,gen_res*,gen_res*);
gen_res *make_menu(gen_res*);
gen_res *add_resource(gen_res*,gen_res*);
void add_str_tbl_elm(int,char*);
void create_output(gen_res*);
void set_out_file(char*);
#define CT_BUTTON 0x80
#define CT_EDIT 0x81
#define CT_STATIC 0x82
#define CT_LISTBOX 0x83
#define CT_SCROLLBAR 0x84
#define CT_COMBOBOX 0x85
extern int verbose;