REMAPHUEDLGPARAMS

typedef struct _REMAPHUEDLGPARAMS
{
   L_UINT uStructSize;
   pBITMAPHANDLE pBitmap;
   L_BOOL bZoomToFit;
   L_UINT L_FAR *puMaskLookup;
   L_UINT L_FAR *puHueLookup;
   L_UINT L_FAR *puSaturationLookup;
   L_UINT L_FAR *puValueLookup;
   L_UINT uLookupLen;
   L_UINT32 uDlgFlags;
   LTCOMMDLGHELPCB pfnHelpCallback;
   L_VOID L_FAR *pHelpCallBackUserData;
} REMAPHUEDLGPARAMS, L_FAR * LPREMAPHUEDLGPARAMS;

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

 

puMaskLookup

Lookup table that identifies which values in the Hue, Saturation, and Value Lookup tables are valid. For example, if puMaskLookup[i] is non-zero, then puHueLookup[i], puSaturationLookup[i], and puValueLookup[i] are valid for i pixel remapping. LEADTOOLS will allocate this during the call to L_DlgRemapHue unless you include the DLG_REMAPHUE_AUTOPROCESS flag in the uDlgFlags field of this structure. You should free this pointer using the Windows API GlobalFree when it is no longer needed. The length of the table is in uLookupLen.

puHueLookup

Hue lookup table. If the puMaskLookup table value for a particular pixel hue is non-zero, then the hue is changed to the corresponding entry in puHueLookup. LEADTOOLS will allocate this during the call to L_DlgRemapHue unless you include the DLG_REMAPHUE_AUTOPROCESS flag in the uDlgFlags field of this structure. You should free this pointer using the Windows API GlobalFree when it is no longer needed. The length of the table is in uLookupLen.

puSaturationLookup

Saturation lookup table. If the puMaskLookup table value for a particular pixel saturation is non-zero, then the saturation is changed to the corresponding entry in puSaturationLookup. LEADTOOLS will allocate this during the call to L_DlgRemapHue unless you include the DLG_REMAPHUE_AUTOPROCESS flag in the uDlgFlags field of this structure. You should free this pointer using the Windows API GlobalFree when it is no longer needed. The length of the table is in uLookupLen.

puValueLookup

Value lookup table. If the puMaskLookup table value for a particular pixel value is non-zero, then the value is changed to the corresponding entry in puValueLookup. LEADTOOLS will allocate this during the call to L_DlgRemapHue unless you include the DLG_REMAPHUE_AUTOPROCESS flag in the uDlgFlags field of this structure. You should free this pointer using the Windows API GlobalFree when it is no longer needed. The length of the table is in uLookupLen.

uLookupLen

Length of the lookup table. Possible values are:

 

Value

Meaning

 

65536

For 16-bit gray or 48-bit images.

 

4096

For 12-bit images.

 

256

For other-bits images.

 

uDlgFlags

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

 

Value

Meaning

 

DLG_REMAPHUE_AUTOPROCESS

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

 

DLG_REMAPHUE_SHOW_CONTEXTHELP

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

 

DLG_REMAPHUE_SHOW_PREVIEW

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

 

DLG_REMAPHUE_SHOW_TOOL_ZOOMLEVEL

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