1
2MainTitle="Eagle Mode - C++ API Reference"
3
4
5MainIntro="""
6<SCRIPT LANGUAGE="JavaScript">TopBar();</SCRIPT><BR>
7<CENTER>
8<FONT SIZE=4><B>Eagle Mode -</B></FONT><BR>
9<FONT SIZE=7><B>C++ API Reference</B></FONT><P>
10<FONT SIZE=2>Copyright &copy; 2010-2017,2020 Oliver Hamann.
11Homepage: <A CLASS=main HREF="http://eaglemode.sourceforge.net/">http://eaglemode.sourceforge.net/</A></FONT>
12</CENTER>
13<H1>Introduction</H1>
14The Eagle Mode C++ API Reference is made of comments in the header files.
15Therefore this document is an index with hyperlinks to HTML-converted header
16files. It is structured by topics, files and sections, where a topic may contain
17multiple files, and a file may contain multiple sections. Often, a section
18stands for a symbol or class. Everything is sorted roughly from low-level to
19high-level. If you see this page with HTML frames, then you can use the tree
20links in the left frame for navigation. But in any case you can find the
21complete index below.
22<P>
23<H1>Index</H1>
24"""
25
26
27SourceIntro="""
28<SCRIPT LANGUAGE="JavaScript">TopBar();</SCRIPT>
29"""
30
31
32def AutoSectionsFile(path):
33	sections=[]
34	r=re.compile("^//====*[\s]+([^\s].*[^\s])[\s]+====*$")
35	sr=re.compile("^(em|EM)[a-zA-Z0-9_@]*$")
36	lineNum=0
37	f=open(SourceBaseDir+"/"+path)
38	for line in f:
39		lineNum+=1
40		m=r.match(line)
41		if m==None: continue
42		t=m.group(1)
43		if t.lower()=="implementations": continue
44		if t.lower()=="inline implementations": continue
45		isSym=False
46		if sr.match(t)!=None: isSym=True
47		l=lineNum;
48		if l>1: l-=1
49		sections.append(Section(
50			text=t,
51			isSymbol=isSym,
52			lineNumber=l
53		))
54	f.close()
55	return File(path=path,sections=sections)
56
57
58Topics=[
59	Topic(text="Various Low-Level Helpers",
60		files=[
61			AutoSectionsFile("emCore/emStd1.h"),
62			AutoSectionsFile("emCore/emStd2.h"),
63			AutoSectionsFile("emCore/emTmpFile.h"),
64			AutoSectionsFile("emCore/emInstallInfo.h"),
65			AutoSectionsFile("emCore/emRes.h")
66		]
67	),
68	Topic(text="Container Classes",
69		files=[
70			AutoSectionsFile("emCore/emString.h"),
71			AutoSectionsFile("emCore/emArray.h"),
72			AutoSectionsFile("emCore/emList.h"),
73			AutoSectionsFile("emCore/emAvlTree.h"),
74			AutoSectionsFile("emCore/emAvlTreeMap.h"),
75			AutoSectionsFile("emCore/emAvlTreeSet.h"),
76			AutoSectionsFile("emCore/emAnything.h")
77		]
78	),
79	Topic(text="Smart Pointers",
80		files=[
81			AutoSectionsFile("emCore/emRef.h"),
82			AutoSectionsFile("emCore/emCrossPtr.h")
83		]
84	),
85	Topic(text="CPU Control",
86		files=[
87			AutoSectionsFile("emCore/emEngine.h"),
88			AutoSectionsFile("emCore/emSignal.h"),
89			AutoSectionsFile("emCore/emScheduler.h"),
90			AutoSectionsFile("emCore/emTimer.h"),
91			AutoSectionsFile("emCore/emPriSchedAgent.h"),
92			AutoSectionsFile("emCore/emThread.h"),
93			AutoSectionsFile("emCore/emProcess.h"),
94			AutoSectionsFile("emCore/emMiniIpc.h"),
95			AutoSectionsFile("emCore/emRenderThreadPool.h")
96		]
97	),
98	Topic(text="Graphics",
99		files=[
100			AutoSectionsFile("emCore/emColor.h"),
101			AutoSectionsFile("emCore/emImage.h"),
102			AutoSectionsFile("emCore/emTexture.h"),
103			AutoSectionsFile("emCore/emPainter.h"),
104			AutoSectionsFile("emCore/emATMatrix.h"),
105			AutoSectionsFile("emCore/emClipRects.h")
106		]
107	),
108	Topic(text="Recordable Data Structures",
109		files=[
110			AutoSectionsFile("emCore/emRec.h")
111		]
112	),
113	Topic(text="Contexts and Models",
114		files=[
115			AutoSectionsFile("emCore/emContext.h"),
116			AutoSectionsFile("emCore/emModel.h"),
117			AutoSectionsFile("emCore/emVarModel.h"),
118			AutoSectionsFile("emCore/emSigModel.h"),
119			AutoSectionsFile("emCore/emVarSigModel.h")
120		]
121	),
122	Topic(text="Basic GUI Classes",
123		files=[
124			AutoSectionsFile("emCore/emInput.h"),
125			AutoSectionsFile("emCore/emCursor.h"),
126			AutoSectionsFile("emCore/emClipboard.h"),
127			AutoSectionsFile("emCore/emScreen.h"),
128			AutoSectionsFile("emCore/emWindow.h"),
129			AutoSectionsFile("emCore/emView.h"),
130			AutoSectionsFile("emCore/emPanel.h"),
131			AutoSectionsFile("emCore/emSubViewPanel.h"),
132			AutoSectionsFile("emCore/emErrorPanel.h"),
133			AutoSectionsFile("emCore/emGUIFramework.h"),
134			AutoSectionsFile("emCore/emViewAnimator.h"),
135			AutoSectionsFile("emCore/emViewInputFilter.h"),
136			AutoSectionsFile("emCore/emViewRenderer.h"),
137			AutoSectionsFile("emCore/emWindowStateSaver.h")
138		]
139	),
140	Topic(text="Toolkit Panels",
141		files=[
142			AutoSectionsFile("emCore/emLook.h"),
143			AutoSectionsFile("emCore/emBorder.h"),
144			AutoSectionsFile("emCore/emLabel.h"),
145			AutoSectionsFile("emCore/emLinearLayout.h"),
146			AutoSectionsFile("emCore/emLinearGroup.h"),
147			AutoSectionsFile("emCore/emRasterLayout.h"),
148			AutoSectionsFile("emCore/emRasterGroup.h"),
149			AutoSectionsFile("emCore/emPackLayout.h"),
150			AutoSectionsFile("emCore/emPackGroup.h"),
151			AutoSectionsFile("emCore/emTunnel.h"),
152			AutoSectionsFile("emCore/emButton.h"),
153			AutoSectionsFile("emCore/emCheckButton.h"),
154			AutoSectionsFile("emCore/emRadioButton.h"),
155			AutoSectionsFile("emCore/emCheckBox.h"),
156			AutoSectionsFile("emCore/emRadioBox.h"),
157			AutoSectionsFile("emCore/emTextField.h"),
158			AutoSectionsFile("emCore/emScalarField.h"),
159			AutoSectionsFile("emCore/emColorField.h"),
160			AutoSectionsFile("emCore/emListBox.h"),
161			AutoSectionsFile("emCore/emFileSelectionBox.h"),
162			AutoSectionsFile("emCore/emSplitter.h"),
163			AutoSectionsFile("emCore/emDialog.h"),
164			AutoSectionsFile("emCore/emFileDialog.h")
165		]
166	),
167	Topic(text="File Models & -Panels",
168		files=[
169			AutoSectionsFile("emCore/emFileModel.h"),
170			AutoSectionsFile("emCore/emFilePanel.h"),
171			AutoSectionsFile("emCore/emImageFile.h"),
172			AutoSectionsFile("emCore/emRecFileModel.h"),
173			AutoSectionsFile("emCore/emConfigModel.h"),
174			AutoSectionsFile("emCore/emCoreConfig.h"),
175			AutoSectionsFile("emCore/emCoreConfigPanel.h")
176		]
177	),
178	Topic(text="File Panel Plugins",
179		files=[
180			AutoSectionsFile("emCore/emFpPlugin.h")
181		]
182	)
183]
184
185
186TabSize=8
187
188
189JScript="""
190function TopBar()
191{
192	document.write(
193		'<TABLE BGCOLOR="#E0E0E0" BORDER=0 CELLPADDING=4 CELLSPACING=0 WIDTH="100%">',
194		'<TR>',
195		'<TD ALIGN=LEFT WIDTH="33%">'
196	);
197	if (top!=self) document.write(
198		'<A CLASS=nav HREF="'+
199		self.location.href+
200		'" TARGET="_top">Hide Index Frame</A>'
201	);
202	else document.write(
203		'<A CLASS=nav HREF="index.html?content='+
204		self.location.href.match("(^|[/])([^/?]+)([?]|$)")[2]+
205		'" TARGET="_top">Show Index Frame</A>'
206	);
207	document.write(
208		'</TD><TD ALIGN=CENTER WIDTH="34%">'
209	)
210	if (!document.URL.match(/[/\\\\]index-noframes[.]html/i)) {
211		document.write(
212			'<A CLASS=nav HREF="index-noframes.html">Go Up</A>'
213		)
214	}
215	else if (document.URL.match(/^https?:\/\/eaglemode[.]sourceforge[.]net\//i)) {
216		document.write(
217			'<A CLASS=nav HREF="../doc.html" TARGET="_top">Go Up</A>'
218		)
219	}
220	else {
221		document.write(
222			'<A CLASS=nav HREF="../index.html" TARGET="_top">Go Up</A>'
223		)
224	}
225	document.write(
226		'</TD><TD ALIGN=RIGHT WIDTH="33%">'
227	)
228	if (document.URL.match(/^https?:\/\/eaglemode[.]sourceforge[.]net\//i)) {
229		document.write(
230			'<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0><TR>',
231			'<TD><FONT SIZE=1 COLOR="#505050">Hosted&nbsp;at&nbsp;</FONT></TD>',
232			'<TD>',
233			'<a href="http://sourceforge.net/projects/eaglemode"><img border=0 src="http://sflogo.sourceforge.net/sflogo.php?group_id=224126&amp;type=9" width="80" height="15" alt="Get Eagle Mode at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a>',
234			'</TD>',
235			'</TR></TABLE>'
236		);
237	}
238	else {
239		document.write('&nbsp;');
240	}
241	document.write(
242		'</TD></TR></TABLE>'
243	);
244}
245"""
246
247
248Styles="""
249BODY {
250	font-family:sans-serif;
251	background:#FFFFFF;
252	color:#000000;
253}
254A.main {
255	color:#0000E0;
256}
257A.main:visited {
258	color:#600080;
259}
260A.main:active {
261	color:#F00000;
262}
263A.nav {
264	font-weight:bold;
265	color:#6060A0;
266	text-decoration:none;
267}
268A.nav:hover {
269	text-decoration:underline;
270}
271SPAN.d { /* default source code (operators, symbols and some more)*/
272	color:#000000;
273}
274SPAN.p { /* preprocessor */
275	color:#004070;
276}
277SPAN.c { /* comment */
278	font-style:italic;
279	color:#207040;
280}
281SPAN.t { /* type keyword */
282	font-weight:bold;
283	color:#902020;
284}
285SPAN.k { /* non-type keyword */
286	font-weight:bold;
287	color:#000000;
288}
289SPAN.b { /* braces */
290	font-weight:bold;
291	color:#000000;
292}
293SPAN.u { /* numeric constant */
294	color:#209000;
295}
296SPAN.v { /* string constant  */
297	color:#209000;
298}
299SPAN.w { /* char constant */
300	color:#209000;
301}
302A.f { /* file link */
303	font-weight:bold;
304	color:#003080;
305	text-decoration:none;
306}
307A.f:hover {
308	text-decoration:underline;
309}
310A.l { /* symbol link */
311	font-weight:bold;
312	color:#0000C0;
313	text-decoration:none;
314}
315A.l:hover {
316	text-decoration:underline;
317}
318A.m { /* symbol link in a comment*/
319	font-style:italic;
320	font-weight:bold;
321	color:#006070;
322	text-decoration:none;
323}
324A.m:hover {
325	text-decoration:underline;
326}
327A.treeIndex {
328	font-size:166%;
329	white-space:nowrap;
330	font-weight:bold;
331	color:#303030;
332	text-decoration:none;
333}
334A.treeIndex:hover {
335	text-decoration:underline;
336}
337A.treeTopic {
338	white-space:nowrap;
339	font-weight:bold;
340	color:#005000;
341	text-decoration:none;
342}
343A.treeTopic:hover {
344	text-decoration:underline;
345}
346A.treeFile {
347	white-space:nowrap;
348	color:#003080;
349	text-decoration:none;
350}
351A.treeFile:hover {
352	text-decoration:underline;
353}
354A.treeSection {
355	white-space:nowrap;
356	font-weight:bold;
357	color:#0000C0;
358	text-decoration:none;
359}
360A.treeSection:hover {
361	text-decoration:underline;
362}
363"""
364