Changes from Version 11.5 to Version 12

Version 12 of the LEADTOOLS Class Library has changed from version 11.5 as follows:

image\sqrblit.gif Saving vector images as a DXF inside a TIFF file is now supported in LEADTOOLS Vector Imaging Pro.

image\sqrblit.gif Uses L_DOUBLE instead of L_FLOAT through out the toolkit.

image\sqrblit.gif Supports copying and pasting into the Windows clipboard.

image\sqrblit.gif Added new functions to add, edit and delete layers.

image\sqrblit.gif Added new functions to provide a means for grouping objects into layers.

image\sqrblit.gif Provides new functions for adding, editing and deleting objects.

image\sqrblit.gif Now supports the following object types:

VECTOR_ARC

VECTOR_CHORD

VECTOR_CIRCLE

VECTOR_CLONE

VECTOR_ELLIPSE

VECTOR_ELLIPTICALARC

VECTOR_GROUP

VECTOR_LINE

VECTOR_PIE

VECTOR_POLYBEZIER

VECTOR_POLYDRAW

VECTOR_POLYGON

VECTOR_POLYLINE

VECTOR_RASTER

VECTOR_RECTANGLE

VECTOR_STOCK

VECTOR_TEXT

VECTOR_VERTEX

image\sqrblit.gif Supports new common dialogs for adding/editing objects and layers.

image\sqrblit.gif Supports vector groups for grouping vector objects.

 

Changed or removed functions:

The following functions have been removed since version 11.5:

LVectorBase::SetEngine

 

LVectorDialog::DoModalVector3DOptions. To achieve the same functionality, use LVectorDialog::DoModalVectorRender.

LVectorDialog::GetCamera

LVectorDialog::GetColorAmbient

LVectorDialog::GetPolygonMode

LVectorDialog::GetRotation

LVectorDialog::GetScale

LVectorDialog::GetTranslation

LVectorDialog::GetUseLights

LVectorDialog::SetCamera

LVectorDialog::SetColorAmbient

LVectorDialog::SetPolygonMode

LVectorDialog::SetRotation

LVectorDialog::SetScale

LVectorDialog::SetTranslation

LVectorDialog::SetUseLights

 

LVectorWindow::GetKeyMode

LVectorWindow::SetKeyMode

 

The following functions have changed since version 11.5:

LVectorBase::AttachToWindow (no longer static and it takes two extra parameters)

LVectorBase::ConvertToEMF (takes an extra parameter)

LVectorBase::ConvertToWMF (takes an extra parameter)

LVectorBase::Copy (takes an extra parameter)

LVectorBase::DeleteObject (takes an extra parameter)

LVectorBase::EnumVertices (takes an extra parameter)

LVectorBase::GetEngine (was static, now it is virtual)

LVectorBase::GetObjectParallelogram (takes an extra parameter)

LVectorBase::GetObjectRect (takes an extra parameter)

LVectorBase::HitTest (parameter has changed)

LVectorBase::IsObjectInsideParallelogram (takes an extra parameter)

LVectorBase::IsObjectInsideRect (takes an extra parameter)

LVectorBase::IsObjectSelected (takes fewer parameters)

LVectorBase::SetRotation (takes an extra parameter)

LVectorBase::SetScale (takes an extra parameter)

LVectorBase::SetTranslation (takes an extra parameter)

 

LVectorDialog::DoModalVectorCamera (takes two extra parameters)

LVectorDialog::DoModalVectorRotate (takes two extra parameters)

LVectorDialog::DoModalVectorScale (takes two extra parameters)

LVectorDialog::DoModalVectorTranslate (takes two extra parameters)

 

LVectorWindow::Load (takes two new parameters)

Changed structures:

The following structures have changed since version 11.5

VECTORCAMERA (New members added)

VECTOROBJECT the bSelected flag has changed to dwFlags

New Data Structures

The following data structures have been added since version 11.5:

VECTORARC

VECTORBITMAP

VECTORBRUSH

VECTORCHORD

VECTORCIRCLE

VECTORCLONE

VECTORELLIPSE

VECTORELLIPTICALARC

VECTORFONT

VECTORGROUP

VECTORGROUPDESC

VECTORHITTEST

VECTORLAYER

VECTORLAYERDESC

VECTORLINE

VECTORMARKER

VECTORPEN

VECTORPIE

VECTORPOLYBEZIER

VECTORPOLYDRAW

VECTORPOLYGON

VECTORPOLYLINE

VECTORRASTER

VECTORRECTANGLE

VECTORSTOCK

VECTORTEXT

VECTORVERTEX

New Error Codes

The following error codes have been added since version 11.5:

ERROR_VECTOR_BITMAP_NOT_FOUND

ERROR_VECTOR_BRUSH_NOT_FOUND

ERROR_VECTOR_CANT_ADD_TEXT

ERROR_VECTOR_CANT_READ_WMF

ERROR_VECTOR_CLIPBOARD

ERROR_VECTOR_CLIPBOARD_IS_EMPTY

