LDicomDS::GetOverlayBitmapList

#include "ltdic.h"

L_UINT16 LDicomDS::GetOverlayBitmapList ( uOverlayIndex, hList, uOverlayFrameIndex, uCount, uFlags)

L_UINT uOverlayIndex;

/* index */

HBITMAPLIST hList;

/* handle */

L_UINT32 uOverlayFrameIndex;

/* position of the first frame */

L_UINT32 uCount;

/* number of frames */

L_UINT uFlags;

/* reserved for future use */

Loads the bitmap list with frames from the "Overlay Data" (60xx, 3000) element.

Parameter

Description

uOverlayIndex

The index of the overlay for which to get the frames. This index is zero-based.

hList

Handle to the list of bitmaps.

uOverlayFrameIndex

Position of the first frame to be loaded. Use zero-based indexing. For example, if there are 5 bitmaps in a list, the index of the last one is 4.

uCount

Number of frames to load into the bitmap list.

uFlags

Reserved for future use. Pass 0.

Returns

0

The function was successful.

> 0

An error occurred. Refer to Return Codes.

Comments

Before calling this function you must call LDicomDS::GetOverlayAttributes. The nNumFramesInOverlay member of the OVERLAYATTRIBUTES structure will be updated with the number of frames under an overlay.

As an example, if you wish to load 5 frames starting with the 1st frame in the "Overlay Data", call this function with uOverlayFrameIndex set to 0 and uCount set to 5.

Required DLLs and Libraries

LTDIC

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:

LDicomDS::GetOverlayCount, LDicomDS::GetOverlayAttributes, LDicomDS::GetOverlayActivationLayer, LDicomDS::GetOverlayBitmap, LDicomDS::SetOverlayAttributes, LDicomDS::SetOverlayBitmap, LDicomDS::SetOverlayBitmapList, LDicomDS::DeleteOverlay

Topics:

Overlays Overview

 

Overlays

Example

//This function will load frames of an overlay into a bitmap list
L_UINT16 MyGetOverlayBitmapList
(
   LDicomDS       &InDS,// Input dataset
   HBITMAPLIST    hList,//Bitmap list to be populated
   L_CHAR         *pActivationLayer,//Retrieve activation layer if needed
   L_UINT         uLength//Length of input buffer

{
   L_UINT16             uRet;   
   OVERLAYATTRIBUTES    OverlayAttributes = {0};
   L_INT                GroupNumber=0; 
   L_BOOL               IsOverlayInDataset = FALSE; 

   //(1)Sanity Check ! 
   if(hList == NULL) 
   {
      return DICOM_ERROR_NULL_PTR;      
   }
   // Get activation layer
   if(pActivationLayer && uLength) 
   {
      InDS.GetOverlayActivationLayer (0,pActivationLayer,uLength); 
   }
   uRet = InDS.GetOverlayAttributes (  0, 
                                      &OverlayAttributes, 
                                      sizeof(OverlayAttributes), 
                                      &GroupNumber,  
                                      &IsOverlayInDataset, 
                                      0); 
   if(DICOM_SUCCESS !=uRet) 
   {
      return uRet; 
   }
   return InDS.GetOverlayBitmapList (0, 
                                    hList, 
                                    0, 
                                    OverlayAttributes.nNumFramesInOverlay, 
                                    0);   
}