Annotation of mstools/samples/mfedit/mfedit.h, revision 1.1.1.4

1.1       root        1: /******************************Module*Header*******************************\
                      2: * Module Name: mfedit.h
                      3: *
                      4: * Header file for mfedit
                      5: *
                      6: * Created: 28-May-1992 14:57:56
                      7: * Author: Petrus Wong
                      8: *
                      9: * Copyright (c) 1990 Microsoft Corporation
                     10: *
                     11: * Contains all the definitions, global variables, structures, etc
                     12: *
                     13: * Dependencies:
                     14: *
                     15: *   metadef.h
                     16: *
                     17: \**************************************************************************/
                     18: #include <windows.h>
                     19: #include <string.h>
                     20: 
                     21: #define LIGHTGRAY               RGB(192, 192, 192)
                     22: #define DARKGRAY                RGB(128, 128, 128)
                     23: #define MAX_POINTS              256
                     24: #define MAX_POINTS_MF           3
                     25: #define MAX_POINTS_BMP          3
1.1.1.3   root       26: #define MAX_FRAME           800
                     27: #define MAX_FILE            800
                     28: 
1.1       root       29: //
                     30: // Menu ID's
                     31: //
                     32: #define MM_LOAD                 7001
                     33: #define MM_RECORD               7002
                     34: #define MM_PRINT                7003
                     35: #define MM_PAGESETUP            7004
                     36: #define MM_PRINTSETUP           7005
                     37: #define MM_ABOUT                7006
                     38: #define MM_CUT                  7007
                     39: #define MM_COPY                 7008
                     40: #define MM_PASTE                7009
                     41: #define MM_DEL                  7010
                     42: #define MM_LOAD_BMP             7011
                     43: #define MM_SAVE_BMP             7012
                     44: #define MM_LOAD_MASKBMP         7013
                     45: #define MM_REMOVE               7014
                     46: #define MM_INSERT               7015
                     47: #define MM_HITTEST              7016
                     48: #define MM_REPEAT               7017
                     49: #define MM_INCREASE             7018
                     50: #define MM_NORMAL               7019
                     51: #define MM_DECREASE             7020
                     52: #define MM_PEN                  7021
                     53: #define MM_BRUSH                7022
                     54: #define MM_FONT                 7023
1.1.1.2   root       55: #define MM_LEABOUT              7024
1.1.1.3   root       56: #define MM_FIT2WND              7025
                     57: #define MM_IMPORT_3X            7026
                     58: #define MM_EXPORT_3X            7027
                     59: #define MM_TTOUTLN_STROKEFILL   7028
                     60: #define MM_TTOUTLN_POLYDRAW     7029
1.1.1.4 ! root       61: #define MM_C_WND_MF             7030
        !            62: #define MM_C_BEGIN_GP           7031
        !            63: #define MM_C_END_GP             7032
        !            64: #define MM_C_MLTFMTS            7033
        !            65: 
        !            66: 
        !            67: 
1.1       root       68: 
                     69: #define SIZEOFCAPTIONTEXT      20
                     70: 
                     71: #define ACCEL_ID                100
1.1.1.3   root       72: #define APP_ICON                 100
1.1       root       73: 
                     74: //
                     75: // Control Panel ID's
                     76: //
                     77: #define OD_BTN_CNT              5
                     78: #define DID_CTRLPANEL           100
                     79: #define DID_ZERO                1000
                     80: #define DID_ONE                 1001
                     81: #define DID_TWO                 1002
                     82: #define DID_THREE               1003
                     83: #define DID_FOUR                1004
                     84: #define DID_FIVE                1005
                     85: #define DID_SIX                 1006
                     86: #define DID_SEVEN               1007
                     87: #define DID_EIGHT               1008
                     88: #define DID_NINE                1009
                     89: #define DID_TEN_PLUS            1010
                     90: #define ID_OD_BTN_BASE          1011
                     91: #define DID_OPEN                1011
                     92: #define DID_RECORD              1012
                     93: #define DID_STOP                1013
                     94: #define DID_PLAY                1014
                     95: #define DID_FF                  1015
                     96: #define DID_CLEAR               1016
                     97: #define DID_COUNTER             1017
