LVectorBase::Paint

#include "ltwrappr.h"

virtual L_INT LVectorBase::Paint(hDC, bEraseBkgnd)

HDC hDC;

/* device context */

L_BOOL bEraseBkgnd;

/* flag that indicates whether to erase the background */

Draws the specified vector into a given device context.

Parameter

Description

hDC

Device context.

bEraseBkgnd

Flag that indicates whether or not to erase the background rectangle when rendering the vector. Possible values are:

 

Value

Meaning

 

TRUE

The background rectangle will be erased when the vector image is rendered to the device context.

 

FALSE

The background rectangle will not be erased.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

If hDC is NULL, this function will assume that the vector is already attached to a window, and will draw the vector image to the window DC.

The background color used to erase the rectangle where the vector image is rendered can be set with LVectorBase::SetBackgroundColor.

If LVectorBase::Paint is called in response to a WM_PAINT message, hDC should be the paint DC obtained from BeginPaint.

This function will use current camera and current viewport of the vector handle to do the necessary projection into the surface of the DC.

Note: For the OpenGL engine, the background color will always be used to erase all of the image before drawing, regardless of the view port.

Required DLLs and Libraries

LVKRN

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:

LVectorBase::Realize, LVectorBase::AttachToWindow, LVectorBase::SetCamera, LVectorBase::SetViewport, LVectorBase::SetBackgroundColor

Topics:

Vector Images: Viewing a Vector Image

Example

L_VOID Example20(HWND hWnd, LVectorBase &Vector)
{
   HDC hdc;
   PAINTSTRUCT ps;
   RECT rect;
   HPALETTE hOldPalette, hPal;
   
   hdc = BeginPaint (hWnd, &ps) ;
   
   GetClientRect(hWnd, &rect);
   Vector.SetViewport(&rect);
   if (Vector.IsAllocated())
   {
      // Create the palette that we will use to paint 
      hPal = Vector.GetPalette();
      if( hPal )
      {
         hOldPalette = ::SelectPalette( hdc, hPal, TRUE );
         ::RealizePalette( hdc );
      }
      Vector.Paint(hdc, TRUE);
      
      if (hOldPalette)
      {
         ::SelectPalette (hdc, hOldPalette, FALSE);
         DeleteObject(hPal);
      }
   }
   EndPaint (hWnd, &ps) ;
}