2017-10-04 18:37:32 +00:00
|
|
|
#define MONOCHROMEBITS 1
|
|
|
|
#define GREYSCALEBITS 8
|
|
|
|
#define PALLETEBITS 8
|
|
|
|
#define TRUECOLORBITS 24
|
|
|
|
|
|
|
|
#define PIXELS 0
|
|
|
|
#define CENTIMETERS 1
|
|
|
|
#define INCHES 2
|
|
|
|
|
|
|
|
|
|
|
|
/* generic definitions and forward declarations */
|
|
|
|
struct _MAIN_WND_INFO;
|
|
|
|
struct _EDIT_WND_INFO;
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum _MDI_EDITOR_TYPE {
|
|
|
|
metUnknown = 0,
|
|
|
|
metImageEditor,
|
|
|
|
} MDI_EDITOR_TYPE, *PMDI_EDITOR_TYPE;
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
tSelect = 0,
|
|
|
|
tMove,
|
|
|
|
tLasso,
|
|
|
|
tZoom,
|
|
|
|
tMagicWand,
|
|
|
|
tBrush,
|
|
|
|
tEraser,
|
|
|
|
tPencil,
|
|
|
|
tColorPick,
|
|
|
|
tStamp,
|
|
|
|
tFill,
|
|
|
|
tLine,
|
|
|
|
tPolyline,
|
|
|
|
tRectangle,
|
|
|
|
tRoundRectangle,
|
|
|
|
tPolygon,
|
|
|
|
tElipse,
|
|
|
|
} TOOL;
|
|
|
|
|
|
|
|
typedef struct _OPEN_IMAGE_EDIT_INFO
|
|
|
|
{
|
|
|
|
BOOL CreateNew;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
LONG Width;
|
|
|
|
LONG Height;
|
|
|
|
} New;
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
LPTSTR lpImagePath;
|
|
|
|
} Open;
|
|
|
|
};
|
|
|
|
LPTSTR lpImageName;
|
|
|
|
USHORT Type;
|
|
|
|
LONG Resolution;
|
|
|
|
} OPEN_IMAGE_EDIT_INFO, *POPEN_IMAGE_EDIT_INFO;
|
|
|
|
|
|
|
|
typedef struct _EDIT_WND_INFO
|
|
|
|
{
|
|
|
|
MDI_EDITOR_TYPE MdiEditorType; /* Must be first member! */
|
|
|
|
|
|
|
|
HWND hSelf;
|
|
|
|
HBITMAP hBitmap;
|
|
|
|
HDC hDCMem;
|
|
|
|
PBITMAPINFO pbmi;
|
|
|
|
PBYTE pBits;
|
|
|
|
struct _MAIN_WND_INFO *MainWnd;
|
|
|
|
struct _EDIT_WND_INFO *Next;
|
|
|
|
POINT ScrollPos;
|
|
|
|
USHORT Zoom;
|
|
|
|
DWORD Tool;
|
|
|
|
|
|
|
|
POPEN_IMAGE_EDIT_INFO OpenInfo; /* Only valid during initialization */
|
|
|
|
|
|
|
|
/* Canvas properties */
|
|
|
|
USHORT Type;
|
|
|
|
LONG Resolution;
|
|
|
|
/* size of drawing area */
|
|
|
|
LONG Width;
|
|
|
|
LONG Height;
|
|
|
|
|
|
|
|
} EDIT_WND_INFO, *PEDIT_WND_INFO;
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CreateImageEditWindow(struct _MAIN_WND_INFO *MainWnd,
|
|
|
|
POPEN_IMAGE_EDIT_INFO OpenInfo);
|
|
|
|
VOID SetImageEditorEnvironment(PEDIT_WND_INFO Info,
|
|
|
|
BOOL Setup);
|
|
|
|
BOOL InitImageEditWindowImpl(VOID);
|
|
|
|
VOID UninitImageEditWindowImpl(VOID);
|