MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLDXAcceleratedSurface Class Reference
Inheritance diagram for TSLDXAcceleratedSurface:

Detailed Description

DirectX9 Accelerated drawing surface for Microsoft Windows.

Creates the TSLAcceleratedRenderer when the user adds a class derived from TSLAccleratedRenderControl.

MapLink Notes:

The draw extent will be ignored and the whole display will be redrawn on a draw.

The translucency (TSLPropertyTransparency) of the first buffered layer defines the translucency of the tiled rendering. Rendering of the buffered tiles also occurs at this point.

Layers which are single buffered will be drawn in the order they were added or subsequently reordered. Unless the layer is an Accelerated Custom layer the drawing will be performed using GDI. In order not to impact too much on performance do not interleave DirectX and GDI layers too much.

Single buffered layers interleaved with double buffered layers will be drawn after the buffered tiles have been drawn.

When using an Accelerated Custom Datalayer then view, world and projection matrices need to be preserved.

The getRenderingInterface() call returns a TSLRenderingInterface for the HWND.

DirectX Notes:

You can only use HWND's when attaching or creating a DirectX Surface.

MapLink sets the D3DCREATE_FPU_PRESERVE flag when creating a device. This is required because MapLink needs to use doubles for accurate calculation of data.

Portions of Direct3D assume floating-point unit exceptions are masked. Unmasking such exceptions may lead to undefined behavior. The C/C++ runtime libraries mask all floating-point exceptions by default.

The C/C++ math defaults are:

  • Rounding: NEAR
  • Precision control: 53 bits
  • Interrupt exception mask: INVALID, ZERODIVIDE, OVERFLOW, UNDERFLOW, INEXACT, DENORMAL

Limitations

The method wndResize can not be used to draw to a smaller area of the window.

Public Member Functions

 TSLDXAcceleratedSurface (HWND wnd, TSLDXSwapBuffer swapEffect)
 
 TSLDXAcceleratedSurface (HWND hwnd, void *direct3d, void *device, void *presentParameters)
 
virtual TSLDrawingSurfaceclone (bool copyUserData=false)
 
HBITMAP getBitmap () const
 
void * getDevice () const
 
void * getDirect3D () const
 
void * getPresentParameters () const
 
void releaseResources ()
 
virtual ~TSLDXAcceleratedSurface ()
 
- Public Member Functions inherited from TSLAcceleratedSurface
virtual ~TSLAcceleratedSurface ()
 
virtual bool addRenderControl (TSLAcceleratedRenderControl *renderControl)
 
bool ADUsPerDU (double &xUnits, double &yUnits) const
 
bool ADUToLatLon (const double xADU, const double yADU, double &lat, double &lon, bool local=false) const
 
bool ADUToTMC (const double xADU, const double yADU, TSLTMC &xTMC, TSLTMC &yTMC) const
 
void displayCentre (double &x, double &y) const
 
bool displayScale (double &scaleX, double &scaleY) const
 
void getADUExtent (double *x1, double *y1, double *x2, double *y2) const
 
bool getConfiguration (TSLAcceleratorConfiguration &configuration) const
 
bool latLonToADU (const double lat, const double lon, double &xADU, double &yADU, bool local=false) const
 
bool setConfiguration (TSLAcceleratorConfiguration &configuration)
 
virtual void setOption (TSLOptionEnum option, bool value)
 
double TMCsPerADU () const
 
bool TMCToADU (const TSLTMC xTMC, const TSLTMC yTMC, double &xADU, double &yADU) const
 
double viewRotation () const
 
- Public Member Functions inherited from TSLDrawingSurface
bool clearAllRendering ()
 
bool clearDynamicColours ()
 
TSLRasterBuffercreateRasterBuffer (unsigned int width, unsigned int height, TSLRasterBuffer::Format format, TSLRasterBuffer::FilterMode filterMode=TSLRasterBuffer::Linear)
 
bool declutterIsVisible (const char *feature_name, double resolution=0.0, const char *layer_name=0) const
 
bool drawDU (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2, bool clear, bool updateExtentOnly=false)
 
bool drawUU (double x1, double y1, double x2, double y2, bool clear, bool updateExtentOnly=false)
 
