Annotation of mstools/samples/sdktools/windiff/tpriv.h, revision 1.1

1.1     ! root        1: 
        !             2: /******************************************************************************\
        !             3: *       This is a part of the Microsoft Source Code Samples. 
        !             4: *       Copyright (C) 1993 Microsoft Corporation.
        !             5: *       All rights reserved. 
        !             6: *       This source code is only intended as a supplement to 
        !             7: *       Microsoft Development Tools and/or WinHelp documentation.
        !             8: *       See these sources for detailed information regarding the 
        !             9: *       Microsoft samples programs.
        !            10: \******************************************************************************/
        !            11: 
        !            12: /*
        !            13:  * TPRIV.H
        !            14:  *
        !            15:  * Data structures used internally by table class.
        !            16:  *
        !            17:  * Note: include after table.h
        !            18:  */
        !            19: 
        !            20: 
        !            21: #ifndef abs
        !            22: #define abs(x)  (((x) > 0)? (x) : -(x))
        !            23: #endif
        !            24: 
        !            25: /*  one of these per visible line */
        !            26: typedef struct {
        !            27:         CellPos linepos;        /* posn and clipping info for line */
        !            28: 
        !            29:         lpCellData pdata;       /* array of CellData structs for all cells */
        !            30: } LineData, FAR * lpLineData;
        !            31: 
        !            32: 
        !            33: /* master info struct pointed to by window extra bytes */
        !            34: 
        !            35: typedef struct {
        !            36:         /* table info */
        !            37:         TableHdr        hdr;            /* main hdr info from owner */
        !            38:         lpColProps      pcolhdr;        /* ptr to array of phdr->ncols hdrs */
        !            39: 
        !            40:         /* window info */
        !            41:         int     avewidth;       /* font ave width - for default cell sizing */
        !            42:         int     rowheight;      /* height of one row */
        !            43:         int     rowwidth;       /* total width of one row in pixels */
        !            44:         int     winwidth;       /* width of window */
        !            45:         int     nlines;         /* actual lines currently visible */
        !            46:         
        !            47:         lpCellPos pcellpos;     /* array of cell position structs */
        !            48: 
        !            49:         /* scroll settings */
        !            50:         long    scrollscale;    /* scaling factor (force 16-bit range) */
        !            51:         long    toprow;         /* 0-based rownr of top moveable line */
        !            52:         int     scroll_dx;      /* horz scroll posn in pixels. */
        !            53: 
        !            54:         /* column data */
        !            55:         lpLineData pdata;       /* ptr to array of nlines of LineData */
        !            56: 
        !            57:         /* selection/dragging */
        !            58:         UINT    trackmode;      /* current mouse-tracking mode */
        !            59:         int     tracknr;        /* col or row being resized */
        !            60:         int     trackline1;     /* currently drawn track lines */
        !            61:         int     trackline2;
        !            62:         BOOL    selvisible;     /* used during mouse-down: T if sel drawn */
        !            63:         TableSelection select;
        !            64: 
        !            65: } Table, FAR * lpTable;
        !            66: 
        !            67: /* trackmode constants */
        !            68: #define TRACK_NONE              0
        !            69: #define TRACK_COLUMN            1
        !            70: #define TRACK_CELL              2
        !            71: 
        !            72: /* private flags in CellData struct */
        !            73: #define CELL_VALID      1
        !            74: 
        !            75: /* window extra bytes are used to hold the owner, heap and Table structs */
        !            76: #define WW_OWNER        0                               /* HWND of owner */
        !            77: #define WW_HEAP         (WW_OWNER + sizeof(HWND))       /* gmem heap */
        !            78: #define WL_TABLE        (WW_HEAP + sizeof(HANDLE))      /* lpTable */
        !            79: #define WLTOTAL         (WL_TABLE + sizeof(lpTable))    /* total extra bytes */
        !            80: 
        !            81: /* ---------- global data -------------------*/
        !            82: 
        !            83: extern HPEN hpenDotted;         /* in table.c */
        !            84: extern HANDLE hVertCurs;        /* in table.c */
        !            85: extern HANDLE hNormCurs;        /* in table.c */
        !            86: 
        !            87: /*------function prototypes ---------------------------------------*/
        !            88: 
        !            89: /* in table.c */
        !            90: 
        !            91: void gtab_init(void);    /* called from DLL startup function */
        !            92: long gtab_sendtq(HWND hwnd, UINT cmd, long lParam);
        !            93: void gtab_invallines(HWND hwnd, lpTable ptab, int start, int count);
        !            94: void gtab_setsize(HWND hwnd, lpTable ptab);
        !            95: void gtab_calcwidths(HWND hwnd, lpTable ptab);
        !            96: void gtab_deltable(HWND hwnd, lpTable ptab);
        !            97: BOOL gtab_alloclinedata(HWND hwnd, HANDLE heap, lpTable ptab);
        !            98: 
        !            99: /* in tpaint.c */
        !           100: void gtab_paint(HWND hwnd, HDC hdc, lpTable ptab, int line);
        !           101: void gtab_vsep(HWND hwnd, lpTable ptab, HDC hdc);
        !           102: void gtab_hsep(HWND hwnd, lpTable ptab, HDC hdc);
        !           103: void gtab_invertsel(HWND hwnd, lpTable ptab, HDC hdc_in);
        !           104: void gtab_drawvertline(HWND hwnd, lpTable ptab);
        !           105: 
        !           106: /* in tscroll.c */
        !           107: void gtab_dovscroll(HWND hwnd, lpTable ptab, long change);
        !           108: void gtab_dohscroll(HWND hwnd, lpTable ptab, long change);
        !           109: long gtab_linetorow(HWND hwnd, lpTable ptab, int line);
        !           110: int gtab_rowtoline(HWND hwnd, lpTable ptab, long row);
        !           111: void gtab_msg_vscroll(HWND hwnd, lpTable ptab, int opcode, int pos);
        !           112: void gtab_msg_hscroll(HWND hwnd, lpTable ptab, int opcode, int pos);
        !           113: void gtab_select(HWND hwnd, lpTable ptab, long row, long col, long nrows,
        !           114:         long ncells, BOOL bNotify);
        !           115: void gtab_enter(HWND hwnd, lpTable ptab, long row, long col, long nrows,
        !           116:         long ncells);
        !           117: void gtab_press(HWND hwnd, lpTable ptab, int x, int y);
        !           118: void gtab_release(HWND hwnd, lpTable ptab, int x, int y);
        !           119: void gtab_move(HWND hwnd, lpTable ptab, int x, int y);
        !           120: void gtab_dblclick(HWND hwnd, lpTable ptab, int x, int y);
        !           121: void gtab_showsel(HWND hwnd, lpTable ptab, BOOL bToBottom);
        !           122: void gtab_showsel_middle(HWND hwnd, lpTable ptab);
        !           123: int gtab_key(HWND hwnd, lpTable ptab, int vkey);
        !           124: 
        !           125: /* in tprint.c */
        !           126: void gtab_print(HWND hwnd, lpTable ptab, HANDLE heap, lpPrintContext pcontext);
        !           127: void gtab_boxcell(HWND hwnd, HDC hdc, LPRECT rcp, LPRECT pclip, UINT boxmode);
        !           128: 
        !           129: 
        !           130: 

unix.superglobalmegacorp.com

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