WAVESHEARDLGPARAMS

typedef struct _WAVESHEARDLGPARAMS
{
   L_UINT uStructSize;
   pBITMAPHANDLE pBitmap;
   L_BOOL bZoomToFit;
   L_INT L_FAR * pAmplitudes;
   L_UINT uAmplitudesCount;
   L_UINT uScale;
   COLORREF crFill;
   L_UINT uWaveShearFlags;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID L_FAR *pHelpCallBackUserData;
} WAVESHEARDLGPARAMS, L_FAR * LPWAVESHEARDLGPARAMS;

The WAVESHEARDLGPARAMS structure provides information used to initialize the dialog box created by the L_DlgWaveShear 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)".

 

pAmplitudes

Array of integers that represent shear wave values. The valid value of each element in pAmplitudes array is between –1000 and 1000. These values are obtained through the Wave Shear Dialog, or, for image processing; they may be obtained from the L_GetCurvePoints function. The toolkit will allocate this buffer for the user on function return. You should free this pointer using GlobalFree function unless you passed DLG_WAVESHEAR_AUTOPROCESS flag in the uDlgFlags field of this structure.

uAmplitudesCount

Number of entries in the pAmplitudes array.

uScale

Factor used to decrease the various amplitude values in the pAmplitudes array. Each value in the pAmplitudes array is multiplied by this factor. The real factor value is the uScale value divided by 100. Therefore, to multiply the amplitude values by 1.0, set this parameter to 100.The values range (1-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.

uWaveShearFlags

Flags that indicate how to handle exposed areas, and the direction of the shear wave. You can use a bit wise OR (|) to specify one flag from each group. The following are the flags that indicate how to handle the 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 direction of the shear wave:

 

Value

Meaning

 

SHR_HORZ

[0x0000] apply the shear wave horizontally.

 

SHR_VERT

[0x0010] apply the shear wave vertically.

 

uDlgFlags

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

 

Value

Meaning

 

DLG_WAVESHEAR_AUTOPROCESS

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

 

DLG_WAVESHEAR_SHOW_CONTEXTHELP

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

 

DLG_WAVESHEAR_SHOW_PREVIEW

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

 

DLG_WAVESHEAR_SHOW_TOOL_ZOOMLEVEL

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

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 L_FAR *. 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.