270 lines
6.7 KiB
C
270 lines
6.7 KiB
C
/****************************************************************************/
|
|
/* */
|
|
/* Microsoft Confidential */
|
|
/* */
|
|
/* Copyright (c) Microsoft Corp. 1987, 1990 */
|
|
/* All Rights Reserved */
|
|
/* */
|
|
/****************************************************************************/
|
|
/****************************** Module Header *******************************
|
|
* Module Name: iefuncs.h
|
|
*
|
|
* Function declarations for the Image Editor.
|
|
*
|
|
* History:
|
|
*
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
/*
|
|
* colorwp.c
|
|
*/
|
|
|
|
VOID ColorShow(BOOL fShow);
|
|
DIALOGPROC ColorDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
WINDOWPROC ColorBoxWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
WINDOWPROC ColorLRWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
VOID SetScreenColor(DWORD rgb);
|
|
VOID SetColorPalette(INT nColors, INT fImageType, BOOL fForce);
|
|
VOID RestoreDefaultColors(VOID);
|
|
|
|
|
|
/*
|
|
* devinfo.c
|
|
*/
|
|
|
|
VOID InitDeviceList(VOID);
|
|
PDEVICE DeviceLinkAlloc(INT iType, PSTR pszName, INT nColors, INT cx, INT cy);
|
|
PDEVICE DeviceLinkFind(PDEVICE pDeviceHead, INT nColors, INT cx, INT cy);
|
|
BOOL DeviceLinkUsed(PDEVICE pDevice);
|
|
|
|
|
|
/*
|
|
* file.c
|
|
*/
|
|
|
|
VOID SetFileName(PSTR pszFullFileName);
|
|
PSTR FileInPath(PSTR pstrPath);
|
|
VOID ClearResource(VOID);
|
|
BOOL OpenDlg(PSTR pszFileName, INT iType);
|
|
BOOL SaveAsDlg(PSTR pszFileName, INT iType);
|
|
DIALOGPROC GetOpenFileNameHook(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
BOOL VerifySaveFile(VOID);
|
|
BOOL SaveFile(BOOL fSaveAs);
|
|
BOOL OpenAFile(VOID);
|
|
VOID OpenCmdLineFile(PSTR pstrFileName);
|
|
BOOL MyFileRead(HFILE hf, LPSTR lpBuffer, UINT nBytes, PSTR pszFileName,
|
|
INT iType);
|
|
BOOL MyFileWrite(HFILE hf, LPSTR lpBuffer, UINT nBytes, PSTR pszFileName);
|
|
|
|
|
|
/*
|
|
* icclip.c
|
|
*/
|
|
|
|
BOOL CopyImageClip(VOID);
|
|
BOOL PasteImageClip(VOID);
|
|
DIALOGPROC PasteOptionsDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
VOID PickSetRect(INT xLeft, INT yTop, INT xRight, INT yBottom);
|
|
|
|
|
|
/*
|
|
* image.c
|
|
*/
|
|
|
|
BOOL ImageNew(PDEVICE pDevice);
|
|
BOOL ImageNewBitmap(INT cx, INT cy, INT nColors);
|
|
BOOL ImageOpen(PIMAGEINFO pImage);
|
|
BOOL ImageOpen2(PIMAGEINFO pImage);
|
|
VOID ImageSave(VOID);
|
|
|
|
|
|
/*
|
|
* imagedc.c
|
|
*/
|
|
|
|
BOOL ImageDCCreate(INT iType, INT cx, INT cy, INT nColors);
|
|
VOID ImageDCDelete(VOID);
|
|
VOID ImageDCClear(VOID);
|
|
VOID ImageDCSeparate(HDC hdcImage, INT cx, INT cy, HDC hdcANDMask,
|
|
DWORD rgbScreen);
|
|
VOID ImageDCCombine(HDC hdcImage, INT cx, INT cy, HDC hdcANDMask);
|
|
VOID ImageDCMonoBlt(HDC hdcImage, INT cx, INT cy);
|
|
|
|
|
|
/*
|
|
* imagedit.c
|
|
*/
|
|
|
|
WINDOWPROC MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
BOOL ReadWindowPos(PSTR pstrKeyName, PINT px, PINT py, PINT pcx, PINT pcy,
|
|
BOOL *pfMaximized);
|
|
VOID WriteWindowPos(PRECT prc, BOOL fMaximized, PSTR pstrKeyName);
|
|
|
|
|
|
/*
|
|
* imagedlg.c
|
|
*/
|
|
|
|
INT DlgBox(INT idDlg, WNDPROC lpfnDlg);
|
|
VOID EnteringDialog(INT idDlg, PINT pidPrevDlg, BOOL fEntering);
|
|
VOID ImageNewDialog(INT iType);
|
|
VOID ImageSelectDialog(VOID);
|
|
DIALOGPROC ResourceTypeDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
DIALOGPROC NewCursorImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
DIALOGPROC NewIconImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
DIALOGPROC SelectImageDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
DIALOGPROC BitmapSizeDlgProc(HWND hwnd, UINT msg, WPARAM wParam,
|
|
LONG lParam);
|
|
|
|
|
|
/*
|
|
* imaglink.c
|
|
*/
|
|
|
|
PIMAGEINFO ImageLinkAlloc(PDEVICE pDevice, INT cx, INT cy, INT xHotSpot,
|
|
INT yHotSpot, INT nColors);
|
|
VOID ImageLinkFree(PIMAGEINFO pImageFree);
|
|
VOID ImageLinkFreeList(VOID);
|
|
VOID ImageDelete(VOID);
|
|
|
|
|
|
/*
|
|
* imagundo.c
|
|
*/
|
|
|
|
VOID ImageUndo(VOID);
|
|
VOID ImageUpdateUndo(VOID);
|
|
VOID ImageFreeUndo(VOID);
|
|
|
|
|
|
/*
|
|
* menucmd.c
|
|
*/
|
|
|
|
VOID InitMenu(HMENU hMenu);
|
|
VOID MenuCmd(INT item);
|
|
DWORD FAR PASCAL MsgFilterHookFunc(INT nCode, WPARAM wParam, LPMSG lpMsg);
|
|
VOID ShowHelp(BOOL fMenuHelp);
|
|
DIALOGPROC AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
|
|
|
|
/*
|
|
* rwbmp.c
|
|
*/
|
|
|
|
BOOL LoadBitmapFile(PSTR pszFullFileName);
|
|
BOOL SaveBitmapFile(PSTR pszFullFileName);
|
|
|
|
|
|
/*
|
|
* rwicocur.c
|
|
*/
|
|
|
|
BOOL LoadIconCursorFile(PSTR pszFullFileName, BOOL fIcon);
|
|
BOOL IsValidDIB(LPBITMAPINFO pDIB, DWORD cbDIBSize, BOOL fIcoCur);
|
|
BOOL SaveIconCursorFile(PSTR pszFullFileName, INT iType);
|
|
|
|
|
|
/*
|
|
* rwpal.c
|
|
*/
|
|
|
|
VOID LoadColorFile(VOID);
|
|
VOID SaveColorFile(VOID);
|
|
|
|
|
|
/*
|
|
* propbar.c
|
|
*/
|
|
|
|
DIALOGPROC PropBarDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
VOID PropBarUpdate(VOID);
|
|
VOID PropBarSetImage(PIMAGEINFO pImage);
|
|
VOID PropBarSetPos(INT x, INT y);
|
|
VOID PropBarClearPos(VOID);
|
|
VOID PropBarSetSize(POINT pt1, POINT pt2);
|
|
VOID PropBarClearSize(VOID);
|
|
VOID PropBarSetHotSpot(INT xHotSpot, INT yHotSpot);
|
|
VOID PropBarClearHotSpot(VOID);
|
|
VOID PropBarShowHotSpot(BOOL fShow);
|
|
|
|
|
|
/*
|
|
* toolbox.c
|
|
*/
|
|
|
|
VOID ToolboxCreate(VOID);
|
|
VOID ToolboxShow(BOOL fShow);
|
|
VOID ToolboxUpdate(VOID);
|
|
WINDOWPROC ToolboxWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
WINDOWPROC ToolBtnWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
VOID ToolboxSelectTool(INT tool);
|
|
|
|
|
|
/*
|
|
* util.c
|
|
*/
|
|
|
|
VOID *MyAlloc(INT cbAlloc);
|
|
VOID *MyRealloc(VOID *npMem, INT cbNewAlloc);
|
|
VOID *MyFree(VOID *npMem);
|
|
INT Message(UINT idMsg, ...);
|
|
VOID CenterWindow(HWND hwnd);
|
|
VOID FitRectToScreen(PRECT prc);
|
|
PSTR ids(UINT idString);
|
|
HBITMAP MyCreateBitmap(HDC hdc, INT cx, INT cy, INT nColors);
|
|
|
|
#if DBG && defined(WIN16)
|
|
VOID DBGStackReport(BOOL fInit);
|
|
#else
|
|
#define DBGStackReport(fInit)
|
|
#endif
|
|
|
|
#if DBG
|
|
VOID DBGBltImage(HDC hdc);
|
|
VOID DBGprintf(PSTR fmt, ...);
|
|
#else
|
|
#define DBGBltImage(hdc)
|
|
#define DBGprintf
|
|
#endif
|
|
|
|
|
|
/*
|
|
* viewwp.c
|
|
*/
|
|
|
|
VOID ViewCreate(VOID);
|
|
VOID ViewShow(BOOL fShow);
|
|
VOID ViewUpdate(VOID);
|
|
VOID ViewReset(VOID);
|
|
WINDOWPROC ViewWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
VOID ViewSetPixel(INT x, INT y, INT nBrushSize);
|
|
VOID DrawMarginBorder(HWND hwnd, HDC hdc);
|
|
VOID DrawSunkenRect(PRECT prc, HDC hdc);
|
|
|
|
|
|
/*
|
|
* workwp.c
|
|
*/
|
|
|
|
WINDOWPROC WorkWndProc(HWND hwnd, UINT msg, WPARAM wParam, LONG lParam);
|
|
VOID WorkUpdate(VOID);
|
|
VOID WorkReset(VOID);
|
|
VOID PencilDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID BrushDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID PickDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID LineDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID RectDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID CircleDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID FloodDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID HotSpotDP(HWND hwnd, UINT msg, POINT ptNew);
|
|
VOID NormalizePoints(PPOINT pptStart, PPOINT pptEnd);
|