/Sources/sdk/sccanno.h
C Header | 484 lines | 324 code | 65 blank | 95 comment | 0 complexity | 6f9c2b0a27fb2fac53a0badc9c33199f MD5 | raw file
1/* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. */ 2/* 3 | SCCANNO.H 4 | 5 | Annotation definitions 6 */ 7 8#if !defined(_SCCANNO_H_) 9#define _SCCANNO_H_ 10 11#include "scctype.h" 12 13#if defined(__cplusplus) 14extern "C" { 15#endif 16 17/* 18 | SCCPOS structure 19 */ 20 21typedef struct SCCPOStag 22{ 23 VTDWORD dwChangeId; 24 VTDWORD dwExtraId; 25 VTDWORD dwData1; 26 VTDWORD dwData2; 27} SCCPOS, *PSCCPOS; 28 29/* 30 | Color ref 31 */ 32 33typedef VTDWORD SCCANNOCOLORREF; 34 35/* 36 | Macro used to set SCCANNOCOLORREF structure 37 */ 38 39#if defined(WINDOWS) 40#define SCCANNORGB(r,g,b) ((SCCANNOCOLORREF)(((VTBYTE)(r)|((VTDWORD)(VTBYTE)(g)<<8))|(((VTDWORD)(VTBYTE)(b))<<16))) 41#elif defined(UNIX) 42#define SCCANNORGB(r,g,b) ((SCCANNOCOLORREF)(((VTDWORD)(VTBYTE)(r)|((VTDWORD)(VTBYTE)(g)<<8))|(((VTDWORD)(VTBYTE)(b))<<16))) 43#elif defined(NLM) 44#define SCCANNORGB(r,g,b) ((SCCANNOCOLORREF)(((VTDWORD)(VTBYTE)(r)|((VTDWORD)(VTBYTE)(g)<<8))|(((VTDWORD)(VTBYTE)(b))<<16))) 45#else 46#define SCCANNORGB(r,g,b) ((SCCANNOCOLORREF)(((VTBYTE)(r)|((VTDWORD)(VTBYTE)(g)<<8))|(((VTDWORD)(VTBYTE)(b))<<16))) 47#endif 48 49/* 50| Annotation types 51*/ 52 53#define SCCANNO_HILITETEXT 1 54#define SCCANNO_INSERTICON 2 55#define SCCANNO_HIDETEXT 3 56#define SCCANNO_INSERTBITMAP 4 57#define SCCANNO_INSERTTEXT 5 58#define SCCANNO_INSERTPARABREAK 6 59#define SCCANNO_HIDEPARABREAK 7 60 61/* 62| 63| SCCANNOHIDETEXT structure 64| 65*/ 66 67typedef struct SCCANNOHIDETEXT40tag 68{ 69 VTDWORD dwSize; 70 VTDWORD dwUser; 71 SCCPOS dwStartPos; 72 SCCPOS dwEndPos; 73} SCCANNOHIDETEXT40, * PSCCANNOHIDETEXT40; 74 75typedef struct SCCANNOHIDETEXT41tag 76{ 77 VTDWORD dwSize; 78 VTDWORD dwUser; 79 SCCPOS sStartPos; 80 SCCPOS sEndPos; 81 VTDWORD dwFiller1; 82 VTDWORD dwData; 83} SCCANNOHIDETEXT41, * PSCCANNOHIDETEXT41; 84 85typedef struct SCCANNOHIDETEXT80tag 86{ 87 VTDWORD dwSize; /* sizeof(SCCANNOHIDETEXT80) */ 88 VTDWORD dwUser; 89 SCCPOS sStartPos; /* Start position of the annotation */ 90 SCCPOS sEndPos; /* End position of the annotation */ 91 VTDWORD dwData; 92} SCCANNOHIDETEXT80, * PSCCANNOHIDETEXT80; 93 94typedef struct SCCANNOHIDETEXT81tag 95{ 96 VTDWORD dwSize; /* sizeof(SCCANNOHIDETEXT81) */ 97 VTDWORD dwUser; 98 SCCPOS sStartPos; /* Start position of the annotation */ 99 SCCPOS sEndPos; /* End position of the annotation */ 100 VTSYSPARAM dwData; 101} SCCANNOHIDETEXT81, *PSCCANNOHIDETEXT81; 102 103/* 104| 105| SCCANNOHILITETEXT structure 106| 107*/ 108 109typedef struct SCCANNOHILITETEXT40tag 110{ 111 VTDWORD dwSize; 112 VTDWORD dwUser; 113 SCCPOS dwStartPos; 114 SCCPOS dwEndPos; 115 VTDWORD dwInteraction; 116 VTDWORD dwDisplay; 117} SCCANNOHILITETEXT40, * PSCCANNOHILITETEXT40; 118 119typedef struct SCCANNOHILITETEXT41tag 120{ 121 VTDWORD dwSize; 122 VTDWORD dwUser; 123 SCCPOS sStartPos; 124 SCCPOS sEndPos; 125 VTDWORD dwInteraction; 126 VTDWORD dwData; 127 VTDWORD dwDummy1; 128 VTDWORD dwDummy2; 129 VTDWORD dwDisplay; 130} SCCANNOHILITETEXT41, * PSCCANNOHILITETEXT41; 131 132typedef struct SCCANNOHILITETEXT81tag 133{ 134 VTDWORD dwSize; 135 VTDWORD dwUser; 136 SCCPOS sStartPos; 137 SCCPOS sEndPos; 138 VTDWORD dwInteraction; 139 VTSYSPARAM dwData; 140 VTDWORD dwDummy1; 141 VTDWORD dwDummy2; 142 VTDWORD dwDisplay; 143} SCCANNOHILITETEXT81, * PSCCANNOHILITETEXT81; 144 145/* 146| 147| SCCANNOINSERTICON40 structure 148| 149*/ 150 151typedef struct SCCANNOINSERTICON40tag 152{ 153 VTDWORD dwSize; 154 VTDWORD dwUser; 155 VTDWORD dwIconPos; 156 VTDWORD dwIconEnd; 157 VTDWORD dwInteraction; 158 VTHANDLE hIcon; 159} SCCANNOINSERTICON40, * PSCCANNOINSERTICON40; 160 161typedef struct SCCANNOINSERTICON41tag 162{ 163 VTDWORD dwSize; 164 VTDWORD dwUser; 165 SCCPOS sIconPos; 166 SCCPOS sIconEnd; 167 VTDWORD dwInteraction; 168 VTDWORD dwData; 169 VTDWORD dwDummy1; 170 VTDWORD dwDummy2; 171 VTHANDLE hIcon; 172} SCCANNOINSERTICON41, * PSCCANNOINSERTICON41; 173 174typedef struct SCCANNOINSERTICON81tag 175{ 176 VTDWORD dwSize; 177 VTDWORD dwUser; 178 SCCPOS sIconPos; 179 SCCPOS sIconEnd; 180 VTDWORD dwInteraction; 181 VTSYSPARAM dwData; 182 VTDWORD dwDummy1; 183 VTDWORD dwDummy2; 184 VTHANDLE hIcon; 185} SCCANNOINSERTICON81, * PSCCANNOINSERTICON81; 186 187/* 188| 189| SCCANNOINSERTBITMAP42 structure 190| 191*/ 192 193typedef struct SCCANNOINSERTBITMAP42tag 194{ 195 VTDWORD dwSize; 196 VTDWORD dwUser; 197 SCCPOS sBitmapPos; 198 SCCPOS sBitmapEnd; 199 VTDWORD dwInteraction; 200 VTDWORD dwData; 201 VTDWORD dwDummy1; 202 VTDWORD dwDummy2; 203 VTHANDLE hBitmap; 204} SCCANNOINSERTBITMAP42, * PSCCANNOINSERTBITMAP42; 205 206typedef struct SCCANNOINSERTBITMAP81tag 207{ 208 VTDWORD dwSize; 209 VTDWORD dwUser; 210 SCCPOS sBitmapPos; 211 SCCPOS sBitmapEnd; 212 VTDWORD dwInteraction; 213 VTSYSPARAM dwData; 214 VTDWORD dwDummy1; 215 VTDWORD dwDummy2; 216 VTHANDLE hBitmap; 217} SCCANNOINSERTBITMAP81, * PSCCANNOINSERTBITMAP81; 218 219/* 220| 221| SCCANNOINSERTTEXT80 structure 222| 223*/ 224 225#define INSERTTEXTALLOCGRAN 64 226 227typedef struct SCCANNOINSERTTEXT80tag 228{ 229 VTDWORD dwSize; 230 VTDWORD dwUser; 231 SCCPOS sTextPos; 232 VTDWORD dwData; 233 VTLPWORD pText; 234 VTDWORD dwLength; 235} SCCANNOINSERTTEXT80, * PSCCANNOINSERTTEXT80; 236 237typedef struct SCCANNOINSERTTEXT81tag 238{ 239 VTDWORD dwSize; 240 VTDWORD dwUser; 241 SCCPOS sTextPos; 242 VTSYSPARAM dwData; 243 VTLPWORD pText; 244 VTDWORD dwLength; 245} SCCANNOINSERTTEXT81, * PSCCANNOINSERTTEXT81; 246 247/* 248| 249| SCCANNOINSERTPARABREAK80 structure 250| 251*/ 252 253typedef struct SCCANNOINSERTPARABREAK80tag 254{ 255 VTDWORD dwSize; 256 VTDWORD dwUser; 257 SCCPOS sParaPos; 258 VTDWORD dwData; 259} SCCANNOINSERTPARABREAK80, * PSCCANNOINSERTPARABREAK80; 260 261typedef struct SCCANNOINSERTPARABREAK81tag 262{ 263 VTDWORD dwSize; 264 VTDWORD dwUser; 265 SCCPOS sParaPos; 266 VTSYSPARAM dwData; 267} SCCANNOINSERTPARABREAK81, * PSCCANNOINSERTPARABREAK81; 268 269/* 270| 271| SCCANNOHIDEPARABREAK80 structure 272| 273*/ 274 275typedef struct SCCANNOHIDEPARABREAK80tag 276{ 277 VTDWORD dwSize; 278 VTDWORD dwUser; 279 SCCPOS sParaPos; 280 VTDWORD dwData; 281} SCCANNOHIDEPARABREAK80, * PSCCANNOHIDEPARABREAK80; 282 283typedef struct SCCANNOHIDEPARABREAK81tag 284{ 285 VTDWORD dwSize; 286 VTDWORD dwUser; 287 SCCPOS sParaPos; 288 VTSYSPARAM dwData; 289} SCCANNOHIDEPARABREAK81, * PSCCANNOHIDEPARABREAK81; 290 291/* 292| 293| SCCANNOGEN structure 294| 295*/ 296 297typedef struct SCCANNOGENtag 298{ 299 VTDWORD dwSize; 300 VTDWORD dwUser; 301 SCCPOS sStartPos; 302 SCCPOS sEndPos; 303 VTDWORD dwInteraction; 304 VTSYSPARAM dwData; 305 VTDWORD dwFlags; 306 VTDWORD dwCookieId; 307} SCCANNOGEN, * PSCCANNOGEN; 308 309/* Flags that can be specified in the dwFlags portion of annotations <XXX>80 and higher. */ 310#define SCCANNOUNDONE 0x00000001 /* This annotation is marked as undone. */ 311 312 /* 313 | SCCANNOHILITESTYLE structure 314 */ 315 316typedef struct SCCANNOHILITESTYLE41tag 317{ 318 VTDWORD dwSize; 319 VTDWORD dwStyleId; 320 VTDWORD dwOptions; 321 SCCANNOCOLORREF sForeground; 322 SCCANNOCOLORREF sBackground; 323 VTWORD wCharAttr; 324} SCCANNOHILITESTYLE41, * PSCCANNOHILITESTYLE41; 325 326typedef struct SCCANNOHILITESTYLE81tag 327{ 328 VTDWORD dwSize; 329 VTDWORD dwStyleId; 330 VTDWORD dwOptions; 331 SCCANNOCOLORREF sForeground; 332 SCCANNOCOLORREF sBackground; 333 VTWORD wCharAttr; 334 VTWORD wCharAttrMask; /* Only apply attributes for which 335 corresponding bits are set in the 336 mask. */ 337 SCCANNOCOLORREF sUnderline; 338} SCCANNOHILITESTYLE81, * PSCCANNOHILITESTYLE81; 339 340/* dwOptions of SCCCVWHILITESTYLE */ 341#define SCCANNO_USEFOREGROUND 0x00000001 342#define SCCANNO_USEBACKGROUND 0x00000002 343#define SCCANNO_USECHARATTR 0x00000004 344#define SCCANNO_USEUNDERLINECOLOR 0x00000008 345#define SCCANNO_USETHINUNDERLINE 0x00000010 346 347/* 348| 349| SCCANNOTATIONEVENT structure 350| 351*/ 352 353typedef struct SCCANNOTATIONEVENT40tag 354{ 355 VTDWORD dwSize; 356 VTDWORD dwEvent; 357 VTDWORD dwUser; 358} SCCANNOTATIONEVENT40, *PSCCANNOTATIONEVENT40; 359 360typedef struct SCCANNOTATIONEVENT41tag 361{ 362 VTDWORD dwSize; 363 VTDWORD dwEvent; 364 VTDWORD dwUser; 365 VTSYSPARAM dwData; 366} SCCANNOTATIONEVENT41, *PSCCANNOTATIONEVENT41; 367 368#define SCCANNO_EVENTSINGLECLICK 0x0001 369#define SCCANNO_EVENTDOUBLECLICK 0x0002 370#define SCCANNO_EVENTTRANSITIONINTO 0x0004 371#define SCCANNO_EVENTTRANSITIONOUTOF 0x0008 372#define SCCANNO_EVENTTRANSITION 0x0010 /* Reserved for internal SCC use */ 373#define SCCANNO_EVENTSINGLERIGHTCLICK 0x0020 374 375 376/* 377| dwDisplay values for SCCANNOHILITETEXT 378*/ 379 380#define SCCANNO_BDEFAULT 0x10000000 381#define SCCANNO_FDEFAULT 0x20000000 382#define SCCANNO_USESTYLE 0x40000000 383 384#define SCCANNO_BBLACK 0x00000000 385#define SCCANNO_BDARKRED 0x00000001 386#define SCCANNO_BDARKGREEN 0x00000002 387#define SCCANNO_BDARKYELLOW 0x00000003 388#define SCCANNO_BDARKBLUE 0x00000004 389#define SCCANNO_BDARKMAGENTA 0x00000005 390#define SCCANNO_BDARKCYAN 0x00000006 391#define SCCANNO_BLIGHTGRAY 0x00000007 392#define SCCANNO_BGRAY 0x00000008 393#define SCCANNO_BRED 0x00000009 394#define SCCANNO_BGREEN 0x0000000A 395#define SCCANNO_BYELLOW 0x0000000B 396#define SCCANNO_BBLUE 0x0000000C 397#define SCCANNO_BMAGENTA 0x0000000D 398#define SCCANNO_BCYAN 0x0000000E 399#define SCCANNO_BWHITE 0x0000000F 400 401#define SCCANNO_FBLACK 0x00000000 402#define SCCANNO_FDARKRED 0x00000010 403#define SCCANNO_FDARKGREEN 0x00000020 404#define SCCANNO_FDARKYELLOW 0x00000030 405#define SCCANNO_FDARKBLUE 0x00000040 406#define SCCANNO_FDARKMAGENTA 0x00000050 407#define SCCANNO_FDARKCYAN 0x00000060 408#define SCCANNO_FLIGHTGRAY 0x00000070 409#define SCCANNO_FGRAY 0x00000080 410#define SCCANNO_FRED 0x00000090 411#define SCCANNO_FGREEN 0x000000A0 412#define SCCANNO_FYELLOW 0x000000B0 413#define SCCANNO_FBLUE 0x000000C0 414#define SCCANNO_FMAGENTA 0x000000D0 415#define SCCANNO_FCYAN 0x000000E0 416#define SCCANNO_FWHITE 0x000000F0 417 418/* 419| SCCANNOFINDANNOTATION41 structure 420*/ 421 422typedef struct SCCANNOFINDANNOTATION41tag 423{ 424 VTDWORD dwSize; 425 VTDWORD dwFindOptions; 426 VTDWORD dwUserTest; 427 SCCPOS sSearchPos; 428 VTDWORD dwUserResult; 429 SCCPOS sStartPos; 430 SCCPOS sEndPos; 431 VTSYSPARAM dwData; 432} SCCANNOFINDANNOTATION41, *PSCCANNOFINDANNOTATION41; 433 434/* 435| dwFindOptions for SCCANNOFINDANNOTATION 436| note: can be or'ed with SCCANNO_ABSOLUTE or SCCANNO_MASK 437*/ 438 439#define SCCANNO_FINDFIRST 1 440#define SCCANNO_FINDLAST 2 441#define SCCANNO_FINDPREV 3 442#define SCCANNO_FINDNEXT 4 443#define SCCANNO_FINDFIRSTFROMPOS 5 444#define SCCANNO_LASTFINDFLAG 5 445 446#define SCCANNO_MASK 0x1000 447#define SCCANNO_ABSOLUTE 0x2000 448 449/* 450 | dwUser flags for internal annotations (bookmarks, hyperlinks, etc.) 451 */ 452 453/* 454| Bad design! No supper for you! 455| The use of these bits (OR'ed with the ACC) 456| (e.g. vwanno.cpp:2460) 457| insure that the size of a file being searched 458| cannot exceed 1MB (previous version) or 32MB (this version) 459| Compacting the bits until this can be fixed for real. 460| Temporary fix for BUG 6295451 jrw 9/13/07 461*/ 462 463#define SCCANNO_USERBOOKMARKTAG 0x82000000 464#define SCCANNO_USERHYPERTAG 0x84000000 465#define SCCANNO_USERVWSEARCHTAG 0x88000000 466#define SCCANNO_USERSEARCHTAG 0x90000000 467#define SCCANNO_USERPAGETAG 0xa0000000 468#define SCCANNO_USEROBJECTTAG 0xc0000000 469 470#define SCCANNO_LOOKINGFORNONTEXTTAG 0x80000000 /* Any of the above. */ 471 472/* 473| Internal use of dwDisplay 474*/ 475#define SCCANNO_STYLESEARCHTAG 0x00001000 476#define SCCANNO_STYLEOBJECTTAG 0x00001001 477#define SCCANNO_STYLEHYPERTAG 0x00001002 478#define SCCANNO_STYLEBOOKMARKTAG 0x00001004 479 480#if defined(__cplusplus) 481} 482#endif 483 484#endif /* _SCCANNO_H_ */