Classes | Defines | Typedefs | Enumerations | Functions | Variables

bitmap.h File Reference

This reference page is linked to from the following overview topics: Principal Bitmap Classes, Creating Bitmaps, Utility Functions for Use with Bitmap Files, Posting Messages to Video Post.


#include "BMMExport.h"
#include <WTypes.h>
#include <vfw.h>
#include <CommDlg.h>
#include "maxheap.h"
#include "palutil.h"
#include "linklist.h"
#include "gbuf.h"
#include "pixelbuf.h"
#include "path.h"
#include "containers\array.h"
#include "assetmanagement\AssetType.h"
#include "assetmanagement\IAssetAccessor.h"
#include "assetmanagement\AssetUser.h"
#include "matrix3.h"
#include "GetCOREInterface.h"
#include "box2.h"

Go to the source code of this file.

Classes

class   bmmHistoryList
struct   BMMImageInfo
struct   BMM_Pyramid
struct   BMM_SAT
class   BMM_IOHandler
class   BMM_IOList
  This class is used for storing a linked list of Bitmap Manager BMM_IOHandler objects. More...
class   RenderInfo
class   BitmapInfo
class   BitmapIO
class   BitmapStorage
class   BitmapStorageLDR
class   BitmapStorageHDR
class   BitmapFilter
class   BitmapDither
class   BitmapNotify
class   CropCallback
class   Bitmap
struct   BMMStorageList
struct   BMMFilterList
struct   BMMBitmapList
struct   BMMGammaSettings
struct   BMMVfbPalette
class   BitmapFileInputDialog
class   BitmapFileOutputDialog
class   BitmapManager
class   IBitmapProxyManager
  Bitmap Proxy Manager Function-Published Interface. More...
class   BitmapProxyTemporaryDisableGuard
  Useful Guard class for temporarily disabling bitmap proxies. More...
class   BitmapIOLayer
class   BitmapLayerUtl
class   IBitmapPager

Defines

#define  INTBITS   (sizeof(int) * 8)
#define  IMGCLASSID   1
#define  CYCLECLASSID   2
#define  FLICCLASSID   5
#define  TARGACLASSID   6
#define  YUVCLASSID   7
#define  FBCLASSID   8
#define  WSDCLASSID   9
#define  IFLCLASSID   10
#define  BMPCLASSID   11
#define  JPEGCLASSID   12
#define  TARGAPLSCLASSID   13
#define  AVICLASSID   14
#define  RLACLASSID   15
#define  RPFCLASSID   16
#define  MPGCLASSID   17
#define  MAXOPENEXR_CLASSID   Class_ID(0x12f95b5e, 0x62a60b57)
#define  BMM_NO_TYPE   0
  Not allocated yet.
#define  BMM_LINE_ART   1
  1-bit monochrome image
#define  BMM_PALETTED   2
  8-bit paletted image.
#define  BMM_GRAY_8   3
  8-bit grayscale bitmap.
#define  BMM_GRAY_16   4
  16-bit grayscale bitmap.
#define  BMM_TRUE_16   5
  16-bit true color image.
#define  BMM_TRUE_32   6
  32-bit color: 8 bits each for Red, Green, Blue, and Alpha.
#define  BMM_TRUE_64   7
  64-bit color: 16 bits each for Red, Green, Blue, and Alpha.
#define  BMM_LOGLUV_32   13
  This format uses a logarithmic encoding of luminance and U' and V' in the CIE perceptively uniform space.
#define  BMM_LOGLUV_24   14
  This format is similar to BMM_LOGLUV_32 except is uses smaller values to give a span of 5 order of magnitude from 1/4096 to 16 in 1.1% luminance steps.
#define  BMM_LOGLUV_24A   15
  This format is similar to BMM_LOGUV_24, except the 8 bit alpha value is kept with the 24 bit color value in a single 32 bit word.
#define  BMM_REALPIX_32   16
  The "Real Pixel" format.
#define  BMM_FLOAT_RGBA_32   17
  32-bit floating-point per component (non-compressed), RGB with or without alpha
#define  BMM_FLOAT_GRAY_32   18
  32-bit floating-point (non-compressed), monochrome/grayscale
#define  BMM_TRUE_24   8
  24-bit color: 8 bits each for Red, Green, and Blue.
#define  BMM_TRUE_48   9
  48-bit color: 16 bits each for Red, Green, and Blue.
#define  BMM_YUV_422   10
  This is the YUV format - CCIR 601.
#define  BMM_BMP_4   11
  Windows BMP 16-bit color bitmap.
#define  BMM_PAD_24   12
  Padded 24-bit (in a 32 bit register).