1.1.1.2   root       98: #define DID_TMP                 1018
1.1       root       99: 
                    100: //
                    101: // Control Panel's Owner draw bitmaps
                    102: //
                    103: #define BMID_BASED              1011
                    104: #define BMID_OPEND              1011
                    105: #define BMID_RECORDD            1012
                    106: #define BMID_STOPD              1013
                    107: #define BMID_PLAYD              1014
                    108: #define BMID_FFD                1015
                    109: #define BMID_BASEU              2011
                    110: #define BMID_OPENU              2011
                    111: #define BMID_RECORDU            2012
                    112: #define BMID_STOPU              2013
                    113: #define BMID_PLAYU              2014
                    114: #define BMID_FFU                2015
                    115: 
                    116: //
                    117: // Tools ID's
                    118: //
                    119: #define OD_TOOL_CNT             10
                    120: #define ID_OD_TOOL_BASE         3001
                    121: #define DID_PEN                 3001
                    122: #define DID_TEXT                3002
                    123: #define DID_RECT                3003
                    124: #define DID_FILLRECT            3004
                    125: #define DID_ELLIPSE             3005
                    126: #define DID_FILLELLIPSE         3006
                    127: #define DID_LINE                3007
                    128: #define DID_BEZIER              3008
                    129: #define DID_BMPOBJ              3009
                    130: #define DID_METAF               3010
                    131: 
                    132: //
                    133: // Tools Owner Draw bitmaps
                    134: //
                    135: #define BMID_TOOLBASED          3001
                    136: #define BMID_PEND               3001
                    137: #define BMID_TEXTD              3002
                    138: #define BMID_RECTD              3003
                    139: #define BMID_FILLRECTD          3004
                    140: #define BMID_ELLIPSED           3005
                    141: #define BMID_FILLELLIPSED       3006
                    142: #define BMID_LINED              3007
                    143: #define BMID_BEZIERD            3008
                    144: #define BMID_BMPOBJD            3009
                    145: #define BMID_METAFD             3010
                    146: #define BMID_TOOLBASEU          4001
                    147: #define BMID_PENU               4001
                    148: #define BMID_TEXTU              4002
                    149: #define BMID_RECTU              4003
                    150: #define BMID_FILLRECTU          4004
                    151: #define BMID_ELLIPSEU           4005
                    152: #define BMID_FILLELLIPSEU       4006
                    153: #define BMID_LINEU              4007
                    154: #define BMID_BEZIERU            4008
                    155: #define BMID_BMPOBJU            4009
                    156: #define BMID_METAFU             4010
                    157: 
                    158: #define MR_MIN                     1
                    159: 
                    160: #define MR_METAFILE                1
                    161: #define MR_POLYBEZIER              2
                    162: #define MR_POLYGON                 3
                    163: #define MR_POLYLINE                4
                    164: #define MR_POLYBEZIERTO                    5
                    165: #define MR_POLYLINETO              6
                    166: #define MR_POLYPOLYLINE                    7
                    167: #define MR_POLYPOLYGON             8
                    168: #define MR_SETWINDOWEXTEX          9
                    169: #define MR_SETWINDOWORGEX          10
                    170: #define MR_SETVIEWPORTEXTEX        11
                    171: #define MR_SETVIEWPORTORGEX        12
                    172: #define MR_SETBRUSHORGEX           13
                    173: #define MR_EOF                     14
                    174: #define MR_SETPIXELV               15
                    175: #define MR_SETMAPPERFLAGS          16
                    176: #define MR_SETMAPMODE              17
                    177: #define MR_SETBKMODE               18
                    178: #define MR_SETPOLYFILLMODE         19
                    179: #define MR_SETROP2                 20
                    180: #define MR_SETSTRETCHBLTMODE       21
                    181: #define MR_SETTEXTALIGN                    22
                    182: 
                    183: #define MR_SETTEXTCOLOR                    24
                    184: #define MR_SETBKCOLOR              25
                    185: #define MR_OFFSETCLIPRGN           26
                    186: #define MR_MOVETOEX                27
                    187: #define MR_SETMETARGN              28
                    188: #define MR_EXCLUDECLIPRECT         29
                    189: #define MR_INTERSECTCLIPRECT       30
                    190: #define MR_SCALEVIEWPORTEXTEX      31
                    191: #define MR_SCALEWINDOWEXTEX        32
                    192: #define MR_SAVEDC                  33
                    193: #define MR_RESTOREDC               34
                    194: #define MR_SETWORLDTRANSFORM       35
                    195: #define MR_MODIFYWORLDTRANSFORM            36
                    196: #define MR_SELECTOBJECT                    37
                    197: #define MR_CREATEPEN               38
                    198: #define MR_CREATEBRUSHINDIRECT     39
                    199: #define MR_DELETEOBJECT                    40
                    200: #define MR_ANGLEARC                41
                    201: #define MR_ELLIPSE                 42
                    202: #define MR_RECTANGLE               43
                    203: #define MR_ROUNDRECT               44
                    204: #define MR_ARC                     45
                    205: #define MR_CHORD                   46
                    206: #define MR_PIE                     47
                    207: #define MR_SELECTPALETTE           48
                    208: #define MR_CREATEPALETTE           49
                    209: #define MR_SETPALETTEENTRIES       50
                    210: #define MR_RESIZEPALETTE           51
                    211: #define MR_REALIZEPALETTE          52
                    212: #define MR_EXTFLOODFILL                    53
                    213: #define MR_LINETO                  54
                    214: #define MR_ARCTO                   55
                    215: #define MR_POLYDRAW                56
                    216: #define MR_SETARCDIRECTION         57
                    217: #define MR_SETMITERLIMIT           58
                    218: #define MR_BEGINPATH               59
                    219: #define MR_ENDPATH                 60
                    220: #define MR_CLOSEFIGURE             61
                    221: #define MR_FILLPATH                62
                    222: #define MR_STROKEANDFILLPATH       63
                    223: #define MR_STROKEPATH              64
                    224: #define MR_FLATTENPATH             65
                    225: #define MR_WIDENPATH               66
                    226: #define MR_SELECTCLIPPATH          67
                    227: #define MR_ABORTPATH               68
                    228: 
                    229: #define MR_GDICOMMENT              70
                    230: #define MR_FILLRGN                 71
                    231: #define MR_FRAMERGN                72
                    232: #define MR_INVERTRGN               73
                    233: #define MR_PAINTRGN                74
                    234: #define MR_EXTSELECTCLIPRGN        75
                    235: #define MR_BITBLT                  76
                    236: #define MR_STRETCHBLT              77
                    237: #define MR_MASKBLT                 78
                    238: #define MR_PLGBLT                  79
                    239: #define MR_SETDIBITSTODEVICE       80
                    240: #define MR_STRETCHDIBITS           81
                    241: #define MR_EXTCREATEFONTINDIRECTW   82
                    242: #define MR_EXTTEXTOUTA             83
                    243: #define MR_EXTTEXTOUTW             84
                    244: #define MR_POLYBEZIER16                    85
                    245: #define MR_POLYGON16               86
                    246: #define MR_POLYLINE16              87
                    247: #define MR_POLYBEZIERTO16          88
                    248: #define MR_POLYLINETO16                    89
                    249: #define MR_POLYPOLYLINE16          90
                    250: #define MR_POLYPOLYGON16           91
                    251: #define MR_POLYDRAW16              92
                    252: #define MR_CREATEMONOBRUSH         93
                    253: #define MR_CREATEDIBPATTERNBRUSHPT  94
                    254: #define MR_EXTCREATEPEN                    95
                    255: #define MR_MAX                     95
                    256: 
                    257: 
                    258: //
                    259: // some handy macros
                    260: //
                    261: #define GET_WM_CTLCOLOR_HDC(wp, lp, msg)        (HDC)(wp)
                    262: #define GET_WM_CTLCOLOR_HWND(wp, lp, msg)       (HWND)(lp)
                    263: #define GET_WM_CTLCOLOR_TYPE(wp, lp, msg)       (WORD)(msg - WM_CTLCOLORMSGBOX)
                    264: 
