typedef struct _FREEHANDWAVEDLGPARAMS
} FREEHANDWAVEDLGPARAMS,* LPFREEHANDWAVEDLGPARAMS;
The FREEHANDWAVEDLGPARAMS structure provides information used to initialize the dialog box created by the L_DlgFreeHandWave function. After the user closes the dialog box, this structure is updated with information about the user's selections.
Size of this structure, in bytes. Use the sizeof operator to calculate this value.
Pointer to the bitmap handle that references the bitmap used for preview or processing.
Flag that indicates the initial zoom level for previewing the image. Possible values are:
|TRUE||Set the initial zoom level to "Zoom to fit".|
|FALSE||Set the initial zoom level to "Normal (1:1)".|
Array of integers that represent the wave amplitudes. The toolkit will allocate this buffer for the user on function return. You should free this pointer using the GlobalFree function unless you passed DLG_FREEHANDWAVE_AUTOPROCESS flag in the uDlgFlags field of this structure.
Number of items in the pAmplitudes array.
Factor to be multiplied with the pAmplitudes array values. The values range from 1 to 1000.
Value that represents the wave length, if DIS_PER is set in the uFreeHandWaveFlags member. If DIS_FRQ is set in uFreeHandWaveFlags, this value is the number of repeated waves. Possible values range from 0 to 100.
Wave rotation angle, in hundredths of a degree. Possible values range from −36000 to 36000. Negative values rotate the wave counter-clockwise; positive values rotate the wave clockwise.
The COLORREF value that specifies the color used to fill any areas exposed as the result of the rotation. You can specify a COLORREF value, such as the return value of the Windows RGB macro, or you can use the PALETTEINDEX macro to specify a palette color.
Flags that indicate how exposed areas will be handled and the type of data in uWaveLen. You can use a bitwise OR (|) to specify one flag from each group.
|Handle exposed areas|
|FILL_CLR||[0x0000] fill exposed areas with the color in crFill.|
|FILL_RPT||[0x0001] stretch the edges of the image to fill exposed areas.|
|FILL_NOCHG||[0x0002] do not change or process exposed areas.|
|Type of information in uWaveLen|
|DIS_PER||[0x0000] The value in uWaveLen is a wavelength given as a percent of the bitmap dimensions.|
|DIS_FRQ||[0x0010] The value in uWaveLen is the frequency, or the number of times the wave repeats.|
User interface flags for this dialog, which determine the layout and action of the dialog. Possible values are:
|DLG_FREEHANDWAVE_AUTOPROCESS||[0x00000001] process the image on OK. The pBitmap member of this structure should contain a valid bitmap.|
|DLG_FREEHANDWAVE_SHOW_CONTEXTHELP||[0x00000002] dialog should contain a context sensitive help icon.|
|DLG_FREEHANDWAVE_SHOW_PREVIEW||[0x00000004] show a preview of the image in the dialog. The pBitmap member of this structure should contain a valid bitmap.|
|DLG_FREEHANDWAVE_SHOW_TOOL_ZOOMLEVEL||[0x00000008] show the "Zoom to fit" and "Zoom Normal" toolbar buttons. The DLG_FREEHANDWAVE_SHOW_PREVIEW flag must be set in order to show these buttons.|
|DLG_FREEHANDWAVE_SHOW_APPLY||[0x00000080] Show the Apply button in the dialog. The dialog will not apply any effect unless the user presses the Apply button.|
Pointer to an optional help callback function. If you do not wish to provide help to this dialog, use NULL as the value of this parameter. To provide help to this dialog, use the function pointer as the value of this parameter. The callback function must adhere to the prototype described in LTCOMMDLGHELPCB.
Void pointer that you can use to pass one or more additional parameters that the callback function needs. To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pHelpCallBackUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. If the additional parameters are not needed, you can pass NULL in this parameter.