#define  BMM_FLOAT_RGB_32   19
  ONLY returned by the GetStoragePtr() method of BMM_FLOAT_RGBA_32 storage, NOT an actual storage type! When GetStoragePtr() returns this type, the data should be interpreted as three floating-point values, corresponding to Red, Green, and Blue (in this order).
#define  BMM_FLOAT_A_32   20
  ONLY returned by the GetAlphaStoragePtr() method of BMM_FLOAT_RGBA_32 or BMM_FLOAT_GRAY_32 storage, NOT an actual storage type! When GetStorageAlphaPtr() returns this type, the data should be interpreted as floating-point values one value per pixel, corresponding to Alpha.
#define  MAX_DESCRIPTION   256
#define  MINGAMMA   0.2f
#define  MAXGAMMA   5.0f
#define  BMM_NOT_OPEN   0
  Not opened yet.
#define  BMM_OPEN_R   1
  Read-only.
#define  BMM_OPEN_W   2
  Write-only.
#define  BMMRES_SUCCESS   0
  Success - No error occurred.
#define  BMMRES_ERRORTAKENCARE   1
  Error - Function has already taken action to process the error.
#define  BMMRES_FILENOTFOUND   2
  The file being accessed was not found.
#define  BMMRES_MEMORYERROR   3
  Insufficient memory for the requested operation.
#define  BMMRES_NODRIVER   4
  Device driver responsible for image not present.
#define  BMMRES_IOERROR   5
  Input / Output error.
#define  BMMRES_INVALIDFORMAT   6
  The file being access was not of the proper format for the requested operation.
#define  BMMRES_CORRUPTFILE   7
  The file being accessed was corrupt.
#define  BMMRES_SINGLEFRAME   8
  Results from a goto request on a single frame image.
#define  BMMRES_INVALIDUSAGE   9
  Bad argument passed to function (Developer Mistake)
#define  BMMRES_RETRY   10
  This is returned if the user selects Retry from the 3ds Max Image IO Error dialog box.
#define  BMMRES_NUMBEREDFILENAMEERROR   11
  This can be passed as an errorcode to BitmapIO::ProcessImageIOError().
#define  BMMRES_INTERNALERROR   12
  An internal error occurred.
#define  BMMRES_BADFILEHEADER   13
  A file header error occurred.
#define  BMMRES_CANTSTORAGE   14
  This is used internally.
#define  BMMRES_BADFRAME   15
  Invalid Frame Number Requested.
#define  BMMIO_NONE   0
  Not defined yet.
#define  BMMIO_READER   (1<<0)
  Reads image files.
#define  BMMIO_WRITER   (1<<1)
  Writes image files.
#define  BMMIO_EXTENSION   (1<<2)
  Uses file extension (File Filter Type)