1.1.1.2   root      265: #define META32_SIGNATURE        0x464D4520      // ' EMF'
                    266: #define ALDUS_ID               0x9AC6CDD7
                    267: 
                    268: typedef struct
                    269:   {
                    270:   DWORD   key;
1.1.1.3   root      271:   WORD          hmf;
                    272:   SMALL_RECT    bbox;
1.1.1.2   root      273:   WORD    inch;
                    274:   DWORD   reserved;
                    275:   WORD    checksum;
                    276:   } APMFILEHEADER;
                    277: typedef APMFILEHEADER * PAPMFILEHEADER;
                    278: #define APMSIZE 22
                    279: 
                    280: 
                    281: #ifndef RC_INVOKED
                    282: #pragma pack(2)
                    283: typedef struct tagMETA16HEADER
                    284: {
                    285:     WORD       mtType;
                    286:     WORD       mtHeaderSize;
                    287:     WORD       mtVersion;
                    288:     DWORD      mtSize;
                    289:     WORD       mtNoObjects;
                    290:     DWORD      mtMaxRecord;
                    291:     WORD       mtNoParameters;
                    292: } META16HEADER, LPMETA16HEADER;
                    293: #pragma pack()
                    294: 
                    295: #endif // RC_INVOKED
                    296: 
                    297: 
