L_SetDisplayMode

#include "l_bitmap.h"

L_LTDIS_API L_UINT L_SetDisplayMode(uFlagPos, uFlagSet)

L_UINT uFlagPos;

/* flag or flags to be changed */

L_UINT uFlagSet;

/* flags (of those in uFlagPos) to be turned on */

Sets flags that control the speed, quality, and style of painting operations.

Parameter

Description

uFlagPos

The flag or flags to be changed. You can use a bitwise OR ( | ) to specify more than one flag. You can use DISPLAYMODE_RESETPOSITIONS to indicate all flags.

 

Refer to Flags for the L_SetDisplayMode Function for descriptions of the flags.

uFlagSet

The flags (of those specified in the uFlagPos parameter) to be turned on. You can use a bitwise OR ( | ) to include more than one flag. You can use 0 to turn off all the flags specified in the uFlagPos parameter.

 

Refer to Flags for the L_SetDisplayMode Function for descriptions of the flags.

Returns

The unsigned integer containing the painting control flags as they were set before calling this function.

Comments

The first parameter specifies which flags are affected, and the second specifies which of those to turn on. The other affected flags are turned off.

Therefore:

To turn a flag on, specify it in the first parameter and the second.

To turn a flag off, specify it in the first parameter, but not the second.

For example, the following statement turns on fast painting, turns off dithered painting, and leaves all other flags as they were:

L_SetDisplayMode

(DISPLAYMODE_FASTPAINT | DISPLAYMODE_DITHEREDPAINT, DISPLAYMODE_FASTPAINT );

For the fastest paint, neither DISPLAYMODE_BICUBIC nor DISPLAYMODE_RESAMPLE should be set.

DISPLAYMODE_RESAMPLE and DISPLAYMODE_BICUBIC cannot be combined.

When painting 1BPP images, DISPLAYMODE_FAVORBLACK and DISPLAYMODE_SCALETOGRAY take precedence over DISPLAYMODE_RESAMPLE and DISPLAYMODE_BICUBIC.

DISPLAYMODE_RESAMPLE is faster than DISPLAYMODE_BICUBIC, but DISPLAYMODE_BICUBIC produces better results when zooming in on images. When zooming out, DISPLAYMODE_BICUBIC and DISPLAYMODE_RESAMPLE produce the same effect.

Required DLLs and Libraries

LTDIS

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Windows 2000 / XP/Vista, Windows CE.

See Also

Functions:

L_GetDisplayMode

Topics:

Raster Image Functions: Displaying Images

 

Raster Image Functions: Palettes

 

Handling Palette Changes

Example

For complete sample code, refer to the LOADSAVE example. This example sets the display to use scale-to-gray, then repaints with a grayscale palette. It checks for the current setting and Document/Medical capabilities before changing the display mode. This affects only 1-bit images.

 L_INT SetDisplayModeExample(L_HWND hWnd)
{

   if (L_GetDisplayMode() == DISPLAYMODE_SCALETOGRAY)
   {
         MessageBox (NULL, TEXT("Already using scale-to-gray"), TEXT("Notice"), MB_OK);
   }
   else if (L_IsSupportLocked(L_SUPPORT_DOCUMENT))
   {
         MessageBox (NULL, TEXT("No scale to gray - You need to unlock Document/Medical capabilities"), TEXT("Notice"), MB_OK);
   }
   else
   {
      /* Set the display mode to scale-to-gray */
      L_SetDisplayMode(DISPLAYMODE_SCALETOGRAY, DISPLAYMODE_SCALETOGRAY);
      /* Get a new palette as the paint palette because we are now using grayscale, instead of 1-bit */
      SendMessage (hWnd, WM_QUERYNEWPALETTE, 0, 0L);
   }
   return SUCCESS;
}