1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
/*! @file format-pec.h */
#ifndef FORMAT_PEC_H
#define FORMAT_PEC_H
#include "emb-file.h"
#include "emb-pattern.h"
#include "api-start.h"
#ifdef __cplusplus
extern "C" {
#endif
extern EMB_PRIVATE int EMB_CALL readPec(EmbPattern* pattern, const char* fileName);
extern EMB_PRIVATE int EMB_CALL writePec(EmbPattern* pattern, const char* fileName);
extern EMB_PRIVATE void EMB_CALL readPecStitches(EmbPattern* pattern, EmbFile* file);
extern EMB_PRIVATE void EMB_CALL writePecStitches(EmbPattern* pattern, EmbFile* file, const char* filename);
static const int pecThreadCount = 65;
static const EmbThread pecThreads[] = {
{{ 0, 0, 0}, "Unknown", ""}, /* Index 0 */
{{ 14, 31, 124}, "Prussian Blue", ""}, /* Index 1 */
{{ 10, 85, 163}, "Blue", ""}, /* Index 2 */
{{ 0, 135, 119}, "Teal Green", ""}, /* Index 3 */ /* TODO: Verify RGB value is correct */
{{ 75, 107, 175}, "Cornflower Blue", ""}, /* Index 4 */
{{237, 23, 31}, "Red", ""}, /* Index 5 */
{{209, 92, 0}, "Reddish Brown", ""}, /* Index 6 */
{{145, 54, 151}, "Magenta", ""}, /* Index 7 */
{{228, 154, 203}, "Light Lilac", ""}, /* Index 8 */
{{145, 95, 172}, "Lilac", ""}, /* Index 9 */
{{158, 214, 125}, "Mint Green", ""}, /* Index 10 */ /* TODO: Verify RGB value is correct */
{{232, 169, 0}, "Deep Gold", ""}, /* Index 11 */
{{254, 186, 53}, "Orange", ""}, /* Index 12 */
{{255, 255, 0}, "Yellow", ""}, /* Index 13 */
{{112, 188, 31}, "Lime Green", ""}, /* Index 14 */
{{186, 152, 0}, "Brass", ""}, /* Index 15 */
{{168, 168, 168}, "Silver", ""}, /* Index 16 */
{{125, 111, 0}, "Russet Brown", ""}, /* Index 17 */ /* TODO: Verify RGB value is correct */
{{255, 255, 179}, "Cream Brown", ""}, /* Index 18 */
{{ 79, 85, 86}, "Pewter", ""}, /* Index 19 */
{{ 0, 0, 0}, "Black", ""}, /* Index 20 */
{{ 11, 61, 145}, "Ultramarine", ""}, /* Index 21 */
{{119, 1, 118}, "Royal Purple", ""}, /* Index 22 */
{{ 41, 49, 51}, "Dark Gray", ""}, /* Index 23 */
{{ 42, 19, 1}, "Dark Brown", ""}, /* Index 24 */
{{246, 74, 138}, "Deep Rose", ""}, /* Index 25 */
{{178, 118, 36}, "Light Brown", ""}, /* Index 26 */
{{252, 187, 197}, "Salmon Pink", ""}, /* Index 27 */ /* TODO: Verify RGB value is correct */
{{254, 55, 15}, "Vermillion", ""}, /* Index 28 */
{{240, 240, 240}, "White", ""}, /* Index 29 */
{{106, 28, 138}, "Violet", ""}, /* Index 30 */
{{168, 221, 196}, "Seacrest", ""}, /* Index 31 */
{{ 37, 132, 187}, "Sky Blue", ""}, /* Index 32 */
{{254, 179, 67}, "Pumpkin", ""}, /* Index 33 */
{{255, 243, 107}, "Cream Yellow", ""}, /* Index 34 */
{{208, 166, 96}, "Khaki", ""}, /* Index 35 */
{{209, 84, 0}, "Clay Brown", ""}, /* Index 36 */
{{102, 186, 73}, "Leaf Green", ""}, /* Index 37 */
{{ 19, 74, 70}, "Peacock Blue", ""}, /* Index 38 */
{{135, 135, 135}, "Gray", ""}, /* Index 39 */
{{216, 204, 198}, "Warm Gray", ""}, /* Index 40 */ /* TODO: Verify RGB value is correct */
{{ 67, 86, 7}, "Dark Olive", ""}, /* Index 41 */
{{253, 217, 222}, "Flesh Pink", ""}, /* Index 42 */ /* TODO: Verify RGB value is correct */
{{249, 147, 188}, "Pink", ""}, /* Index 43 */
{{ 0, 56, 34}, "Deep Green", ""}, /* Index 44 */
{{178, 175, 212}, "Lavender", ""}, /* Index 45 */
{{104, 106, 176}, "Wisteria Violet", ""}, /* Index 46 */
{{239, 227, 185}, "Beige", ""}, /* Index 47 */
{{247, 56, 102}, "Carmine", ""}, /* Index 48 */
{{181, 75, 100}, "Amber Red", ""}, /* Index 49 */ /* TODO: Verify RGB value is correct */
{{ 19, 43, 26}, "Olive Green", ""}, /* Index 50 */
{{199, 1, 86}, "Dark Fuschia", ""}, /* Index 51 */ /* TODO: Verify RGB value is correct */
{{254, 158, 50}, "Tangerine", ""}, /* Index 52 */
{{168, 222, 235}, "Light Blue", ""}, /* Index 53 */
{{ 0, 103, 62}, "Emerald Green", ""}, /* Index 54 */ /* TODO: Verify RGB value is correct */
{{ 78, 41, 144}, "Purple", ""}, /* Index 55 */
{{ 47, 126, 32}, "Moss Green", ""}, /* Index 56 */
{{255, 204, 204}, "Flesh Pink", ""}, /* Index 57 */ /* TODO: Verify RGB value is correct */ /* TODO: Flesh Pink is Index 42, is this Index incorrect? */
{{255, 217, 17}, "Harvest Gold", ""}, /* Index 58 */
{{ 9, 91, 166}, "Electric Blue", ""}, /* Index 59 */
{{240, 249, 112}, "Lemon Yellow", ""}, /* Index 60 */
{{227, 243, 91}, "Fresh Green", ""}, /* Index 61 */
{{255, 153, 0}, "Orange", ""}, /* Index 62 */ /* TODO: Verify RGB value is correct */ /* TODO: Orange is Index 12, is this Index incorrect? */
{{255, 240, 141}, "Cream Yellow", ""}, /* Index 63 */ /* TODO: Verify RGB value is correct */ /* TODO: Cream Yellow is Index 34, is this Index incorrect? */
{{255, 200, 200}, "Applique", ""} /* Index 64 */
};
static const char imageWithFrame[38][48] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0},
{0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
{0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
#ifdef __cplusplus
}
#endif /* __cplusplus */
#include "api-stop.h"
#endif /* FORMAT_PEC_H */
/* kate: bom off; indent-mode cstyle; indent-width 4; replace-trailing-space-save on; */
|