WINDIFF.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:
Windows编程
开发平台:
Visual C++
- /******************************************************************************
- * This is a part of the Microsoft Source Code Samples.
- * Copyright (C) 1993-1997 Microsoft Corporation.
- * All rights reserved.
- * This source code is only intended as a supplement to
- * Microsoft Development Tools and/or WinHelp documentation.
- * See these sources for detailed information regarding the
- * Microsoft samples programs.
- ******************************************************************************/
- /*
- * WINDIFF.H
- */
- /* application-wide variables -------------------------------------*/
- /* This is the section name in the win.ini file to which we
- * write profile info
- */
- #define APPNAME "WinDiff"
- /* A gmem_init() heap shared by the app. call gmem_get to alloc. */
- extern HANDLE hHeap;
- /* The instance handle for this app. Needed by anyone who uses resources
- * such as dialogs
- */
- extern HINSTANCE hInst;
- extern HWND hwndClient;
- extern HWND hwndRCD;
- /* global option flags------------------------------------------- */
- /* Which files do we show in outline mode ? all, changed... */
- extern int outline_include;
- /* Outline_include is an OR of the following */
- #define INCLUDE_SAME 1
- #define INCLUDE_DIFFER 2
- #define INCLUDE_LEFTONLY 4
- #define INCLUDE_RIGHTONLY 8
- /* Do we ignore blanks during the line-by-line diff ? */
- extern BOOL ignore_blanks;
- /* Which line numbers do we show - left original, right original or none ?*/
- extern int line_numbers;
- /* What lines do we show in expand mode - all, left only, right only ? */
- extern int expand_mode;
- /*--- colour scheme ---------------------------------------------- */
- /* Outline */
- extern DWORD rgb_outlinehi;
- /* Expand view */
- extern DWORD rgb_leftfore;
- extern DWORD rgb_leftback;
- extern DWORD rgb_rightfore;
- extern DWORD rgb_rightback;
- extern DWORD rgb_mleftfore;
- extern DWORD rgb_mleftback;
- extern DWORD rgb_mrightfore;
- extern DWORD rgb_mrightback;
- /* Bar window */
- extern DWORD rgb_barleft;
- extern DWORD rgb_barright;
- extern DWORD rgb_barcurrent;
- /* -- display layout constants---------------------------------------*/
- /* Percentage of width of window taken by bar display (when visible) */
- #define BAR_WIN_WIDTH 10
- /* Following are horizontal positions within the bar window, expressed
- * in percent of the width of the bar window
- */
- #define L_POS_START 10 /* start of left position marker */
- #define L_POS_WIDTH 5 /* width of left position marker */
- #define R_POS_START 80 /* start of right position marker */
- #define R_POS_WIDTH 5 /* width of right position marker */
- #define L_UNMATCH_START 30 /* start of left bar for unmatched section */
- #define L_UNMATCH_WIDTH 10 /* width of above */
- #define R_UNMATCH_START 60 /* start of right bar for unmatch section */
- #define R_UNMATCH_WIDTH 10 /* width of right unmatched section marker */
- #define L_MATCH_START 30 /* start of left bar for matched section */
- #define L_MATCH_WIDTH 10 /* width of left bar for matched section */
- #define R_MATCH_START 60 /* start of right bar for matched section */
- #define R_MATCH_WIDTH 10 /* width of right bar for matched section */
- /* windiff.c functions */
- void windiff_UI(BOOL bAttach);
- BOOL Poll(void); /* true if abort pending */
- void SetNames(LPSTR names);
- void SetStatus(LPSTR state);
- /* in bar.c */
- BOOL InitBarClass(HINSTANCE hInstance);
- void BarDrawPosition(HWND hwndBar, HDC hdcIn, BOOL bErase);
- /*-- private messages -- */
- /* Send this to the main window. Return value is the VIEW handle */
- #define TM_CURRENTVIEW WM_USER
- /* --- synchronisation ----------------------------------------- */
- /*
- * In WIN32 we spawn worker threads to do time-consuming actions.
- * This causes a possible conflict with the UI thread when accessing the
- * BUSY flag.
- *
- * To protect against this we have a critical section. The UI thread
- * will get this before checking/changing the Busy flag,
- * The worker thread will get this before Busy flag* changes.
- *
- */
- CRITICAL_SECTION CSWindiff;
- #define WDEnter() EnterCriticalSection(&CSWindiff);
- #define WDLeave() LeaveCriticalSection(&CSWindiff);