bool DUToLatLong (TSLDeviceUnits x, TSLDeviceUnits y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool DUToMU (TSLDeviceUnits x1, TSLDeviceUnits y1, double *x2, double *y2) const
 
bool DUToTMC (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLTMC *x2, TSLTMC *y2) const
 
bool DUToUU (TSLDeviceUnits x1, TSLDeviceUnits y1, double *x2, double *y2) const
 
TSLEntityfindEntityDU (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth, const char *feature_name=NULL)
 
TSLEntityfindEntityUU (double x, double y, double aperture, int depth, const char *feature_name=NULL)
 
TSLEntityfindSelectedEntityDU (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth=-1, bool ignoreMapDataLayers=false)
 
TSLEntityfindSelectedEntityUU (double x, double y, double aperture, int depth=-1, bool ignoreMapDataLayers=false)
 
bool getColourIndices (int **indices, int *num)
 
TSLDataLayergetCoordinateProvidingLayer ()
 
const TSLDataLayergetCoordinateProvidingLayer () const
 
bool getDeclutterRange (const char *featureName, double *innerLimit, double *outerLimit, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool getDeviceCapabilities (int &horizontalSizeMM, int &verticalSizeMM, int &horizontalSizePixels, int &verticalSizePixels) const
 
bool getDeviceCapabilities (TSLDeviceCapabilities &capabilities) const
 
void getDUExtent (TSLDeviceUnits *x1, TSLDeviceUnits *y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool getFillStyleIndices (int **indices, int *num)
 
bool getFontStyleIndices (int **indices, int *num)
 
bool getLineStyleIndices (int **indices, int *num)
 
void getMUExtent (double *x1, double *y1, double *x2, double *y2) const
 
bool getSymbolStyleIndices (int **indices, int *num)
 
TSLDrawingSurfaceTiledBufferControlgetTiledBufferController ()
 
void getTMCExtent (TSLEnvelope &extent) const
 
void getUUExtent (double *x1, double *y1, double *x2, double *y2) const
 
bool getViewedLatLongRange (double *latitude, double *longitude, double *range, bool local=false, bool boundCheck=true) const
 
bool latLongToDU (double latitude, double longitude, TSLDeviceUnits *x, TSLDeviceUnits *y, bool local=false) const
 
bool latLongToMU (double latitude, double longitude, double *x, double *y, bool local=false) const
 
bool latLongToTMC (double latitude, double longitude, TSLTMC *x, TSLTMC *y, bool local=false) const
 
bool latLongToUU (double latitude, double longitude, double *x, double *y, bool local=false) const
 
bool MUToDU (double x1, double y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool MUToLatLong (double x, double y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool MUToTMC (double x1, double y1, TSLTMC *x2, TSLTMC *y2) const
 
bool MUToUU (double x1, double y1, double *x2, double *y2) const
 
bool pan (double x1, double y1, bool auto_redraw=true)
 
bool pan (double x1, double y1, TSLDeviceUnits xDU, TSLDeviceUnits yDU, bool auto_redraw=true)
 
TSLMapQueryquery (const char *layerName, TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, int depth=-1, const char *feature_name=NULL) const
 
TSLMapQueryquery (const char *layerName, TSLTMC x1, TSLTMC y1, TSLTMC x2, TSLTMC y2, TSLSelector *selector) const
 
bool redraw ()
 
bool reset (bool auto_redraw=true)
 
bool resize (double x1, double y1, double x2, double y2, bool auto_redraw=true, bool keep_aspect=false)
 
bool rotate (double angle)
 
double rotation () const
 
bool setDeclutterRange (const char *featureName, double innerLimit, double outerLimit, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeviceCapabilities (const int horizontalSizeMM=0, const int verticalSizeMM=0, const int horizontalSizePixels=0, const int verticalSizePixels=0)
 
bool setDeviceCapabilities (const TSLDeviceCapabilities &capabilities)
 
void setRedrawCallback (TSLDrawingSurfaceDrawCallback *callback)
 
bool setupDynamicColours (const char *filename)
 
bool setViewedLatLongRange (double latitude, double longitude, double range, bool local=false, bool auto_redraw=true, bool keep_aspect=false)
 
void TMCperDU (double &xr, double &yr)
 
double TMCperUU ()
 
bool TMCToDU (TSLTMC x1, TSLTMC y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool TMCToLatLong (TSLTMC x, TSLTMC y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool TMCToMU (TSLTMC x1, TSLTMC y1, double *x2, double *y2) const
 
bool TMCToUU (TSLTMC x1, TSLTMC y1, double *x2, double *y2) const
 
bool updateEntityExtent (TSLEntity *entity, const char *layerName)
 
void userUnitOrigin (double x_origin, double y_origin)
 
void userUnitOrigin (TSLUUEnum origin_enum)
 
void userUnits (double factor)
 
double userUnits ()
 
bool UUToDU (double x1, double y1, TSLDeviceUnits *x2, TSLDeviceUnits *y2) const
 
bool UUToLatLong (double x, double y, double *latitude, double *longitude, bool local=false, bool boundCheck=true) const
 
bool UUToMU (double x1, double y1, double *x2, double *y2) const
 
bool UUToTMC (double x1, double y1, TSLTMC *x2, TSLTMC *y2) const
 
bool wndResize (TSLDeviceUnits x1, TSLDeviceUnits y1, TSLDeviceUnits x2, TSLDeviceUnits y2, bool auto_redraw=true, TSLResizeActionEnum action=TSLResizeActionNone)
 
bool zoom (double percent, bool zoom_in, bool auto_redraw=true)
 
 TSLDrawingSurface ()
 
virtual ~TSLDrawingSurface ()
 
void clearSymbolList ()
 
void clearFontList ()
 
void clearLineList ()
 
void clearFillList ()
 
bool removeFillStyle (TSLStyleID style)
 
bool removeLineStyle (TSLStyleID style)
 
bool removeSymbolStyle (TSLStyleID style)
 
bool removeFontStyle (TSLStyleID style)
 
TSLStyleID createFontID (const TSLSimpleString &name, TSLFontType meaningOfName, int fontWeight, bool italic=false, bool underline=false, bool antiAliased=false, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createStandardLineID (const unsigned char *pattern, TSLSize patternLength, int initialOffset, TSLLineScalingType scaleType)
 
TSLStyleID createSymbolLineID (int symbolID, double size=0.0, TSLDimensionUnits sizeUnits=TSLDimensionUnitsUndefined, float rotation=0.0f, double anchorPointX=0.0, double anchorPointY=0.0, TSLDimensionUnits anchorPointUnits=TSLDimensionUnitsUndefined)
 
TSLStyleID createStandardFillID (const unsigned char *pattern=NULL, TSLSize patternSizeInBytes=0, int patternXSize=0, int patternYSize=0)
 
TSLStyleID createSymbolFillID (int symbolID, double size=0.0, TSLDimensionUnits sizeUnits=TSLDimensionUnitsUndefined, float rotation=0.0f, double anchorPointX=0.0, double anchorPointY=0.0, TSLDimensionUnits anchorPointUnits=TSLDimensionUnitsUndefined)
 
TSLStyleID createSVGSymbolID (const TSLSimpleString &name, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createFontSymbolID (const TSLSimpleString &name, TSLFontType meaningOfName, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createRasterSymbolID (const TSLSimpleString &name, int xorigin, int yorigin, bool scaleable, const unsigned char *memoryBlock=NULL, TSLSize memoryBlockSize=0)
 
TSLStyleID createSymbolIDFromSymbol (TSLStyleID symbolID, int numberofColourPairs, const int *colourFrom, const int *colourTo)
 
- Public Member Functions inherited from TSLDrawingSurfaceBase
bool addDataLayer (TSLDataLayer *data_layer_interface, const char *data_id)
 
bool addDynamicRenderer (TSLDynamicRenderer *renderer, TSLFeatureID featureID=-1, const char *layerName=0)
 
bool addFeatureRendering (const char *featureName, TSLFeatureID featureID)
 
void attach (TSLDeviceContext handle)
 
void attach (TSLWindowHandle handle)
 
void attach (TSLDrawableHandle handle)
 
bool bringInFrontof (const char *move_data_layer, const char *target_data_layer)
 
bool bringToFront (const char *move_data_layer)
 
bool clearAllDeclutterData (const char *layer_name=0)
 
void clearAllDynamicRenderers ()
 
bool clearBackgroundColour ()
 
bool clearDeclutterData (const char *feature_name, const char *layer_name=0)
 
bool clearDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
bool clearFeatureRendering (const char *featureName, TSLFeatureID featureID)
 
bool clearFrame ()
 
bool copyDeclutterData (const char *src_feature_name, const char *dest_feature_name, const char *src_layer_name=0, const char *dest_layer_name=0)
 
void detach ()
 
void detachAllDynamicRenderers ()
 
bool detachDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
const char * featureClass (TSLFeatureID feature_id)
 
bool forceLayer (const char *data_id, const char *detail_layer_name)
 
bool getBackgroundColour (TSLStyleID *value)
 
bool getColourValue (int colour, unsigned char &r, unsigned char &g, unsigned char &b)
 
TSLDataLayergetDataLayer (const char *data_id)
 
bool getDataLayerInfo (int N, TSLDataLayer **dataLayer, const char **layerName) const
 
bool getDataLayerProps (const char *data_id, TSLPropertyEnum property_id, TSLPropertyValue *old_value)
 
bool getDeclutterStatus (const char *feature_name, TSLDeclutterStatusResultEnum *value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool getDeclutterStatus (TSLFeatureID feature_id, TSLDeclutterStatusResultEnum *value, const char *dataLayerName, const char *detailLayerName=0)
 
TSLDynamicRenderergetDynamicRenderer (TSLFeatureID featureID=-1, const char *layerName=0)
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool *result) const
 
bool getFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *result) const
 
int getNumDataLayers () const
 
bool getOption (TSLOptionEnum option)
 
void id (int id_)
 
int id () const
 
bool idleProcess ()
 
bool loadDeclutter (const char *filename)
 
bool loadRendering (const char *filename)
 
TSLPickResultSetpick (TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth, TSLPickSelector *selector=0)
 
TSLPickResultSetpick (const char *data_id, TSLDeviceUnits x, TSLDeviceUnits y, TSLDeviceUnits aperture, int depth=-1, TSLPickSelector *selector=0)
 
bool queryActiveLayer (const char *data_id, char *detail_layer_name, int detail_layer_name_size)
 
bool removeDataLayer (const char *data_id)
 
bool saveDeclutter (const char *filename, TSLMapLinkVersion ver=TSL_CURRENT_MAPLINK_VERSION)
 
bool saveRendering (const char *filename, TSLMapLinkVersion ver=TSL_CURRENT_MAPLINK_VERSION)
 
bool sendToBack (const char *move_data_layer)
 
bool sendToBackOf (const char *move_data_layer, const char *target_data_layer)
 
bool setBackgroundColour (int value)
 
bool setCoordinateProvidingLayer (const char *layer_name)
 
bool setDataLayerProps (const char *data_id, TSLPropertyEnum property_id, TSLPropertyValue new_value)
 
bool setDeclutterStatus (const char *feature_name, TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeclutterStatus (TSLFeatureID feature_id, TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setDeclutterStatusOnAllFeatures (TSLDeclutterStatusEnum value, const char *dataLayerName=0, const char *detailLayerName=0)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeInt attribute, int value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeDouble attribute, double value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributeBool attribute, bool value)
 
bool setFeatureRendering (const char *featureName, TSLFeatureID featureID, TSLRenderingAttributes *value)
 
bool setFrame (int style, int colour, int thickness)
 
double TMCperMU ()
 
TSLDrawingSurfaceTypeEnum type () const
 
void userWord (void *ptr) const
 
void * userWord () const
 
bool cloneDynamicRenderersFrom (const TSLDrawingSurfaceBase *otherSurface)
 
void addDuplicateLayers (bool value)
 
virtual ~TSLDrawingSurfaceBase ()
 

Additional Inherited Members

- Static Public Member Functions inherited from TSLDrawingSurface
static void cleanup ()
 
static bool copy (TSLDrawingSurface *copyTo, TSLDrawingSurface *copyFrom, bool copyUserData=false)
 
static TSLStyleID getIDOfNearestColour (int r, int g, int b)
 
static bool loadStandardConfig (const char *path=0, bool delayLoadIncludes=false)
 
static bool setupColours (const char *filename)
 
static bool setupFillStyles (const char *filename, bool delayLoadIncludes=false)
 
static bool setupFonts (const char *filename, bool delayLoadIncludes=false)
 
static bool setupLineStyles (const char *filename, bool delayLoadIncludes=false)
 
static bool setupSymbols (const char *filename, bool delayLoadIncludes=false)
 
static void disableAntiAliasFonts ()
 
static void enableAntiAliasFonts ()
 
- Static Public Member Functions inherited from TSLDrawingSurfaceBase
static bool addLoader (TSLFileLoader *loader)
 
static bool addPathList (TSLPathList *path_list)
 
static bool findFile (const char *filename, TSLSimpleString &foundPath)
 
static TSLFileLoadergetLoader ()
 
- Protected Member Functions inherited from TSLAcceleratedSurface
 TSLAcceleratedSurface ()
 
- Protected Member Functions inherited from TSLDrawingSurfaceBase
 TSLDrawingSurfaceBase ()
 
- Protected Attributes inherited from TSLAcceleratedSurface
TSLAcceleratedRendererm_acceleratedRenderer
 
- Protected Attributes inherited from TSLDrawingSurfaceBase
void * m_classID
 

Constructor & Destructor Documentation

◆ TSLDXAcceleratedSurface() [1/2]

TSLDXAcceleratedSurface::TSLDXAcceleratedSurface ( HWND wnd,
TSLDXSwapBuffer swapEffect )

Construct a Windows DirectX specific TSLAcceleratedDrawingSurface. MapLink will construct a sensible default DirectX device. If you require additional control then use the other Constructor.

This particular setup will do all the setup for DirectX.

Parameters
hwndHWND to which the TSLAcceleratedDrawingSurface is to be attached.
swapEffectThis is the DirectX swap effect.

The swapEffect controls how the back buffer is displayed onto the screen. Normally you would want to use TSLD3DSwapBufferDiscard or TSLD3DSwapBuffer Flip as these would redraw all the buffer. The size of the back buffer is the size of the window. MapLink can be told to only draw to part of this buffer by a call to TSLDrawingSurface::wndResize(...), however on the swapping of the buffers the whole buffer is displayed on the screen.

If you only want to redraw part of the Screen you will want to use TSLD3DSwapBufferCopy. This really only makes sense if you are using the EditorSDK or you are doing something similar to the EditorSDK and are only doing partial updates to the screen.

Notes

TSLAcceleratorConfiguration.swapBuffers(false) and any drawing should have the clear flag set to true.

If you wish to draw before the MapLink surface you need to do the following

// Set the surface configuration up.
surface->getConfiguration(config);
config.swapBuffers(false);
surface->setConfiguration(config);
// For drawing
LPDIRECT3DDEVICE9 device = (LPDIRECT3DDEVICE9)surface->getDevice();
device->BeginScene();
// setup matrices and draw..
// the matrices and viewport will be preserved
surface->drawDU( rect.left, rect.bottom, rect.right, rect.top, true ) ;
device->EndScene();
device->Present( NULL, NULL, NULL, NULL );
Definition tslacceleratorconfiguration.h:41
bool swapBuffers() const
Definition tslacceleratorconfiguration.h:520

The DirectX device is created with the following parameters

D3DPRESENT_PARAMETERS m_d3dpp;
ZeroMemory( &m_d3dpp, sizeof(m_d3dpp) );
m_d3dpp.Windowed = TRUE;
m_d3dpp.SwapEffect = swapEffect
m_d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
m_d3dpp.BackBufferCount = 1;
m_d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE ;
m_d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER ;
m_d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
// Create the D3DDevice
if( FAILED( m_lpD3D->CreateDevice( D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL, m_hwnd,
D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE,
&m_d3dpp, &m_device ) ) )
// If this fails we try different types of vertex processing

◆ TSLDXAcceleratedSurface() [2/2]

TSLDXAcceleratedSurface::TSLDXAcceleratedSurface ( HWND hwnd,
void * direct3d,
void * device,
void * presentParameters )

Construct a Windows DirectX specific TSLAcceleratedDrawingSurface.

This constructor requires the user to setup DirectX correctly.

Parameters
hwndWindow that was used to setup DirectX with.
direct3dThe IDirect3D9 interface (LPDIRECT3D9). Used to query capabilities.
deviceA pointer to a DirectX device (LPDIRECT3DDEVICE9) to which the TSLAcceleratedDrawingSurface is to be attached.
presentParametersA pointer to D3DPRESENT_PARAMETERS used to create the device with.
Note
The DirectX device values required
D3DPRESENT_PARAMETERS m_d3dpp;
m_d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; // textures created are ARGB
m_d3dpp.BackBufferCount = 1;
m_d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER | D3DCREATE_FPU_PRESERVE,

◆ ~TSLDXAcceleratedSurface()

virtual TSLDXAcceleratedSurface::~TSLDXAcceleratedSurface ( )
virtual

Member Function Documentation

◆ clone()

virtual TSLDrawingSurface * TSLDXAcceleratedSurface::clone ( bool copyUserData = false)
virtual

This method returns a TSLNTSurface.

Parameters
copyUserDataIf true, the userID and userWord will be copied to the new surface.

You can not clone a TSLWGLAcceleratedSurface.

Implements TSLDrawingSurface.

◆ getBitmap()

HBITMAP TSLDXAcceleratedSurface::getBitmap ( ) const

Redraws the surface into a Bitmap which is returned.

It is the responsibility of the caller to delete the Bitmap.

◆ getDevice()

void * TSLDXAcceleratedSurface::getDevice ( ) const

Returns a LPDIRECT3DDEVICE9.

If NULL is returned the device is invalid.

◆ getDirect3D()

void * TSLDXAcceleratedSurface::getDirect3D ( ) const

Returns the LPDIRECT3D9.

◆ getPresentParameters()

void * TSLDXAcceleratedSurface::getPresentParameters ( ) const

Returns a pointer to the D3DPRESENT_PARAMETERS used to create the DirectX device.

◆ releaseResources()

void TSLDXAcceleratedSurface::releaseResources ( )

This method should be called by the user when the user detects the lose of the Direct3D device.

The method must be called before Reset is called on the device by the user code.

If MapLink is doing all the drawing a lost device will be handled correctly internally.