1.1       root      298: typedef struct _playinfo {
                    299:     int iRecord;
                    300:     BOOL bPlayContinuous;
                    301: } PLAYINFO;
                    302: 
                    303: typedef struct _metalookup {
                    304:     LPSTR   szGDIName;
                    305:     int     iMRNumber;
                    306: } METALOOKUP;
                    307: 
                    308: typedef struct _htdata {
                    309:     POINT   point;
                    310:     int     iRecord;
                    311: } HTDATA;
                    312: 
                    313: METALOOKUP rgMetaName[] =
                    314: {
                    315:    { "                          ", 0                         },
                    316:    { "METAFILE                  ", MR_METAFILE               },
                    317:    { "POLYBEZIER                ", MR_POLYBEZIER             },
                    318:    { "POLYGON                   ", MR_POLYGON                },
                    319:    { "POLYLINE                  ", MR_POLYLINE               },
                    320:    { "POLYBEZIERTO              ", MR_POLYBEZIERTO           },
                    321:    { "POLYLINETO                ", MR_POLYLINETO             },
                    322:    { "POLYPOLYLINE              ", MR_POLYPOLYLINE           },
                    323:    { "POLYPOLYGON               ", MR_POLYPOLYGON            },
                    324:    { "SETWINDOWEXTEX            ", MR_SETWINDOWEXTEX         },
                    325:    { "SETWINDOWORGEX            ", MR_SETWINDOWORGEX         },
                    326:    { "SETVIEWPORTEXTEX          ", MR_SETVIEWPORTEXTEX       },
                    327:    { "SETVIEWPORTORGEX          ", MR_SETVIEWPORTORGEX       },
                    328:    { "SETBRUSHORGEX             ", MR_SETBRUSHORGEX          },
                    329:    { "EOF                       ", MR_EOF                    },
                    330:    { "SETPIXELV                 ", MR_SETPIXELV              },
                    331:    { "SETMAPPERFLAGS            ", MR_SETMAPPERFLAGS         },
                    332:    { "SETMAPMODE                ", MR_SETMAPMODE             },
                    333:    { "SETBKMODE                 ", MR_SETBKMODE              },
                    334:    { "SETPOLYFILLMODE           ", MR_SETPOLYFILLMODE        },
                    335:    { "SETROP2                   ", MR_SETROP2                },
                    336:    { "SETSTRETCHBLTMODE         ", MR_SETSTRETCHBLTMODE      },
                    337:    { "SETTEXTALIGN              ", MR_SETTEXTALIGN           },
                    338:    { "UNKNOWN                   ", 23                        },
                    339:    { "SETTEXTCOLOR              ", MR_SETTEXTCOLOR           },
                    340:    { "SETBKCOLOR                ", MR_SETBKCOLOR             },
                    341:    { "OFFSETCLIPRGN             ", MR_OFFSETCLIPRGN          },
                    342:    { "MOVETOEX                  ", MR_MOVETOEX               },
                    343:    { "SETMETARGN                ", MR_SETMETARGN             },
                    344:    { "EXCLUDECLIPRECT           ", MR_EXCLUDECLIPRECT        },
                    345:    { "INTERSECTCLIPRECT         ", MR_INTERSECTCLIPRECT      },
                    346:    { "SCALEVIEWPORTEXTEX        ", MR_SCALEVIEWPORTEXTEX     },
                    347:    { "SCALEWINDOWEXTEX          ", MR_SCALEWINDOWEXTEX       },
                    348:    { "SAVEDC                    ", MR_SAVEDC                 },
                    349:    { "RESTOREDC                 ", MR_RESTOREDC              },
                    350:    { "SETWORLDTRANSFORM         ", MR_SETWORLDTRANSFORM      },
                    351:    { "MODIFYWORLDTRANSFORM      ", MR_MODIFYWORLDTRANSFORM   },
                    352:    { "SELECTOBJECT              ", MR_SELECTOBJECT           },
                    353:    { "CREATEPEN                 ", MR_CREATEPEN              },
                    354:    { "CREATEBRUSHINDIRECT       ", MR_CREATEBRUSHINDIRECT    },
                    355:    { "DELETEOBJECT              ", MR_DELETEOBJECT           },
                    356:    { "ANGLEARC                  ", MR_ANGLEARC               },
                    357:    { "ELLIPSE                   ", MR_ELLIPSE                },
                    358:    { "RECTANGLE                 ", MR_RECTANGLE              },
                    359:    { "ROUNDRECT                 ", MR_ROUNDRECT              },
                    360:    { "ARC                       ", MR_ARC                    },
                    361:    { "CHORD                     ", MR_CHORD                  },
                    362:    { "PIE                       ", MR_PIE                    },
                    363:    { "SELECTPALETTE             ", MR_SELECTPALETTE          },
                    364:    { "CREATEPALETTE             ", MR_CREATEPALETTE          },
                    365:    { "SETPALETTEENTRIES         ", MR_SETPALETTEENTRIES      },
                    366:    { "RESIZEPALETTE             ", MR_RESIZEPALETTE          },
                    367:    { "REALIZEPALETTE            ", MR_REALIZEPALETTE         },
                    368:    { "EXTFLOODFILL              ", MR_EXTFLOODFILL           },
                    369:    { "LINETO                    ", MR_LINETO                 },
                    370:    { "ARCTO                     ", MR_ARCTO                  },
                    371:    { "POLYDRAW                  ", MR_POLYDRAW               },
                    372:    { "SETARCDIRECTION           ", MR_SETARCDIRECTION        },
                    373:    { "SETMITERLIMIT             ", MR_SETMITERLIMIT          },
                    374:    { "BEGINPATH                 ", MR_BEGINPATH              },
                    375:    { "ENDPATH                   ", MR_ENDPATH                },
                    376:    { "CLOSEFIGURE               ", MR_CLOSEFIGURE            },
                    377:    { "FILLPATH                  ", MR_FILLPATH               },
                    378:    { "STROKEANDFILLPATH         ", MR_STROKEANDFILLPATH      },
                    379:    { "STROKEPATH                ", MR_STROKEPATH             },
                    380:    { "FLATTENPATH               ", MR_FLATTENPATH            },
                    381:    { "WIDENPATH                 ", MR_WIDENPATH              },
                    382:    { "SELECTCLIPPATH            ", MR_SELECTCLIPPATH         },
                    383:    { "ABORTPATH                 ", MR_ABORTPATH              },
                    384:    { "UNKNOWN                   ", 69                        },
                    385:    { "GDICOMMENT                ", MR_GDICOMMENT             },
                    386:    { "FILLRGN                   ", MR_FILLRGN                },
                    387:    { "FRAMERGN                  ", MR_FRAMERGN               },
                    388:    { "INVERTRGN                 ", MR_INVERTRGN              },
                    389:    { "PAINTRGN                  ", MR_PAINTRGN               },
                    390:    { "EXTSELECTCLIPRGN          ", MR_EXTSELECTCLIPRGN       },
                    391:    { "BITBLT                    ", MR_BITBLT                 },
                    392:    { "STRETCHBLT                ", MR_STRETCHBLT             },
                    393:    { "MASKBLT                   ", MR_MASKBLT                },
                    394:    { "PLGBLT                    ", MR_PLGBLT                 },
                    395:    { "SETDIBITSTODEVICE         ", MR_SETDIBITSTODEVICE      },
                    396:    { "STRETCHDIBITS             ", MR_STRETCHDIBITS          },
                    397:    { "EXTCREATEFONTINDIRECTW    ", MR_EXTCREATEFONTINDIRECTW },
                    398:    { "EXTTEXTOUTA               ", MR_EXTTEXTOUTA            },
                    399:    { "EXTTEXTOUTW               ", MR_EXTTEXTOUTW            },
                    400:    { "POLYBEZIER16              ", MR_POLYBEZIER16           },
                    401:    { "POLYGON16                 ", MR_POLYGON16              },
                    402:    { "POLYLINE16                ", MR_POLYLINE16             },
                    403:    { "POLYBEZIERTO16            ", MR_POLYBEZIERTO16         },
                    404:    { "POLYLINETO16              ", MR_POLYLINETO16           },
                    405:    { "POLYPOLYLINE16            ", MR_POLYPOLYLINE16         },
                    406:    { "POLYPOLYGON16             ", MR_POLYPOLYGON16          },
                    407:    { "POLYDRAW16                ", MR_POLYDRAW16             },
                    408:    { "CREATEMONOBRUSH           ", MR_CREATEMONOBRUSH        },
                    409:    { "CREATEDIBPATTERNBRUSHPT   ", MR_CREATEDIBPATTERNBRUSHPT},
                    410:    { "EXTCREATEPEN              ", MR_EXTCREATEPEN           },
                    411:    };
                    412: 
