File: /~heha/hsn/koolplot-heha.zip/readme.txt

This is my try to use koolplot for my projects.

Original koolplot is a C++ source to plot graphs using WinBGI
with a syntax IMHO similar to Matlab. It seems to be 20 years old.
Koolplot isn't cool.

I need a solution, best residing in a DLL, that creates a Win32
window class "xyplot", that can plot Y or XY data out of a buffer
using a user-defined extractor function, to be fast and memory-saving.
Plotting mathematical functions is less important.
I have changed the source to trash the code concerning special "NOPLOT"
sequences for color change.
Instead, I added code to handle multiple traces in one plot.
The net result is, you cannot use the << operator to add another trace yet.

The final "xyplot" class should:
* support multiple axes and plot areas
  (similar to LabVIEWs Mixed Signal Graph but without its bugs and its fixed plot legend)
* support analog and digital waveform
* support child and popup style
* auto-position all sub-elements (as done in original koolplot)
* auto-scale (as done in original koolplot)
* support editable graphs
* support different display styles (possibly slower than line plot)
* support logarithmic, absolute and relative time, and user-defineable axes
* support zooming, panning with overview window as in Funkuhr.exe or jBEAM
* support cursors, annotations, plot legend, cursor legend, background image
* support multi-trigger
* be fast in updating!! Using point-reducing polygons covering mins and maxs
  of a (possibly million-sample) waveform, and mean value as a line in the middle
  (virtual phosphor is probably too complicated to realize)

And I don't need the Matlab-style usage.

I have the following usage scenarios:
* For an oven, edit the desired temperature curve by mouse or table,
  and when baking process is running, plot set and real temperatures
  in a magnified area while the entire curve is shown in a corner of the plot
* For any slow process including ovens, edit digital states (outputs) by mouse
* For motor control, fast plotting of current waveforms,
  with auto-decay, multiple triggers, scope-alike,
  and editing desired (non-sinusodial) waveform by mouse or table

I have made some small changes for different Microsoft compilers,
and you see the evil code bloat with every newer version.
(All 3 .exe files do the same).

MSVC2017 supports lambda expressions for "inline functions".

heha, January 2020
Detected encoding: ASCII (7 bit)2