AGDoc Test |
Anti-Grain Geometry (AGG) is a toolkit written completely in standard and platform independent C++. It can be used in many areas of computer programming where 2D graphics is essential. AGG uses only C++ and standard C runtime functions, such as memcpy(), sin(), cos(), sqrt(), etc. It doesn't even use STL. Thus, AGG can be used in a very large number of applications, including embedded systems. |
Blah-blah blah-blah blah-blah |
The effect of replacements: |
\AGG \br \TEX \br \DD\br |
Appears as: |
|
Most of the graphic libraries have a single class like "Graphics" in GDI+, that has hunded or even thousands of functions. This object can exist implicitly, like in OpenGL. |
|
I would like to break this ancient as mammoth's manure tradition and show you the beauty of stability, lightness, flexibilty, and freedom. Well, you will have to pay something for that. Namely, you will have to pay your attention to understand the concepts that can seem not very conventional at the beginning. For example, it's not that easy to draw a simple line, because a line is rather a complex graphic object in terms of AGG. The simplest object in AGG is a polygon. Well, it's not quite right either, but all in good time. |
|
template<class Consumer> void process_element(Consumer& c, std::basic_string<char_type>& str) { unsigned i; unsigned cmd_idx = 0; std::basic_string<char_type> name = ""; if(m_name) { for(i = 0; i < m_name_len; i++) name += m_name[i]; } c.begin_element(name.c_str()); str = ""; for(i = 0; i < m_content_len; i++) { if(m_content[i] == element_char) { if(str.length()) { c.content(str.c_str()); str = ""; } if(cmd_idx < m_elements.size()) { m_elements[cmd_idx].process_element(c, str); i += m_elements[cmd_idx].m_total_len; cmd_idx++; } else { throw std::exception("ELEMENT COUNT ERROR"); } } //else //{ // if(m_content[i] != ignore_char) // { // str += m_content[i]; // } //} } if(str.length()) { c.content(str.c_str()); str = ""; } c.end_element(name.c_str()); } |
Leave one or more blank lines between paragraphs. |
Wiki-like style | TEX-like style | Appears as |
---|---|---|
**Bold text** | \b{Bold text} | Bold text |
~~Italic text~~ | \i{Italic text} | Italic text |
*~Bold and italic text*~ | \em{Bold and italic text} | Bold and italic text |
__Underlined text__ | \u{Underlined text} | Underlined text |
==Nonbreaking text== | \nobr{Nonbreaking text} | |
''Quoted text'' | \sq{Quoted text} | Quoted text |
""Quoted text"" | \dq{Quoted text} | Quoted text |
<<Quoted text>> | \aq{Quoted text} | «Quoted text» |
Code: $$while(*p++) {...}$$ | \m{while(*p++) {...}} | while(*p++) {...} |
Superscript: 2^^3^^ + 10^^2^^ = 108 | 2\sup{3} + 10\sup{2} = 108 | 23 + 102 = 108 |
Subscript: Cvv2vvHvv5vvOH | C\sub{2}H\sub{5}OH | C2H5OH |
Em dash -- | \emdash | |
Copyright (C) | \copy | © |
Registered (R) | \reg | ® |
Trademark (TM) | \trade | |
Ellipsis ... | \hellip | |
Degree 15^o | 15\deg | 15° |
Superscript 1: 3.1415^1 | 3.1415\sup1 | 3.14151 |
Superscript 2: O(N^2 log N) | O(N\sup2 log N) | O(N2 log N) |
Superscript 3: M^3 | M\sup3 | M3 |
Plusmiunus: 10.5+-0.3 | 10.5\plusmin{}0.3 | 10.5±0.3 |
Leftwards arrow: A->B | A\rarr{}B | A→B |
Rightwards arrow: A<-B | A\larr{}B | A←B |
Left-right arrow: A<->B | A\harr{}B | A↔B |
Nonbreaking space: a~_b | a\nbsp{}b | a b |
The rows are separated with the new-line character (LF), the cells in the row
are separaeted with any number of spaces (whitespace or tab). If you need to
have a space between words in one cell use a nonbreaking space, |
An example: |
\ssv_table[Table 2. Space separated values table; anchor=TAB2] { \th{ Line Style || Pipeline || add_path || sort || render || total } \al{ < > > > > > } Straight~_lines 2.819 21.207 73.599 71.813 169.437 Bezier~_curves 79.656 98.957 62.393 99.161 340.167 Dashed~_curves 99.332 94.182 39.310 73.310 306.134 } |
Appears as: |
Line Style | Pipeline | add_path | sort | render | total |
---|---|---|---|---|---|
Straight lines | 2.819 | 21.207 | 73.599 | 71.813 | 169.437 |
Bezier curves | 79.656 | 98.957 | 62.393 | 99.161 | 340.167 |
Dashed curves | 99.332 | 94.182 | 39.310 | 73.310 | 306.134 |
Here |
|
Each character corresponds to the respective column. You can change the alignment in a separate cell in the folowing way: |
|
The same rules about the table header and the alignments are applicable to the other types of tables (see below). |
An example: |
\vbar_table[Table 3. Vertical bar separated table; anchor=TAB3] { \th{==Test Type==||Action ||Required to Pass} compile ||compile only ||Compiler returns 0. compile-fail ||compile only ||Compiler must return non-zero. link ||compile, link ||Both compiler & linker return 0. link-fail ||compile, link ||Either the compiler or linker must return non-zero. run ||compile, link, execute ||Compiler, linker, and executable must all return 0. run-fail ||compile, link, execute ||Both compiler and linker must return 0, and the executable must return non-zero. } |
Appears as: |
Action | Required to Pass | |
---|---|---|
compile | compile only | Compiler returns 0. |
compile-fail | compile only | Compiler must return non-zero. |
link | compile, link | Both compiler & linker return 0. |
link-fail | compile, link | Either the compiler or linker must return non-zero. |
run | compile, link, execute | Compiler, linker, and executable must all return 0. |
run-fail | compile, link, execute | Both compiler and linker must return 0, and the executable must return non-zero. |
An example: |
\eln_table[Table 4. Empty line separated table; anchor=TAB4] { \th{==Test Type== || Action || Required to Pass || Description and Use } \al{< < < - } compile compile only Compiler returns 0. Verify that a source file will compile correctly, but without any attempt to link or execute. Used when factors such as possible object library unavailability make a run test impractical. ---- ==compile-fail== compile only Compiler must return non-zero. Verify that a source file fails to compile. Used to verify that an expected compile-time error was detected. ---- link compile, link Both compiler & linker return 0. Verify that a source file will compile and link correctly, but without any attempt to execute the result. Used when factors such as possible data file unavailability make a run test impractical. ---- link-fail compile, link Either the compiler or linker must return non-zero. Verify that a source file fails to compile and link. Used to verify that error detect which depends on unresolved externals works correctly. } |
Appears as: |
Action | Required to Pass | Description and Use | |
---|---|---|---|
compile | compile only | Compiler returns 0. | Verify that a source file will compile correctly, but without any attempt to link or execute. Used when factors such as possible object library unavailability make a run test impractical. |
compile only | Compiler must return non-zero. | Verify that a source file fails to compile. Used to verify that an expected compile-time error was detected. | |
link | compile, link | Both compiler & linker return 0. | Verify that a source file will compile and link correctly, but without any attempt to execute the result. Used when factors such as possible data file unavailability make a run test impractical. |
link-fail | compile, link | Either the compiler or linker must return non-zero. | Verify that a source file fails to compile and link. Used to verify that error detect which depends on unresolved externals works correctly. |
http://www.antigrain.com \br ftp://www.antigrain.com \br \href [http://www.antigrain.com] {==Anti-Grain Geometry img://inline_image.png ==} \br mailto:joe_sixpack@somewhere_on_the.moon \br \download [http://www.antigrain.com/agg2.zip] { Latest AGG snapshot } |
|
|
|
some some text some text some text some text some text some text some text some
some text some text some text some text some text some text some text some
some text some. An inline image: |
![]() |
![]() Figure 1 |
|
1. Select Open under the FILE menu. \br or \br click the Open button on the MAIN Toolbar. 2. The standard Windows OPEN dialog box will appear, see Figure 3. 3. Designate the appropriate folder in the Look In field. See 3 in Figure 4. 2. Type the file name in the File Name field and click Open. See 4A in Figure 5. \br or \br Double click on the desired document file. See 4B in Figure 6. 2. The designated document will open with structures displayed. See Figure 9. |
Appears as: |
|
* Number of rows and columns displayed in the grid is selected by increasing or decreasing the numbers in the Rows (1 in Figure 1) and Cols (2 in Figure 1) fields. * Background color for the unselected (Background, 3 in Figure 2) and selected (Selected Background, 4 in Figure 4) structures can be set. See below. * The grid cell style (Normal, Raised, or Sunken) can be selected (5 in Figure 6). * The \b{border thickness} can be selected (6 in Figure 8). |
Appears as:
|
1. Number of rows and columns displayed in the grid is selected by increasing or decreasing the numbers in the Rows (1 in Figure 1) and Cols (2 in Figure 1) fields. * The Browser Window * Open Collections and Libraries * View Collections and Libraries 1. Background color for the unselected (Background, 3 in Figure 2) and selected (Selected Background, 4 in Figure 4) structures can be set. See below. * Edit Collections and Libraries * Create Zero Based Index (ZBI) files * Create New Collections * Summary of Mouse and Keyboard Commands 1. The grid cell style (Normal, Raised, or Sunken) can be selected (5 in Figure 6). 1. The \b{border thickness} can be selected (6 in Figure 8). |
Appears as:
|
* kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra * Re: kbool algebra [OT] * Re: kbool algebra * New "coolstuff" - perspective transformations * Re: New "coolstuff" - perspective transformations * Re: New "coolstuff" - perspective transformations * Re: New "coolstuff" - perspective transformations * Help, looking for Matrix functions~! * Re: Help, looking for Matrix functions~! * Problem of low level languages * another way * So much for so little.. [nt] * Re: So much for so little.. [nt] * Did I miss something? * Re: Did I miss something? * Re: Did I miss something? |
Appears as:
|