WAVEDLGPARAMS

typedef struct _WAVEDLGPARAMS
{
   L_UINT uStructSize;
   pBITMAPHANDLE pBitmap;
   L_BOOL bZoomToFit;
   L_UINT uAmplitude;
   L_UINT uWaveLen;
   L_INT nAngle;
   L_UINT uHorzScale;
   L_UINT uVertScale;
   COLORREF crFill;
   L_UINT uWaveFlags;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID *pHelpCallBackUserData;
} WAVEDLGPARAMS,* LPWAVEDLGPARAMS ;

The WAVEDLGPARAMS structure provides information used to initialize the dialog box created by the L_DlgWave function. After the user closes the dialog box, this structure is updated with information about the user's selections.

Member

Description

uStructSize

Size of this structure, in bytes. Use the sizeof operator to calculate this value.

pBitmap

Pointer to the bitmap handle that references the bitmap used for preview or processing.

bZoomToFit

Flag that indicates the initial zoom level for previewing the image. Possible values are:

 

Value

Meaning

 

TRUE

Set the initial zoom level to "Zoom to fit".

 

FALSE

Set the initial zoom level to "Normal (1:1)".

 

uAmplitude

Waves magnitude. The values range from 1 to the length of the image's diagonal.

uWaveLen

Value that represents the wave length, if DIS_PER is set in the uWaveFlags parameter. If DIS_FRQ is set in uWaveFlags, this value is the number of repeated waves. Possible values range from 0 – 100.

nAngle

Wave’s rotation angle in hundredths of degrees. The valid range is from –18000 to 18000 (The value in degrees is nAngle divided by 100).

uHorzScale

Size of the horizontal wave, given as a percentage of uAmplitude. The valid range is from 0 to 100.

uVertScale

Size of the vertical wave, given as a percentage of uAmplitude. The valid range is from 0 to 100.

crFill

The COLORREF value that specifies the fill color for any exposed areas. 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.

uWaveFlags

Flags that indicate how to handle exposed areas, the type of information in the uWaveLength parameter and the wave type. You can use a bitwise OR (|) to specify one flag from each group. The following are the flags that indicate how to handle exposed areas:

 

Value

Meaning

 

FILL_CLR

[0x0000] fill exposed areas with the color in crFill.

 

FILL_RPT

[0x0001] stretch the edges of the image to fill the exposed area.

 

FILL_NOCHG

[0x0002] do not change exposed areas.

 

The following are the flags that indicate the type of information in the uWaveLen member:

 

Value

Meaning

 

DIS_PER

[0x0000] The value in uWaveLen is a wavelength given as a percent of the bitmap dimensions. If this value is used, the valid range of uWaveLen is from 0 to 100.

 

DIS_FRQ

[0x0010] The value in uWaveLen is the frequency, or the number of times the wave repeats.

 

The following are the flags that indicate the wave type:

 

Value

Meaning

 

WV_SIN

[0x0000] the wave is a sinusoidal wave.

 

WV_COS

[0x0100] the wave is a sinusoidal wave shifted by 90 degrees.

 

WV_SQUARE

[0x0200] the wave is a square wave.

 

WV_TRIANG

[0x0300] the wave is a triangular wave.

 

uDlgFlags

User interface flags for this dialog, which determine the layout and action of the dialog. Possible values are:

 

Value

Meaning

 

DLG_WAVE_AUTOPROCESS

[0x00000001] process the image on OK. The pBitmap member of this structure should contain a valid bitmap.

 

DLG_WAVE_SHOW_CONTEXTHELP

[0x00000002] dialog should contain a context sensitive help icon.

 

DLG_WAVE_SHOW_PREVIEW

[0x00000004] show a preview of the image in the dialog. The pBitmap member of this structure should contain a valid bitmap.

 

DLG_WAVE_SHOW_TOOL_ZOOMLEVEL

[0x00000008] show the "Zoom to fit" and "Zoom Normal" toolbar buttons. The DLG_WAVE_SHOW_PREVIEW flag must be set in order to show these buttons.

 

DLG_WAVE_SHOW_APPLY

[0x00000080] Show the Apply button in the dialog. The dialog will not apply any effect unless the user presses the Apply button.

pfnHelpCallback

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.

pHelpCallBackUserData

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.