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

 

How to Disable the Automatic Loading of the default DICOM IOD Table

Example

This function will load frames of an overlay into a bitmap list.

L_INT LDicomDS_GetOverlayBitmapListExample(LDicomDS        &InDS,// Input dataset
                                               HBITMAPLIST     hList,//Bitmap list to be populated
                                               L_TCHAR*        pActivationLayer,//Retrieve activation layer if needed
                                               L_UINT          uLength//Length of input buffer
                                               )
{
   L_INT                nRet;
   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) 
   {
      nRet = InDS.GetOverlayActivationLayer (0,pActivationLayer,uLength); 
      if(nRet != DICOM_SUCCESS)
         return nRet;
   }
   nRet = InDS.GetOverlayAttributes (  0, 
                                      &OverlayAttributes, 
                                      sizeof(OverlayAttributes), 
                                      &GroupNumber,  
                                      &IsOverlayInDataset, 
                                      0); 
   if(nRet != DICOM_SUCCESS)
      return nRet;
   return InDS.GetOverlayBitmapList (0, 
                                    hList, 
                                    0, 
                                    OverlayAttributes.nNumFramesInOverlay, 
                                    0);
}