EDGEDETECTORDLGPARAMS

typedef struct _EDGEDETECTORDLGPARAMS
{
   L_UINT uStructSize;
   pBITMAPHANDLE pBitmap;
   L_BOOL bZoomToFit;
   L_UINT uThreshold;
   L_UINT uFilter;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID L_FAR *pHelpCallBackUserData;
} EDGEDETECTORDLGPARAMS, L_FAR * LPEDGEDETECTORDLGPARAMS;

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

 

uThreshold

Threshold value used to determine which pixels are edge pixels. Possible values depend on the image, as shown here:

 

If the image is

possible values are

 

16-bit gray, 48-bit, or 64-bit.

0-65535

 

12-bit.

0-4095

 

Otherwise.

0-255

uFilter

Flag that indicates which edge detection filter to apply. Possible values are:

 

Value

Meaning

 

EDG_SOBEL_VERT

[0x0101] Detect the vertical edges

 

EDG_SOBEL_HORZ

[0x0102] Detect the horizontal edges

 

EDG_SOBEL_ALL

[0x0103] Detect horizontal & vertical edges

 

EDG_PREWITT_VERT

[0x0201] Detect the vertical edges

 

EDG_PREWITT_HORZ

[0x0202] Detect the horizontal edges

 

EDG_PREWITT_ALL

[0x0203] Detect horizontal & vertical edges

 

EDG_LAPLACE_1

[0x0301] Detect vertical & horizontal edges

 

EDG_LAPLACE_2

[0x0302] Detect general edges

 

EDG_LAPLACE_3

[0x0303] Detect general edges. (The filter used for this option is different than the filter used for the EDG_LAPLACE_2 filter.)

 

EDG_LAPLACE_DIAG

[0x0304] Detect the diagonal edges

 

EDG_LAPLACE_HORZ

[0x0305] Detect the horizontal edges

 

EDG_LAPLACE_VERT

[0x0306] Detect the vertical edges

 

EDG_GRADIENT_N

[0x0401] Detect north edges

 

EDG_GRADIENT_NE

[0x0402] Detect north east edges

 

EDG_GRADIENT_E

[0x0403] Detect east edges

 

EDG_GRADIENT_SE

[0x0404] Detect south east edges

 

EDG_GRADIENT_S

[0x0405] Detect south edges

 

EDG_GRADIENT_SW

[0x0406] Detect south west edges

 

EDG_GRADIENT_W

[0x0407] Detect west edges

 

EDG_GRADIENT_NW

[0x0408] Detect north west edges

 

uDlgFlags

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

 

Value

Meaning

 

DLG_EDGEDETECTOR_AUTOPROCESS

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

 

DLG_EDGEDETECTOR_SHOW_CONTEXTHELP

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

 

DLG_EDGEDETECTOR_SHOW_PREVIEW

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

 

DLG_EDGEDETECTOR_SHOW_TOOL_ZOOMLEVEL

[0x00000008] show the "Zoom to fit" and "Zoom Normal" toolbar buttons. The DLG_EDGEDETECTOR_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.