Skip to content

IGR_Close_Canvas

IGR_Close_Canvas releases the resources associated with the canvas handle. It must be called for every canvas opened by IGR_Make_Output_Canvas or IGR_Make_Output_Canvas_On, and must be called before closing the document with IGR_Close_File.

Prototype

IGR_LONG IGR_Close_Canvas(
    HCANVAS CanvasHandle,
    Error_Control_Block* Error);

Parameters

CanvasHandle: HCANVAS

Handle to a canvas, opened by a call to IGR_Make_Output_Canvas or IGR_Make_Output_Canvas_On.

Error: Pointer to Error_Control_Block

Returns error details if the call fails.

Return value

Success: IGR_LONG

Returns IGR_OK.

Failure: IGR_LONG

Returns one of the possible IGR_E error codes.

Sample code

Error_Control_Block ISYSError;
IGR_LONG Capabilities, DocType, DocHandle, PageCount;
HPAGE PageHandle;

IGR_LONG RC = IGR_Open_Stream(pStream, IGR_FORMAT_IMAGE, &Capabilities, &DocType, &DocHandle, &ISYSError);
if (RC == IGR_OK)
{
    if (IGR_Get_Page_Count(DocHandle, &PageCount, &ISYSError) == IGR_OK)
    {
        for (IGR_LONG PageIndex = 0; PageIndex < PageCount; PageIndex++)
        {
            if (IGR_Open_Page(DocHandle, PageIndex, &PageHandle, &ISYSError) == IGR_OK)
            {
                HCANVAS CanvasHandle;
                if (IGR_Make_Output_Canvas(IGR_DEVICE_IMAGE_PNG, L"page.png",
                    &CanvasHandle, &ISYSError) == IGR_OK)
                {
                    IGR_Render_Page(PageHandle, CanvasHandle, &ISYSError);
                    IGR_Close_Canvas(CanvasHandle, &ISYSError);
                }
                IGR_Close_Page(PageHandle, &ISYSError);
            }
        }
    }
    IGR_Close_File(DocHandle, &ISYSError);
}

See also