Sack Library Documentation
ContentsIndexReferenceHome
PreviousUpNext
sack::image::interface::PIMAGE_INTERFACE Structure
C++
typedef struct image_interface_tag {
  void (* SetStringBehavior)(Image pImage, _32 behavior);
  void (* SetBlotMethod)(_32 method);
  Image (* BuildImageFileEx)(PCOLOR pc, _32 width, _32 height DBG_PASS);
  Image (* MakeImageFileEx)(_32 Width, _32 Height DBG_PASS);
  Image (* MakeSubImageEx)(Image pImage, S_32 x, S_32 y, _32 width, _32 height DBG_PASS);
  Image (* RemakeImageEx)(Image pImage, PCOLOR pc, _32 width, _32 height DBG_PASS);
  Image (* LoadImageFileEx)(CTEXTSTR name DBG_PASS);
  void (* UnmakeImageFileEx)(Image pif DBG_PASS);
  void (* SetImageBound)(Image pImage, P_IMAGE_RECTANGLE bound);
  void (* FixImagePosition)(Image pImage);
  void (* ResizeImageEx)(Image pImage, S_32 width, S_32 height DBG_PASS);
  void (* MoveImage)(Image pImage, S_32 x, S_32 y);
  void (* BlatColor)(Image pifDest, S_32 x, S_32 y, _32 w, _32 h, CDATA color);
  void (* BlatColorAlpha)(Image pifDest, S_32 x, S_32 y, _32 w, _32 h, CDATA color);
  void (* BlotImageEx)(Image pDest, Image pIF, S_32 x, S_32 y, _32 nTransparent, _32 method, ...);
  void (* BlotImageSizedEx)(Image pDest, Image pIF, S_32 x, S_32 y, S_32 xs, S_32 ys, _32 wd, _32 ht, _32 nTransparent, _32 method, ...);
  void (* BlotScaledImageSizedEx)(Image pifDest, Image pifSrc , S_32 xd, S_32 yd , _32 wd, _32 hd , S_32 xs, S_32 ys , _32 ws, _32 hs , _32 nTransparent , _32 method, ...);
  Font (* GetDefaultFont)(void);
  _32 (* GetFontHeight)(Font);
  _32 (* GetStringSizeFontEx)(CTEXTSTR pString, size_t len, _32 *width, _32 *height, Font UseFont);
  void (* PutCharacterFont)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, _32 c, Font font);
  void (* PutCharacterVerticalFont)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, _32 c, Font font);
  void (* PutCharacterInvertFont)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, _32 c, Font font);
  void (* PutCharacterVerticalInvertFont)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, _32 c, Font font);
  void (* PutStringFontEx)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, CTEXTSTR pc, size_t nLen, Font font);
  void (* PutStringVerticalFontEx)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, CTEXTSTR pc, size_t nLen, Font font);
  void (* PutStringInvertFontEx)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, CTEXTSTR pc, size_t nLen, Font font);
  void (* PutStringInvertVerticalFontEx)(Image pImage, S_32 x, S_32 y, CDATA color, CDATA background, CTEXTSTR pc, size_t nLen, Font font);
  _32 (* GetMaxStringLengthFont)(_32 width, Font UseFont);
  void (* GetImageSize)(Image pImage, _32 *width, _32 *height);
  Font (* LoadFont)(Font font);
  void (* UnloadFont)(Font font);
  DataState (* BeginTransferData)(_32 total_size, _32 segsize, CDATA data);
  void (* ContinueTransferData)(DataState state, _32 segsize, CDATA data);
  Image (* DecodeTransferredImage)(DataState state);
  Font (* AcceptTransferredFont)(DataState state);
  void (* SyncImage)(void);
  PCDATA (* GetImageSurface)(Image pImage);
  int (* IntersectRectangle)(IMAGE_RECTANGLE *r, IMAGE_RECTANGLE *r1, IMAGE_RECTANGLE *r2);
  int (* MergeRectangle)(IMAGE_RECTANGLE *r, IMAGE_RECTANGLE *r1, IMAGE_RECTANGLE *r2);
  void (* GetImageAuxRect)(Image pImage, P_IMAGE_RECTANGLE pRect);
  void (* SetImageAuxRect)(Image pImage, P_IMAGE_RECTANGLE pRect);
  void (* OrphanSubImage)(Image pImage);
  void (* AdoptSubImage)(Image pFoster, Image pOrphan);
  PSPRITE (* MakeSpriteImageFileEx)(CTEXTSTR fname DBG_PASS);
  PSPRITE (* MakeSpriteImageEx)(Image image DBG_PASS);
  void (* rotate_scaled_sprite)(Image bmp, PSPRITE sprite, fixed angle, fixed scale_width, fixed scale_height);
  void (* rotate_sprite)(Image bmp, PSPRITE sprite, fixed angle);
  void (* BlotSprite)(Image pdest, PSPRITE ps);
  Image (* DecodeMemoryToImage)(P_8 buf, _32 size);
  Font (* InternalRenderFontFile)(CTEXTSTR file , S_32 nWidth , S_32 nHeight , _32 flags);
  Font (* InternalRenderFont)(_32 nFamily , _32 nStyle , _32 nFile , S_32 nWidth , S_32 nHeight , _32 flags);
  Font (* RenderScaledFontData)(PFONTDATA pfd, PFRACTION width_scale, PFRACTION height_scale);
  Font (* RenderFontFileEx)(CTEXTSTR file, _32 width, _32 height, _32 flags, size_t *size, POINTER *pFontData);
  void (* DestroyFont)(Font *font);
  struct font_global_tag * _global_font_data;
  int (* GetFontRenderData)(Font font, POINTER *fontdata, size_t *fontdatalen);
  void (* SetFontRendererData)(Font font, POINTER pResult, size_t size);
  PSPRITE (* SetSpriteHotspot)(PSPRITE sprite, S_32 x, S_32 y);
  PSPRITE (* SetSpritePosition)(PSPRITE sprite, S_32 x, S_32 y);
  void (* UnmakeSprite)(PSPRITE sprite, int bForceImageAlso);
  struct font_global_tag * (* GetGlobalFonts)(void);
  _32 (* GetStringRenderSizeFontEx)(CTEXTSTR pString, size_t nLen, _32 *width, _32 *height, _32 *charheight, Font UseFont);
  Image (* LoadImageFileFromGroupEx)(INDEX group, CTEXTSTR filename DBG_PASS);
  Font (* RenderScaledFont)(CTEXTSTR name, _32 width, _32 height, PFRACTION width_scale, PFRACTION height_scale, _32 flags);
  Font (* RenderScaledFontEx)(CTEXTSTR name, _32 width, _32 height, PFRACTION width_scale, PFRACTION height_scale, _32 flags, size_t *pnFontDataSize, POINTER *pFontData);
  COLOR_CHANNEL (* GetRedValue)(CDATA color);
  COLOR_CHANNEL (* GetGreenValue)(CDATA color);
  COLOR_CHANNEL (* GetBlueValue)(CDATA color);
  COLOR_CHANNEL (* GetAlphaValue)(CDATA color);
  CDATA (* SetRedValue)(CDATA color, COLOR_CHANNEL r);
  CDATA (* SetGreenValue)(CDATA color, COLOR_CHANNEL green);
  CDATA (* SetBlueValue)(CDATA color, COLOR_CHANNEL b);
  CDATA (* SetAlphaValue)(CDATA color, COLOR_CHANNEL a);
  CDATA (* MakeColor)(COLOR_CHANNEL r, COLOR_CHANNEL green, COLOR_CHANNEL b);
  CDATA (* MakeAlphaColor)(COLOR_CHANNEL r, COLOR_CHANNEL green, COLOR_CHANNEL b, COLOR_CHANNEL a);
  PTRANSFORM (* GetImageTransformation)(Image pImage);
  void (* SetImageRotation)(Image pImage, int edge_flag, RCOORD offset_x, RCOORD offset_y, RCOORD rx, RCOORD ry, RCOORD rz);
  void (* RotateImageAbout)(Image pImage, int edge_flag, RCOORD offset_x, RCOORD offset_y, PVECTOR vAxis, RCOORD angle);
} IMAGE_INTERFACE, * PIMAGE_INTERFACE;

This defines the interface call table. each function available in the API is reflected in this interface. It provdes a function table so applications don't have to be directly linked to the image API. This allows replacing the image API.

Created with a commercial version of Doc-O-Matic. In order to make this message disappear you need to register this software. If you have problems registering this software please contact us at support@toolsfactory.com.
Copyright (c) 2000+. All rights reserved.
What do you think about this topic? Send feedback!