@bill_nee/dwg-reader 0.0.0-stage → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +615 -0
- package/README.md +23 -2
- package/cordis.patch.yml +3 -0
- package/icon.svg +15 -0
- package/lib/index.js +355 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +33 -4
- package/vendor/libredwg-web/lib/converter/converter.js +1102 -0
- package/vendor/libredwg-web/lib/converter/dwgColorToMLeaderRawColor.js +55 -0
- package/vendor/libredwg-web/lib/converter/entityConverter.js +2050 -0
- package/vendor/libredwg-web/lib/converter/index.js +3 -0
- package/vendor/libredwg-web/lib/converter/utils.js +46 -0
- package/vendor/libredwg-web/lib/database/classes/class.js +2 -0
- package/vendor/libredwg-web/lib/database/classes/index.js +2 -0
- package/vendor/libredwg-web/lib/database/codepage.js +101 -0
- package/vendor/libredwg-web/lib/database/common.js +2 -0
- package/vendor/libredwg-web/lib/database/database.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/3dface.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/arc.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/arcAlignedText.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/attdef.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/attrib.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/circle.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/dimension.js +70 -0
- package/vendor/libredwg-web/lib/database/entities/ellipse.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/entity.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/hatch.js +54 -0
- package/vendor/libredwg-web/lib/database/entities/image.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/index.js +38 -0
- package/vendor/libredwg-web/lib/database/entities/insert.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/leader.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/line.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/lwpolyline.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/mline.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/mtext.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/multileader.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/ole2frame.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/oleframe.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/point.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/polyline.js +19 -0
- package/vendor/libredwg-web/lib/database/entities/proxy.js +10 -0
- package/vendor/libredwg-web/lib/database/entities/ray.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/section.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/shape.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/solid.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/solid3d.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/spline.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/table.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/text.js +23 -0
- package/vendor/libredwg-web/lib/database/entities/tolerance.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/trace.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/vertex.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/viewport.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/wipeout.js +2 -0
- package/vendor/libredwg-web/lib/database/entities/xline.js +2 -0
- package/vendor/libredwg-web/lib/database/header/header.js +2 -0
- package/vendor/libredwg-web/lib/database/header/index.js +3 -0
- package/vendor/libredwg-web/lib/database/header/variables.js +217 -0
- package/vendor/libredwg-web/lib/database/index.js +12 -0
- package/vendor/libredwg-web/lib/database/objects/common.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/dictionary.js +19 -0
- package/vendor/libredwg-web/lib/database/objects/imageDef.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/index.js +11 -0
- package/vendor/libredwg-web/lib/database/objects/layerFilter.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/layerIndex.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/layout.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/mleaderStyle.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/plotSetting.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/spatialFilter.js +2 -0
- package/vendor/libredwg-web/lib/database/objects/xrecord.js +2 -0
- package/vendor/libredwg-web/lib/database/shared/index.js +2 -0
- package/vendor/libredwg-web/lib/database/shared/xdata.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/appId.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/blockRecord.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/dimStyle.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/index.js +9 -0
- package/vendor/libredwg-web/lib/database/tables/layer.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/ltype.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/style.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/table.js +2 -0
- package/vendor/libredwg-web/lib/database/tables/vport.js +2 -0
- package/vendor/libredwg-web/lib/database/textEscapes.js +19 -0
- package/vendor/libredwg-web/lib/database/version.js +260 -0
- package/vendor/libredwg-web/lib/index.js +4 -0
- package/vendor/libredwg-web/lib/libredwg.js +1271 -0
- package/vendor/libredwg-web/lib/svg/box2d.js +104 -0
- package/vendor/libredwg-web/lib/svg/bspline.js +95 -0
- package/vendor/libredwg-web/lib/svg/color.js +371 -0
- package/vendor/libredwg-web/lib/svg/index.js +2 -0
- package/vendor/libredwg-web/lib/svg/polyline.js +70 -0
- package/vendor/libredwg-web/lib/svg/svgConverter.js +540 -0
- package/vendor/libredwg-web/lib/svg/transformBoundingBoxAndElement.js +20 -0
- package/vendor/libredwg-web/lib/svg/vector.js +27 -0
- package/vendor/libredwg-web/lib/types/common.js +2 -0
- package/vendor/libredwg-web/lib/types/enums.js +390 -0
- package/vendor/libredwg-web/lib/types/index.js +3 -0
- package/vendor/libredwg-web/wasm/libredwg-web.js +2 -0
- package/vendor/libredwg-web/wasm/libredwg-web.wasm +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Dwg_Color_Method } from '../types/index.js';
|
|
2
|
+
/** MLEADER / MLEADERSTYLE packed raw-color type flags (DXF high byte). */
|
|
3
|
+
const RAW_COLOR_TYPE_BY_LAYER = 0xc0;
|
|
4
|
+
const RAW_COLOR_TYPE_BY_BLOCK = 0xc1;
|
|
5
|
+
const RAW_COLOR_TYPE_RGB = 0xc2;
|
|
6
|
+
const RAW_COLOR_TYPE_ACI = 0xc3;
|
|
7
|
+
const RAW_COLOR_TYPE_WINDOW_BG = 0xc8;
|
|
8
|
+
/**
|
|
9
|
+
* Converts a libredwg {@link Dwg_Color} (CMC) to the DXF MLEADER raw-color int32
|
|
10
|
+
* used by group codes 91/92/93/94 and {@link decodeMLeaderStyleRawColor}.
|
|
11
|
+
*
|
|
12
|
+
* Libredwg stores MLeader component colors as packed int32 in {@link Dwg_Color.rgb}
|
|
13
|
+
* with {@link Dwg_Color.method} mirroring the high-byte type flag (0xC0..0xC8).
|
|
14
|
+
*/
|
|
15
|
+
export function dwgColorToMLeaderRawColor(color) {
|
|
16
|
+
if (color == null)
|
|
17
|
+
return undefined;
|
|
18
|
+
const methodNum = color.method;
|
|
19
|
+
const method = color.method != null && methodNum !== 0
|
|
20
|
+
? methodNum
|
|
21
|
+
: ((color.rgb >>> 24) & 0xff);
|
|
22
|
+
const index = color.index;
|
|
23
|
+
if (color.rgb != null &&
|
|
24
|
+
method >= RAW_COLOR_TYPE_BY_LAYER &&
|
|
25
|
+
method <= RAW_COLOR_TYPE_WINDOW_BG &&
|
|
26
|
+
((color.rgb >>> 24) & 0xff) === method) {
|
|
27
|
+
return color.rgb >> 0;
|
|
28
|
+
}
|
|
29
|
+
if (method === Dwg_Color_Method.ByLayer || index === 256) {
|
|
30
|
+
return (RAW_COLOR_TYPE_BY_LAYER << 24) >> 0;
|
|
31
|
+
}
|
|
32
|
+
if (method === Dwg_Color_Method.ByBlock || index === 0) {
|
|
33
|
+
return (RAW_COLOR_TYPE_BY_BLOCK << 24) >> 0;
|
|
34
|
+
}
|
|
35
|
+
if (method === Dwg_Color_Method.None) {
|
|
36
|
+
return (RAW_COLOR_TYPE_WINDOW_BG << 24) >> 0;
|
|
37
|
+
}
|
|
38
|
+
if (method === Dwg_Color_Method.TrueColor) {
|
|
39
|
+
const rgb = color.rgb != null ? color.rgb & 0xffffff : undefined;
|
|
40
|
+
if (rgb != null) {
|
|
41
|
+
return ((RAW_COLOR_TYPE_RGB << 24) | rgb) >> 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (method === Dwg_Color_Method.ForegroundColor) {
|
|
45
|
+
return ((RAW_COLOR_TYPE_ACI << 24) | 7) >> 0;
|
|
46
|
+
}
|
|
47
|
+
if (method === Dwg_Color_Method.Entities && index > 0 && index < 256) {
|
|
48
|
+
return ((RAW_COLOR_TYPE_ACI << 24) | (index & 0xff)) >> 0;
|
|
49
|
+
}
|
|
50
|
+
if (index > 0 && index < 256) {
|
|
51
|
+
return ((RAW_COLOR_TYPE_ACI << 24) | (index & 0xff)) >> 0;
|
|
52
|
+
}
|
|
53
|
+
return (RAW_COLOR_TYPE_BY_BLOCK << 24) >> 0;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=dwgColorToMLeaderRawColor.js.map
|