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 © 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 at </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&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(' '); 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