134 | | * make Icons (honestly I don't remember much about this - I vaguely remember there was a tool for this in Visual Studio), say "boincAppIcon16x16.ico", "boincAppIcon32x32.ico" and "boincAppIcon48x48.ico". |
135 | | |
136 | | * create a simple resource description file "boincAppIcon.rc" in the same directory as the icon files pointing to the icon filenames, the first entry is the resource name that is later passed to setWinIcon(): |
| 137 | * make Icons (there's a tool for this in Visual Studio), |
| 138 | say "boincAppIcon16x16.ico", "boincAppIcon32x32.ico" and "boincAppIcon48x48.ico". |
| 139 | * create a simple resource description file "boincAppIcon.rc" in the same directory |
| 140 | as the icon files pointing to the icon filenames, |
| 141 | the first entry is the resource name that is later passed to setWinIcon(): |
| 154 | |
| 155 | === Support classes === |
| 156 | |
| 157 | Several graphics-related classes were developed for SETI@home. They may be of general utility. |
| 158 | |
| 159 | `REDUCED_ARRAY` |
| 160 | Represents a two-dimensional array of data, which is reduced to a smaller dimension by averaging or taking extrema. Includes member functions for drawing the reduced data as a 3D graph in several ways (lines, rectangles, connected surface). |
| 161 | `PROGRESS` and `PROGRESS_2D` |
| 162 | Represent progress bars, depicted in 3 or 2 dimensions. |
| 163 | `RIBBON_GRAPH` |
| 164 | Represents of 3D graph of a function of 1 variable. |
| 165 | `MOVING_TEXT_PANEL` |
| 166 | Represents a flanged 3D panel, moving cyclically in 3 dimensions, on which text is displayed. |
| 167 | `STARFIELD` |
| 168 | Represents a set of randomly-generated stars that move forwards or backwards in 3 dimensions. |
| 169 | `TEXTURE_DESC` |
| 170 | Represents a JPEG image displayed in 3 dimensions. |
| 171 | |
| 172 | The file `api/txf_util.C` has support functions from drawing nice-looking 3D text. |
| 173 | |
| 174 | == Displaying a static image == |
| 175 | |
| 176 | An application can display a pre-existing JPEG file as its graphic. |
| 177 | This is the simplest approach since you don't need to develop any code. |
| 178 | You must include the image file with each workunit. |
| 179 | To do this, link the application with `api/static_graphics.cpp` (edit this file to use your filename). |
| 180 | You can change the image over time, |
| 181 | but you must change the (physical, not logical) name of the file each time. |