ERROR_VECTOR_ENGINE_NOT_FOUND

ERROR_VECTOR_FONT_NOT_FOUND

ERROR_VECTOR_GROUP_NOT_FOUND

ERROR_VECTOR_GROUP_ALREADY_EXISTS

ERROR_VECTOR_INVALID_ENGINE

ERROR_VECTOR_INVALID_OBJECT_TYPE

ERROR_VECTOR_IS_EMPTY

ERROR_VECTOR_LAYER_ALREADY_EXISTS

ERROR_VECTOR_LAYER_IS_LOCKED

ERROR_VECTOR_LAYER_NOT_FOUND

ERROR_VECTOR_OBJECT_NOT_FOUND

ERROR_VECTOR_PEN_NOT_FOUND

ERROR_VECTOR_POINT_NOT_FOUND

The rest of this topic lists the new functions in version 12.

LVectorBase

LVectorBase::AddGroup

LVectorBase::AddLayer

LVectorBase::AddObject

LVectorBase::CopyFromClipboard

LVectorBase::CopyGroup

LVectorBase::CopyLayer

LVectorBase::CopyObject

LVectorBase::CopyToClipboard

LVectorBase::Empty

LVectorBase::EnumGroups

LVectorBase::EnumGroupsCallBack

LVectorBase::EnumLayers

LVectorBase::EnumLayersCallBack

LVectorBase::EnumObjectsCallBack

LVectorBase::EnumVerticesCallBack

LVectorBase::GetActiveLayer

LVectorBase::GetGroupByIndex

LVectorBase::GetGroupByName

LVectorBase::GetGroupCount

LVectorBase::GetHitTest

LVectorBase::GetLayerByIndex

LVectorBase::GetLayerByName

LVectorBase::GetLayerCount

LVectorBase::GetMarker

LVectorBase::GetOrigin

LVectorBase::GetParallelogram

LVectorBase::IsClipboardReady

LVectorBase::IsEmpty

LVectorBase::IsLocked

LVectorBase::IsObjectHidden

LVectorBase::SetActiveLayer

LVectorBase::SetHitTest

LVectorBase::SetLocked

LVectorBase::SetMarker

LVectorBase::SetObjectAttributes

LVectorBase::SetOrigin

LVectorBase::SetParallelogram

LVectorBase::ZoomRect

LVectorBase::EnableFontMapper

LVectorBase::IsFontMapperEnabled

 

LVectorClone

LVectorClone::LVectorClone

LVectorClone::~LVectorClone

LVectorClone::LockObject

LVectorClone::SetGroup

LVectorClone::UnlockObject

LVectorDialog

LVectorDialog::DoModalVectorEditAllGroups

LVectorDialog::DoModalVectorEditAllLayers

LVectorDialog::DoModalVectorEditGroup

LVectorDialog::DoModalVectorEditLayer

LVectorDialog::DoModalVectorEditObject

LVectorDialog::DoModalVectorHitTest

LVectorDialog::DoModalVectorNewGroup

LVectorDialog::DoModalVectorNewLayer

LVectorDialog::DoModalVectorNewObject

LVectorDialog::DoModalVectorRender

LVectorDialog::DoModalVectorViewMode

LVectorDialog::EnableNoDuplicate

LVectorDialog::EnableSelectedOnly

LVectorDialog::GetString

LVectorDialog::GetStringLen

LVectorDialog::SetFont

LVectorDialog::SetString

LVectorGroup:

LVectorGroup::LVectorGroup

LVectorGroup::~LVectorGroup

LVectorGroup::AddObject

LVectorGroup::DeleteGroup

LVectorGroup::DeleteGroupClones

LVectorGroup::EmptyGroup

LVectorGroup::EnumObjects

LVectorGroup::EnumObjectsCallBack

LVectorGroup::GetGroupDesc

LVectorGroup::SetGroupDesc

LVectorGroup::SetVector

LVectorLayer

LVectorLayer::AddObject

LVectorLayer::DeleteLayer

LVectorLayer::EmptyLayer

LVectorLayer::EnumObjects

LVectorLayer::EnumObjectsCallBack

LVectorLayer::GetLayerDesc

LVectorLayer::SetLayerDesc

LVectorLayer::SetVector

LVectorObject

LVectorObject::DeleteObject

LVectorObject::ExplodeObject

LVectorObject::GetObjectAttributes

LVectorObject::GetObjectParallelogram

LVectorObject::GetObjectRect

LVectorObject::GetType

LVectorObject::HideObject

LVectorObject::IsObjectHidden

LVectorObject::IsObjectInsideParallelogram

LVectorObject::IsObjectInsideRect

LVectorObject::IsObjectSelected

LVectorObject::IsValid

LVectorObject::LockObject

LVectorObject::SelectObject

LVectorObject::SetObjectAttributes

LVectorObject::SetRotation

LVectorObject::SetScale

LVectorObject::SetTranslation

LVectorObject::UnlockObject