1 /* Hey EMACS -*- linux-c -*- */
2 /* $Id: struct.h 2709 2007-12-13 17:37:31Z roms $ */
3 
4 /*  TiEmu - a TI emulator
5  *  Copyright (c) 2000-2001, Thomas Corvazier, Romain Lievin
6  *  Copyright (c) 2001-2003, Romain Lievin
7  *  Copyright (c) 2003, Julien Blache
8  *  Copyright (c) 2004, Romain Li�vin
9  *  Copyright (c) 2005, Romain Li�vin
10  *
11  *  This program is free software; you can redistribute it and/or modify
12  *  it under the terms of the GNU General Public License as published by
13  *  the Free Software Foundation; either version 2 of the License, or
14  *  (at your option) any later version.
15  *
16  *  This program is distributed in the hope that it will be useful,
17  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *  GNU General Public License for more details.
20  *
21  *  You should have received a copy of the GNU General Public License
22  *  along with this program; if not, write to the Free Software
23  *  Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
24  */
25 
26 #ifndef STRUCT_H
27 #define STRUCT_H
28 
29 #ifdef HAVE_CONFIG_H
30 # include <config.h>
31 #endif
32 
33 #include <glib.h>
34 
35 #include "paths.h"
36 
37 /* Constants */
38 
39 #define MAXCHARS 256
40 
41 #define VIEW_NORMAL 1
42 #define VIEW_LARGE  2
43 #define VIEW_FULL   3
44 #define VIEW_CUSTOM	4
45 
46 /* General options */
47 typedef struct
48 {
49 	gchar*  skin_file;
50 	gint	skin;
51 	gint    view;
52 	gfloat	scale;
53 
54     gchar*  keys_file;
55 	gint	kbd_dbg;
56 
57 	gint	console;
58 	gint    fs_type;
59 
60 	gchar*	qs_file;
61 	gint	qs_enabled;
62 
63 	gchar*	kp_rec_file;
64 	gint	kp_rec_enabled;
65 	gchar*	kp_ply_file;
66 	gint	kp_ply_enabled;
67 } TieOptions;
68 
69 /* Screen capture options */
70 typedef struct
71 {
72 	int		format;
73 	int		type;
74 	int		size;
75 
76 	char*	file;
77 	int		counter;
78 	char*	folder;
79 
80 	int		shots;
81 	int		skips;
82 
83 	int		clipboard;
84 } ScrOptions;
85 
86 /* Debugger options for windows size and placement */
87 typedef struct
88 {
89 	int x;
90 	int y;
91 	int w;
92 	int h;
93 } GdkRect;
94 
95 typedef struct
96 {
97 	GdkRect	rect;
98 	gint	minimized;
99 	gint	closed;
100 } WinState;
101 
102 typedef struct
103 {
104 	WinState	bkpts;
105 	WinState	code;
106 	WinState	mem;
107 	WinState	regs;
108     WinState	pclog;
109     WinState	stack;
110 	WinState	heap;
111 	WinState	iop;
112 	WinState	dock;
113 
114 	gint		transient;
115 
116 	WinState	calc;
117 
118 	gint		dbg_font_type;
119 	gchar*		dbg_font_name;
120 
121 	gint		dbg_dock;
122 } DbgOptions;
123 
124 extern TieOptions options;
125 extern ScrOptions options2;
126 extern DbgOptions options3;
127 
128 #endif
129