FREEHANDWAVEDLGPARAMS

typedef struct _FREEHANDWAVEDLGPARAMS
{
   L_UINT uStructSize;
   pBITMAPHANDLE pBitmap;
   L_BOOL bZoomToFit;
   L_INT  *pAmplitudes;
   L_UINT uAmplitudesCount;
   L_UINT uScale;
   L_UINT uWaveLen;
   L_INT nAngle;
   COLORREF crFill;
   L_UINT uFreeHandWaveFlags;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID  *pHelpCallBackUserData;
} FREEHANDWAVEDLGPARAMS,  * LPFREEHANDWAVEDLGPARAMS;

The FREEHANDWAVEDLGPARAMS structure provides information used to initialize the dialog box created by the LDialogImageEffect::DoModalFreeHandWave 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

Ignored.

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)".

pAmplitudes

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 called the LDialogBase::EnableAutoProcess.

uAmplitudesCount

Number of items in the pAmplitudes array.

uScale

Factor to be multiplied with the pAmplitudes array values. The values range from 1 to 1000.

uWaveLen

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 – 100.

nAngle

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.

crFill

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.

uFreeHandWaveFlags

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. 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 exposed areas.

 

FILL_NOCHG

[0x0002] do not change or process 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.

 

DIS_FRQ

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

 

uDlgFlags

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

 

Value

Meaning

 

DLG_FREEHANDWAVE_SHOW_CONTEXTHELP

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

 

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.

pfnHelpCallback

Ignored.

pHelpCallBackUserData

Ignored.