|
12 | 12 |
|
13 | 13 | namespace chillerlan\QRCode;
|
14 | 14 |
|
15 |
| -use chillerlan\QRCode\Data\QRMatrix; |
16 |
| -use chillerlan\Traits\{ |
17 |
| - Container, ContainerInterface |
18 |
| -}; |
| 15 | +use chillerlan\Traits\ContainerAbstract; |
19 | 16 |
|
20 | 17 | /**
|
21 | 18 | * @property int $version
|
|
48 | 45 | *
|
49 | 46 | * @property array $moduleValues
|
50 | 47 | */
|
51 |
| -class QROptions implements ContainerInterface{ |
52 |
| - use Container; |
53 |
| - |
54 |
| - /** |
55 |
| - * QR Code version number |
56 |
| - * |
57 |
| - * [1 ... 40] or QRCode::VERSION_AUTO |
58 |
| - * |
59 |
| - * @var int |
60 |
| - */ |
61 |
| - protected $version = QRCode::VERSION_AUTO; |
62 |
| - |
63 |
| - /** |
64 |
| - * Minimum QR version (if $version = QRCode::VERSION_AUTO) |
65 |
| - * |
66 |
| - * @var int |
67 |
| - */ |
68 |
| - protected $versionMin = 1; |
69 |
| - |
70 |
| - /** |
71 |
| - * Maximum QR version |
72 |
| - * |
73 |
| - * @var int |
74 |
| - */ |
75 |
| - protected $versionMax = 40; |
76 |
| - |
77 |
| - /** |
78 |
| - * Error correct level |
79 |
| - * |
80 |
| - * QRCode::ECC_X where X is |
81 |
| - * L => 7% |
82 |
| - * M => 15% |
83 |
| - * Q => 25% |
84 |
| - * H => 30% |
85 |
| - * |
86 |
| - * @var int |
87 |
| - */ |
88 |
| - protected $eccLevel = QRCode::ECC_L; |
89 |
| - |
90 |
| - /** |
91 |
| - * Mask Pattern to use |
92 |
| - * |
93 |
| - * [0...7] or QRCode::MASK_PATTERN_AUTO |
94 |
| - * |
95 |
| - * @var int |
96 |
| - */ |
97 |
| - protected $maskPattern = QRCode::MASK_PATTERN_AUTO; |
98 |
| - |
99 |
| - /** |
100 |
| - * Add a "quiet zone" (margin) according to the QR code spec |
101 |
| - * |
102 |
| - * @var bool |
103 |
| - */ |
104 |
| - protected $addQuietzone = true; |
105 |
| - |
106 |
| - /** |
107 |
| - * Size of the quiet zone |
108 |
| - * |
109 |
| - * internally clamped to [0 ... $moduleCount / 2], defaults to 4 modules |
110 |
| - * |
111 |
| - * @var int |
112 |
| - */ |
113 |
| - protected $quietzoneSize = 4; |
114 |
| - |
115 |
| - /** |
116 |
| - * QRCode::OUTPUT_MARKUP_XXXX where XXXX = HTML, SVG |
117 |
| - * QRCode::OUTPUT_IMAGE_XXX where XXX = PNG, GIF, JPG |
118 |
| - * QRCode::OUTPUT_STRING_XXXX where XXXX = TEXT, JSON |
119 |
| - * QRCode::OUTPUT_CUSTOM |
120 |
| - * |
121 |
| - * @var string |
122 |
| - */ |
123 |
| - protected $outputType = QRCode::OUTPUT_IMAGE_PNG; |
124 |
| - |
125 |
| - /** |
126 |
| - * the FQCN of the custom QROutputInterface if $outputType is set to QRCode::OUTPUT_CUSTOM |
127 |
| - * |
128 |
| - * @var string |
129 |
| - */ |
130 |
| - protected $outputInterface; |
131 |
| - |
132 |
| - /** |
133 |
| - * /path/to/cache.file |
134 |
| - * |
135 |
| - * @var string |
136 |
| - */ |
137 |
| - protected $cachefile; |
138 |
| - |
139 |
| - /** |
140 |
| - * newline string [HTML, SVG, TEXT] |
141 |
| - * |
142 |
| - * @var string |
143 |
| - */ |
144 |
| - protected $eol = PHP_EOL; |
145 |
| - |
146 |
| - /** |
147 |
| - * size of a QR code pixel [SVG, IMAGE_*] |
148 |
| - * HTML -> via CSS |
149 |
| - * |
150 |
| - * @var int |
151 |
| - */ |
152 |
| - protected $scale = 5; |
153 |
| - |
154 |
| - /** |
155 |
| - * a common css class |
156 |
| - * |
157 |
| - * @var string |
158 |
| - */ |
159 |
| - protected $cssClass; |
160 |
| - |
161 |
| - /** |
162 |
| - * SVG opacity |
163 |
| - * |
164 |
| - * @var float |
165 |
| - */ |
166 |
| - protected $svgOpacity = 1.0; |
167 |
| - |
168 |
| - /** |
169 |
| - * anything between <defs> |
170 |
| - * |
171 |
| - * @see https://developer.mozilla.org/docs/Web/SVG/Element/defs |
172 |
| - * |
173 |
| - * @var string |
174 |
| - */ |
175 |
| - protected $svgDefs = '<style>rect{shape-rendering:crispEdges}</style>'; |
176 |
| - |
177 |
| - /** |
178 |
| - * string substitute for dark |
179 |
| - * |
180 |
| - * @var string |
181 |
| - */ |
182 |
| - protected $textDark = '🔴'; |
183 |
| - |
184 |
| - /** |
185 |
| - * string substitute for light |
186 |
| - * |
187 |
| - * @var string |
188 |
| - */ |
189 |
| - protected $textLight = '⭕'; |
190 |
| - |
191 |
| - /** |
192 |
| - * toggle base64 or raw image data |
193 |
| - * |
194 |
| - * @var bool |
195 |
| - */ |
196 |
| - protected $imageBase64 = true; |
197 |
| - |
198 |
| - /** |
199 |
| - * toggle transparency, not supported by jpg |
200 |
| - * |
201 |
| - * @var bool |
202 |
| - */ |
203 |
| - protected $imageTransparent = true; |
204 |
| - |
205 |
| - /** |
206 |
| - * @see imagecolortransparent() |
207 |
| - * |
208 |
| - * @var array [R, G, B] |
209 |
| - */ |
210 |
| - protected $imageTransparencyBG = [255, 255, 255]; |
211 |
| - |
212 |
| - /** |
213 |
| - * @see imagepng() |
214 |
| - * |
215 |
| - * @var int |
216 |
| - */ |
217 |
| - protected $pngCompression = -1; |
218 |
| - |
219 |
| - /** |
220 |
| - * @see imagejpeg() |
221 |
| - * |
222 |
| - * @var int |
223 |
| - */ |
224 |
| - protected $jpegQuality = 85; |
225 |
| - |
226 |
| - /** |
227 |
| - * Module values map |
228 |
| - * |
229 |
| - * HTML : #ABCDEF, cssname, rgb(), rgba()... |
230 |
| - * IMAGE: [63, 127, 255] // R, G, B |
231 |
| - * |
232 |
| - * @var array |
233 |
| - */ |
234 |
| - protected $moduleValues = [ |
235 |
| - // light |
236 |
| - QRMatrix::M_DATA => false, // 4 |
237 |
| - QRMatrix::M_FINDER => false, // 6 |
238 |
| - QRMatrix::M_SEPARATOR => false, // 8 |
239 |
| - QRMatrix::M_ALIGNMENT => false, // 10 |
240 |
| - QRMatrix::M_TIMING => false, // 12 |
241 |
| - QRMatrix::M_FORMAT => false, // 14 |
242 |
| - QRMatrix::M_VERSION => false, // 16 |
243 |
| - QRMatrix::M_QUIETZONE => false, // 18 |
244 |
| - QRMatrix::M_TEST => false, // 255 |
245 |
| - // dark |
246 |
| - QRMatrix::M_DARKMODULE << 8 => true, // 512 |
247 |
| - QRMatrix::M_DATA << 8 => true, // 1024 |
248 |
| - QRMatrix::M_FINDER << 8 => true, // 1536 |
249 |
| - QRMatrix::M_ALIGNMENT << 8 => true, // 2560 |
250 |
| - QRMatrix::M_TIMING << 8 => true, // 3072 |
251 |
| - QRMatrix::M_FORMAT << 8 => true, // 3584 |
252 |
| - QRMatrix::M_VERSION << 8 => true, // 4096 |
253 |
| - QRMatrix::M_TEST << 8 => true, // 65280 |
254 |
| - ]; |
255 |
| - |
| 48 | +class QROptions extends ContainerAbstract{ |
| 49 | + use QROptionsTrait; |
256 | 50 | }
|
0 commit comments