home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / sdktools / imagedit / iefuncs.h < prev    next >
Text File  |  1996-06-12  |  8KB  |  268 lines

  1.     /****************************************************************************/
  2.     /*                                                                          */
  3.     /*                 Copyright (C) 1987-1996 Microsoft Corp.                */
  4.     /*                           All Rights Reserved                            */
  5.     /*                                                                          */
  6.     /****************************************************************************/
  7.     /****************************** Module Header *******************************
  8.     * Module Name: iefuncs.h
  9.     *
  10.     * Function declarations for the Image Editor.
  11.     *
  12.     * History:
  13.     *
  14.     ****************************************************************************/
  15.     
  16.     
  17.     
  18.     /*
  19.      * colorwp.c
  20.      */
  21.     
  22.     VOID ColorShow(BOOL fShow);
  23.     DIALOGPROC ColorDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  24.     WINDOWPROC ColorBoxWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  25.     WINDOWPROC ColorLRWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  26.     VOID SetScreenColor(DWORD rgb);
  27.     VOID SetColorPalette(INT nColors, INT fImageType, BOOL fForce);
  28.     VOID RestoreDefaultColors(VOID);
  29.     
  30.     
  31.     /*
  32.      * devinfo.c
  33.      */
  34.     
  35.     VOID InitDeviceList(VOID);
  36.     PDEVICE DeviceLinkAlloc(INT iType, PSTR pszName, INT nColors, INT cx, INT cy);
  37.     PDEVICE DeviceLinkFind(PDEVICE pDeviceHead, INT nColors, INT cx, INT cy);
  38.     BOOL DeviceLinkUsed(PDEVICE pDevice);
  39.     
  40.     
  41.     /*
  42.      * file.c
  43.      */
  44.     
  45.     VOID SetFileName(PSTR pszFullFileName);
  46.     PSTR FileInPath(PSTR pstrPath);
  47.     VOID ClearResource(VOID);
  48.     BOOL OpenDlg(PSTR pszFileName, INT iType);
  49.     BOOL SaveAsDlg(PSTR pszFileName, INT iType);
  50.     DIALOGPROC GetOpenFileNameHook(HWND hwnd, UINT msg, WPARAM wParam,
  51.         LPARAM lParam);
  52.     BOOL VerifySaveFile(VOID);
  53.     BOOL SaveFile(BOOL fSaveAs);
  54.     BOOL OpenAFile(VOID);
  55.     VOID OpenCmdLineFile(PSTR pstrFileName);
  56.     BOOL MyFileRead(HFILE hf, LPSTR lpBuffer, UINT nBytes, PSTR pszFileName,
  57.         INT iType);
  58.     BOOL MyFileWrite(HFILE hf, LPSTR lpBuffer, UINT nBytes, PSTR pszFileName);
  59.     
  60.     
  61.     /*
  62.      * icclip.c
  63.      */
  64.     
  65.     BOOL CopyImageClip(VOID);
  66.     BOOL PasteImageClip(VOID);
  67.     DIALOGPROC PasteOptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  68.         LPARAM lParam);
  69.     VOID PickSetRect(INT xLeft, INT yTop, INT xRight, INT yBottom);
  70.     
  71.     
  72.     /*
  73.      * image.c
  74.      */
  75.     
  76.     BOOL ImageNew(PDEVICE pDevice);
  77.     BOOL ImageNewBitmap(INT cx, INT cy, INT nColors);
  78.     BOOL ImageOpen(PIMAGEINFO pImage);
  79.     BOOL ImageOpen2(PIMAGEINFO pImage);
  80.     VOID ImageSave(VOID);
  81.     
  82.     
  83.     /*
  84.      * imagedc.c
  85.      */
  86.     
  87.     BOOL ImageDCCreate(INT iType, INT cx, INT cy, INT nColors);
  88.     VOID ImageDCDelete(VOID);
  89.     VOID ImageDCClear(VOID);
  90.     VOID ImageDCSeparate(HDC hdcImage, INT cx, INT cy, HDC hdcANDMask,
  91.         DWORD rgbScreen);
  92.     VOID ImageDCCombine(HDC hdcImage, INT cx, INT cy, HDC hdcANDMask);
  93.     VOID ImageDCMonoBlt(HDC hdcImage, INT cx, INT cy);
  94.     
  95.     
  96.     /*
  97.      * imagedit.c
  98.      */
  99.     
  100.     WINDOWPROC MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  101.     BOOL ReadWindowPos(PSTR pstrKeyName, PINT px, PINT py, PINT pcx, PINT pcy,
  102.         BOOL *pfMaximized);
  103.     VOID WriteWindowPos(PRECT prc, BOOL fMaximized, PSTR pstrKeyName);
  104.     
  105.     
  106.     /*
  107.      * imagedlg.c
  108.      */
  109.     
  110.     INT DlgBox(INT idDlg, WNDPROC lpfnDlg);
  111.     VOID EnteringDialog(INT idDlg, PINT pidPrevDlg, BOOL fEntering);
  112.     VOID ImageNewDialog(INT iType);
  113.     VOID ImageSelectDialog(VOID);
  114.     DIALOGPROC ResourceTypeDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  115.         LPARAM lParam);
  116.     DIALOGPROC NewCursorImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  117.         LPARAM lParam);
  118.     DIALOGPROC NewIconImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  119.         LPARAM lParam);
  120.     DIALOGPROC SelectImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  121.         LPARAM lParam);
  122.     DIALOGPROC BitmapSizeDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
  123.         LPARAM lParam);
  124.     
  125.     
  126.     /*
  127.      * imaglink.c
  128.      */
  129.     
  130.     PIMAGEINFO ImageLinkAlloc(PDEVICE pDevice, INT cx, INT cy, INT xHotSpot,
  131.         INT yHotSpot, INT nColors);
  132.     VOID ImageLinkFree(PIMAGEINFO pImageFree);
  133.     VOID ImageLinkFreeList(VOID);
  134.     VOID ImageDelete(VOID);
  135.     
  136.     
  137.     /*
  138.      * imagundo.c
  139.      */
  140.     
  141.     VOID ImageUndo(VOID);
  142.     VOID ImageUpdateUndo(VOID);
  143.     VOID ImageFreeUndo(VOID);
  144.     
  145.     
  146.     /*
  147.      * menucmd.c
  148.      */
  149.     
  150.     VOID InitMenu(HMENU hMenu);
  151.     VOID MenuCmd(INT item);
  152.     DWORD  APIENTRY MsgFilterHookFunc(INT nCode, WPARAM wParam, LPMSG lpMsg);
  153.     VOID ShowHelp(BOOL fMenuHelp);
  154.     DIALOGPROC AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  155.     
  156.     
  157.     /*
  158.      * rwbmp.c
  159.      */
  160.     
  161.     BOOL LoadBitmapFile(PSTR pszFullFileName);
  162.     BOOL SaveBitmapFile(PSTR pszFullFileName);
  163.     
  164.     
  165.     /*
  166.      * rwicocur.c
  167.      */
  168.     
  169.     BOOL LoadIconCursorFile(PSTR pszFullFileName, BOOL fIcon);
  170.     BOOL IsValidDIB(LPBITMAPINFO pDIB, DWORD cbDIBSize, BOOL fIcoCur);
  171.     BOOL SaveIconCursorFile(PSTR pszFullFileName, INT iType);
  172.     
  173.     
  174.     /*
  175.      * rwpal.c
  176.      */
  177.     
  178.     VOID LoadColorFile(VOID);
  179.     VOID SaveColorFile(VOID);
  180.     
  181.     
  182.     /*
  183.      * propbar.c
  184.      */
  185.     
  186.     DIALOGPROC PropBarDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  187.     VOID PropBarUpdate(VOID);
  188.     VOID PropBarSetImage(PIMAGEINFO pImage);
  189.     VOID PropBarSetPos(INT x, INT y);
  190.     VOID PropBarClearPos(VOID);
  191.     VOID PropBarSetSize(POINT pt1, POINT pt2);
  192.     VOID PropBarClearSize(VOID);
  193.     VOID PropBarSetHotSpot(INT xHotSpot, INT yHotSpot);
  194.     VOID PropBarClearHotSpot(VOID);
  195.     VOID PropBarShowHotSpot(BOOL fShow);
  196.     
  197.     
  198.     /*
  199.      * toolbox.c
  200.      */
  201.     
  202.     VOID ToolboxCreate(VOID);
  203.     VOID ToolboxShow(BOOL fShow);
  204.     VOID ToolboxUpdate(VOID);
  205.     WINDOWPROC ToolboxWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  206.     WINDOWPROC ToolBtnWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  207.     VOID ToolboxSelectTool(INT tool);
  208.     
  209.     
  210.     /*
  211.      * util.c
  212.      */
  213.     
  214.     VOID *MyAlloc(INT cbAlloc);
  215.     VOID *MyRealloc(VOID *npMem, INT cbNewAlloc);
  216.     VOID *MyFree(VOID *npMem);
  217.     INT Message(UINT idMsg, ...);
  218.     VOID CenterWindow(HWND hwnd);
  219.     VOID FitRectToScreen(PRECT prc);
  220.     PSTR ids(UINT idString);
  221.     HBITMAP MyCreateBitmap(HDC hdc, INT cx, INT cy, INT nColors);
  222.     
  223.     #if defined(DBG) && defined(WIN16)
  224.     VOID DBGStackReport(BOOL fInit);
  225.     #else
  226.     #define DBGStackReport(fInit)
  227.     #endif
  228.     
  229.     #ifdef DBG
  230.     VOID DBGBltImage(HDC hdc);
  231.     VOID DBGprintf(PSTR fmt, ...);
  232.     #else
  233.     #define DBGBltImage(hdc)
  234.     #define DBGprintf
  235.     #endif
  236.     
  237.     
  238.     /*
  239.      * viewwp.c
  240.      */
  241.     
  242.     VOID ViewCreate(VOID);
  243.     VOID ViewShow(BOOL fShow);
  244.     VOID ViewUpdate(VOID);
  245.     VOID ViewReset(VOID);
  246.     WINDOWPROC ViewWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  247.     VOID ViewSetPixel(INT x, INT y, INT nBrushSize);
  248.     VOID DrawMarginBorder(HWND hwnd, HDC hdc);
  249.     VOID DrawSunkenRect(PRECT prc, HDC hdc);
  250.     
  251.     
  252.     /*
  253.      * workwp.c
  254.      */
  255.     
  256.     WINDOWPROC WorkWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  257.     VOID WorkUpdate(VOID);
  258.     VOID WorkReset(VOID);
  259.     VOID PencilDP(HWND hwnd, UINT msg, POINT ptNew);
  260.     VOID BrushDP(HWND hwnd, UINT msg, POINT ptNew);
  261.     VOID PickDP(HWND hwnd, UINT msg, POINT ptNew);
  262.     VOID LineDP(HWND hwnd, UINT msg, POINT ptNew);
  263.     VOID RectDP(HWND hwnd, UINT msg, POINT ptNew);
  264.     VOID CircleDP(HWND hwnd, UINT msg, POINT ptNew);
  265.     VOID FloodDP(HWND hwnd, UINT msg, POINT ptNew);
  266.     VOID HotSpotDP(HWND hwnd, UINT msg, POINT ptNew);
  267.     VOID NormalizePoints(PPOINT pptStart, PPOINT pptEnd);
  268.