1 /*
  2     Copyright 2008-2024
  3         Matthias Ehmann,
  4         Carsten Miller,
  5         Alfred Wassermann
  6 
  7     This file is part of JSXGraph.
  8 
  9     JSXGraph is free software dual licensed under the GNU LGPL or MIT License.
 10 
 11     You can redistribute it and/or modify it under the terms of the
 12 
 13       * GNU Lesser General Public License as published by
 14         the Free Software Foundation, either version 3 of the License, or
 15         (at your option) any later version
 16       OR
 17       * MIT License: https://github.com/jsxgraph/jsxgraph/blob/master/LICENSE.MIT
 18 
 19     JSXGraph is distributed in the hope that it will be useful,
 20     but WITHOUT ANY WARRANTY; without even the implied warranty of
 21     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 22     GNU Lesser General Public License for more details.
 23 
 24     You should have received a copy of the GNU Lesser General Public License and
 25     the MIT License along with JSXGraph. If not, see <https://www.gnu.org/licenses/>
 26     and <https://opensource.org/licenses/MIT/>.
 27  */
 28 import JXG from "../jxg.js";
 29 
 30 // Constants for this theme:
 31 let size = 0.75,
 32     color = '#000';
 33 
 34 JXG.themes['mono_thin'] = {
 35 
 36         board: {
 37             showInfobox: false,
 38             showCopyright: true,
 39             defaultAxes: {
 40                 x: {
 41                     ticks: {
 42                         minorTicks: 0,
 43                         majorHeight: 10,
 44                         majorTickEndings: [1, 0]
 45                     }
 46                 },
 47                 y: {
 48                     ticks: {
 49                         minorTicks: 0,
 50                         majorHeight: 10,
 51                         majorTickEndings: [0, 1]
 52                     }
 53                 }
 54             }
 55         },
 56 
 57         navbar: {
 58             strokeColor: '#bbb',
 59             fillColor: 'none'
 60         },
 61 
 62         elements: {
 63             strokeColor: color,
 64             highlightStrokeColor: color,
 65             fillColor: 'none',
 66             highlightFillColor: 'none',
 67             strokeOpacity: 0.6,
 68             highlightStrokeOpacity: 1
 69         },
 70 
 71         angle: {
 72             strokeColor: color,
 73             fillColor: '#aaaaaa55',
 74             fillOpacity: 0.3,
 75             highlightFillColor: '#aaaaaa33',
 76             highlightFillOpacity: 0.3,
 77             label: {
 78                 strokeColor: color
 79             }
 80         },
 81 
 82         arc: {
 83             strokeColor: color,
 84             strokeWidth: size,
 85             highlightStrokeColor: color,
 86             highlightStrokeWidth: size
 87         },
 88 
 89         axis: {
 90             // ticks: {
 91             //     strokeColor: '#bbb'
 92             // }
 93         },
 94 
 95         boxplot: {
 96             strokeWidth: size,
 97             strokeColor: color,
 98             fillColor: color,
 99             fillOpacity: 0.2,
100             highlightStrokeWidth: size,
101             highlightStrokeColor: color,
102             highlightFillColor: color,
103             highlightFillOpacity: 0.1
104         },
105 
106         circle: {
107             strokeWidth: size,
108             highlightStrokeWidth: 1.5 * size,
109             strokeColor: color,
110             highlightFillColor: 'none',
111             highlightStrokeColor: color,
112             center: {
113                 size: size,
114                 fillColor: color,
115                 strokeColor: color,
116                 highlightStrokeWidth: 4 * size,
117                 highlightFillColor: color,
118                 highlightStrokeColor: color
119             },
120             point2: {
121                 size: size,
122                 fillColor: color,
123                 strokeColor: color,
124                 highlightStrokeWidth: 4 * size,
125                 highlightFillColor: color,
126                 highlightStrokeColor: color
127             }
128         },
129 
130         circumcircle: {
131             strokeWidth: size,
132             highlightStrokeWidth: 1.5 * size,
133             strokeColor: color,
134             highlightFillColor: 'none',
135             highlightStrokeColor: color,
136             center: {
137                 size: size,
138                 fillColor: color,
139                 strokeColor: color,
140                 highlightStrokeWidth: 4 * size,
141                 highlightFillColor: color,
142                 highlightStrokeColor: color
143             }
144         },
145 
146         circumcirclearc: {
147             strokeColor: color,
148             strokeWidth: size,
149             highlightStrokeColor: color,
150             highlightStrokeWidth: size
151         },
152 
153         circumcirclesector: {
154             strokeColor: color,
155             fillColor: '#aaaaaa55',
156             fillOpacity: 0.3,
157             highlightFillColor: '#aaaaaa33',
158             highlightFillOpacity: 0.3
159         },
160 
161         comb: {
162             strokeColor: color,
163             strokeWidth: size
164         },
165 
166         conic: {
167             strokeWidth: size,
168             highlightStrokeWidth: 1.5 * size,
169             strokeColor: color,
170             highlightStrokeColor: color,
171             fillColor: 'none',
172             highlightFillColor: 'none'
173         },
174 
175         curve: {
176             strokeColor: color,
177             strokeWidth: size,
178             highlightStrokeColor: color,
179             highlightStrokeWidth: size
180         },
181 
182         grid: {
183             strokeWidth: size
184         },
185 
186         hatch: {
187             strokeColor: color,
188             strokeWidth: size
189         },
190 
191         incircle: {
192             strokeWidth: size,
193             highlightStrokeWidth: 1.5 * size,
194             strokeColor: color,
195             highlightFillColor: 'none',
196             highlightStrokeColor: color,
197             center: {
198                 size: size,
199                 fillColor: color,
200                 strokeColor: color,
201                 highlightStrokeWidth: 4 * size,
202                 highlightFillColor: color,
203                 highlightStrokeColor: color
204             }
205         },
206 
207         inequality: {
208             fillColor: '#aaaaaa55',
209             fillOpacity: 0.2
210         },
211 
212         integral: {
213             fillColor: '#aaaaaa55',
214             highlightFillColor: '#aaaaa33',
215             fillOpacity: 0.3,
216             highlightFillOpacity: 0.3,
217             curveLeft: {
218                 color: color
219             },
220             baseLeft: {
221                 color: color
222             },
223             curveRight: {
224                 color: color
225             },
226             baseRight: {
227                 color: color
228             }
229         },
230 
231         label: {
232             strokeColor: color
233         },
234 
235         line: {
236             strokeColor: color,
237             strokeWidth: size,
238             highlightStrokeColor: color,
239             highlightStrokeWidth: size,
240             point1: {
241                 size: size,
242                 fillColor: color,
243                 strokeColor: color,
244                 highlightStrokeWidth: 4 * size,
245                 highlightFillColor: color,
246                 highlightStrokeColor: color
247             },
248             point2: {
249                 size: size,
250                 fillColor: color,
251                 strokeColor: color,
252                 highlightStrokeWidth: 4 * size,
253                 highlightFillColor: color,
254                 highlightStrokeColor: color
255             }
256         },
257 
258         normal: {
259             strokeColor: color
260         },
261 
262         parallel: {
263             strokeColor: color
264         },
265 
266         perpendicular: {
267             strokeColor: color
268         },
269 
270         perpendicularsegment: {
271             strokeColor: color
272         },
273 
274         point: {
275             size: size,
276             fillColor: color,
277             strokeColor: color,
278             highlightStrokeWidth: 4 * size,
279             highlightFillColor: color,
280             highlightStrokeColor: color
281         },
282 
283         polygon: {
284             fillColor: '#aaaaaa55',
285             highlightFillColor: '#aaaaaa33',
286             fillOpacity: 0.3,
287             highlightFillOpacity: 0.3,
288             vertices: {
289                 size: size,
290                 fillColor: color,
291                 strokeColor: color,
292                 highlightStrokeWidth: 4 * size,
293                 highlightFillColor: color,
294                 highlightStrokeColor: color
295             },
296             borders: {
297                 strokeColor: color,
298                 strokeWidth: size,
299                 highlightStrokeColor: color,
300                 highlightStrokeWidth: size
301             }
302         },
303 
304         sector: {
305             strokeColor: color,
306             fillColor: '#aaaaaa55',
307             fillOpacity: 0.3,
308             highlightFillColor: '#aaaaaa33',
309             highlightFillOpacity: 0.3
310         },
311 
312         semicircle: {
313             center: {
314                 size: size,
315                 fillColor: color,
316                 strokeColor: color,
317                 highlightStrokeWidth: 4 * size,
318                 highlightFillColor: color,
319                 highlightStrokeColor: color
320             }
321         },
322 
323         slider: {
324             size: size,
325             fillColor: color,
326             strokeColor: color,
327             highlightStrokeWidth: 4 * size,
328             highlightFillColor: color,
329             highlightStrokeColor: color,
330             baseline: {
331                 strokeWidth: size,
332                 strokeColor: color,
333                 highlightStrokeColor: color
334             },
335             label: {
336                 strokeColor: color
337             },
338             highline: {
339                 strokeWidth: 3 * size,
340                 name: '',
341                 strokeColor: color,
342                 highlightStrokeColor: color
343             },
344             ticks: {
345                 strokeColor: color
346             }
347         },
348 
349         slopefield: {
350             strokeWidth: 0.75 * size,
351             highlightStrokeWidth: size,
352             highlightStrokeColor: color,
353             highlightStrokeOpacity: 0.8
354         },
355 
356         tapemeasure: {
357             strokeColor: color,
358             strokeWidth: size,
359             highlightStrokeColor: color,
360             highlightStrokeWidth: size,
361             point1: {
362                 size: size,
363                 fillColor: color,
364                 strokeColor: color,
365                 highlightStrokeWidth: 4 * size,
366                 highlightFillColor: color,
367                 highlightStrokeColor: color
368             },
369             point2: {
370                 size: size,
371                 fillColor: color,
372                 strokeColor: color,
373                 highlightStrokeWidth: 4 * size,
374                 highlightFillColor: color,
375                 highlightStrokeColor: color
376             },
377             ticks: {
378                 strokeWidth: size
379             }
380         },
381 
382         text: {
383             strokeColor: color
384         },
385 
386         tracecurve: {
387             strokeColor: color
388         },
389 
390         turtle: {
391             strokeWidth: size,
392             strokeColor: color,
393             arrow: {
394                 strokeWidth: 2 * size,
395                 strokeColor: '#aaaaaa55'
396             }
397         },
398 
399         vectorfield: {
400             strokeWidth: 0.75 * size,
401             highlightStrokeWidth: size,
402             highlightStrokeColor: color,
403             highlightStrokeOpacity: 0.8
404         }
405     // });
406 };
407 
408 export default JXG;