Home COM GDI+ WebBrowser Data Access

IDXSurfaceFactory Interface

 

IID_IDXSurfaceFactory

{144946F5-C4D4-11D1-81D1-0000F87557DB}

 

 

The IDXSurfaceFactory interface provides methods to create and load data into DXSurface data objects.

 

Remarks

 

The most commonly used method of this interface is IDXSurfaceFactory::CreateSurface, which creates an uninitialized DXSurface of a specified size and pixel format. The IDXSurfaceFactory::LoadImage method is also useful. This method translates an image from a common image format, such as .gif, .jpg, and .bmp, and stores the result in a new DXSurface.

This interface is exposed by the IDXTransformFactory interface. The recommended way to expose the interface is by using the IServiceProvider::QueryService method on the IDXTransformFactory with SID_DXSurfaceFactory as the service identifier (ID). You can create procedural surfaces by specifying the class identifier (CLSID) of the procedural surface for the pFormatID parameter and by using the IDXSurfaceFactory::CreateSurface method.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IDXSurfaceFactory Members

Description

CreateSurface

Creates a DXSurface object of the specified size and format.

CreateFromDDSurface

Creates a DXSurface that contains a specified DirectDrawSurface object.

LoadImage

Binds the specified file name or URL and returns a DXSurface containing the image data.

LoadImageFromStream

Loads an image from a stream and returns a DXSurface.

CopySurfaceToNewFormat

Copies one surface to another and changes its pixel format.

CreateD3DRMTexture

Not currently supported.

BitBlt

Copies samples from one DXSurface to another.

   

CreateSurface

 

FUNCTION IDXSurfaceFactory_CreateSurface ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pDirectDraw AS DWORD _

, BYVAL pDDSurfaceDesc AS DWORD _

, BYREF pFormatID AS GUID _

, BYREF pBounds AS DXBNDS _

, BYVAL dwFlags AS DWORD _

, BYVAL punkOuter AS DWORD _

, BYREF riid AS GUID _

, BYREF ppDXSurface AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[3] USING IDXSurfaceFactory_CreateSurface (pthis, pDirectDraw, pDDSurfaceDesc, pFormatID, pBounds, dwFlags, punkOuter, riid, ppDXSurface) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

CreateFromDDSurface

 

FUNCTION IDXSurfaceFactory_CreateFromDDSurface ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pDDrawSurface AS DWORD _

, BYREF pFormatID AS GUID _

, BYVAL dwFlags AS DWORD _

, BYVAL punkOuter AS DWORD _

, BYREF riid AS GUID _

, BYREF ppDXSurface AS DWORD _

  ) AS LONG


  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[4] USING IDXSurfaceFactory_CreateFromDDSurface (pthis, pDDrawSurface, pFormatID, dwFlags, punkOuter, riid, ppDXSurface) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

LoadImage

 

FUNCTION IDXSurfaceFactory_LoadImage ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pszFileName AS STRING _

, BYVAL pDirectDraw AS DWORD _

, BYVAL pDDSurfaceDesc AS DWORD _

, BYREF pFormatID AS GUID _

, BYREF riid AS GUID _

, BYREF ppDXSurface AS DWORD _

  ) AS LONG

 
pszFileName = UCODE$(pszFileName)
  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[5] USING IDXSurfaceFactory_LoadImage (pthis, pszFileName, pDirectDraw, pDDSurfaceDesc, pFormatID, riid, ppDXSurface) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION

 

 

LoadImageFromStream

 

FUNCTION IDXSurfaceFactory_LoadImageFromStream ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pStream AS DWORD _

, BYVAL pDirectDraw AS DWORD _

, BYVAL pDDSurfaceDesc AS DWORD _

, BYREF pFormatID AS GUID _

, BYREF riid AS GUID _

, BYREF ppDXSurface AS DWORD _

  ) AS LONG


  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[6] USING IDXSurfaceFactory_LoadImageFromStream (pthis, pStream, pDirectDraw, pDDSurfaceDesc, pFormatID, riid, ppDXSurface) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

CopySurfaceToNewFormat

 

FUNCTION IDXSurfaceFactory_CopySurfaceToNewFormat ( _
  BYVAL
pthis AS DWORD PTR _
, BYVAL
pSrc AS DWORD _

, BYVAL pDirectDraw AS DWORD _

, BYVAL pDDSurfaceDesc AS DWORD _

, BYREF pDestFormatID AS GUID _

, BYREF ppNewSurface AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[7] USING IDXSurfaceFactory_CopySurfaceToNewFormat (pthis, pSrc, pDirectDraw, pDDSurfaceDesc, pDestFormatID, ppNewSurface) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

CreateD3DRMTexture

 

FUNCTION IDXSurfaceFactory_CreateD3DRMTexture ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pSrc AS DWORD _

, BYVAL pDirectDraw AS DWORD _

, BYVAL pD3DRM3 AS DWORD _

, BYREF riid AS GUID _

, BYREF ppTexture3 AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[8] USING IDXSurfaceFactory_CreateD3DRMTexture (pthis, pSrc, pDirectDraw, pD3DRM3, riid, ppTexture3) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

BitBlt

 

FUNCTION IDXSurfaceFactory_BitBlt ( _
  BYVAL
pthis AS DWORD PTR _

, BYVAL pDest AS DWORD _

, BYREF pPlacement AS DXVEC _

, BYVAL pSrc AS DWORD _

, BYREF pClipBounds AS DXBNDS _

, BYVAL dwFlags AS DWORD _

  ) AS LONG

  LOCAL
HRESULT AS LONG
  CALL DWORD
@@pthis[9] USING IDXSurfaceFactory_BitBlt (pthis, pDest, pPlacement, pSrc, pClipBounds, dwFlags) TO HRESULT
  FUNCTION =
HRESULT

END FUNCTION
 

 

Page last updated on Monday, 03 April 2006 19:48:38 +0200