1.1.1.3   root      413: 
                    414: typedef struct _PRTDATA {
                    415:     BOOL            bFit2Wnd;
                    416:     HENHMETAFILE    hMetaf;
                    417: } PRTDATA, *PPRTDATA;
                    418: 
                    419: 
1.1       root      420: HANDLE  ghModule;
                    421: HWND    ghwndMain   = NULL;
                    422: HWND    ghwndClient = NULL;
                    423: HWND    ghwndDrawSurf = NULL;
                    424: HWND    ghwndCtrlPanel = NULL;
                    425: HWND    ghwndTools = NULL;
                    426: HWND    ghTextWnd = NULL;
1.1.1.3   root      427: HPALETTE ghPal = NULL;
                    428: HPALETTE ghHT = NULL;
1.1       root      429: 
                    430: LONG    glcyStatus;
                    431: BOOL    gbRecording = FALSE;
                    432: BOOL    gbHitTest = FALSE;
                    433: 
                    434: #if 0   // STRICT doesn't like this
                    435: HWND    grHwndCtrlBtn[OD_BTN_CNT];
                    436: HWND    grHwndToolBtn[OD_TOOL_CNT];
                    437: #endif
                    438: PVOID   grHwndCtrlBtn[OD_BTN_CNT];
                    439: PVOID   grHwndToolBtn[OD_TOOL_CNT];
                    440: 
                    441: DWORD   gdwCurCtrl = DID_STOP;
                    442: DWORD   gdwCurTool = DID_PEN;
                    443: 
                    444: HFONT    ghCurFont;
                    445: LOGFONT  glf;
                    446: COLORREF gCrText=0;                         // Black
                    447: 
                    448: HMENU   hMenu,      hMenuWindow;
                    449: HMENU   hChildMenu, hChildMenuWindow;
                    450: HDC     ghDCMem;
                    451: HDC     ghDCMetaf = (HDC) NULL;
