00001
00328 #ifndef INC_MI32_RVCSTYLE_H
00329 #define INC_MI32_RVCSTYLE_H
00330
00331 #ifndef INC_RVC_OBJECTNAME_H
00332 #include <rvc/objectname.h>
00333 #endif
00334
00335 #ifndef INC_MI32_ELEMSTYL_H
00336 #include <mi32/elemstyl.h>
00337 #endif
00338
00339 #ifndef GENERATING_DOXYGEN_OUTPUT
00340
00341 class FILEPATH;
00342 namespace RVC {
00343 class OBJITEM;
00344 class STYLE;
00345 }
00346 #endif
00347
00348
00349
00350
00351
00353 DEPRECATED struct RVCPOINTSTYLE {
00354 RVC::OBJECTNAME name;
00355 UINT32 StyleFlags;
00356 INT32 SymbolNum;
00357 DOUBLE ScaleX;
00358 DOUBLE ScaleY;
00359 DOUBLE Angle;
00360 COLOR DrawColor;
00361 DOUBLE MapScale;
00362 };
00363
00365 DEPRECATED struct RVCLINESTYLE {
00366 RVC::OBJECTNAME name;
00367 UINT32 StyleFlags;
00368 INT32 PatternNum;
00369 DOUBLE Scale;
00370 COLOR DrawColor;
00371 DOUBLE MapScale;
00372 };
00373
00375 DEPRECATED struct RVCPOLYGONSTYLE {
00376 RVC::OBJECTNAME name;
00377 UINT32 StyleFlags;
00378 INT32 FillPatternNum;
00379 INT32 BorderPatternNum;
00380 UINT8 space[4];
00381 DOUBLE BorderScale;
00382 COLOR BorderColor;
00383 COLOR FillColor;
00384 DOUBLE MapScale;
00385 };
00386 DEPRECATED typedef RVCPOLYGONSTYLE RVCPOLYSTYLE;
00387
00389 DEPRECATED struct RVCTEXTSTYLE {
00390 RVC::OBJECTNAME name;
00391 UINT32 StyleFlags;
00392 INT32 font;
00393 COLOR fgcolor;
00394 COLOR bgcolor;
00395 FLOAT glyphrot;
00396 FLOAT glyphaspect;
00397 FLOAT shear;
00398 FLOAT height;
00399 FLOAT linespace;
00400 UINT32 FontFlags;
00401 DOUBLE MapScale;
00402 UINT8 HeightUnits;
00403 UINT8 LineSpaceUnits;
00404 UINT16 Predefined;
00405 FLOAT width;
00406 FLOAT StrokeWidth;
00407 FLOAT EnhanceWidth;
00408 FLOAT BoldnessWidth;
00409 FLOAT UnderlineWidth;
00410 FLOAT UnderlineOffset;
00411 FLOAT ShadowOffset;
00412 FLOAT ShadowAngle;
00413 FLOAT ClipWidth;
00414 UINT8 ShadowRelative;
00415 UINT8 WidthUnits;
00416 UINT8 space[6];
00417 };
00418
00420 DEPRECATED enum STYLETYPE {
00421 STYLETYPE_Point = 0,
00422 STYLETYPE_Line = 1,
00423 STYLETYPE_Polygon = 2,
00424 STYLETYPE_Text = 3,
00425 STYLETYPE_COUNT = 4,
00426 STYLETYPE_Empty = 0xFFFF,
00427 };
00428 #define STYLETYPE_Poly STYLETYPE_Polygon
00429 #define NUMSTYLETYPES STYLETYPE_COUNT
00430
00432 DEPRECATED enum PATTERNTYPE {
00433 PATTERNTYPE_Symbol = 0,
00434 PATTERNTYPE_Line = 1,
00435 PATTERNTYPE_Bitmap = 2,
00436 PATTERNTYPE_Hatch = 3,
00437 PATTERNTYPE_COUNT = 4,
00438 };
00439 #define NUMPATTTYPES PATTERNTYPE_COUNT
00440
00442 DEPRECATED struct RVCPATTHDR {
00443 RVC::OBJECTNAME name;
00444 INT16 numelements;
00445 INT16 numcolors;
00446 };
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00458 struct BITMAPPATTHDR : public RVCPATTHDR {
00459 INT16 xsize;
00460 INT16 ysize;
00461 INT16 xhot;
00462 INT16 yhot;
00463 INT16 xspace;
00464 INT16 yspace;
00465 };
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00478 struct LINEPATTHDR : public RVCPATTHDR {
00479 INT16 extentsa;
00480 INT16 extentsb;
00481 };
00482
00483 struct LINEPATTELEM {
00484 INT16 extrabytes;
00485 UINT8 type;
00486 UINT8 colornum;
00487 UINT16 flags;
00488 INT16 xoffset;
00489 INT16 xspacing;
00490 INT16 yoffset;
00491 INT16 xsize;
00492 INT16 thickness;
00493 };
00494
00495 #define LINEPATTELEM_Line 0
00496 #define LINEPATTELEM_CrossLine 1
00497 #define LINEPATTELEM_Circle 2
00498 #define LINEPATTELEM_PolyLine 3
00499 #define LINEPATTELEM_Polygon 4
00500
00501 #define LINEPATTELEM_Last 4
00502
00503 #define LINEPATTFLAG_Filled 0x0001
00504 #define LINEPATTFLAG_JoinMiter 0x0002
00505 #define LINEPATTFLAG_JoinBevel 0x0004
00506 #define LINEPATTFLAG_CapRound 0x0008
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00519 struct HATCHPATTHDR : public RVCPATTHDR {
00520 UINT8 spare[4];
00521 };
00522
00524 struct HATCHPATTELEM {
00525 UINT8 type;
00526 UINT8 colornum;
00527 UINT8 isvisible;
00528 UINT8 space;
00529 UINT32 linedatasize;
00530 UINT32 flags;
00531 UINT8 spare[4];
00532 DOUBLE xoffset;
00533 DOUBLE yoffset;
00534 DOUBLE spacing;
00535 DOUBLE angle;
00536 DOUBLE thickness;
00537 };
00538
00539 #define HATCHPATTELEM_Simple 0
00540 #define HATCHPATTELEM_LinePattern 1
00541 #define HATCHPATTELEM_SolidFill 2
00542 #define HATCHPATTELEM_Last 2
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552
00554 struct SYMBOLHDR : public RVCPATTHDR {
00555 INT16 xsize;
00556 INT16 ysize;
00557 INT16 xhot;
00558 INT16 yhot;
00559 UINT16 flags;
00560 UINT8 spare[2];
00561 };
00562
00563 #define SYMBOLHDRFLAG_OldSymbol (0x8000)
00564
00565
00566
00567 union SYMBOLDATA {
00568 struct { INT16 x, y, radius; } circle;
00569 struct { INT16 x, y, radius, sangle, eangle; } arc;
00570 struct { INT16 x, y, xsize, ysize, rotate; } ellipse;
00571 struct { INT16 x, y, xsize, ysize, sangle, eangle, rotate; } earc;
00572 struct { INT16 x, y; } point;
00573 struct { INT16 x1, y1, x2, y2; UINT16 capstyle; } segment;
00574 struct { INT16 x, y, xsize, ysize, rotate, shear; UINT16 joinstyle; } rectangle;
00575 struct { UINT16 numpoints, joinstyle, capstyle; } line;
00576 struct { UINT16 numpoints, joinstyle; } polygon;
00577 struct { UINT16 numchars, fontnum, fontstyle, flags;
00578 INT16 x, y, height, rotate, shear, textrot, xscale; } text;
00579 struct { UINT16 numpoints, joinstyle, capstyle; } spline;
00580 struct { UINT16 numpoints, joinstyle, capstyle; } ttfsymbol;
00581 struct { UINT16 numpoints, joinstyle, numpolys; } polygons;
00582 INT16 spare[12];
00583 };
00584
00586 struct SYMBOLELEM {
00587 SYMBOLDATA data;
00588 UINT32 numbytes;
00589 INT16 thickness;
00590 UINT16 flags;
00591 UINT8 type;
00592 UINT8 colornum;
00593 UINT8 spare[2];
00594 };
00595
00596
00597
00598
00599 #define PTSYM_NULL 0
00600 #define PTSYM_Circle 1
00601 #define PTSYM_Arc 2
00602 #define PTSYM_ArcWedge 3
00603 #define PTSYM_ArcChord 4
00604 #define PTSYM_Ellipse 5
00605 #define PTSYM_EArc 6
00606 #define PTSYM_EArcWedge 7
00607 #define PTSYM_EArcChord 8
00608 #define PTSYM_Line 9
00609 #define PTSYM_Polygon 10
00610 #define PTSYM_Point 11
00611 #define PTSYM_Text 12
00612 #define PTSYM_Segment 13
00613 #define PTSYM_Rectangle 14
00614 #define PTSYM_Polygons 15
00615 #define PTSYM_Splines 16
00616
00617 #define PTSYM_Last 16
00618
00619 #define SYMBOLFLAG_Filled 0x0001
00620
00621
00622
00623
00624
00629 ERRVALUE MfImportPointSymbolsFromCAD (
00630 RVC::STYLE& StyleObj,
00631 const RVC::OBJITEM& ObjItemCAD
00632 );
00633
00635 ERRVALUE MfImportPointSymbolFromCGM (
00636 RVC::STYLE& StyleObj,
00637 const RVC::OBJECTNAME& SymbolName,
00638 const FILEPATH& FilePathCGM
00639 );
00640
00642 ERRVALUE MfImportPointSymbolFromTTF (
00643 RVC::STYLE& StyleObj,
00644 const RVC::OBJECTNAME& SymbolName,
00645 const MIUNICODE* FontName,
00646 int GlyphIndex
00647 );
00648
00649 #endif
00650