1// Don't modify, generated file from /home/lucius/Code/aseprite/data/pref.xml
2
3#ifndef GENERATED_PREF_TYPES_H_INCLUDED
4#define GENERATED_PREF_TYPES_H_INCLUDED
5#pragma once
6
7#include <string>
8
9namespace app {
10namespace gen {
11
12 enum class RightClickMode {
13 DEFAULT = 0,
14 PAINT_BGCOLOR = 0,
15 PICK_FGCOLOR = 1,
16 ERASE = 2,
17 SCROLL = 3,
18 RECTANGULAR_MARQUEE = 4,
19 LASSO = 5,
20 SELECT_LAYER_AND_MOVE = 6,
21 };
22
23 enum class OnionskinType {
24 MERGE = 0,
25 RED_BLUE_TINT = 1,
26 };
27
28 enum class BrushType {
29 CIRCLE = 0,
30 SQUARE = 1,
31 LINE = 2,
32 };
33
34 enum class BrushPreview {
35 NONE = 0,
36 EDGES = 1,
37 FULL = 2,
38 FULLALL = 3,
39 FULLNEDGES = 4,
40 };
41
42 enum class BgType {
43 CHECKERED_16x16 = 0,
44 CHECKERED_8x8 = 1,
45 CHECKERED_4x4 = 2,
46 CHECKERED_2x2 = 3,
47 CHECKERED_1x1 = 4,
48 CHECKERED_CUSTOM = 5,
49 };
50
51 enum class StopAtGrid {
52 NEVER = 0,
53 IF_VISIBLE = 1,
54 ALWAYS = 2,
55 };
56
57 enum class FillReferTo {
58 ACTIVE_LAYER = 0,
59 ALL_LAYERS = 1,
60 };
61
62 enum class PixelConnectivity {
63 FOUR_CONNECTED = 0,
64 EIGHT_CONNECTED = 1,
65 };
66
67 enum class EyedropperChannel {
68 COLOR_ALPHA = 0,
69 COLOR = 1,
70 ALPHA = 2,
71 RGBA = 3,
72 RGB = 4,
73 HSVA = 5,
74 HSV = 6,
75 HSLA = 7,
76 HSL = 8,
77 GRAYA = 9,
78 GRAY = 10,
79 INDEX = 11,
80 };
81
82 enum class EyedropperSample {
83 ALL_LAYERS = 0,
84 CURRENT_LAYER = 1,
85 FIRST_REFERENCE_LAYER = 2,
86 };
87
88 enum class SelectionMode {
89 DEFAULT = 0,
90 REPLACE = 0,
91 ADD = 1,
92 SUBTRACT = 2,
93 INTERSECT = 3,
94 };
95
96 enum class PivotPosition {
97 NORTHWEST = 0,
98 NORTH = 1,
99 NORTHEAST = 2,
100 WEST = 3,
101 CENTER = 4,
102 EAST = 5,
103 SOUTHWEST = 6,
104 SOUTH = 7,
105 SOUTHEAST = 8,
106 };
107
108 enum class SymmetryMode {
109 NONE = 0,
110 HORIZONTAL = 1,
111 VERTICAL = 2,
112 BOTH = 3,
113 };
114
115 enum class PaintingCursorType {
116 SIMPLE_CROSSHAIR = 0,
117 CROSSHAIR_ON_SPRITE = 1,
118 };
119
120 enum class TimelinePosition {
121 BOTTOM = 0,
122 LEFT = 1,
123 RIGHT = 2,
124 };
125
126 enum class ColorProfileBehavior {
127 DISABLE = 0,
128 EMBEDDED = 1,
129 CONVERT = 2,
130 ASSIGN = 3,
131 ASK = 4,
132 };
133
134 enum class WindowColorProfile {
135 MONITOR = 0,
136 SRGB = 1,
137 SPECIFIC = 2,
138 };
139
140 enum class ToGrayAlgorithm {
141 DEFAULT = 0,
142 LUMA = 0,
143 HSV = 1,
144 HSL = 2,
145 };
146
147 enum class SequenceDecision {
148 ASK = 0,
149 YES = 1,
150 NO = 2,
151 };
152
153 enum class Downsampling {
154 NEAREST = 0,
155 BILINEAR = 1,
156 BILINEAR_MIPMAP = 2,
157 TRILINEAR_MIPMAP = 3,
158 };
159
160 class GlobalPref : public Section {
161 public:
162 GlobalPref(const std::string& name);
163 void load();
164 void save();
165 Section* section(const char* id) override;
166 OptionBase* option(const char* id) override;
167
168 class General : public Section {
169 public:
170 General(const std::string& name);
171 void load();
172 void save();
173 Section* section(const char* id) override;
174 OptionBase* option(const char* id) override;
175 Option<std::string> language;
176 Option<int> screenScale;
177 Option<int> uiScale;
178 Option<bool> gpuAcceleration;
179 Option<bool> showHome;
180 Option<bool> visibleTimeline;
181 Option<bool> autoshowTimeline;
182 Option<bool> rewindOnStop;
183 Option<bool> expandMenubarOnMouseover;
184 Option<bool> dataRecovery;
185 Option<double> dataRecoveryPeriod;
186 Option<bool> keepEditedSpriteData;
187 Option<int> keepEditedSpriteDataFor;
188 Option<bool> keepClosedSpriteOnMemory;
189 Option<double> keepClosedSpriteOnMemoryFor;
190 Option<bool> showFullPath;
191 Option<TimelinePosition> timelinePosition;
192 Option<int> timelineLayerPanelWidth;
193 Option<bool> showMenuBar;
194 Option<int> recentItems;
195 Option<bool> osxAsyncView;
196 Option<std::string> x11StylusId;
197 };
198 General general;
199
200 class Undo : public Section {
201 public:
202 Undo(const std::string& name);
203 void load();
204 void save();
205 Section* section(const char* id) override;
206 OptionBase* option(const char* id) override;
207 Option<int> sizeLimit;
208 Option<bool> gotoModified;
209 Option<bool> allowNonlinearHistory;
210 Option<bool> showTooltip;
211 };
212 Undo undo;
213
214 class Editor : public Section {
215 public:
216 Editor(const std::string& name);
217 void load();
218 void save();
219 Section* section(const char* id) override;
220 OptionBase* option(const char* id) override;
221 Option<bool> zoomWithWheel;
222 Option<bool> zoomWithSlide;
223 Option<bool> zoomFromCenterWithWheel;
224 Option<bool> zoomFromCenterWithKeys;
225 Option<bool> invertBrushSizeWheel;
226 Option<bool> showScrollbars;
227 Option<bool> autoScroll;
228 Option<RightClickMode> rightClickMode;
229 Option<bool> autoSelectLayer;
230 Option<bool> autoSelectLayerQuick;
231 Option<bool> straightLinePreview;
232 Option<bool> playOnce;
233 Option<bool> playAll;
234 Option<bool> autoFit;
235 Option<Downsampling> downsampling;
236 };
237 Editor editor;
238
239 class Cels : public Section {
240 public:
241 Cels(const std::string& name);
242 void load();
243 void save();
244 Section* section(const char* id) override;
245 OptionBase* option(const char* id) override;
246 Option<bool> userDataVisibility;
247 };
248 Cels cels;
249
250 class Layers : public Section {
251 public:
252 Layers(const std::string& name);
253 void load();
254 void save();
255 Section* section(const char* id) override;
256 OptionBase* option(const char* id) override;
257 Option<bool> userDataVisibility;
258 };
259 Layers layers;
260
261 class Sprite : public Section {
262 public:
263 Sprite(const std::string& name);
264 void load();
265 void save();
266 Section* section(const char* id) override;
267 OptionBase* option(const char* id) override;
268 Option<bool> userDataVisibility;
269 };
270 Sprite sprite;
271
272 class Tags : public Section {
273 public:
274 Tags(const std::string& name);
275 void load();
276 void save();
277 Section* section(const char* id) override;
278 OptionBase* option(const char* id) override;
279 Option<bool> userDataVisibility;
280 };
281 Tags tags;
282
283 class Timeline : public Section {
284 public:
285 Timeline(const std::string& name);
286 void load();
287 void save();
288 Section* section(const char* id) override;
289 OptionBase* option(const char* id) override;
290 Option<bool> keepSelection;
291 };
292 Timeline timeline;
293
294 class Cursor : public Section {
295 public:
296 Cursor(const std::string& name);
297 void load();
298 void save();
299 Section* section(const char* id) override;
300 OptionBase* option(const char* id) override;
301 Option<bool> useNativeCursor;
302 Option<int> cursorScale;
303 Option<app::Color> cursorColor;
304 Option<PaintingCursorType> paintingCursorType;
305 Option<BrushPreview> brushPreview;
306 };
307 Cursor cursor;
308
309 class Preview : public Section {
310 public:
311 Preview(const std::string& name);
312 void load();
313 void save();
314 Section* section(const char* id) override;
315 OptionBase* option(const char* id) override;
316 Option<bool> playOnce;
317 Option<bool> playAll;
318 };
319 Preview preview;
320
321 class Theme : public Section {
322 public:
323 Theme(const std::string& name);
324 void load();
325 void save();
326 Section* section(const char* id) override;
327 OptionBase* option(const char* id) override;
328 Option<std::string> selected;
329 Option<std::string> font;
330 Option<std::string> miniFont;
331 };
332 Theme theme;
333
334 class Tablet : public Section {
335 public:
336 Tablet(const std::string& name);
337 void load();
338 void save();
339 Section* section(const char* id) override;
340 OptionBase* option(const char* id) override;
341 Option<std::string> api;
342 };
343 Tablet tablet;
344
345 class Experimental : public Section {
346 public:
347 Experimental(const std::string& name);
348 void load();
349 void save();
350 Section* section(const char* id) override;
351 OptionBase* option(const char* id) override;
352 Option<bool> multipleWindows;
353 Option<bool> newRenderEngine;
354 Option<bool> newBlend;
355 Option<bool> useNativeClipboard;
356 Option<bool> useNativeFileDialog;
357 Option<bool> useShadersForColorSelectors;
358 Option<bool> hueWithSatValueForColorSelector;
359 Option<bool> oneFingerAsMouseMovement;
360 Option<bool> loadWintabDriver;
361 Option<bool> flashLayer;
362 Option<int> nonactiveLayersOpacity;
363 };
364 Experimental experimental;
365
366 class News : public Section {
367 public:
368 News(const std::string& name);
369 void load();
370 void save();
371 Section* section(const char* id) override;
372 OptionBase* option(const char* id) override;
373 Option<std::string> cacheFile;
374 };
375 News news;
376
377 class StatusBar : public Section {
378 public:
379 StatusBar(const std::string& name);
380 void load();
381 void save();
382 Section* section(const char* id) override;
383 OptionBase* option(const char* id) override;
384 Option<bool> focusFrameFieldOnMouseover;
385 };
386 StatusBar statusBar;
387
388 class ColorBar : public Section {
389 public:
390 ColorBar(const std::string& name);
391 void load();
392 void save();
393 Section* section(const char* id) override;
394 OptionBase* option(const char* id) override;
395 Option<int> boxSize;
396 Option<int> tilesBoxSize;
397 Option<app::Color> fgColor;
398 Option<app::Color> bgColor;
399 Option<doc::tile_t> fgTile;
400 Option<doc::tile_t> bgTile;
401 Option<app::ColorBar::ColorSelector> selector;
402 Option<bool> discreteWheel;
403 Option<int> wheelModel;
404 Option<int> harmony;
405 Option<bool> showInvalidFgBgColorAlert;
406 Option<bool> entriesSeparator;
407 Option<bool> showColorAndTiles;
408 };
409 ColorBar colorBar;
410
411 class Updater : public Section {
412 public:
413 Updater(const std::string& name);
414 void load();
415 void save();
416 Section* section(const char* id) override;
417 OptionBase* option(const char* id) override;
418 Option<int> inits;
419 Option<int> exits;
420 Option<bool> isDeveloper;
421 Option<double> waitDays;
422 Option<int> lastCheck;
423 Option<std::string> uuid;
424 Option<std::string> currentVersion;
425 Option<std::string> newVersion;
426 Option<std::string> newUrl;
427 };
428 Updater updater;
429
430 class Brush : public Section {
431 public:
432 Brush(const std::string& name);
433 void load();
434 void save();
435 Section* section(const char* id) override;
436 OptionBase* option(const char* id) override;
437 Option<doc::BrushPattern> pattern;
438 };
439 Brush brush;
440
441 class SaveBrush : public Section {
442 public:
443 SaveBrush(const std::string& name);
444 void load();
445 void save();
446 Section* section(const char* id) override;
447 OptionBase* option(const char* id) override;
448 Option<bool> brushType;
449 Option<bool> brushSize;
450 Option<bool> brushAngle;
451 Option<bool> fgColor;
452 Option<bool> bgColor;
453 Option<bool> imageColor;
454 Option<bool> inkType;
455 Option<bool> inkOpacity;
456 Option<bool> shade;
457 Option<bool> pixelPerfect;
458 };
459 SaveBrush saveBrush;
460
461 class Selection : public Section {
462 public:
463 Selection(const std::string& name);
464 void load();
465 void save();
466 Section* section(const char* id) override;
467 OptionBase* option(const char* id) override;
468 Option<SelectionMode> mode;
469 Option<bool> moveEdges;
470 Option<bool> modifiersDisableHandles;
471 Option<bool> moveOnAddMode;
472 Option<bool> pivotVisibility;
473 Option<PivotPosition> pivotPosition;
474 Option<bool> opaque;
475 Option<bool> autoOpaque;
476 Option<bool> keepSelectionAfterClear;
477 Option<bool> autoShowSelectionEdges;
478 Option<app::Color> transparentColor;
479 Option<app::tools::RotationAlgorithm> rotationAlgorithm;
480 Option<int> modifySelectionQuantity;
481 Option<BrushType> modifySelectionBrush;
482 Option<bool> doubleclickSelectTile;
483 Option<bool> forceRotsprite;
484 Option<bool> multicelWhenLayersOrFrames;
485 };
486 Selection selection;
487
488 class Quantization : public Section {
489 public:
490 Quantization(const std::string& name);
491 void load();
492 void save();
493 Section* section(const char* id) override;
494 OptionBase* option(const char* id) override;
495 Option<bool> withAlpha;
496 Option<std::string> ditheringAlgorithm;
497 Option<int> ditheringFactor;
498 Option<ToGrayAlgorithm> toGray;
499 Option<bool> advanced;
500 Option<doc::RgbMapAlgorithm> rgbmapAlgorithm;
501 };
502 Quantization quantization;
503
504 class Eyedropper : public Section {
505 public:
506 Eyedropper(const std::string& name);
507 void load();
508 void save();
509 Section* section(const char* id) override;
510 OptionBase* option(const char* id) override;
511 Option<EyedropperChannel> channel;
512 Option<EyedropperSample> sample;
513 Option<bool> discardBrush;
514 };
515 Eyedropper eyedropper;
516
517 class Shared : public Section {
518 public:
519 Shared(const std::string& name);
520 void load();
521 void save();
522 Section* section(const char* id) override;
523 OptionBase* option(const char* id) override;
524 Option<bool> shareInk;
525 Option<app::tools::InkType> ink;
526 };
527 Shared shared;
528
529 class NewFile : public Section {
530 public:
531 NewFile(const std::string& name);
532 void load();
533 void save();
534 Section* section(const char* id) override;
535 OptionBase* option(const char* id) override;
536 Option<int> width;
537 Option<int> height;
538 Option<doc::ColorMode> colorMode;
539 Option<int> backgroundColor;
540 Option<bool> advanced;
541 Option<std::string> pixelRatio;
542 };
543 NewFile newFile;
544
545 class FileSelector : public Section {
546 public:
547 FileSelector(const std::string& name);
548 void load();
549 void save();
550 Section* section(const char* id) override;
551 OptionBase* option(const char* id) override;
552 Option<std::string> currentFolder;
553 Option<double> zoom;
554 };
555 FileSelector fileSelector;
556
557 class TextTool : public Section {
558 public:
559 TextTool(const std::string& name);
560 void load();
561 void save();
562 Section* section(const char* id) override;
563 OptionBase* option(const char* id) override;
564 Option<std::string> fontFace;
565 Option<int> fontSize;
566 Option<bool> antialias;
567 };
568 TextTool textTool;
569
570 class SymmetryMode : public Section {
571 public:
572 SymmetryMode(const std::string& name);
573 void load();
574 void save();
575 Section* section(const char* id) override;
576 OptionBase* option(const char* id) override;
577 Option<bool> enabled;
578 };
579 SymmetryMode symmetryMode;
580
581 class Perf : public Section {
582 public:
583 Perf(const std::string& name);
584 void load();
585 void save();
586 Section* section(const char* id) override;
587 OptionBase* option(const char* id) override;
588 Option<bool> showRenderTime;
589 };
590 Perf perf;
591
592 class Guides : public Section {
593 public:
594 Guides(const std::string& name);
595 void load();
596 void save();
597 Section* section(const char* id) override;
598 OptionBase* option(const char* id) override;
599 Option<app::Color> layerEdgesColor;
600 Option<app::Color> autoGuidesColor;
601 };
602 Guides guides;
603
604 class Slices : public Section {
605 public:
606 Slices(const std::string& name);
607 void load();
608 void save();
609 Section* section(const char* id) override;
610 OptionBase* option(const char* id) override;
611 Option<app::Color> defaultColor;
612 Option<bool> userDataVisibility;
613 };
614 Slices slices;
615
616 class AdvancedMode : public Section {
617 public:
618 AdvancedMode(const std::string& name);
619 void load();
620 void save();
621 Section* section(const char* id) override;
622 OptionBase* option(const char* id) override;
623 Option<bool> showAlert;
624 };
625 AdvancedMode advancedMode;
626
627 class OpenFile : public Section {
628 public:
629 OpenFile(const std::string& name);
630 void load();
631 void save();
632 Section* section(const char* id) override;
633 OptionBase* option(const char* id) override;
634 Option<SequenceDecision> openSequence;
635 };
636 OpenFile openFile;
637
638 class SaveFile : public Section {
639 public:
640 SaveFile(const std::string& name);
641 void load();
642 void save();
643 Section* section(const char* id) override;
644 OptionBase* option(const char* id) override;
645 Option<bool> showFileFormatDoesntSupportAlert;
646 Option<bool> showExportAnimationInSequenceAlert;
647 Option<std::string> defaultExtension;
648 };
649 SaveFile saveFile;
650
651 class ExportFile : public Section {
652 public:
653 ExportFile(const std::string& name);
654 void load();
655 void save();
656 Section* section(const char* id) override;
657 OptionBase* option(const char* id) override;
658 Option<bool> showOverwriteFilesAlert;
659 Option<std::string> imageDefaultExtension;
660 Option<std::string> animationDefaultExtension;
661 };
662 ExportFile exportFile;
663
664 class SpriteSheet : public Section {
665 public:
666 SpriteSheet(const std::string& name);
667 void load();
668 void save();
669 Section* section(const char* id) override;
670 OptionBase* option(const char* id) override;
671 Option<bool> showOverwriteFilesAlert;
672 Option<std::string> defaultExtension;
673 Option<bool> preview;
674 Option<std::string> sections;
675 };
676 SpriteSheet spriteSheet;
677
678 class Gif : public Section {
679 public:
680 Gif(const std::string& name);
681 void load();
682 void save();
683 Section* section(const char* id) override;
684 OptionBase* option(const char* id) override;
685 Option<bool> showAlert;
686 Option<bool> interlaced;
687 Option<bool> loop;
688 Option<bool> preservePaletteOrder;
689 };
690 Gif gif;
691
692 class Jpeg : public Section {
693 public:
694 Jpeg(const std::string& name);
695 void load();
696 void save();
697 Section* section(const char* id) override;
698 OptionBase* option(const char* id) override;
699 Option<bool> showAlert;
700 Option<double> quality;
701 };
702 Jpeg jpeg;
703
704 class Svg : public Section {
705 public:
706 Svg(const std::string& name);
707 void load();
708 void save();
709 Section* section(const char* id) override;
710 OptionBase* option(const char* id) override;
711 Option<bool> showAlert;
712 Option<int> pixelScale;
713 };
714 Svg svg;
715
716 class Tga : public Section {
717 public:
718 Tga(const std::string& name);
719 void load();
720 void save();
721 Section* section(const char* id) override;
722 OptionBase* option(const char* id) override;
723 Option<bool> showAlert;
724 Option<int> bitsPerPixel;
725 Option<bool> compress;
726 };
727 Tga tga;
728
729 class Css : public Section {
730 public:
731 Css(const std::string& name);
732 void load();
733 void save();
734 Section* section(const char* id) override;
735 OptionBase* option(const char* id) override;
736 Option<bool> showAlert;
737 Option<int> pixelScale;
738 Option<bool> withVars;
739 Option<bool> generateHtml;
740 };
741 Css css;
742
743 class Webp : public Section {
744 public:
745 Webp(const std::string& name);
746 void load();
747 void save();
748 Section* section(const char* id) override;
749 OptionBase* option(const char* id) override;
750 Option<bool> showAlert;
751 Option<bool> loop;
752 Option<int> type;
753 Option<int> quality;
754 Option<int> compression;
755 Option<int> imageHint;
756 Option<int> imagePreset;
757 };
758 Webp webp;
759
760 class HueSaturation : public Section {
761 public:
762 HueSaturation(const std::string& name);
763 void load();
764 void save();
765 Section* section(const char* id) override;
766 OptionBase* option(const char* id) override;
767 Option<filters::HueSaturationFilter::Mode> mode;
768 };
769 HueSaturation hueSaturation;
770
771 class Filters : public Section {
772 public:
773 Filters(const std::string& name);
774 void load();
775 void save();
776 Section* section(const char* id) override;
777 OptionBase* option(const char* id) override;
778 Option<CelsTarget> celsTarget;
779 };
780 Filters filters;
781
782 class Scripts : public Section {
783 public:
784 Scripts(const std::string& name);
785 void load();
786 void save();
787 Section* section(const char* id) override;
788 OptionBase* option(const char* id) override;
789 Option<bool> showRunScriptAlert;
790 };
791 Scripts scripts;
792
793 class Color : public Section {
794 public:
795 Color(const std::string& name);
796 void load();
797 void save();
798 Section* section(const char* id) override;
799 OptionBase* option(const char* id) override;
800 Option<bool> manage;
801 Option<std::string> workingRgbSpace;
802 Option<ColorProfileBehavior> filesWithProfile;
803 Option<ColorProfileBehavior> missingProfile;
804 Option<WindowColorProfile> windowProfile;
805 Option<std::string> windowProfileName;
806 };
807 Color color;
808
809 class CanvasSize : public Section {
810 public:
811 CanvasSize(const std::string& name);
812 void load();
813 void save();
814 Section* section(const char* id) override;
815 OptionBase* option(const char* id) override;
816 Option<bool> trimOutside;
817 };
818 CanvasSize canvasSize;
819
820 class Tileset : public Section {
821 public:
822 Tileset(const std::string& name);
823 void load();
824 void save();
825 Section* section(const char* id) override;
826 OptionBase* option(const char* id) override;
827 Option<int> baseIndex;
828 };
829 Tileset tileset;
830 };
831
832 class ToolPref : public Section {
833 public:
834 ToolPref(const std::string& name);
835 void load();
836 void save();
837 Section* section(const char* id) override;
838 OptionBase* option(const char* id) override;
839 Option<int> opacity;
840 Option<int> tolerance;
841 Option<bool> contiguous;
842 Option<bool> filled;
843 Option<bool> filledPreview;
844 Option<app::tools::InkType> ink;
845 Option<app::tools::FreehandAlgorithm> freehandAlgorithm;
846
847 class Brush : public Section {
848 public:
849 Brush(const std::string& name);
850 void load();
851 void save();
852 Section* section(const char* id) override;
853 OptionBase* option(const char* id) override;
854 Option<BrushType> type;
855 Option<int> size;
856 Option<int> angle;
857 };
858 Brush brush;
859
860 class Spray : public Section {
861 public:
862 Spray(const std::string& name);
863 void load();
864 void save();
865 Section* section(const char* id) override;
866 OptionBase* option(const char* id) override;
867 Option<int> width;
868 Option<int> speed;
869 };
870 Spray spray;
871
872 class Floodfill : public Section {
873 public:
874 Floodfill(const std::string& name);
875 void load();
876 void save();
877 Section* section(const char* id) override;
878 OptionBase* option(const char* id) override;
879 Option<StopAtGrid> stopAtGrid;
880 Option<FillReferTo> referTo;
881 Option<PixelConnectivity> pixelConnectivity;
882 };
883 Floodfill floodfill;
884 };
885
886 class DocPref : public Section {
887 public:
888 DocPref(const std::string& name);
889 void load();
890 void save();
891 Section* section(const char* id) override;
892 OptionBase* option(const char* id) override;
893
894 class Site : public Section {
895 public:
896 Site(const std::string& name);
897 void load();
898 void save();
899 Section* section(const char* id) override;
900 OptionBase* option(const char* id) override;
901 Option<doc::frame_t> frame;
902 Option<doc::layer_t> layer;
903 };
904 Site site;
905
906 class Tiled : public Section {
907 public:
908 Tiled(const std::string& name);
909 void load();
910 void save();
911 Section* section(const char* id) override;
912 OptionBase* option(const char* id) override;
913 Option<filters::TiledMode> mode;
914 };
915 Tiled tiled;
916
917 class Symmetry : public Section {
918 public:
919 Symmetry(const std::string& name);
920 void load();
921 void save();
922 Section* section(const char* id) override;
923 OptionBase* option(const char* id) override;
924 Option<SymmetryMode> mode;
925 Option<double> xAxis;
926 Option<double> yAxis;
927 };
928 Symmetry symmetry;
929
930 class Grid : public Section {
931 public:
932 Grid(const std::string& name);
933 void forceSection();
934 void load();
935 void save();
936 Section* section(const char* id) override;
937 OptionBase* option(const char* id) override;
938 Option<bool> snap;
939 Option<gfx::Rect> bounds;
940 Option<app::Color> color;
941 Option<int> opacity;
942 Option<bool> autoOpacity;
943 };
944 Grid grid;
945
946 class PixelGrid : public Section {
947 public:
948 PixelGrid(const std::string& name);
949 void forceSection();
950 void load();
951 void save();
952 Section* section(const char* id) override;
953 OptionBase* option(const char* id) override;
954 Option<app::Color> color;
955 Option<int> opacity;
956 Option<bool> autoOpacity;
957 };
958 PixelGrid pixelGrid;
959
960 class Bg : public Section {
961 public:
962 Bg(const std::string& name);
963 void forceSection();
964 void load();
965 void save();
966 Section* section(const char* id) override;
967 OptionBase* option(const char* id) override;
968 Option<BgType> type;
969 Option<gfx::Size> size;
970 Option<bool> zoom;
971 Option<app::Color> color1;
972 Option<app::Color> color2;
973 };
974 Bg bg;
975
976 class Timeline : public Section {
977 public:
978 Timeline(const std::string& name);
979 void load();
980 void save();
981 Section* section(const char* id) override;
982 OptionBase* option(const char* id) override;
983 Option<int> firstFrame;
984 };
985 Timeline timeline;
986
987 class Thumbnails : public Section {
988 public:
989 Thumbnails(const std::string& name);
990 void load();
991 void save();
992 Section* section(const char* id) override;
993 OptionBase* option(const char* id) override;
994 Option<double> zoom;
995 Option<bool> enabled;
996 Option<bool> overlayEnabled;
997 Option<int> overlaySize;
998 };
999 Thumbnails thumbnails;
1000
1001 class Onionskin : public Section {
1002 public:
1003 Onionskin(const std::string& name);
1004 void load();
1005 void save();
1006 Section* section(const char* id) override;
1007 OptionBase* option(const char* id) override;
1008 Option<bool> active;
1009 Option<int> prevFrames;
1010 Option<int> nextFrames;
1011 Option<int> opacityBase;
1012 Option<int> opacityStep;
1013 Option<OnionskinType> type;
1014 Option<bool> loopTag;
1015 Option<bool> currentLayer;
1016 Option<render::OnionskinPosition> position;
1017 };
1018 Onionskin onionskin;
1019
1020 class SaveCopy : public Section {
1021 public:
1022 SaveCopy(const std::string& name);
1023 void clearSection();
1024 void load();
1025 void save();
1026 Section* section(const char* id) override;
1027 OptionBase* option(const char* id) override;
1028 Option<std::string> filename;
1029 Option<double> resizeScale;
1030 Option<std::string> area;
1031 Option<std::string> layer;
1032 Option<int> layerIndex;
1033 Option<std::string> frameTag;
1034 Option<doc::AniDir> aniDir;
1035 Option<bool> applyPixelRatio;
1036 Option<bool> forTwitter;
1037 };
1038 SaveCopy saveCopy;
1039
1040 class SpriteSheet : public Section {
1041 public:
1042 SpriteSheet(const std::string& name);
1043 void load();
1044 void save();
1045 Section* section(const char* id) override;
1046 OptionBase* option(const char* id) override;
1047 Option<bool> defined;
1048 Option<app::SpriteSheetType> type;
1049 Option<int> columns;
1050 Option<int> rows;
1051 Option<int> width;
1052 Option<int> height;
1053 Option<std::string> textureFilename;
1054 Option<std::string> dataFilename;
1055 Option<SpriteSheetDataFormat> dataFormat;
1056 Option<std::string> filenameFormat;
1057 Option<int> borderPadding;
1058 Option<int> shapePadding;
1059 Option<int> innerPadding;
1060 Option<bool> trimSprite;
1061 Option<bool> trim;
1062 Option<bool> trimByGrid;
1063 Option<bool> extrude;
1064 Option<bool> mergeDuplicates;
1065 Option<bool> ignoreEmpty;
1066 Option<bool> openGenerated;
1067 Option<std::string> layer;
1068 Option<int> layerIndex;
1069 Option<std::string> frameTag;
1070 Option<bool> splitLayers;
1071 Option<bool> splitTags;
1072 Option<bool> splitGrid;
1073 Option<bool> listLayers;
1074 Option<bool> listFrameTags;
1075 Option<bool> listSlices;
1076 };
1077 SpriteSheet spriteSheet;
1078
1079 class ImportSpriteSheet : public Section {
1080 public:
1081 ImportSpriteSheet(const std::string& name);
1082 void load();
1083 void save();
1084 Section* section(const char* id) override;
1085 OptionBase* option(const char* id) override;
1086 Option<app::SpriteSheetType> type;
1087 Option<gfx::Rect> bounds;
1088 Option<bool> paddingEnabled;
1089 Option<gfx::Size> paddingBounds;
1090 Option<bool> partialTiles;
1091 };
1092 ImportSpriteSheet importSpriteSheet;
1093
1094 class Preview : public Section {
1095 public:
1096 Preview(const std::string& name);
1097 void load();
1098 void save();
1099 Section* section(const char* id) override;
1100 OptionBase* option(const char* id) override;
1101 Option<double> zoom;
1102 Option<gfx::Point> scroll;
1103 Option<bool> autoScroll;
1104 };
1105 Preview preview;
1106
1107 class Show : public Section {
1108 public:
1109 Show(const std::string& name);
1110 void load();
1111 void save();
1112 Section* section(const char* id) override;
1113 OptionBase* option(const char* id) override;
1114 Option<bool> layerEdges;
1115 Option<bool> selectionEdges;
1116 Option<bool> grid;
1117 Option<bool> pixelGrid;
1118 Option<bool> brushPreview;
1119 Option<bool> slices;
1120 Option<bool> autoGuides;
1121 Option<bool> tileNumbers;
1122 };
1123 Show show;
1124 };
1125
1126} // namespace gen
1127} // namespace app
1128
1129#endif
1130