1.1.1.2   root      452: HENHMETAFILE ghMetaf = NULL;
1.1.1.3   root      453: HMETAFILE ghmf=NULL;
1.1.1.2   root      454: 
1.1       root      455: HBITMAP ghBmp = NULL, ghBmpMask = NULL;
                    456: 
                    457: #if 0   // STRICT doesn't like this
                    458: HBITMAP ghBmpDn[OD_BTN_CNT], ghBmpUp[OD_BTN_CNT];
                    459: HBITMAP ghToolBmpDn[OD_TOOL_CNT], ghToolBmpUp[OD_TOOL_CNT];
                    460: #endif
                    461: PVOID   ghBmpDn[OD_BTN_CNT], ghBmpUp[OD_BTN_CNT];
                    462: PVOID   ghToolBmpDn[OD_TOOL_CNT], ghToolBmpUp[OD_TOOL_CNT];
                    463: 
                    464: HBRUSH  ghbrRed;
                    465: HBRUSH  ghbrCur;
                    466: HPEN    ghpnCur;
                    467: HBRUSH  ghbrAppBkgd;
                    468: HPEN    ghpnWide;
1.1.1.2   root      469: 
                    470: HWND    ghwndNext = NULL;
1.1.1.3   root      471: BOOL    gbFit2Wnd = TRUE;
                    472: BOOL    gbImport3X = FALSE;
                    473: BOOL    gbExport3X = FALSE;
                    474: BOOL    gbSFOutln = FALSE;
                    475: BOOL    gbPDOutln = FALSE;
                    476: BOOL    gbTT = FALSE;
                    477: 
                    478: BOOL    gbUseDIB = FALSE;
                    479: 
                    480: typedef struct _FileInfo{
                    481:     HANDLE      hFile;
                    482:     HANDLE      hMapFile;
                    483:     LPVOID      lpvMapView;
                    484: } FILEINFO, *PFILEINFO;
                    485: 
                    486: typedef struct _DIBDATA{
                    487:     ULONG           ulFiles;
                    488:     ULONG           ulFrames;
                    489:     FILEINFO        rgFileInfo[MAX_FILE];
                    490:     PBYTE           rgpjFrame[MAX_FRAME];
                    491:     PBITMAPINFO     rgpbmi[MAX_FILE];
                    492:     BOOL            rgbCoreHdr[MAX_FILE];
                    493: } DIBDATA, *PDIBDATA;
                    494: 
                    495: DIBDATA gDib;
1.1.1.4 ! root      496: 
        !           497: typedef struct tagEMRFORMAT {
        !           498:     DWORD       dSignature;
        !           499:     DWORD       nVersion;
        !           500:     DWORD       cbData;
        !           501:     DWORD       offData;
        !           502: } EMRFORMAT;
        !           503: 
        !           504: typedef struct tagCMTMLTFMT {
        !           505:     DWORD       ident;
        !           506:     DWORD       iComment;
        !           507:     RECTL       rclOutput;
        !           508:     DWORD       nFormats;
        !           509:     EMRFORMAT   aemrformat[1];
        !           510: } CMTMLTFMT;
        !           511: 
        !           512: #define GDICOMMENT_IDENTIFIER   0x43494447
        !           513: #define GDICOMMENT_MULTIFORMATS 0x40000004

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.