A GUI thumbnail window is a window in which thumbnails (miniature images) are displayed. ImageGear's thumbnail window support functions include the ability to do the following:
- Create a thumbnail window
- Add thumbnails of individual image files or groups of image files that you name
- Sort the thumbnails in the window according to any scheme that you specify
- Set many attributes for displaying the thumbnails
- Be informed when the user has clicked the mouse on a thumbnail
Creating a thumbnail window is just like creating any other GUI window. You call IG_GUI_thumbnail_window_create_ex() and specify the dimensions and position for the new thumbnail window.
Having done this, you can have ImageGear add thumbnails to the window by calling either IG_GUI_thumbnail_file_append(), to add a thumbnail image of a single file, or IG_GUI_thumbnail_dir_append(), to add from a directory a group of thumbnails matching a "filter" or "wildcard" string such as "*.BMP;*.JPG."
You can also drag files from Windows Explorer into the GUI thumbnail window.
When you add a thumbnail of a multi-page file, only a thumbnail of the first page of the file is displayed, unless you use
IG_GUI_thumbnail_attribute_set() to show all of the pages. If only the first page is displayed, the filename that appears under the thumbnail is accompanied by an asterisk.
There are a number of attributes that affect the way the thumbnails themselves are displayed. These are all modifiable using the function IG_GUI_thumbnail_attribute_set().
To learn when a user has clicked the mouse on a thumbnail, and which thumbnail it was, use IG_GUI_thumbnail_CB_register() to register a callback function of type LPFNIG_GUITHUMBSELECT. Your callback function is called with a far pointer to the filename string that corresponds to the thumbnail image, and a pointer to the thumbnail image's DIB header.
You can have ImageGear sort thumbnails that are currently being displayed in the thumbnail window. Call IG_GUI_thumbnail_sort(), providing the address of a callback function of type LPFNIG_GUITHUMBCOMP. This callback function will then be called successively for each pair of thumbnails, with pointers to both filenames and both DIB headers. Your LPFNIG_GUITHUMBCOMP function can compare the two according to any scheme you choose, returning -1, 0, or +1 to tell ImageGear that the first of the pair should be placed before, equal to, or after the second, respectively. ImageGear will keep calling this function with pairs until all the thumbnails are sorted (ImageGear automatically adjusts their positions in the thumbnail window.).
Call function IG_GUI_thumbnail_update() if something being displayed in the thumbnail window has changed in memory and you want ImageGear to refresh the thumbnail window display.
Refer to the Core Component API Function Reference for descriptions of the IG_GUI_ ...() functions and the LPFNIG_GUI... callback types as well as for the calling sequences of ImageGear's Graphical User Interface support functions.