#define  BMMIO_MULTIFRAME   (1<<3)
  "File" contains multiple frames (i.e.
#define  BMMIO_THREADED   (1<<4)
  Not used.
#define  BMMIO_RANDOM_ACCESS   (1<<5)
  Can read and/or write frames in any order.
#define  BMMIO_NON_CONCURRENT_ACCESS   (1<<6)
  Device cannot handle multiple, concurrent requests (FLC, AVI, VTR's, etc)
#define  BMMIO_OWN_VIEWER   (1<<7)
  Driver has its own image viewer for its image type as opposed to using the generic Virtual Frame Buffer.
#define  BMMIO_FRAMEBUFFER   (1<<7)
  Frame Buffer Driver.
#define  BMMIO_GRABBER   (1<<8)
  Device Grabs Video.
#define  BMMIO_INFODLG   (1<<9)
  If the device is able to show its own image info dialogue this flag will be set.
#define  BMMIO_UNINTERRUPTIBLE   (1<<10)
  If a driver cannot be started and stopped this flag should be set.
#define  BMMIO_EVALMATCH   (1<<11)
  Drivers that may have a different image for a same given Max frame and same file/device name should define this and implement the EvalMatch() method.
#define  BMMIO_IFL   (1<<28)
  If this flag is set, instead of calling the Load() method 3ds Max calls the GetImageName() method.
#define  BMMIO_CONTROLREAD   (1<<29)
  There is only a single call to the plugin's control panel but the call specifies the nature of the operation going on.
#define  BMMIO_CONTROLWRITE   (1<<30)
  Device Driver has Control Panel for Write Operations.
#define  BMMIO_CONTROLGENERIC   (1<<31)
  Device Driver has a generic Control Panel.
#define  BMM_CLOSE_COMPLETE   0
  Close and save the image.
#define  BMM_CLOSE_ABANDON   1
  Many bitmap loader / savers do not make use of these flags.
#define  BMM_FILTER_NONE   0
  Specifies no filtering should be performed.
#define  BMM_FILTER_DUMMY   1
  No longer used.
#define  BMM_FILTER_SUM   2
  Specifies summed area filtering.
#define  BMM_FILTER_PYRAMID   3
  Specifies pyramidal filtering.
#define  BMM_FILTER_NOFLAGS   ((DWORD)0)
#define  BMM_FILTER_LERP_WRAP   ((DWORD)(1<<0))
#define  BMM_FILTER_BUILD_FAILED   ((DWORD)(1<<1))
#define  BMM_DITHER_NONE   0
#define  BMM_DITHER_FLOYD   1
#define  MAX_PYRAMID_DEPTH   12
#define  LAYER_DIM   MAX_PYRAMID_DEPTH+1
#define  COPY_IMAGE_CROP   0
  Copy image to current map size w/cropping if necessary.
#define  COPY_IMAGE_RESIZE_LO_QUALITY   1
  This is a resize from 50x50 to 150x150 using this option.
#define  COPY_IMAGE_RESIZE_HI_QUALITY   2
  This is a resize from 50x50 to 150x150 using this option.
#define  COPY_IMAGE_USE_CUSTOM   3
  Resize based on Image Input Options (BitmapInfo *)
#define  MAP_NOFLAGS   ((DWORD)0)
  The bitmap has none of the characteristics below.
#define  MAP_READY   ((DWORD)(1<<0))
  This bitmap has had memory allocated to it, or is accessible directly.
#define  MAP_HAS_ALPHA   ((DWORD)(1<<1))
  This flag can be checked from a BitmapInfo instance (bi.Flags()&MAP_HAS_ALPHA)), but not from a Bitmap instance (bmap->Flags() & MAP_HAS_ALPHA).
#define  MAP_ALPHA_PREMULTIPLIED   ((DWORD)(1<<2))
  The bitmap has pre-multiplied alpha.
#define  MAP_PALETTED   ((DWORD)(1<<3))
  The bitmap uses a palette (not true color).
#define  MAP_FRAME_SYSTEM_LOCKED   ((DWORD)(1<<4))
  This flag is no longer used.
#define  MAP_DITHERED   ((DWORD)(1<<5))
  The bitmap is dithered.
#define  MAP_FLIPPED   ((DWORD)(1<<6))
  The bitmap is flipped horizontally.
#define  MAP_INVERTED   ((DWORD)(1<<7))
  The bitmap is flipped vertically.
#define  MAP_USE_SCALE_COLORS   ((DWORD)(1<<10))
  Scale colors when high dynamic range values are out of gamut.
#define  MAP_PROXY   ((DWORD)(1<<11))
  When the proxy flag is set, the BitmapInfo is called a proxy info.
#define  MAP_PROXYREQUEST   ((DWORD)(1<<12))
  When the proxy request flag is set, the BitmapInfo is called a request info.
#define  MAP_LEGAL_DELETE   ((DWORD)(1<<30))
  internal use only
#define  MAP_VIEW_FILTERED   ((DWORD)(1<<31))
  Test stuff.
#define  MAP_ALL_FLAGS   0xFFFFFFFF
#define  BMM_PROGRESS   WM_USER + 0x120
#define  BMM_CHECKABORT   WM_USER + 0x121
#define  BMM_TEXTMSG   WM_USER + 0x122
#define  BMM_UNDEF_FRAME   0x7FFF0000
#define  BMM_CUSTOM_GAMMA   ((DWORD)(1 << 0))
  Custom gamma setting.
#define  BMM_CUSTOM_SIZE   ((DWORD)(1 << 1))
  Custom size setting.
#define  BMM_CUSTOM_RESFIT   ((DWORD)(1 << 2))
  Bitmap is to be resized.
#define  BMM_CUSTOM_POS   ((DWORD)(1 << 3))
  Bitmap has a custom positioning.
#define  BMM_CUSTOM_FILEGAMMA   ((DWORD)(1 << 4))
  Bitmap has a custom file gamma setting.
#define  BMM_CUSTOM_IFLENUMFILES   ((DWORD)(1 << 5))
#define  BMM_CUSTOM_HDR_TYPE   ((DWORD)(1 << 6))
  Internal Use Only.
#define  BMM_CUSTOM_POSNW   0
  Top Left.
#define  BMM_CUSTOM_POSN   1
  Top Center.
#define  BMM_CUSTOM_POSNE   2
  Top Right.
#define  BMM_CUSTOM_POSW   3
  Middle Left.
#define  BMM_CUSTOM_POSCN   4
  Center.
#define  BMM_CUSTOM_POSE   5
  Middle Right.
#define  BMM_CUSTOM_POSSW   6
  Bottom Left.
#define  BMM_CUSTOM_POSS   7
  Bottom Center.
#define  BMM_CUSTOM_POSSE   8
  Bottom Right.
#define  BMM_SEQ_WRAP   0
#define  BMM_SEQ_ERROR   1
#define  BMM_SEQ_HOLD   2
#define  BMM_CHANNEL_RED   0
#define  BMM_CHANNEL_GREEN   1
#define  BMM_CHANNEL_BLUE   3
#define  BMM_CHANNEL_ALPHA   4
#define  BMM_CHANNEL_Z   5
#define  BMM_CHANNEL_LUMINANCE   6
#define  BMNOTIFY_FLAG_STORAGE_CHANGE   0
#define  BMNOTIFY_FLAG_FILE_CHANGE   1
#define  BMM_SINGLEFRAME   -2000000L
#define  BMM_UL   1
#define  BMM_LL   2
#define  BMM_UR   3
#define  BMM_LR   4
#define  BMM_CN   5
#define  BMM_RND   10
#define  BMM_VPP   11
#define  BMM_VPS   12
#define  LG_NOLOG   0
#define  LG_FATAL   ((DWORD)(1 << 0))
#define  LG_INFO   ((DWORD)(1 << 1))
#define  LG_DEBUG   ((DWORD)(1 << 2))
#define  LG_WARN   ((DWORD)(1 << 3))
#define  BMM_ENABLE_SAVE_REGION   1
#define  BMM_DO_SAVE_REGION   2
#define  BMM_STORE_GEOREF_DATA   0
#define  BMM_RETRIEVE_GEOREF_DATA   1
#define  BMM_USE_CUSTOM_FILTERLIST   2
#define  BMM_SET_FILE_INPUT_SEQUENCE_FLAG   3
#define  BMM_GET_FILE_INPUT_SEQUENCE_FLAG   4
#define  BMM_FLUSH_RELATIVE_FILE_RESOLUTION_CACHE   5
#define  FPBITMAPPROXYMANAGER_INTERFACE_ID   Interface_ID(0x24e22528, 0x601f3610)
  Interface ID of the IBitmapProxyManager interface.
#define  BMM_ASSET_GROUP   1
  Bitmap asset declaration flags.
#define  BMM_ASSET_PROXY   2
  The declared bitmap is proxy enabled.
#define  BITMAP_IOLAYER_CLASS   Interface_ID(0x296b79ec,0x73e11944)
#define  LAYER_INTERFACE   Interface_ID(0x1563269c,0x7ec41d89)
#define  I_LAYER_INTERFACE   0x000A1001
#define  IBITMAPPAGER_INTERFACE_ID   Interface_ID(0x48e1041f, 0x34c86c51)
  Interface ID of the IBitmapPager interface.

Typedefs

typedef unsigned short  BMMRES
  Traps the use of int or BOOL.
typedef LinkedEntryT< MSTR MSTREntry
typedef LinkedListT< MSTR,
MSTREntry
MSTRList
typedef BOOL(WINAPI *  PBITMAP_FX_CALLBACK )(LPVOID lpparam, int done, int total, MCHAR *msg)
typedef LinkedEntryT
< BMM_IOHandler
BMM_IOHandlerEntry
typedef LinkedListT
< BMM_IOHandler,
BMM_IOHandlerEntry
BMM_IOHandlerList

Enumerations

enum   ProjectionType { ProjPerspective = 0, ProjParallel = 1 }

Functions

BMMExport IBitmapProxyManager GetBitmapProxyManager ()
  Returns the Bitmap Proxy Manager singleton object.
BMMExport void  DeclareBitmapAsset (IEnumAuxAssetsCallback &enumCallback, IAssetAccessor &anAccessor, BitmapInfo *bitmapInfo, int flags=0)
  Declare a bitmap asset accessor to the specified callback.
int  ValidBitmapType (int type)
BMMExport BitmapStorage BMMCreateStorage (BitmapManager *manager, UINT type)
BMMExport BitmapFilter BMMCreateFilter (BitmapManager *manager, UINT type)
BMMExport BitmapDither BMMCreateDither (BitmapManager *manager, UINT type)
BMMExport int  BMMCalcPalette (Bitmap *map, int colors, BMM_Color_48 *palette)
BMMExport BYTE  BMMClosestColor (BMM_Color_64 *color, BMM_Color_48 *palette, int colors)
BMMExport const MCHAR *  BMMGetBitmapTypeDescription (int bitmapType, DWORD bitmapFlags)
BMMExport void  OpenBMM (BMMInterface *i)
BMMExport void  CloseBMM ()
INT_PTR CALLBACK  BMMGammaDlgProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
void  ExtractExtension (MCHAR *string, MCHAR *ext)
BMMExport int  BMMCreateNumberedFilename (const MCHAR *namein, int frame, MCHAR *nameout)
  Create a filename appended by the specified frame number.
BMMExport int  BMMFindNumberedFilenames (const MaxSDK::Util::Path &baseFilename, MaxSDK::Array< MaxSDK::Util::Path > &foundFiles)
  Retrieve a list of existing files in a sequence that matches the base filename and numbering of the specified filename.
BMMExport int  BMMGetFullFilename (BitmapInfo *bi)
  These functions search the system for a bitmap.
BMMExport BOOL  BMMGetFullFilename (const MCHAR *namein, MCHAR *nameout)
BMMExport BOOL  BMMIsFile (const MCHAR *filename)
BMMExport void  BMMSplitFilename (const MCHAR *name, MCHAR *p, MCHAR *f, MCHAR *e)
BMMExport LPTSTR  BMMGetLastErrorText (LPTSTR lpszBuf, DWORD dwSize)
BMMExport Quantizer BMMNewQuantizer ()
BMMExport void  BMMAppendSlash (MCHAR *path)
  This function appends a slash character to the end of the path passed unless one already exists.
BMMExport void  BMMRemoveSlash (MCHAR *path)
  This function removes the slash character from the end of the path passed if present.
BMMExport void  BMMAppendSlash (MSTR &path)
  This function appends a slash character to the end of the path passed unless one already exists.
BMMExport void  BMMRemoveSlash (MSTR &path)
  This function removes the slash character from the end of the path passed if present.
BMMExport BOOL  BMMGetUniversalName (MCHAR *out_uncname, const MCHAR *in_path)
BMMExport BOOL  BMMFindNetworkShare (const MCHAR *in_localpath, MCHAR *out_sharename, MCHAR *out_sharepath)
BMMExport BOOL  BMMGetLocalShare (const MCHAR *local_path, MCHAR *share)
BMMExport ColorPacker BMMNewColorPacker (int w, BMM_Color_48 *pal, int npal, BYTE *remap=NULL)
BMMExport void  FixPaletteForWindows (BMM_Color_48 *pal, BMM_Color_48 *newpal, int ncols, BYTE *remap=NULL)
IBitmapPager GetIBitmapPager ()
  Returns the Bitmap Pager singleton object.

Variables

int  TheSystemFrame
BMMExport BitmapManager TheManager

Define Documentation

#define INTBITS   (sizeof(int) * 8)

Definition at line 39 of file bitmap.h.

#define IMGCLASSID   1

Definition at line 42 of file bitmap.h.

#define CYCLECLASSID   2

Definition at line 43 of file bitmap.h.

#define FLICCLASSID   5

Definition at line 44 of file bitmap.h.

#define TARGACLASSID   6

Definition at line 45 of file bitmap.h.

#define YUVCLASSID   7

Definition at line 46 of file bitmap.h.

#define FBCLASSID   8

Definition at line 47 of file bitmap.h.

#define WSDCLASSID   9

Definition at line 48 of file bitmap.h.

#define IFLCLASSID   10

Definition at line 49 of file bitmap.h.

#define BMPCLASSID   11

Definition at line 50 of file bitmap.h.

#define JPEGCLASSID   12

Definition at line 51 of file bitmap.h.

#define TARGAPLSCLASSID   13

Definition at line 52 of file bitmap.h.

#define AVICLASSID   14

Definition at line 53 of file bitmap.h.

#define RLACLASSID   15

Definition at line 54 of file bitmap.h.

#define RPFCLASSID   16

Definition at line 55 of file bitmap.h.

#define MPGCLASSID   17

Definition at line 56 of file bitmap.h.

#define MAXOPENEXR_CLASSID   Class_ID(0x12f95b5e, 0x62a60b57)

Definition at line 58 of file bitmap.h.

#define MAX_DESCRIPTION   256

Definition at line 180 of file bitmap.h.

#define MINGAMMA   0.2f

Definition at line 194 of file bitmap.h.

#define MAXGAMMA   5.0f

Definition at line 195 of file bitmap.h.

#define BMM_FILTER_NOFLAGS   ((DWORD)0)

Definition at line 320 of file bitmap.h.

#define BMM_FILTER_LERP_WRAP   ((DWORD)(1<<0))

Definition at line 321 of file bitmap.h.

#define BMM_FILTER_BUILD_FAILED   ((DWORD)(1<<1))

Definition at line 323 of file bitmap.h.

#define BMM_DITHER_NONE   0

Definition at line 327 of file bitmap.h.

#define BMM_DITHER_FLOYD   1

Definition at line 328 of file bitmap.h.

#define MAX_PYRAMID_DEPTH   12

Definition at line 332 of file bitmap.h.

#define LAYER_DIM   MAX_PYRAMID_DEPTH+1

Definition at line 333 of file bitmap.h.

#define BMM_PROGRESS   WM_USER + 0x120

Definition at line 700 of file bitmap.h.

#define BMM_CHECKABORT   WM_USER + 0x121

Definition at line 706 of file bitmap.h.

#define BMM_TEXTMSG   WM_USER + 0x122

Definition at line 711 of file bitmap.h.

#define BMM_UNDEF_FRAME   0x7FFF0000

Definition at line 775 of file bitmap.h.

#define BMM_SEQ_WRAP   0

Definition at line 814 of file bitmap.h.

#define BMM_SEQ_ERROR   1

Definition at line 815 of file bitmap.h.

#define BMM_SEQ_HOLD   2

Definition at line 816 of file bitmap.h.

#define BMM_CHANNEL_RED   0

Definition at line 1978 of file bitmap.h.

#define BMM_CHANNEL_GREEN   1

Definition at line 1979 of file bitmap.h.

#define BMM_CHANNEL_BLUE   3

Definition at line 1980 of file bitmap.h.

#define BMM_CHANNEL_ALPHA   4

Definition at line 1981 of file bitmap.h.

#define BMM_CHANNEL_Z   5

Definition at line 1982 of file bitmap.h.

#define BMM_CHANNEL_LUMINANCE   6

Definition at line 1983 of file bitmap.h.

#define BMNOTIFY_FLAG_STORAGE_CHANGE   0

Definition at line 3407 of file bitmap.h.

#define BMNOTIFY_FLAG_FILE_CHANGE   1

Definition at line 3412 of file bitmap.h.

#define BMM_SINGLEFRAME   -2000000L

Definition at line 3493 of file bitmap.h.

#define BMM_UL   1

Definition at line 4264 of file bitmap.h.

#define BMM_LL   2

Definition at line 4265 of file bitmap.h.

#define BMM_UR   3

Definition at line 4266 of file bitmap.h.

#define BMM_LR   4

Definition at line 4267 of file bitmap.h.

#define BMM_CN   5

Definition at line 4268 of file bitmap.h.

#define BMM_RND   10

Definition at line 4270 of file bitmap.h.

#define BMM_VPP   11

Definition at line 4271 of file bitmap.h.

#define BMM_VPS   12

Definition at line 4272 of file bitmap.h.

#define LG_NOLOG   0

Definition at line 4625 of file bitmap.h.

#define LG_FATAL   ((DWORD)(1 << 0))

Definition at line 4629 of file bitmap.h.

#define LG_INFO   ((DWORD)(1 << 1))

Definition at line 4630 of file bitmap.h.

#define LG_DEBUG   ((DWORD)(1 << 2))

Definition at line 4631 of file bitmap.h.

#define LG_WARN   ((DWORD)(1 << 3))

Definition at line 4632 of file bitmap.h.

#define BMM_ENABLE_SAVE_REGION   1

Definition at line 4875 of file bitmap.h.

#define BMM_DO_SAVE_REGION   2

Definition at line 4877 of file bitmap.h.

#define BMM_STORE_GEOREF_DATA   0

Definition at line 4953 of file bitmap.h.

#define BMM_RETRIEVE_GEOREF_DATA   1

Definition at line 4954 of file bitmap.h.

#define BMM_USE_CUSTOM_FILTERLIST   2

Definition at line 4955 of file bitmap.h.

#define BMM_SET_FILE_INPUT_SEQUENCE_FLAG   3

Definition at line 4956 of file bitmap.h.

#define BMM_GET_FILE_INPUT_SEQUENCE_FLAG   4

Definition at line 4957 of file bitmap.h.

#define BMM_FLUSH_RELATIVE_FILE_RESOLUTION_CACHE   5

Definition at line 4958 of file bitmap.h.

#define FPBITMAPPROXYMANAGER_INTERFACE_ID   Interface_ID(0x24e22528, 0x601f3610)

Interface ID of the IBitmapProxyManager interface.

Definition at line 5009 of file bitmap.h.

#define BMM_ASSET_GROUP   1

Bitmap asset declaration flags.

The declared bitmap represents a group. You must call EndGroup on the enum callback after you are finished grouping assets.

Definition at line 5133 of file bitmap.h.

#define BMM_ASSET_PROXY   2

The declared bitmap is proxy enabled.

Definition at line 5134 of file bitmap.h.

#define BITMAP_IOLAYER_CLASS   Interface_ID(0x296b79ec,0x73e11944)

Definition at line 5362 of file bitmap.h.

#define LAYER_INTERFACE   Interface_ID(0x1563269c,0x7ec41d89)

Definition at line 5376 of file bitmap.h.

#define I_LAYER_INTERFACE   0x000A1001

Definition at line 5377 of file bitmap.h.

#define IBITMAPPAGER_INTERFACE_ID   Interface_ID(0x48e1041f, 0x34c86c51)

Interface ID of the IBitmapPager interface.

Definition at line 5392 of file bitmap.h.


Typedef Documentation

typedef unsigned short BMMRES

Traps the use of int or BOOL.

Definition at line 209 of file bitmap.h.

Definition at line 360 of file bitmap.h.

Definition at line 361 of file bitmap.h.

typedef BOOL(WINAPI* PBITMAP_FX_CALLBACK)(LPVOID lpparam, int done, int total, MCHAR *msg)

Definition at line 365 of file bitmap.h.

Definition at line 463 of file bitmap.h.

Definition at line 464 of file bitmap.h.


Enumeration Type Documentation

Enumerator:
ProjPerspective 
ProjParallel 

Definition at line 555 of file bitmap.h.


Function Documentation

BMMExport IBitmapProxyManager* GetBitmapProxyManager ( )

Returns the Bitmap Proxy Manager singleton object.

BMMExport void DeclareBitmapAsset ( IEnumAuxAssetsCallback enumCallback,
IAssetAccessor anAccessor,
BitmapInfo bitmapInfo,
int  flags = 0 
)

Declare a bitmap asset accessor to the specified callback.

Decorates the specified asset accessor as a bitmap enabled asset accessor before declaring it to the specified enumeration callback.

Parameters:
[in] enumCallback The EnumAuxFiles callback to declare the asset to.
[in] anAccessor The original asset accessor to decorate with proxy settings.
[in] bitmapInfo The bitmap info of the bitmap. If NULL, the declared bitmap will always be treated as a single frame, no pi-data bitmap.
[in] flags Specify flags that define how the specified callback will declare the decorated accessor. Also controls how the accessor will be decorated.
See also:
IEnumAuxAssetsCallback
IAssetAccessor
int ValidBitmapType ( int  type )
BMMExport BitmapStorage* BMMCreateStorage ( BitmapManager manager,
UINT  type 
)
Remarks:
This global function will create a new instance of the specified storage type and return a pointer to it.
Parameters:
BitmapManager *manager

The bitmap manager used for this storage.

UINT type

The type of storage to create. One of the following values:

BMM_LINE_ART
BMM_PALETTED
BMM_GRAY_8
BMM_GRAY_16
BMM_TRUE_16
BMM_TRUE_32
BMM_TRUE_64
Returns:
The bitmap storage instance created or NULL if the specified type could not be created.
Data Members:
protected:

int openMode;

The mode the storage was opened in. See Bitmap Open Mode Types.

UINT usageCount;

The number of bitmaps using this storage.

BitmapManager *manager;

The bitmap manager associated with this storage.

int flags;

See Bitmap Flags.

int type;

See Bitmap Types.

BMM_Color_48 palette[256];

The palette entries (256 max). See Structure BMM_Color_48.

int paletteSlots;

The number of palette slots used.

UWORD *gammaTable;

The gamma correction table.

RenderInfo *rendInfo;

A pointer to an instance of RenderInfo. See Class RenderInfo.

BitmapInfo bi

Describes the properties of the bitmap associated with this storage.
BMMExport BitmapFilter* BMMCreateFilter ( BitmapManager manager,
UINT  type 
)
BMMExport BitmapDither* BMMCreateDither ( BitmapManager manager,
UINT  type 
)
BMMExport int BMMCalcPalette ( Bitmap map,
int  colors,
BMM_Color_48 palette 
)
BMMExport BYTE BMMClosestColor ( BMM_Color_64 color,
BMM_Color_48 palette,
int  colors 
)
BMMExport const MCHAR* BMMGetBitmapTypeDescription ( int  bitmapType,
DWORD  bitmapFlags 
)
Remarks:
A global function in bitmap.h

Returns a localized string that describes one of the (BMM_TRUE_32, BMM_TRUE_64, etc.) bitmap types. The string is loaded into a static buffer and therefore should be used or copied immediately. The bitmap flags (from BitmapInfo::Flags()) are also used.
Parameters:
BMMExport void OpenBMM ( BMMInterface *  i )
BMMExport void CloseBMM ( )
INT_PTR CALLBACK BMMGammaDlgProc ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
void ExtractExtension ( MCHAR *  string,
MCHAR *  ext 
)
BMMExport int BMMCreateNumberedFilename ( const MCHAR *  namein,
int  frame,
MCHAR *  nameout 
)

Create a filename appended by the specified frame number.

This function will pad the filename with zeroes.

Remarks:
For example, an input filename of sampleKitchen.bmp and frame 4 results in sampleKitchen0004.bmp
Parameters:
[in] namein,: A pointer to the buffer containing the base filename from which to create a numbered filename.
[in] frame,: The frame number to append. Can be BMM_SINGLEFRAME for convenience, which results in the orignal filename.
[out] nameout,: A pointer to the buffer in which to store the created filename. This buffer must be large enough to accommodate the original filename, the digits of the framenumber, any zero-padding, and the file extension.
Returns:
Zero if an error occurred, non-zero for success.
See also:
BMMFindNumberedFilenames
BMMExport int BMMFindNumberedFilenames ( const MaxSDK::Util::Path baseFilename,
MaxSDK::Array< MaxSDK::Util::Path > &  foundFiles 
)

Retrieve a list of existing files in a sequence that matches the base filename and numbering of the specified filename.

Remarks:
For example, a filename of sampleKitchen0001.bmp will return all existing files that match sampleKitchenxxxx.bmp, such as all files from sampleKitchen0000.bmp to sampleKitchen0060.bmp. This is similar to the sequence detection used in the Image File List (IFL) image format.
Parameters:
[in] namein,: The filename to match.
[out] foundFiles,: The list of matching files found. This list is cleared by the function.
Returns:
The number of matching files found. Zero if none found or an error occurred.
See also:
BMMCreateNumberedFilename
BMMExport BOOL BMMIsFile ( const MCHAR *  filename )
BMMExport void BMMSplitFilename ( const MCHAR *  name,
MCHAR *  p,
MCHAR *  f,
MCHAR *  e 
)
BMMExport LPTSTR BMMGetLastErrorText ( LPTSTR  lpszBuf,
DWORD  dwSize 
)
BMMExport Quantizer* BMMNewQuantizer ( )
BMMExport void BMMAppendSlash ( MCHAR *  path )

This function appends a slash character to the end of the path passed unless one already exists.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
BMMExport void BMMRemoveSlash ( MCHAR *  path )

This function removes the slash character from the end of the path passed if present.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
BMMExport void BMMAppendSlash ( MSTR path )

This function appends a slash character to the end of the path passed unless one already exists.

Parameters:
[in,out] path,: The path name to append.
BMMExport void BMMRemoveSlash ( MSTR path )

This function removes the slash character from the end of the path passed if present.

Parameters:
[in,out] path,: The path name to append. If NULL, no operation.
BMMExport BOOL BMMGetUniversalName ( MCHAR *  out_uncname,
const MCHAR *  in_path 
)
BMMExport BOOL BMMFindNetworkShare ( const MCHAR *  in_localpath,
MCHAR *  out_sharename,
MCHAR *  out_sharepath 
)
BMMExport BOOL BMMGetLocalShare ( const MCHAR *  local_path,
MCHAR *  share 
)
BMMExport ColorPacker* BMMNewColorPacker ( int  w,
BMM_Color_48 pal,
int  npal,
BYTE *  remap = NULL 
)
BMMExport void FixPaletteForWindows ( BMM_Color_48 pal,
BMM_Color_48 newpal,
int  ncols,
BYTE *  remap = NULL 
)
Remarks:
Rearranges the palette pal (which has colors 0..ncols-1 occupied, in descending order of frequency), into newpal so that the colors 10-245 are populated first, then 0-9, then 246-255. Sets the optional array remap to map the old palette index values to the new ones.
Parameters:
BMM_Color_48 *pal

The palette to rearrange.

BMM_Color_48 *newpal

The rearranged palette.

int ncols

The number of colors in the palette.

BYTE *remap=NULL

An array that maps the old palette index values to the new ones.
IBitmapPager* GetIBitmapPager ( ) [inline]

Returns the Bitmap Pager singleton object.

Definition at line 5491 of file bitmap.h.


Variable Documentation