LImageViewer::EnableCellLowMemoryUsage

#include "ltwrappr.h"

L_INT LImageViewer::EnableCellLowMemoryUsage(nCellIndex, nHiddenCount, nFrameCount, pBitmapInfo, bEnable, uFlags)

L_INT nCellIndex;

/* index of a cell */

L_INT nHiddenCount;

/* number of frame to load ahead */

L_INT nFrameCount;

/* number of frame to load ahead */

DISPCONTAINERBITMAPINFO * pBitmapInfo;

/* number of total frames */

L_UINT uFlags;

/* reserved for future use */

Enables a method to load the frames only when viewed, in order to use the system memory efficiently.

Parameter

Description

nCellIndex

A zero-based index of the cell being enabled.

nHiddenCount

Value that represents the number of unseen frames that the control will load. Setting this value, for example, to 2 makes the control load 2 frames before the viewed frames and 2 frames after the viewed frames.

nFrameCount

Value that represents the total number of frames that will be included in the specified cell.

pBitmapInfo

Pointer to the DISPCONTAINERBITMAPINFO structure that contains the bitmap information to being set.

uFlags

Reserved for future use. Pass 0.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

The low memory usage feature works by stopping the control from loading all the frames at runtime. Instead, the control will load only the frames that are currently visible on the cell. The control will send a request each time the user scrolls down or up, changes the number of visible framesetc. For example, suppose the cell layout is a 2X2 (See LImageViewer::SetCellProperties), and the user needs to load more than 100000 frames. The control will not load them all. This function will send a callback (LImageViewer::LowMemoryUsageCallBack) when the cell is loaded requesting 4 frames (1, 2, 3 and 4) (because the cell is 2X2). Once the user scrolls down the cell to show frame number 5, frame number 1 will be disposed of because it is no longer visible, and the callback will be fired to request frame number 5. When frames are requested, the user is supposed to send them to the control using the LImageViewer::SetRequestedImage function.

For the callback, use the function LImageViewer::LowMemoryUsageCallBack, to use this callback, it must first be set by calling LImageViewer::EnableLowMemoryUsageCallBack.

If the user does not need to use the low memory usage feature to load images, he can send a bitmap list directly to the control using the LImageViewer::SetCellBitmapList function.

Required DLLs and Libraries

LTIVW

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

See Also

Functions:

LImageViewer::Create, LImageViewer::Destroy, LImageViewer::InsertCell, LImageViewer::SetRequestedImage, LImageViewer::EnableLowMemoryUsageCallBack, LImageViewer::LowMemoryUsageCallBack, LImageViewer::SetCellBitmapList

Topics:

Using the Image Viewer

 

Window Control/Image Viewer Functions: Using the Image Viewer

Example

For an example, refer to LImageViewer::EnableLowMemoryUsageCallBack.