In planning out a new feature, I have some questions for anyone who cares to comment.
I have several data items that will be displayed. Data items will be displayed next to each other, although the spacing between items may be different. Each data item will have a consistent width, and its own height. The data item will be drawn as a strip using mostly color changes to distinguish changes in the column, but also may contain text/numbers/lines/.... The user will wish to move the item up/down using the mouse. Portions of the item may not be displayed because the item may be bigger than the window can contain (and visually clipped); that is, they will be higher than the top of the window, or lower than the bottom of the window.
I played around using a child window but this seems to be a poor choice. Resizing the parent causes the child to 'reset' its position (undesirable). A resize is forced if I programmatically move the child window outside the parent's visible area.
I thought about using an image (the code that normally draws these items for a printer can create a BMP/JPG file), but positioning an image is done by ????.
I am leaning toward using the drawing surface (%gr) and, as the user uses the mouse to drag an item up/down, just redrawing the entire visible surface.
It is possible that an image area can be created (get_bitmap_dc()) into which all the items can be drawn, then have the bitmap displayed at the appropriate (x,y) offset.
There may be other possibilities I have not considered.
