├── .gitignore
├── Demo
├── DesignBoxDemo.dpr
├── DesignBoxDemo.dproj
├── DesignBoxDemo.res
├── untMain.dfm
└── untMain.pas
├── DesignBox.dpk
├── DesignBox.dproj
├── DesignBox.pas
├── DesignBox.res
├── DesignBoxGroup.groupproj
├── LICENSE
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | # Uncomment these types if you want even more clean repository. But be careful.
2 | # It can make harm to an existing project source. Read explanations below.
3 | #
4 | # Resource files are binaries containing manifest, project icon and version info.
5 | # They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files.
6 | #*.res
7 | #
8 | # Type library file (binary). In old Delphi versions it should be stored.
9 | # Since Delphi 2009 it is produced from .ridl file and can safely be ignored.
10 | #*.tlb
11 | #
12 | # Diagram Portfolio file. Used by the diagram editor up to Delphi 7.
13 | # Uncomment this if you are not using diagrams or use newer Delphi version.
14 | #*.ddp
15 | #
16 | # Visual LiveBindings file. Added in Delphi XE2.
17 | # Uncomment this if you are not using LiveBindings Designer.
18 | #*.vlb
19 | #
20 | # Deployment Manager configuration file for your project. Added in Delphi XE2.
21 | # Uncomment this if it is not mobile development and you do not use remote debug feature.
22 | #*.deployproj
23 | #
24 | # C++ object files produced when C/C++ Output file generation is configured.
25 | # Uncomment this if you are not using external objects (zlib library for example).
26 | #*.obj
27 | #
28 |
29 | # Delphi compiler-generated binaries (safe to delete)
30 | *.exe
31 | *.dll
32 | *.bpl
33 | *.bpi
34 | *.dcp
35 | *.so
36 | *.apk
37 | *.drc
38 | *.map
39 | *.dres
40 | *.rsm
41 | *.tds
42 | *.dcu
43 | *.lib
44 | *.a
45 | *.o
46 | *.ocx
47 |
48 | # Delphi autogenerated files (duplicated info)
49 | *.cfg
50 | *.hpp
51 | *Resource.rc
52 |
53 | # Delphi local files (user-specific info)
54 | *.local
55 | *.identcache
56 | *.projdata
57 | *.tvsconfig
58 | *.dsk
59 |
60 | # Delphi history and backups
61 | __history/
62 | __recovery/
63 | *.~*
64 |
65 | # Castalia statistics file (since XE7 Castalia is distributed with Delphi)
66 | *.stat
67 |
68 | # Boss dependency manager vendor folder https://github.com/HashLoad/boss
69 | modules/
70 | Demo/Win32/Debug/data.json
71 | *.skincfg
72 | Demo/DesignBoxDemo.res
73 |
--------------------------------------------------------------------------------
/Demo/DesignBoxDemo.dpr:
--------------------------------------------------------------------------------
1 | program DesignBoxDemo;
2 |
3 | uses
4 | Vcl.Forms,
5 | untMain in 'untMain.pas' {frmMain},
6 | Vcl.Themes,
7 | Vcl.Styles,
8 | DesignBox in '..\DesignBox.pas';
9 |
10 | {$R *.res}
11 |
12 | begin
13 | Application.Initialize;
14 | Application.MainFormOnTaskbar := True;
15 | Application.Title := 'Design Box Demo';
16 | Application.CreateForm(TfrmMain, frmMain);
17 | Application.Run;
18 | end.
19 |
--------------------------------------------------------------------------------
/Demo/DesignBoxDemo.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {38D4ED95-F86C-4607-955C-DA500BD1701B}
4 | 19.1
5 | VCL
6 | DesignBoxDemo.dpr
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Application
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Cfg_1
29 | true
30 | true
31 |
32 |
33 | true
34 | Base
35 | true
36 |
37 |
38 | true
39 | Cfg_2
40 | true
41 | true
42 |
43 |
44 | .\$(Platform)\$(Config)
45 | .\$(Platform)\$(Config)
46 | false
47 | false
48 | false
49 | false
50 | false
51 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
52 | $(BDS)\bin\delphi_PROJECTICON.ico
53 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
54 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
55 | DesignBoxDemo
56 |
57 |
58 | DBXSqliteDriver;RESTComponents;KernowSoftware;DBXInterBaseDriver;MARSClient.FireDAC;sgcWebSocketsD10_3;vclactnband;vclFireDAC;tethering;svnui;JvGlobus;FireDACADSDriver;JvPluginSystem;JvMM;vcltouch;JvBands;vcldb;bindcompfmx;svn;JvJans;JvNet;DPFiOSPackagesDX10;inetdb;JvAppFrm;RvXmlD10_3;FmxTeeUI;JvDotNetCtrls;FireDACIBDriver;fmx;fmxdae;RVPkgD10_3;vclib;rbUSER1926;JvWizards;MonkeyBuilder;dbexpress;IndyCore;vclx;JvPageComps;dsnap;TMSMQTTPkgDEDXE12;FireDACCommon;JvDB;RESTBackendComponents;VCLRESTComponents;soapserver;TMSVCLUIPackPkgWizDXE12;MARSServerWizard;JclDeveloperTools;vclie;TMSVCLUIPackPkgDXE12;bindengine;DBXMySQLDriver;CloudService;JvCmp;FireDACMySQLDriver;JvHMI;rbRCL1926;rbTCUI1926;FireDACCommonODBC;FireDACCommonDriver;RvHtmlD10_3;inet;iCrew;bindcompdbx;IndyIPCommon;JvCustom;vcl;IndyIPServer;RVMathD10_3;JvXPCtrls;IndySystem;dsnapcon;rbIDE1926;FireDACMSAccDriver;fmxFireDAC;RVASpellPkgD10_3;vclimg;RichViewActionsD10_3;TeeDB;FireDAC;Jcl;TMSMQTTPkgDXE12;JvCore;JvCrypt;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;rbTC1926;RVIndyD10_3;FMXTee;TMSVCLUIPackPkgXlsDXE12;rbBDE1926;soaprtl;DbxCommonDriver;JvDlgs;JvRuntimeDesign;ibxpress;Tee;JvManagedThreads;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;JvTimeFramework;rtl;RVDBPkgD10_3;DbxClientDriver;CustomIPTransport;vcldsnap;JvStdCtrls;JvSystem;MARSClient.Core;bindcomp;appanalytics;TMSVCLUIPackPkgExDXE12;JVEsoft;EasyWebRun_D10;IndyIPClient;bindcompvcl;SynEdit_R;TeeUI;JvDocking;dbxcds;VclSmp;JvPascalInterpreter;adortl;PentireFMX;RVHunSpellPkgD10_3;JclVcl;dsnapxml;dbrtl;inetdbxpress;IndyProtocols;JvControls;JvPrintPreview;JclContainers;rbUSERDesign1926;fmxase;$(DCC_UsePackage)
59 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
60 | Debug
61 | true
62 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
63 | 1033
64 | $(BDS)\bin\default_app.manifest
65 |
66 |
67 | DEBUG;$(DCC_Define)
68 | true
69 | false
70 | true
71 | true
72 | true
73 |
74 |
75 | false
76 | true
77 | PerMonitorV2
78 | true
79 | 1033
80 |
81 |
82 | false
83 | RELEASE;$(DCC_Define)
84 | 0
85 | 0
86 |
87 |
88 | true
89 | PerMonitorV2
90 |
91 |
92 |
93 | MainSource
94 |
95 |
96 |
97 | dfm
98 |
99 |
100 |
101 |
102 | Cfg_2
103 | Base
104 |
105 |
106 | Base
107 |
108 |
109 | Cfg_1
110 | Base
111 |
112 |
113 |
114 | Delphi.Personality.12
115 | Application
116 |
117 |
118 |
119 | DesignBoxDemo.dpr
120 |
121 |
122 | Microsoft Office 2000 Sample Automation Server Wrapper Components
123 | Microsoft Office XP Sample Automation Server Wrapper Components
124 |
125 |
126 |
127 |
128 |
129 | DesignBoxDemo.exe
130 | true
131 |
132 |
133 |
134 |
135 | .\
136 | true
137 |
138 |
139 |
140 |
141 | 1
142 |
143 |
144 | Contents\MacOS
145 | 1
146 |
147 |
148 | 0
149 |
150 |
151 |
152 |
153 | classes
154 | 1
155 |
156 |
157 | classes
158 | 1
159 |
160 |
161 |
162 |
163 | res\xml
164 | 1
165 |
166 |
167 | res\xml
168 | 1
169 |
170 |
171 |
172 |
173 | library\lib\armeabi-v7a
174 | 1
175 |
176 |
177 |
178 |
179 | library\lib\armeabi
180 | 1
181 |
182 |
183 | library\lib\armeabi
184 | 1
185 |
186 |
187 |
188 |
189 | library\lib\armeabi-v7a
190 | 1
191 |
192 |
193 |
194 |
195 | library\lib\mips
196 | 1
197 |
198 |
199 | library\lib\mips
200 | 1
201 |
202 |
203 |
204 |
205 | library\lib\armeabi-v7a
206 | 1
207 |
208 |
209 | library\lib\arm64-v8a
210 | 1
211 |
212 |
213 |
214 |
215 | library\lib\armeabi-v7a
216 | 1
217 |
218 |
219 |
220 |
221 | res\drawable
222 | 1
223 |
224 |
225 | res\drawable
226 | 1
227 |
228 |
229 |
230 |
231 | res\values
232 | 1
233 |
234 |
235 | res\values
236 | 1
237 |
238 |
239 |
240 |
241 | res\values-v21
242 | 1
243 |
244 |
245 | res\values-v21
246 | 1
247 |
248 |
249 |
250 |
251 | res\values
252 | 1
253 |
254 |
255 | res\values
256 | 1
257 |
258 |
259 |
260 |
261 | res\drawable
262 | 1
263 |
264 |
265 | res\drawable
266 | 1
267 |
268 |
269 |
270 |
271 | res\drawable-xxhdpi
272 | 1
273 |
274 |
275 | res\drawable-xxhdpi
276 | 1
277 |
278 |
279 |
280 |
281 | res\drawable-ldpi
282 | 1
283 |
284 |
285 | res\drawable-ldpi
286 | 1
287 |
288 |
289 |
290 |
291 | res\drawable-mdpi
292 | 1
293 |
294 |
295 | res\drawable-mdpi
296 | 1
297 |
298 |
299 |
300 |
301 | res\drawable-hdpi
302 | 1
303 |
304 |
305 | res\drawable-hdpi
306 | 1
307 |
308 |
309 |
310 |
311 | res\drawable-xhdpi
312 | 1
313 |
314 |
315 | res\drawable-xhdpi
316 | 1
317 |
318 |
319 |
320 |
321 | res\drawable-mdpi
322 | 1
323 |
324 |
325 | res\drawable-mdpi
326 | 1
327 |
328 |
329 |
330 |
331 | res\drawable-hdpi
332 | 1
333 |
334 |
335 | res\drawable-hdpi
336 | 1
337 |
338 |
339 |
340 |
341 | res\drawable-xhdpi
342 | 1
343 |
344 |
345 | res\drawable-xhdpi
346 | 1
347 |
348 |
349 |
350 |
351 | res\drawable-xxhdpi
352 | 1
353 |
354 |
355 | res\drawable-xxhdpi
356 | 1
357 |
358 |
359 |
360 |
361 | res\drawable-xxxhdpi
362 | 1
363 |
364 |
365 | res\drawable-xxxhdpi
366 | 1
367 |
368 |
369 |
370 |
371 | res\drawable-small
372 | 1
373 |
374 |
375 | res\drawable-small
376 | 1
377 |
378 |
379 |
380 |
381 | res\drawable-normal
382 | 1
383 |
384 |
385 | res\drawable-normal
386 | 1
387 |
388 |
389 |
390 |
391 | res\drawable-large
392 | 1
393 |
394 |
395 | res\drawable-large
396 | 1
397 |
398 |
399 |
400 |
401 | res\drawable-xlarge
402 | 1
403 |
404 |
405 | res\drawable-xlarge
406 | 1
407 |
408 |
409 |
410 |
411 | res\values
412 | 1
413 |
414 |
415 | res\values
416 | 1
417 |
418 |
419 |
420 |
421 | 1
422 |
423 |
424 | Contents\MacOS
425 | 1
426 |
427 |
428 | 0
429 |
430 |
431 |
432 |
433 | Contents\MacOS
434 | 1
435 | .framework
436 |
437 |
438 | Contents\MacOS
439 | 1
440 | .framework
441 |
442 |
443 | 0
444 |
445 |
446 |
447 |
448 | 1
449 | .dylib
450 |
451 |
452 | 1
453 | .dylib
454 |
455 |
456 | 1
457 | .dylib
458 |
459 |
460 | Contents\MacOS
461 | 1
462 | .dylib
463 |
464 |
465 | Contents\MacOS
466 | 1
467 | .dylib
468 |
469 |
470 | 0
471 | .dll;.bpl
472 |
473 |
474 |
475 |
476 | 1
477 | .dylib
478 |
479 |
480 | 1
481 | .dylib
482 |
483 |
484 | 1
485 | .dylib
486 |
487 |
488 | Contents\MacOS
489 | 1
490 | .dylib
491 |
492 |
493 | Contents\MacOS
494 | 1
495 | .dylib
496 |
497 |
498 | 0
499 | .bpl
500 |
501 |
502 |
503 |
504 | 0
505 |
506 |
507 | 0
508 |
509 |
510 | 0
511 |
512 |
513 | 0
514 |
515 |
516 | 0
517 |
518 |
519 | Contents\Resources\StartUp\
520 | 0
521 |
522 |
523 | Contents\Resources\StartUp\
524 | 0
525 |
526 |
527 | 0
528 |
529 |
530 |
531 |
532 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
533 | 1
534 |
535 |
536 |
537 |
538 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
539 | 1
540 |
541 |
542 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
543 | 1
544 |
545 |
546 |
547 |
548 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
549 | 1
550 |
551 |
552 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
553 | 1
554 |
555 |
556 |
557 |
558 | 1
559 |
560 |
561 | 1
562 |
563 |
564 | 1
565 |
566 |
567 |
568 |
569 | 1
570 |
571 |
572 | 1
573 |
574 |
575 | 1
576 |
577 |
578 |
579 |
580 | 1
581 |
582 |
583 | 1
584 |
585 |
586 | 1
587 |
588 |
589 |
590 |
591 | 1
592 |
593 |
594 | 1
595 |
596 |
597 | 1
598 |
599 |
600 |
601 |
602 | 1
603 |
604 |
605 | 1
606 |
607 |
608 | 1
609 |
610 |
611 |
612 |
613 | 1
614 |
615 |
616 | 1
617 |
618 |
619 | 1
620 |
621 |
622 |
623 |
624 | 1
625 |
626 |
627 | 1
628 |
629 |
630 | 1
631 |
632 |
633 |
634 |
635 | 1
636 |
637 |
638 | 1
639 |
640 |
641 | 1
642 |
643 |
644 |
645 |
646 | 1
647 |
648 |
649 | 1
650 |
651 |
652 | 1
653 |
654 |
655 |
656 |
657 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
658 | 1
659 |
660 |
661 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
662 | 1
663 |
664 |
665 |
666 |
667 | 1
668 |
669 |
670 | 1
671 |
672 |
673 | 1
674 |
675 |
676 |
677 |
678 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
679 | 1
680 |
681 |
682 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
683 | 1
684 |
685 |
686 |
687 |
688 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
689 | 1
690 |
691 |
692 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
693 | 1
694 |
695 |
696 |
697 |
698 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
699 | 1
700 |
701 |
702 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
703 | 1
704 |
705 |
706 |
707 |
708 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
709 | 1
710 |
711 |
712 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
713 | 1
714 |
715 |
716 |
717 |
718 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
719 | 1
720 |
721 |
722 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
723 | 1
724 |
725 |
726 |
727 |
728 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
729 | 1
730 |
731 |
732 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
733 | 1
734 |
735 |
736 |
737 |
738 | 1
739 |
740 |
741 | 1
742 |
743 |
744 | 1
745 |
746 |
747 |
748 |
749 | 1
750 |
751 |
752 | 1
753 |
754 |
755 | 1
756 |
757 |
758 |
759 |
760 | 1
761 |
762 |
763 | 1
764 |
765 |
766 | 1
767 |
768 |
769 |
770 |
771 | 1
772 |
773 |
774 | 1
775 |
776 |
777 | 1
778 |
779 |
780 |
781 |
782 | 1
783 |
784 |
785 | 1
786 |
787 |
788 | 1
789 |
790 |
791 |
792 |
793 | 1
794 |
795 |
796 | 1
797 |
798 |
799 | 1
800 |
801 |
802 |
803 |
804 | 1
805 |
806 |
807 | 1
808 |
809 |
810 | 1
811 |
812 |
813 |
814 |
815 | 1
816 |
817 |
818 | 1
819 |
820 |
821 | 1
822 |
823 |
824 |
825 |
826 | 1
827 |
828 |
829 | 1
830 |
831 |
832 | 1
833 |
834 |
835 |
836 |
837 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
838 | 1
839 |
840 |
841 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
842 | 1
843 |
844 |
845 |
846 |
847 | 1
848 |
849 |
850 | 1
851 |
852 |
853 | 1
854 |
855 |
856 |
857 |
858 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
859 | 1
860 |
861 |
862 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
863 | 1
864 |
865 |
866 |
867 |
868 | 1
869 |
870 |
871 | 1
872 |
873 |
874 | 1
875 |
876 |
877 |
878 |
879 | 1
880 |
881 |
882 | 1
883 |
884 |
885 | 1
886 |
887 |
888 |
889 |
890 | 1
891 |
892 |
893 | 1
894 |
895 |
896 | 1
897 |
898 |
899 |
900 |
901 | 1
902 |
903 |
904 | 1
905 |
906 |
907 | 1
908 |
909 |
910 |
911 |
912 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
913 | 1
914 |
915 |
916 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
917 | 1
918 |
919 |
920 |
921 |
922 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
923 | 1
924 |
925 |
926 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
927 | 1
928 |
929 |
930 |
931 |
932 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
933 | 1
934 |
935 |
936 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
937 | 1
938 |
939 |
940 |
941 |
942 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
943 | 1
944 |
945 |
946 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
947 | 1
948 |
949 |
950 |
951 |
952 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
953 | 1
954 |
955 |
956 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
957 | 1
958 |
959 |
960 |
961 |
962 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
963 | 1
964 |
965 |
966 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
967 | 1
968 |
969 |
970 |
971 |
972 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
973 | 1
974 |
975 |
976 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
977 | 1
978 |
979 |
980 |
981 |
982 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
983 | 1
984 |
985 |
986 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
987 | 1
988 |
989 |
990 |
991 |
992 | 1
993 |
994 |
995 | 1
996 |
997 |
998 |
999 |
1000 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1001 | 1
1002 |
1003 |
1004 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1005 | 1
1006 |
1007 |
1008 |
1009 |
1010 | 1
1011 |
1012 |
1013 | 1
1014 |
1015 |
1016 |
1017 |
1018 | ..\
1019 | 1
1020 |
1021 |
1022 | ..\
1023 | 1
1024 |
1025 |
1026 |
1027 |
1028 | 1
1029 |
1030 |
1031 | 1
1032 |
1033 |
1034 | 1
1035 |
1036 |
1037 |
1038 |
1039 | ..\$(PROJECTNAME).launchscreen
1040 | 64
1041 |
1042 |
1043 | ..\$(PROJECTNAME).launchscreen
1044 | 64
1045 |
1046 |
1047 |
1048 |
1049 | 1
1050 |
1051 |
1052 | 1
1053 |
1054 |
1055 | 1
1056 |
1057 |
1058 |
1059 |
1060 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
1061 | 1
1062 |
1063 |
1064 |
1065 |
1066 | ..\
1067 | 1
1068 |
1069 |
1070 | ..\
1071 | 1
1072 |
1073 |
1074 |
1075 |
1076 | Contents
1077 | 1
1078 |
1079 |
1080 | Contents
1081 | 1
1082 |
1083 |
1084 |
1085 |
1086 | Contents\Resources
1087 | 1
1088 |
1089 |
1090 | Contents\Resources
1091 | 1
1092 |
1093 |
1094 |
1095 |
1096 | library\lib\armeabi-v7a
1097 | 1
1098 |
1099 |
1100 | library\lib\arm64-v8a
1101 | 1
1102 |
1103 |
1104 | 1
1105 |
1106 |
1107 | 1
1108 |
1109 |
1110 | 1
1111 |
1112 |
1113 | 1
1114 |
1115 |
1116 | Contents\MacOS
1117 | 1
1118 |
1119 |
1120 | Contents\MacOS
1121 | 1
1122 |
1123 |
1124 | 0
1125 |
1126 |
1127 |
1128 |
1129 | library\lib\armeabi-v7a
1130 | 1
1131 |
1132 |
1133 |
1134 |
1135 | 1
1136 |
1137 |
1138 | 1
1139 |
1140 |
1141 |
1142 |
1143 | Assets
1144 | 1
1145 |
1146 |
1147 | Assets
1148 | 1
1149 |
1150 |
1151 |
1152 |
1153 | Assets
1154 | 1
1155 |
1156 |
1157 | Assets
1158 | 1
1159 |
1160 |
1161 |
1162 |
1163 |
1164 |
1165 |
1166 |
1167 |
1168 |
1169 |
1170 |
1171 |
1172 |
1173 | True
1174 |
1175 | False
1176 |
1177 | 12
1178 |
1179 |
1180 |
1181 |
1182 |
1183 |
--------------------------------------------------------------------------------
/Demo/DesignBoxDemo.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gmurt/DesignBox/932c1aeb15308863cac7c338c7b591353c663781/Demo/DesignBoxDemo.res
--------------------------------------------------------------------------------
/Demo/untMain.dfm:
--------------------------------------------------------------------------------
1 | object frmMain: TfrmMain
2 | Left = 0
3 | Top = 0
4 | Caption = 'frmMain'
5 | ClientHeight = 916
6 | ClientWidth = 1065
7 | Color = clBtnFace
8 | DoubleBuffered = True
9 | Font.Charset = DEFAULT_CHARSET
10 | Font.Color = clWindowText
11 | Font.Height = -12
12 | Font.Name = 'Segoe UI'
13 | Font.Style = []
14 | OldCreateOrder = False
15 | OnCreate = FormCreate
16 | PixelsPerInch = 96
17 | TextHeight = 15
18 | object Bevel1: TBevel
19 | Left = 0
20 | Top = 129
21 | Width = 8
22 | Height = 719
23 | Align = alLeft
24 | Shape = bsSpacer
25 | ExplicitTop = 49
26 | ExplicitHeight = 362
27 | end
28 | object Bevel2: TBevel
29 | Left = 0
30 | Top = 848
31 | Width = 1065
32 | Height = 8
33 | Align = alBottom
34 | Shape = bsSpacer
35 | ExplicitLeft = 8
36 | ExplicitTop = 588
37 | ExplicitWidth = 832
38 | end
39 | object Bevel3: TBevel
40 | Left = 1057
41 | Top = 129
42 | Width = 8
43 | Height = 719
44 | Align = alRight
45 | Shape = bsSpacer
46 | ExplicitLeft = 50
47 | ExplicitTop = 49
48 | ExplicitHeight = 362
49 | end
50 | object Bevel4: TBevel
51 | Left = 0
52 | Top = 121
53 | Width = 1065
54 | Height = 8
55 | Align = alTop
56 | Shape = bsSpacer
57 | ExplicitLeft = -8
58 | ExplicitTop = 81
59 | ExplicitWidth = 669
60 | end
61 | object DesignBox1: TDesignBox
62 | Left = 8
63 | Top = 129
64 | Width = 1049
65 | Height = 719
66 | HorzScrollBar.Tracking = True
67 | VertScrollBar.Tracking = True
68 | Align = alClient
69 | BackgroundColor = clBtnFace
70 | GridOptions.Visible = True
71 | PopupMenu = PopupMenu1
72 | RulerOptions.ForegroundColor = clGray
73 | RulerOptions.BackgroundColor = clWindow
74 | RulerOptions.Units = 'mm'
75 | RulerOptions.MeasurementSystem = dbMetric
76 | RulerOptions.Font.Charset = DEFAULT_CHARSET
77 | RulerOptions.Font.Color = clWindowText
78 | RulerOptions.Font.Height = -13
79 | RulerOptions.Font.Name = 'Segoe UI'
80 | RulerOptions.Font.Style = []
81 | PageWidthMM = 100
82 | PageHeightMM = 100
83 | Scale = 1.000000000000000000
84 | OnChange = DesignBox1Change
85 | OnMouseDown = DesignBox1MouseDown
86 | OnMouseMove = DesignBox1MouseMove
87 | OnSelectItem = DesignBox1SelectItem
88 | AfterDrawItem = DesignBox1AfterDrawItem
89 | AfterEditItem = DesignBox1AfterEditItem
90 | end
91 | object Panel1: TPanel
92 | Left = 0
93 | Top = 0
94 | Width = 1065
95 | Height = 121
96 | Align = alTop
97 | BevelOuter = bvNone
98 | TabOrder = 0
99 | object Image1: TImage
100 | Left = 900
101 | Top = -5
102 | Width = 128
103 | Height = 128
104 | AutoSize = True
105 | Picture.Data = {
106 | 0954506E67496D61676589504E470D0A1A0A0000000D49484452000000800000
107 | 00800806000000C33E61CB0000000473424954080808087C0864880000364949
108 | 44415478DAED9D079C55C5D987E72EBB2020581054EC8A25F65EB08B122BD87B
109 | 8B1A3596583E5BD4249A68624BEC9A628DBDA2067BC386BD774504EC282A45CA
110 | B2BBF7FB3FE7CC5CE6CE9D73F7962560CCFB6338774F99FACECCDB2767FE073F
111 | 69C8CDEA0ACC8ED0AB572FB3F0C20B9BA5975EDA74EBD62DB997CBA55D95CFE7
112 | A3DF70FF830F3E30DF7CF38DF9E8A38F6675132A86FF218085C6C646B3CC32CB
113 | 9875D75DD7CC37DF7C85FB6EE0CB418814E3C68D33CF3EFB6C82102D2D2DB3BA
114 | 6965E17F0820586BADB5CC0A2BAC607AF7EE5D18F04A063E062003DF720511EE
115 | BAEBAEE43ABBC24F1A01E69D775EB3FDF6DB274B7ED219C1E06B107BEAF72AFA
116 | B9817E6FAADFCB292DA8DFBCF0B9AE1FE9EF27DADADA1E6868687845F79AC332
117 | 264F9E6C6EBDF556F3D5575FCDEAE646E1278B00CCFAF5D75FDF74EEDCB9E8BE
118 | 9DBD73E97A88FEDC576959FDEED44E76CDFAE619A5B3F5EE43E14390E0C61B6F
119 | 9C2D57829F1C02B0D76FBBEDB6A65FBF7EC960FBB39E81D76C3E56EFFC5AB7E6
120 | AA257FE5718D2E27298DF5EFCFAE2BC14F0A0158F2B7DC724BD3B76FDFD8E0B3
121 | C49FA3B4469DC528AB3CDBC1D64A5F7B37CD279F7C626EBAE9A659DD0D45F093
122 | 41803E7DFA989D77DED974EDDAD568BFF6F7F939F5FBF7BA776C47F687F27D59
123 | 6947E5FD89FD3B49AFBFFEBA79E8A187EACDBEC3E0278100CCFCDD77DFDD74EF
124 | DE7D46C353049857D7EB9506EA77434797AB017FD6AE2CCD0E01A64D9B66AEBF
125 | FE7AF3EDB7DFCEEA6E49FB6156576066C3FCF3CF6F76DA69A7C2E0BB99DFDADA
126 | BA8666FDF59D3A755A766696AF413F4FE92495DBE690E0C30F3F4CD8C3D901FE
127 | EB11E0D0430F353D7AF4481B3B63D95F5183FF80FEEE5B491EF954D283780F32
128 | 7E9AD2C2FA767153C1AAA14F7F10B20D12A23DEE0B8CAEBCF2CAD9822BF88F21
129 | 40CF9E3D93FDB71AA0836A95A4396A1F71AE2FD4D120ACADC1BFB382C19F228E
130 | E019BD779DBE7954D7CF83E7080FF656FA95D2D2B93292237DFF9ED22A7A65BA
131 | BBF7D65B6F997BEFBD776674755530D31080C1A6F391A92368996BAEB9927BD5
132 | 88564180E9D3A727F2F5CF3EFB2CF99B6B253068D020B3DC72CBCD68684AE9AF
133 | A86BD999AF77DA74B94FE9CF428097842CD3CB95A3F7FBE872A6DE3BB0DC7BCA
134 | 6B4F957BB3FB1B5AE05FFFFAD72CA7053A1C0198E9ABACB24A2253F707BB5AD1
135 | 6A4CE9C23DF869F650A8697E4F9C38B1E43D64FA83070F0ED9BC7EFAF9A0066A
136 | 89EC22F31F291DA7F7FFCDDF615DDA6903BCFF697AA77346E6AFE9B2B1525261
137 | 218479F4D147CD2BAFBCD2D1435015742802205C81CF761AB4AC4EB32256664E
138 | 6FA526A51F746F82AEDFEA7E74638C210408F0CE3BEF98F7DF7FBFB03240F1EF
139 | B7DF7EA6A9A9C9DFF3BBE937CBF83A5975D780DCA6E747EBE71761B9AE6C375B
140 | 51163999BF07B4E38FBA774246FD5B75D95DE90E97EFEC2017E83004D868A38D
141 | 92599F645ABCE7E69496D0CCDB4CD74DF46C80D2FC59F9E81D7AF94D0DC86B7A
142 | EF4DFD1EAEF4B17E4F731DE7BD9B5C4564252B01B369D555572DD2E6E91D088F
143 | 6B54FE2E19E5FDA0CB594A67469E255B1008F6DE7BEF9991234726F741B23DF7
144 | DCB304D1556715D300A26D1C2B4BCFEFD5B3EDFCBA5F74D14566EAD4A91D350C
145 | 55438720C07AEBAD972040041653FA83D2D66A78AF5AF256474DD2E543A58795
146 | 1ED4DF4F3896CA7B276D4C7CCB395DE9E4983C5FDFA1BC41DE7FBB525B981F34
147 | C7534F3D95A8754380B318306040B2DDF8650A195711C5FF48ACBDCA779A121C
148 | C438B7B2DC7FFFFD094138ABA06E0460C66DB1C51645A25541931A77A4FE664F
149 | 9CB3232BAC7CC7E872A3AE3728BDAFFCCBB1093FD773665D43249F711AAC5F68
150 | B086FA08E406E6E9A79F4E74FAED01DA449FD3B057DAFDBB8CFA1FA1CB65AE9C
151 | 279F7CD23CFFFCF31DD9455541DD0870F8E187274BA187002CB9E7291D12EBF8
152 | 8E0256062DA92FA88CBFEB4FA42A21B5CE4C7B4CA95FE4DBA9622F076BF01F2E
153 | EA0CD51FBAE2DFFFFEB719356A5445F56025D8679F7D124193D707EC4123F4BB
154 | 67F8BEEACC2AB69543982FBFFC32E1066615D485003FFFF9CFCDCA2BAFEC379C
155 | 65F60AFDDEEF3FDC8E919ACDE7E87AA7F6E06FD4C18DAAC35D4A5B872FB2E76B
156 | 100ED47BB7FA041EC05E5C8BDA76C92597343BEEB863918E4170A67EFF2652FE
157 | A7BAACA5F415654F9932C55C7BEDB566C28409FFE12E4BA1660480A7DF7BEFBD
158 | CDDC73CF5D40000DC2AF1A1B1B2FA927DF5AC14AEB4669702F87F0D4EC3E2B26
159 | 9CD1B3A374B9D4F2FB0902C092FDF0C30FE6CE3BEF3463C78EADB6E804D80A96
160 | 5DB648AA8CE0E7695DBBFB37E1062C31FC8C2B1F0498556AE29A076A89259648
161 | B46BDEECFF99AE4F9A544256094C55E3D1942162A5D79D44043D3CB2DBC595E0
162 | 167A2BDF392AAD97450413197C08C7F3753DDE9FF50C3E1CC42DB7DC62BEFFFE
163 | FB9A3B126197633F2DB01A3EA86A6C16A9E3C926E53C120478F8E187CDABAFBE
164 | 5A73D9F540CD083070E0C084004C324967FF159AFD07B4F79D1ACC60FFC3F2DD
165 | A3952664BC4707824C20C1AA7A6F0B5DD1AC2D5426EFACC1E7D9A3563D3BD147
166 | 0066FE6DB7DD56F3CCF7619B6DB6496C0B5DF16AE3AFB4125D1AA9CB505D06D9
167 | DFC9E08304B3026A4680030F3C30C17A4B392FA0FDEF63DDEE92F53E2C903AE4
168 | 2ABD7FBCD2E45ACB553E6BE87B78FAC14A4BE977A3F72C9F31F82ABA6D2044A1
169 | 772F49E81A20C4EEBEFBEE643FAE07900F1C74D04169C7A6FDB2A8ED97A23AE9
170 | FE685D9670F578EDB5D766998D40CD0870C20927F80DDD570DBDA6DCFB1A80C3
171 | 4C4A2016B16D5976F62EEF3200858DF5CEA17A6F90F2E96CBFC945F20737E0BD
172 | 2FD6EFB39D7EDE3D27B10D3CFEF8E38998B91E38E08003124194578D0F424E04
173 | 3A40FD3197FA6C3265B30A5D7AE9A5D517D6015033029C78E289FE9F37AB91BB
174 | C6DEB3C4D6454AC77AF70ACFC78F1F9F88449DB2C759E8C25DC05EA2444A2A5A
175 | 061910AEE832541DBA72E459DE17DBEA37529713B465A11708DF4D843E20424C
176 | C750096068DABF7F7FE3F206E9F4FBF048BD40DE571D029E7BEEB9B50E455D50
177 | 130220F387EDF12C685F8CF1DBB6A12394D673D22FD7D1105F08405E7EF9E5CC
178 | A5174E03E512D236922FE20DCAC072F7D590580C07DFBB3F4508C0C09CA13F7F
179 | 089E25B2809B6FBEB9264D1D062810835E99FBE8F7B5913AEFA1CB2DAECC73CE
180 | 39A796A1A81B6A420066274A1FDBC8259540807962EFAAA38F55475FE01ACA37
181 | 2C79F0DBD57630AB03C4272A66C77D28CF265D212807051DCCF23AA11DBDC35B
182 | 4ABFA4FEC66AFFDC8C4407F0E28B2F56240D0C61DF7DF7350B2EB8A02B6335D5
183 | E139A526FF1D4D80DFEADE99AECC1F3302E038F142D840DB30967F74EF635D43
184 | 99EDF59847EFB1C71E21026CA9EB10A52202541D7C8190EF42211F1DBD77AC7E
185 | B64EF07E7FD5FB7F46C7E0EAE9125B026ADB6A08C4ADB7DEDAACB8E28AAE7FC0
186 | 8417431B04E5CDB678B42BEF8A2BAE9825B6017523802A3F10F3AA8CCE4507BE
187 | BADFA92FBDF452B2C7D6020C3C5AB8A4E269D9B08ACFABFCD583723F555AC158
188 | DDBB28FDD5C5A29EA76FD6D79F8DB1BCF5FE4310AA7AE763575F776560EEB8E3
189 | 0E2396AE48CD0CB04D391F0307AC548B2EBAA8FBB3939E3DABB466501EC6217B
190 | BA32860F1F5E2040B3EC1C660674C40A3008B16B46A75EA1CBC1AE91A86D2FBB
191 | ECB29AD9AD5D76D925114025154F11601B5DEFF1297F561D2578B16B5CB916BA
192 | AAFCDD2D22CC1DCB5FCF47E9D9FEFAF9948F00006262CCCC420428DBB9338464
193 | 77E8BA43D0378FE832D02FC35D41008863C79D8C1E3D3AE9B39856B25E98D92B
194 | 00AAD8D35DE3D84F51AFD6028B2DB698D96DB7DD7C6ABEAB7EA3765D2F28F341
195 | 5DB647EEE077AA03CDF245F5CDB9AAF30E192AE2A9DAFFCF04514CE0EB578BC3
196 | A8FDE6AFD6D8C42F070E606DDD6F8DD4A1240FB7823A8BA84F3FFD3449F5EA10
197 | EA4600CD9A0DD5594FC4DE5385E1FDFFE61A558FCC7BF3CD3737ABAFBEBA8F00
198 | AC3CB70782A036CB71BCE8EFE311405DBD8F96F43FE9DDDEF1AAE76F6A6E6E3E
199 | 42337E7C6CE0D5EE7985447DF50CD68415652E9C4C74ED6909621FB930445D3F
200 | 28E033A51390865A05D1E7EDA8B64BDA0232D09FAC0C98C8D5023521C04A2BAD
201 | E4AF00ABAB71CFC7669366DB2F75FF4A7E43F98300B5EC6DECB3471E79645A61
202 | BBF7AB4CC8F3A27D558372B3EEEF19B29BBEBEDFD7DB8B365858037CB57E6F62
203 | 2226DE5825E972899E2FA63C96B66268D282FA5D9589734440158AAD5112313B
204 | 46AB5E6F685251F6DB4A6374FF4B8457B17C5DDB68272B032B6C35C464DD0820
205 | 58DCCA016216308CDAA5AEA2B5AE009B6DB6995973CD355D47D2D8819ABDF7FB
206 | F557FEC8F837D5CF57C23DD5FD8EF9FE2B2F66EFC5EAF03D62FD514EBF500D54
207 | 800031604543370D1220C67E54E9497D526243E6DA0AFB0A22B0DD56A2D6AEA9
208 | 51283CB6DA6A2B27EDEA6E1160B9F03D3C627439C755B01604C0E002BEDA195C
209 | 98948AFFB77EFFDC7F4FB3FF1F2AE3506F8B28D9B335D8088A20CF710CC1866D
210 | 2DBD83DA760E6F9588214172B18F6AEAB31A11A004906F981411AED4EFA7F4F9
211 | 7759EFC259C0759523BA6B6A0C420E6C01BC19F5484CEDA90EBF58F78F729D38
212 | 74E8D0C48AB71A587EF9E5132D9B27B6652918A67CBB79AF4D575928E34785FB
213 | A41063317D8B1671633D5B55BF59B17A6474AE6B4F87AE047CAA723B0401FCA6
214 | 290B58D6DB74FD5BCE3AA1866DF9E28B2FCC638F3D96E94F51F3B276FCF1C7FB
215 | C298F3D5C0A3220D873BD8DA55A816AD5744B972756871A43D13ABDF03603321
216 | CC840C2B698B6085D842EFFEAC9AF2CA21817D4EC78FD4E36F4C2AE01AAF8430
217 | 89E57ABC35349DD1C1B91CDEC7F3A95E0787F9E832390B19ABAC3353FC42A5CB
218 | 953EF1EE17DEC11731C646D68C00C71D775CC1044A05EDA4DFB7452A86646359
219 | 57996AB45EAC320858D659671D5FB132BF061603926E5E1993B5EFED66256DDB
220 | E93942A13E75D823B628CF8F84449FABDCFE11FD82F0ACF5363DDBAF3DAADDFB
221 | 867A87FE064CC99DD1622A1FC4E91857A0205AB31A0398204FC2D69C66D24952
222 | C45E8AA34956E050DB593302C093C39B5B04C0CDFA4B9F25B3156256CCEF9C3D
223 | 40828B2FBEB8ACF207772E143F48FD920ADA55C6A6DF938232A65B3B80465305
224 | D819F825B359D7B7915A5A3F84D73D226B73A51B2CAB57044210BC870EB22B81
225 | CBB3A41CDB3F3104F85869CD700FB7BA8D558464DBE81BCAC79DADE26825766B
226 | 19A2CBE1FAEE2BEF7E92860C1962468C1831A37EB50DFF0C8B206FA57C59BF57
227 | 8B74D4B6BA7F9FABC4830F3E58C2B36257C8A0931FDA3FBFF3BC2B4B29CE9A2B
228 | 050D6E331582DEFDC6124ECFEB8A4D1E83F0956673A65182EADF5FCF6FD4378B
229 | 44FAFA7125044A9342FB02C05B21630830C2224039494EA3DE59CA1AB742E02E
230 | 5D455B517BA3A27FCFD50BF8EEBBEF92F8046E12D68C00106778DF7A54F79FD5
231 | E013C3F7D481845D39C955C23783C682068712ECEA6354BBEDBC1ECA631DE57D
232 | 8895DE1596768BEDD1C1B388F1A5D26BFA1EB12BF4C887E1609733487175D016
233 | B3785353D3DDFABD62A41C9000C7CFB1B17C4102951F43003C86E1427EC85A39
234 | 82F73B299F8D94CF297AB6A1495DD1CA82BE8128DE5CEF8F747522E1E974CF3D
235 | F7D48700E8BD61CFBCFD79FD5CEA7F57E41C994FA36460059BD8EDC3A70E1B36
236 | 2C09D9C272EF1951862E65BDADA5D12F2CE6374658A992D9AF7B503A0FA8B3EE
237 | D7EB6F2995F8FAC5FEF6EFFBC578C223D8C7EBAD4229C822FFA4D260EC0DFD7C
238 | 3D227961B5634CF0D1EB1601A03912A318563FD85E5F6015D649EF76B1F69167
239 | 5742E0528EFA626B95FF85DF46A77DAC4BB8814304C45A6E8643C8D3E136904F
240 | 7DEF90D7BFE5EBDA419CC08E1E60C9436CBABFEEEF69F34CB209893A37FB91DD
241 | EBFA81AEA034BE00AF650D786CB0914BE07E8E5C9D2B2B1484A7B3EAF169107D
242 | 07F179BBEEA3C409911105D2EED0427E19E4816652D73783F7B1A0DEC4BDFBC0
243 | 030F9837DE7823A183D80EF1B046ABE84F101F110473EABB3F2A5FE213443D92
244 | BDB2EEB15B95E33E138FA4E79E7BAE3E0408F4DE89F207FD7BA40298835DE010
245 | 00B1652895CBA54E93480E370875FBF679515D9507ECCE75262578DED1E32941
246 | 99D1819F3469524199821978963530EDDA70C30DCD9C73CEE9D7212178F5F35A
247 | B533743AC95B24D8D65FD62DF2ACAB343C78190DEA8EAE5EF808BEF966118E24
248 | 5B2426666C91A8A2C39521A57D730728615B504E348D51EC20478B01203A82B9
249 | BA10C0370DB315425EFE6E64B63EA74BFF7006EADA5DD4EE76C2F2FFD337ABC7
250 | CAB0147E2E54F99AD4CEE08DD8ACF6FF46AD0AFB890326035F8D2ADA7901BBC8
251 | 265E3BE7D0EF5B94B631C14AA08EA693891C32DE436E2C928B34A6CA031DC92F
252 | 5D5D714AF1A9F3B01E38E0E278824ADAAF8B855D72A9D95926FBC818286DE68B
253 | 91AFB9E69AFA3D78B00E0EB0F249CD8E0D82C2119EC0CEBC9F4F4DB171A3C656
254 | EE705DD9323279766F2FF51180A80A6BBAE711C44A9653069C25BE1E736F1764
255 | 2AF07FA40C740857A9FE83C32A2327D0756F3D6BB583B5B3D2AD41BBB0023DD1
256 | D5B7129330B6043C904088703510E29DA155E2E432FD88800A5D49C1C6AD4310
257 | 00CFE0D5565BCDAF0CCE17183B1669075501B6001ACCD2F93BBDB36AB97C916E
258 | 41404224A9238BE4FE6AEC31BA7FA1EB3C92B32E66D0B36652ADE0C2CC392400
259 | AC520A21CE2DAA1FDB57515FE228A3FB441CC525FC500DCE65411B58F5CE776D
260 | A8D426708E39E6485683B5D75EBB48CBA9FC60931F5699994130F43EDE480524
261 | E91004587CF1C5CDAEBBEEEA23008CFCB32185AAC2BFB0BCE926E5843656B083
262 | 8D1F08F38A5535AFEA3D9FA0C49EFA9EBB075B837CA1DC4CEFDEF767A6EBBCCE
263 | 9630BB3D298D9237E3DE7EA4E83E2B810B34E92381DEEF65B7834D83ACA0EEFF
264 | AAEB6FF48CC821A704E5ECA4CB107E4313556B16EE027204DC064EAFFF2CD3B6
265 | 61BA1474361D8200806F056B0B3A4615F94BA402994C773E0D04712F942D7484
266 | BD1DA39E1F5222E0442148449696B169EE054D9F55B733BD97ED6F3A77EFC988
267 | 250D2E15F3E7AD4970FA8B6C199449DF7C62C6BE34C47C3FE239936F694E5602
268 | 24A0FE76909B611A8F1FE05A611D94CF91CC4A3DDB27B88F87D3ABF6774D7E01
269 | D05F78267B02275681AFB26C15988426B56748A04310004E00E2C48FBA6D45C3
270 | 284C8AFCE3F3298403C04C21480326D2886313DEDEBE8345EFE9FECB5A5A1108
271 | FDD30D3E3A6F10200C2737FFDA3B993E6B6E6F3A77E96A3A4193E6F8972B5C43
272 | 1C70A8994FB1A08008909B93C68E36A31EF88B99FAEDA789FC828E873B08F6E1
273 | C595B04F5C2168F344B802A5058376F4563BC6D58300AC46871C7248D2F75E3D
274 | DECE920F5896B9A047A90B01FC089C11C1C56A2A0C6FA1A523122DB70A4018BE
275 | A0C69FA08E181E29029938C60FEB78DFE25FB8A0DEFFDEEDFDA19571436317B3
276 | D4D6479B79965E37194E7FD06D2E7DF5D98A0DB9DCB2BAB594492D87A768D917
277 | F29977B4AC8C69C835B4D935214502641793279A51CFDC62BE7FF3BE6425C03C
278 | DD8F1164077551EDF5C354BFC5BC3AC78858CA9CCB3DAFC73770830D36486416
279 | 5EF684C11B988100EC91DD5DB935B381C4DA2779461A7E058E66BFB3FC72D410
280 | 4280B084776ECD65388A5AE9DF0BBE224483FFB8FE1EE01AC0CC21CA96AFEB5E
281 | 66F08966DEA59D9DA8C3B59C696E6959B37363E361AA0D2AE2F94DA914947A7D
282 | D7DA967F4A9F5DA445E349BB18A416CD42894953A69B91F79D6D5A3E79359900
283 | 5829330BFD554D755A5F4880D8789E320880A9D74A1D8100A148DEA416431BC4
284 | DECDA7B6878BD685000847A0427DE2C366C86CBAD01790381E3EA8044289DDF5
285 | DEED31618D97E7C1BAFE2DF8169B838B6D4727429DCB2FBFBCF07CE1814798BE
286 | 2B0D300DCE7027977CD34797DF5889597B073F14A0A5A5ED7655E338FDFCCC47
287 | 82D6A913CC0777FCD14CF97A64414ED0A54B97D0DE10B13076FF9D6D3F157583
288 | EE11946A57D76E229039D97CB5005B88E4D0CB9F534CA2B110D189B8D5A16A04
289 | 00D3D9EF975A6AA9C23D6FF08979F38F5CE0BB6F97FB5C641B20943A4B7B9127
290 | 8ED32BD8F709E7BABDF70D2B0553FB4DF73E7EF58F3C9252EBDD165DCB2CBDDD
291 | 31A6CB1C5D93FDDD2EF97DF41BF1F09AA606BD071ABB29535B77EAD2B9E11D1A
292 | D2C660EAC7F763DE361FDE910A3C7100212A698804A2494ED1DE7C9A49651C21
293 | 02E093F83BD7760C59D88FAB0D4D835C00377D6F1CB0521E9DCB38E1247447AB
294 | 1801187CF8606799E335A649953FB1B1B11116271A1B002190950C8612334498
295 | D7848C81E569BB0919A066BB7BF9BCA4B4A1EE4D73088056D151FF8B6E799CE9
296 | B35C7FD3A953CEA4145E7E21EDF343631ABC6A607A6BEB28D107831A3B35BC4B
297 | 55939C757DF79653CCC4CF52F3B635D658C36CB2C92661DFA0BC3A5FE9B08818
298 | FB8C9C8D22E6DA8F8977B556D398CA21B2F6002BECBF678C03ECF546A8C2AB42
299 | 00069FBD6E810516280C900584E434F01726439207CFCE112CB847479444F41E
300 | 6ACDEFFC8EB0F9134CB228648610ED6CE5F31BF7AE4FFD77996721B3D2FE9724
301 | 4B7F32FBF157686BBBA9A9B1D3CEF50CBE57D757B425ACDFD029B500A2AADF8C
302 | 78D98CBCFB8CC23B6C8D08677CF6D0A4F2F967546F5F8EC165A2FA6513DD7FD5
303 | 6F3B265B958691473FC0DEEFB8AF7C6A48820674B3D8FB7A2E044E7C2626B809
304 | D42E0230F850BBCE2DDB5F6A7419A206AC95F5ADDE19AE749015D80CB0B2F050
305 | 3A8875CF1F239FFFC9D91078EF226879C275169EBB8EFAEFBDD21666892D0E2B
306 | 0CFEB4E6D63DBBCED178ADE940D02A70B24A3E3767076CEAA4F1E69D1B8E33D3
307 | 27150C829219094BEC2B6EF4EEA318A57AED704B1E6A6B2C7E3EB3F7939B58EC
308 | B417A4827181F670115A2C202D850D8DDA0908E18EB64AA3A42C1461ACA06511
309 | 00360F414340EC117FEF8E98D0C36B24EA4754BADFBB027369D8B6D0851B5BFE
310 | D59CC182055693C7ADD18383A95A017AA923A738EC45F287BC1F5866C7DF9979
311 | 9658CD2EFDA6AB5682877365E202D7022A73B48AEDAF9F63137AA0B5CDBC2D04
312 | 983C7646D5DD56E99F3F28F846BFE78D2000BF6FB16AEF0202B828E258EE6441
313 | E82369E1D18834D295F3ADD292396B7D445928C7EEBBEFBE6C0470D4BE5F883E
314 | 5CDC2E3359A76C10FAE4AF767F9B16548228624FE402FB3A2B044259E2AC6961
315 | 53F033E8EDBD8353C4E6AEF27000E79D775E218F15F63ECFCCB940BF747F36F9
316 | CD3BE51A86EA8F8A29FE4A71607A4BDBFE9D1A7237F20704E1BBB79D6E268E29
317 | 323F08A9F2657C91B5AD7F1167A4B61050F39FAE6D6E7BBBEAAAAB32C705BE3F
318 | C813E1D8E5B1F72DD7758A9E9FEDD35B6EA5892200326617FBD71B7C9C2A5962
319 | 563671D076DC828102CB7796C323429FB382FB1027FB5A05127FE3EF3F34576C
320 | FA759A49630E174C9A08EAE460458B00697DCD1F7291008D1D01ADAD6D7026BB
321 | 399670F40BF79AAF9FB9B2E81D5F3B8A8108F684417B8B10407F8ECDA7665B6F
322 | 79FD5430D8F0011A63E38D372E61BFF57B582E237A9A15B6E1C03BC1D7963AC9
323 | 63090220E040B91348B97AE8A347CAECF9984A139099691995F7DBFD105F798C
324 | 32D70D2A898C9A40136CA8D8101EE73D23EFCDB4AF3EE566086E4FC4F2F511A0
325 | C782FDECFBE6F18686B820A45E50D91F2AFFE553D62D6F463E3FD47CFBEC8C99
326 | BAD0420B99BDF6DACB1F9CBFAACF42AFE009A1889C832974D918A3169F2B2090
327 | 86335861350EAD944C2AD57B246BBB43F4ABBC37E054537FF0FDFE2B4100883E
328 | 2FB8011F74B63CFEBE19FDC212C3AC66D92FE2EB7D29A1D72968F21E88E80920
329 | DAF0EB7FCCDFFFF3A9FD3C88F7658CFD0B1140A5BDA3A22AB69EAD129A9BA7B7
330 | F6D436D08AC6F0A3E78A1100332EC2E7E666B890D1163F74FC54EDF1C78872BF
331 | 38D488AA0F51919FE10FD4983163920096485D11F9065641B099E47348C6E0B3
332 | F673924981DDCC5BDF0CAC829D5B791102E080C912E30AB270BA7E9F6A320429
333 | CA149F3C2260B7F8051150013B374495187F06AC70899247DFF03DD2BA0B739E
334 | DB971A81EDDCA6396BCF06F57ADD75D715A97E97DFEB3CD373C17E9606CC8DD1
335 | 75413373203F7EE2B4EE73766B9A1E4300B4A2B0CB76B5C31F025A6661AF8DAC
336 | E9ECAD5786DA41ABE666FB7BCEF521093B45884A07B61F1BD81635B827E7321C
337 | 60F41C73392C8E9AFDFC9E78E28984832AE4E77E40C162E44958360FCBA0D0B1
338 | 9F8F9A1AD968DD10674576F148B6D8A33FFAE8A3C4CA95A859FE997DF934B803
339 | 32EB35824A7F9F0BA277E81E861FC7B80620F727C0940F20400F8B00FAF74EAE
340 | 0AFBF9EA86DF348BF8EBEE6880911E0260A8413B5DFF59A1D563BE54CE6B0B9E
341 | 4B683E1708DAFA9CFA74432C89C255D4831CC6248D8D8D7F3619A26DB6143B2E
342 | 05AA9FF4F5D75F2712C7A2CCDC0F9C3208C2E0F1AF3D559187F47BED0C0CC30D
343 | 09E38E11DEBD820B926F9583D062871D762844BAB0574458D0157DBCEF63BA83
344 | BD74B929C6FECD4080734D8F05D2383D2DAD6D433A3775DA76A68C7F3EFF81AA
345 | B002F568110DF0B14703A02676E1E13254D9340FF3B1A1F60F7C09AECE95460F
346 | 2B785447A041CF4FD60AFDBB5C86514D3E8D7CB61D2261372600E3123BA4AAD0
347 | D9183AB0F77B7BF50996A28F2E31AA08D2BDCBBD82936B96200304001182CAFE
348 | 528DF9BBF7770902A81CD8C7F71D02DC70C30DE6F3CF8B4F70FBD99EE7165600
349 | 7188A73535369C6266023437B75EDDD8D870B043800F86DF6326BE704DF22C0C
350 | 102978D8692E6DDB8893881FC0287B0BD1395CC556419FE0BD04DDE08C62DC84
351 | E17D389C63B364FD29919A6C231F573A2EA9E4C446E0F0969C1ED6A0A3574641
352 | C38C675AE4068773F0B2DCBF29833DD2B97EB999A201BE5148B0BB1390042CD2
353 | F7622D7B69B9CBBB322EB9E49212D3AF65773FC7F4ECDBCF34905F3EBF7263A7
354 | 86A772C5EEE31D01AD6DAD6DBB1B1B100B1AE0ADEBFFAF2008C25DDEF948A89E
355 | 73A84D68760A963948464D7A6A58AB77AF1F14BA49C5EA7EFF2248DBDE5331CF
356 | 4D28DE5090167C83826D27BD33C61F7864268CCBBBEFBE1BFD2E2981E51F5F3F
357 | 3730DAC38F50A75F9451101E3E54E4411F01E0CD29A8DC418F4E7E8D69B3C721
358 | C0BF12F060E90802107B68539F88018B7D1900B0E42E679979165EC6746A4856
359 | 8026B1810F080936321D087669DD485364A2B16C209240D4C2C031C71C536897
360 | 124A9761C1F7B0C8B113C54ECB05C7CBE453A75A8EBBA15F96D36F0C4CFB6754
361 | 8D417E59171C3F3EF5C704686F5C92CE46AEEC79E3324587EBBA7C4647208067
362 | D96A76053123F1FAAD045029C319F8AA5FE5B1BAAEE4DBC3DF01D43066073CFD
363 | 548700002166FD6863BDFBEF6716597B9010206788C3D0DCD2B2F61C9D3B0FCB
364 | 55E03F57E9F88BB6D84FF915CE789B3A798A79E7C6E3CCF4F19F27EC1FD6D18E
365 | 4727E8A45680223F4954E6C69B341E2026C6A36AB9E0FD5735112F1352615BD9
366 | D3C4A1CDB2CFC81A26FA030F54A25C4A7ADBB978D90181E87B2A4BA9C0A9206A
367 | E8DFFDC21058547AC60EB384E5D2C9CB3D9A8323DC43D76F785956220443FED2
368 | 9948CA5E78E185E4EF6E7D97334BEF7C86E9DCD8906C03E920E42FD67E7D68BD
369 | 239FF4725BFECEB634B66F9BE3F0277E3E4208707CF21CD93CD6D1169951CF3D
370 | 2D042804B0CAA726EEB0859362F9A33453DBFF517A3B9FCF65C739109EB7FC49
371 | DF11E174BA3F1E791BE1B4BD15B90801FAF6EDEB3E3ED906518E55944158DC78
372 | 1AAC8F3FFE383970A11AC09206895970946C896C40834F0720093C55753AC76F
373 | 20FE851036084B8025F6FD87F2ED653A756A70F200944284A7DFB5F29A95C2F4
374 | 96B667A636B7ECD2B54BE3D7891ED85A167F70F759E6BB11CF1762187996C298
375 | 7A3DEBD320F9E0808890BDD3DF38CAE05EBF4AA4CF639C11543002A07BBD7BAE
376 | CF92C1AFD4C228C938086E4C18F52D321000D66209BF21D8E4E167572D6044C1
377 | B97B5EDB08C4B047D878FB136350DC9FEEF591006113E5A33C996BA581A6DF80
378 | 834D6322C4B24DCB89B8CA9B7F6A55D851BFAB8E18A2329E9EF8C3D49DBB75ED
379 | 62CFF94BE5DCD3BEFDD4BC75EDAF93775C0C23AF1D98815F18E4931C15978500
380 | 1676B57A831227D840794474B4A342F6DBE5C98967D049951EBA5D82008231BE
381 | F42AA80C94EC06AE506CF208FD5A0B44C2AABFE62B9A7CB5A9FD7B9C3D86FD39
382 | 573E00FDC10A8468B8DFE0534DAF7E6BCCC833610BF3D884EFA3D5E034D1070B
383 | 990A4CC3286B5A73CB598D8D9DC4E672D8635A1EACDFF4E669E693872E321346
384 | A667FD39ED5F525C5A6E915AD6AABCF10B782F68927BDEDDAE529C32367F64B6
385 | BB8FD00FFF49037BBEFAA024C6016A641C4CAB3DF0228600D8B067391660BABA
386 | A5FB1B57AC502A5707028CCB7921E7F391DE12F68FB49D5B44EDA23861259830
387 | A5C5ACB0FB99A6DB7C8B883A72E65B69361ABC05A64D9DBE6B8F1E5DF6B7046E
388 | 2C4C2C821E8E8BC76873843306CD630CCA8AD3DC62BE78F309F3FDD33334AF7E
389 | B02CCBAE7D91F3BC9BF3A9291B1ECFCD6193B020666BB3B615497D7291A5C1F2
390 | F79C3B1C3D598A1510E7D27236046511808170265F8229B9887BB6AD084CFE8A
391 | AEE34928160845562DF85B80F2E1F8943056CE177676F408EEE3298444AD20E9
392 | 724870FBEDB79B6F274E35CBEDFC3BD3B5F752D634D0A4FFD9BD9BFF44D1CFD3
393 | 24224DB7904FF744EFD2DCD2FA9ECAFA4AEC63BAD61BCF24BCB5CD344F9D6C46
394 | BFFE8499F8DC0CF52F21739DF2C78EDB814EB7EFD5373100F5B62E967844EC44
395 | FAD8D67888E896F1C82A30DEAA7DBFF5B921F67BCE4B466D5CAB036C0C013E0F
396 | 65D45E45265B6AF6075711A4728452AFF600E4C0A974255D5F0FCABA5E0D7C56
397 | 887149A41EACBF98404DF46902345D9CF431716AAB5968D3434DEF65D7D3EC6D
398 | 4B5AD9E07C020BEE6185E6DBA5C2F70A2A1494C8FC274F9D66BE7CE422117DC5
399 | FA79DF32C7244524760C5B06752D1C0D2360E5C19C18D7B6CC237563AB803B78
400 | C31F7C54BAA1CD404720000A8C4DB23EC8A7A1D8AFF22B12F2E595401064AA24
401 | E4BCF2450C7DAACA81CD21C0441881EC917C1A91E33B7F56B80320A1097A2CB1
402 | B6996B955DCC9CBD16325DBA362516C309223424CE61065184BF2ABB19DF962E
403 | 1822F63E33DF7DFC8AF9E2F9DB4DEBD4626B5D249AF49BB39BD07758FF3CE72B
404 | B374EF5DB56355ABF4C2260F33F74CD984D5886235B5624451C4EA8B30A860D8
405 | 4100483CA33A1A01E8F013B33E50835057626152D0003288F0E5D51CAFE22380
406 | F23C42844D91E41169A49E4161764116A0E70785FDA5FB77A90E7BA82ED3C395
407 | 003D7AA2F86868324D3DFB9AEE8B2C6FE6ECBD8810A0C1690D9351CE5B62216F
408 | 5700160C6D0766D267EF9A69635E346D2DC5319AD1FA21D1640B4301E4DA2FE0
409 | B0EC22EA5FF57BCC2EEB58E3968DFDA7F75E5342D64F8089F3D4A6238357D010
410 | 422C0E7137EAA1C132114085F4B76ACCCCB8331A1C0410A7060D4888112A54C9
411 | 7E0402B00558F883B539F0F323EAF7CDB623D927AF1712EC624C897FC19D5690
412 | 32DE4702471374C48190C82D10F430F08B2C32235A9CDBFB2D02A01AF7853FF9
413 | 0C76CF6F2306344431BB44E9BAC6C646E7188B73E71BA1D247EFB3CC6EECDA08
414 | 408385CAB16A208600843F793C57DEAA16D12CE15A4B2440186CE0EBD6DE91E8
415 | 7EA0499386643F2C682C4117EEF596777C046FD0406F1564C54A80D4638F9C75
416 | 1A711D54CFE95F704598C387C19AFC01F57E137C1AEBD0A2107631218E034DA2
417 | 5755EFBF08A9A9FB0F7E7EF6FA6C3806166110198F70FD823414238F5A2129C9
418 | 8563F7C4B2DBA841F798323C733E75D53A4A574E032D3A71CB2DC31028F8BDC5
419 | 5684638F3DD6570A959C3B88E24597A7FDFDDDA491C9875A93B170252072E72F
420 | 7236F2A62F27402AE624865980689A814627C24C0FA38184838E514B3E8DFEC5
421 | 5130FBE85A243B89B1B1F9F414936774C594EB1E1F595DDEDE8A72ACB5B10CF3
422 | 38CD7806B2AC70AC02950A7EA20810398C09C41D524EFD6801DE16A618CA7692
423 | DF1807D89E111914F1A4EFFBE6C71A163C642D58FC86B23FBCEE2380AD1B8735
424 | 8030A1E167DE4AC940A429AE2E4E48027DC219850E104333D0187232F0ECE7BE
425 | 6EC21FEC406C8B97CF0EB66F96B12C732ED06226B3D5BBC78A79A3EA77B53513
426 | 2BA259FCF6797D824819A55CD1E9E34E41A6FB53F3D6FA0A13B95AB7BA42A58F
427 | 38E28822AC57417D5599FB72D966E07EA7E07674921DC86991E7C9D5C5E30319
428 | 60A16C144DD8A717C293BF741F47865119B2738E65B93BB612E4D3A08DD8DB7D
429 | EA77B05325C3B5C0BAB1A407CEA85903BE20D1C7F52E8616A4654A3A311EC390
430 | C0171F6A808864FEAF9C8D24EA4F10572FEA84108790B938995A60CF7932B20D
431 | 34EBFD4D3931C57DCFB176C803EA4200A85AB6824043D72F979E05B0687B1959
432 | 3B81A7D4602C51A9786BF0BC0429EC0020757C31543FAB918BE8DE67F6776C60
433 | 9047DC942BB6BA75CFDED0923858FBEB9858D9DEC0456FC3D2E9BAA5EA87450F
434 | 2BD1FC65B472E1EC07885D88C614B6B0287A680850F2AC4EC4EDE34C24E78F61
435 | E13CCB021781FA98B0BCA738046085AD35BE40A1E2B037CE0934580AA1487161
436 | AAC6CBF643DB011071F8AB976C506E56E7D3B836204091B79143003743C241F3
437 | BEBDCBCA2D429A60B4122C62941AB5862F393D2758C412FA7BFD7C6AB2CEF21A
438 | 3FA3369E4F38FBDF8193329E41A6DF6600E214E929D6B9BE22CDB97B7BED8C1E
439 | C9970FC2E4859E52D54051A7B11FE217108670554711ECF8322BC8A8D8CF5E95
440 | A313B0A4C1D3F75E7D8F356773F04EF4EC611F0162DB80B74ACDA7DF575AB16A
441 | 58FED7C809ACB10979628DBCB2EEADACEBAA96884394B7402EC3CEAE0CB4D87A
442 | 14B1CBD8E2EBDE6FFDBDDDFD865043704344D0ACE3DE4000E7F4A97EEF4390E9
443 | 8868B8C5AE80052158AD874F970CA633DB0AD99E7CEAD5832B38264C7DAB2A65
444 | 0640B860BB86D932820F943BC89039FEAD281CBB8F00ED81DE69D4FBFF125781
445 | 9C209C9178C70CD7402F944B0F66A8EA5C012F1F96A1B11A14661F9CC8A71A9C
446 | 5B03BDFF142BB32F38B1608D0BED03BB5689A62E12867F84AD7711A84DF853DE
447 | E9FA271686BF1288CE66D49BA8393DE584DF11F808FE4A0985785547A765742C
448 | 7B64B77006AA812855BED5757C51854575E752B335DE47ECCAEF3E7625583217
449 | 3F0C32B9D8EFABAD1FD6940FDBE3E6DFE424111C670804A94972405067A289EF
450 | EBCA242122AF465E8FC0C911C816A2419F381B19FA60A62000401C60A25ECC33
451 | CF3CB128600084E1A1AA00861A8BD7B084BA0E8E1E9E94AF64EA97C93243AD5A
452 | 1609404675EC28843ABA3E41502AAD2AA3FDAAD86F17D3F57D7FF9B7721154D5
453 | 2FDABF6BDA9B9147A09E77318105C80C0E8FD4F571A50196164A8441ED09DF62
454 | D06E8008D49D4110A2B022E8F0B18265360CC855698E3DB310209265F830D91E
455 | 943822E645CD685CD0385F604C2E722E5FA1C3D2C9003D54646FA8C186CED9C6
456 | 11BCCE342BB4606E0F187810C073073B5179FE39D20E7C25F03348743208BA90
457 | 7A560B15AD872000CE892E4650968C1B31B2497DDF4004FC0658257A9561A166
458 | 060294CDD73DD6806382F66BA5F1F908A55ED251338C3E56D316F078CE736EB5
459 | AC1F83FF80CB039B4542B0D422860E0C74508A9598E8AB0C328613486425B8CC
460 | E134532D54BC21829920026ECA2E5AB5EB988C01E86C559A20C10AA28057531E
461 | 48B7583E61BD3A951BA86A11209F0641C43285A3E33FCBA536732CDFD8E8C58C
462 | 2D31A97E5C03FA0B3D2F0AD3E2731E619C7EDDBB41F742DB45B81B54BEADEEFB
463 | B7DF7E3BB1CAAD0520C2399CD3428991898556F5E93AAACB2BCE2E039170B550
464 | 75E834805071C4C2413386336421B30A092CA8765D0869B6703E8D3A724EC859
465 | E83E32F317BCBF617D701E250E3FCA138843D8A06F34885FA823A2534D54F85C
466 | 9D3B77BE54DFEC6622C1ACF4FD5875247104E9BD8287B3039F25D6FD3554CEF3
467 | A658E9C33720C41DEE5B52783A573510AC0044108946FF50BD37767113902B20
468 | 12AE166A420007D008D8F6B9234E920C339020EBBE068FE8562FAAA38B44CE6A
469 | D405BA1C5BCB4E10126D7635C2B7E0940CBD3CA6E7B054C7AB1E4527707AF526
470 | 0F7CF9B60ECA82E883F82B443C85EDBBF2CA2B4D2D409F3A2F630B38829E96D1
471 | 4EACA21EFE8FAF0059C0D68062095A812BD2C5F010A40C752A214E8A64A08853
472 | 75D9C9FE8E353EB31E11AADD010AA46BACF027F6DD77DABB8FD35645B89A2901
473 | FB8BC6EFAA888EBE10F6DD01A6D9D51E91EB001B09CCE5BCB2FFAEDFBFCCA82F
474 | 82B97B661B040801C506A653340645134226D730560C0F311004ED18348E9945
475 | 94AA367F4FF69E2704962F4A75EFA019A3239D862FC8972DE7B2F0100AEF394B
476 | 3A6AE8E372369CBB49CF2C7C2BD489E81DA296AEE18BBA99FDB1E8E5950251C6
477 | 7C2F6DC12BB98CC335B47A4278DE3FCBB6807A20B0072861ABD4A84F2D9B93C4
478 | 8241954C70834A3B96A514870DCF68336D702A626DB0C7ABA073CF3A9513AD1B
479 | 538AC05747E4BCB84516A6299F1DF5EC7EFF267B7FEC8CDE4A00029B2860AE9E
480 | 026CCE3ECFE0A2D8B6D6B1DEC50902B8F318AB8159860083070F4E0849DBD0D3
481 | 919FFBCFF3E91937A8420BE22D66165AB36A00F695E85AA1EAD7B67D6D28EC5C
482 | 10E33FA807216B7B847A79DDC7008548A4457E79951EFD12822F82F754F2BF16
483 | A25E90512F9409B08109A5C916F0A35A011030B96D40B097AE25B55723397DAB
484 | 60F5486068DFA8A3526015D86AABAD0ABE88011DD29D20CAEA688C30A3869B11
485 | 161501121ECDEF79F7922B1648AC0098C5B16AB5B762B10A1296CFC5FEF38A22
486 | 36030621D17037F9F4CC631C4A120BA81F3502B0D4C7D4B6984EE97294EBE0D1
487 | A34727D6BEB500923544DB9E1D62DA01A970C7589AE01CA7F6F6F420257DA4F7
488 | 31D8E4C8B8CFB2CACB5B23590EB3420984DEDF170AB9032231C50B42BE3AC016
489 | 00B7EFAC2050702D3BBBEF089B836B58B5305B20803AB4079E4191BD0E71E7CF
490 | 5C8732501C3F5FCF31709C0ACA5E1B3BB2369FBA769F602584BD4C3CD4BD135C
491 | 610E77B712671ABCEC1B7EB8FA86BFF3D650D511C5193A16C2A11C68C5CDE56C
492 | 3213FF0CF73711D93A541934B381659953B83CADD727B9D26897C420846AFFD4
493 | FE110D12552DC0AE4283F8E7EF057DCD018B0FC588AF7CBEC4D2170115FB30EC
494 | 18EAE1DA6CB35240BB8AF68850FA5DB25EB2F4112AE2823DF88F0E0110201197
495 | C03BF1EA3EECEEC2F7C28014598744550BC828A00BD07A261D31634C7B5881CF
496 | 80F09B76F40BEE1DB6053475D86831227031E37291F0B9F67DEC1B3963085B06
497 | 4E49E963DA017D73B52E077A7F170E83AE16661902C0A383004ED6AED97DAA7E
498 | FF21D2D847F369E4AB56B7941286AE56418B036801A8EE9030B46269ECF06286
499 | 9E65073F5277B48A5F5B4E82C85D584E3BFB0642C3A0F2030317C9B5E339E4E5
500 | 8983286165DF76F7EA913CCE32040082D3C791043E1A91B421F7E7C8F637ECDF
501 | C92A506B8301582E6215817CA4A423D2E5FE30AD3631CD1B838F1166AB95572C
502 | 5E0D22741458AD232E689779F712A3D26A7D331DCC5204204C0CA1696C5FF6B5
503 | B68125615EF3E99982BF750D267158442D8E910C3E0222FF1066BB05EDACC1BF
504 | 3AE4F76D991C5649F0C5E95AA93018DD49EF1E1F33D59A99A03A20E961E92F68
505 | 1D81AC83332B81598A00C42576C7ACD8BA3C644DB1C386A3B3C7447D9C4300A2
506 | 93E0965E8D438433750BA1B9B979F32E5DBAE0675062E266F96D6C1BC6F87610
507 | FA0D1BB183AE076B1521B0D69C662681555D13448AF386A778F79349809770AD
508 | 304B1100361023486F0F2EF1B075A0998731EA1F7CBD00BC75A57281F084538F
509 | 4DDB3697866C2D098A49C78BD81CA4D5E2BE98F2C9D22E8D425AFCF570ADDA2B
510 | 346EED0098A432089E7551CE460373F5CF6704CEAC0666290200BE8B18CB2BEA
511 | D8180B944F63040DD06C7BC3371347EA065198C515C06EC2F77B7110DDA306BB
512 | EC13672FC672417422D73DC5EFF0984594B72AE0E584A3CA409B3839B5A69581
513 | F6EA02E2FD3E3723BC6C0171B138A2DDD5C6040A619623C0FEFBEF1F6AEDF01F
514 | D82AF62E163C4282CD0992E4CF48A260637B174ADA187862ED6700037B526CCF
515 | 07848C1878ECA7E793FD5507172E0C6593CECB5073DBBA825468A290F1AE6435
516 | 7A5CE7CDAA10DC82CAE590A9616AE763BA7E9CB38EB7DE3B49220064BD839FD4
517 | BBEE1CEA04B45FC8C23D811056C6C8FFB302229F6DD2C3298A94302C83844565
518 | 4580AEC05A29385DC37D0F9179819EED92552754D14A08830AA17000061F7E1B
519 | 630DE809CE41F04F4DAF8431505E6C35F35A9B42900F47D1AF751D9BB3873A79
520 | EF16E5CDDF8896D9F33B62F0937C3B24973A80D98F09942710421043A4D2A853
521 | AA95821151F4ECC8B3224F5BBFF36C5BF11EFA8BFE5E2AABED9885EB82DCE103
522 | 97278008D785A3F3C1058E40878F4CBFA4836BE016B38C5D40707C00EBD9F34B
523 | EAD76139D501810D5C121DC4DAE86582060A4100265E63DB79AF4979A1363DC9
524 | 2A70CA592813998C63700B32079B47A2E7E7008C728068196420416CFAA2E610
525 | 8255A9E4B7D37D8070087AF023AC45D2D71ECC1608C016004BE8750276826FE6
526 | 22AED8DE3BF414EB200693204BD1C1BBDA43FB8A5618804A5908802958592F26
527 | 3BF868D79EB57F179ED5226841CEE010C0059CF0210B011C20D777D64D331366
528 | 0B040038AF804E7214B6B07F730DDC902C222D00F8E451268D0900F1C55ABC54
529 | A5D2BA7C7A6A19C69EAFDBBFDDFD64E60D1B366C5677CF4C83D906015CE0480F
530 | 1A348BCF6B6A6A3ABAD63C2B817C121D34BFB770E525EF5E41E44CD0AB6A6320
531 | FE9860B64100670E1D5811A320C16278ED3AB32F817CEAED8B3B175647E38267
532 | 898D1D51C63A92E09A1D61B6410000F60DB6D067DFF2A937325BC16AF5979082
533 | 55AA9C6F5257F749C1B384D8C2CDEABF7DF081D90A01008C4460AD02234E5CC9
534 | 08A0B86ABD5A380D30AE5458FD3CE6DD2B3CC7E81476EFA730F8C06C8700D8EE
535 | 1143D051CD9E989588186729ED574BBE56A1848D217280F1DEFDC23B50FB2857
536 | 7E2A830FCC7608002050216C5DC83A01F9F4302542D912D1B473B97CF2E90927
537 | EF2B11021E0F9BEF83E7053B3DA87D7704CD4F09664B0400320EB176D0D97AE4
538 | A033C0906429EB5CCADE8E9D1C834E5C203C7C5EF767BC0337F87816215AAD55
539 | 9FFE6387D916010077B6500612D4046EE0D1A6B1E4D71255E3BF09666B0400F0
540 | 2DC46E00CD5EBD56580C3CFBFBF0E1C393C3AE668668F5C706B33D0238404E80
541 | C8D8791FC78237C7C0097408CB8632A55E93F2FF36F8D120800F6C0DBE63477B
542 | 50898BD64F15FE1FCA2736D097022A250000000049454E44AE426082}
543 | Stretch = True
544 | Visible = False
545 | end
546 | object Label3: TLabel
547 | Left = 365
548 | Top = 52
549 | Width = 24
550 | Height = 15
551 | Caption = 'Text:'
552 | end
553 | object btnAddText: TButton
554 | Left = 167
555 | Top = 19
556 | Width = 83
557 | Height = 25
558 | Caption = 'Add Text'
559 | TabOrder = 1
560 | OnClick = btnAddTextClick
561 | end
562 | object btnAddGraphic: TButton
563 | Left = 256
564 | Top = 19
565 | Width = 83
566 | Height = 25
567 | Caption = 'Add Images'
568 | TabOrder = 2
569 | OnClick = btnAddGraphicClick
570 | end
571 | object btnSave: TButton
572 | Left = 616
573 | Top = 49
574 | Width = 65
575 | Height = 25
576 | Caption = 'Save'
577 | TabOrder = 15
578 | OnClick = btnSaveClick
579 | end
580 | object btnClear: TButton
581 | Left = 545
582 | Top = 49
583 | Width = 65
584 | Height = 25
585 | Caption = 'Clear'
586 | TabOrder = 14
587 | OnClick = btnClearClick
588 | end
589 | object btnAddRectangle: TButton
590 | Left = 167
591 | Top = 50
592 | Width = 83
593 | Height = 25
594 | Caption = 'Add Rectangle'
595 | TabOrder = 3
596 | OnClick = btnAddRectangleClick
597 | end
598 | object btnAddEllipse: TButton
599 | Left = 167
600 | Top = 81
601 | Width = 83
602 | Height = 25
603 | Caption = 'Add Ellipse'
604 | TabOrder = 5
605 | OnClick = btnAddEllipseClick
606 | end
607 | object btnFont: TButton
608 | Left = 687
609 | Top = 18
610 | Width = 65
611 | Height = 25
612 | Caption = 'Font'
613 | TabOrder = 13
614 | OnClick = btnFontClick
615 | end
616 | object btnBorderColor: TButton
617 | Left = 616
618 | Top = 18
619 | Width = 65
620 | Height = 25
621 | Caption = 'Border'
622 | TabOrder = 12
623 | OnClick = btnBorderColorClick
624 | end
625 | object btnFillColor: TButton
626 | Left = 545
627 | Top = 18
628 | Width = 65
629 | Height = 25
630 | Caption = 'Fill'
631 | TabOrder = 11
632 | OnClick = btnFillColorClick
633 | end
634 | object chkNoFill: TCheckBox
635 | Left = 481
636 | Top = 22
637 | Width = 58
638 | Height = 17
639 | Caption = 'No Fill'
640 | TabOrder = 8
641 | OnClick = chkNoFillClick
642 | end
643 | object btnLoad: TButton
644 | Left = 687
645 | Top = 49
646 | Width = 65
647 | Height = 25
648 | Caption = 'Load'
649 | TabOrder = 16
650 | OnClick = btnLoadClick
651 | end
652 | object txtTextItem: TEdit
653 | Left = 395
654 | Top = 49
655 | Width = 144
656 | Height = 23
657 | TabOrder = 9
658 | OnChange = txtTextItemChange
659 | end
660 | object chkNoBorder: TCheckBox
661 | Left = 395
662 | Top = 22
663 | Width = 80
664 | Height = 17
665 | Caption = 'No Border'
666 | TabOrder = 7
667 | OnClick = chkNoBorderClick
668 | end
669 | object Button3: TButton
670 | Left = 256
671 | Top = 50
672 | Width = 83
673 | Height = 25
674 | Caption = 'Round Rect'
675 | TabOrder = 4
676 | OnClick = Button3Click
677 | end
678 | object Button5: TButton
679 | Left = 256
680 | Top = 81
681 | Width = 83
682 | Height = 25
683 | Action = actSelectAll
684 | TabOrder = 6
685 | end
686 | object RadioGroup1: TRadioGroup
687 | Left = 8
688 | Top = 4
689 | Width = 137
690 | Height = 102
691 | Caption = 'Mode'
692 | ItemIndex = 0
693 | Items.Strings = (
694 | 'Select'
695 | 'Draw Rectangle'
696 | 'Draw Ellipse'
697 | 'Draw Text')
698 | TabOrder = 0
699 | OnClick = RadioGroup1Click
700 | end
701 | object btnTestFocus: TButton
702 | Left = 687
703 | Top = 80
704 | Width = 65
705 | Height = 25
706 | Caption = 'Test Focus'
707 | TabOrder = 17
708 | OnClick = btnTestFocusClick
709 | end
710 | object chkAllowTextEdit: TCheckBox
711 | Left = 395
712 | Top = 80
713 | Width = 144
714 | Height = 17
715 | Caption = 'Allow Direct Text Editing'
716 | Checked = True
717 | State = cbChecked
718 | TabOrder = 10
719 | OnClick = chkAllowTextEditClick
720 | end
721 | end
722 | object StatusBar1: TStatusBar
723 | Left = 0
724 | Top = 897
725 | Width = 1065
726 | Height = 19
727 | Panels = <>
728 | SimplePanel = True
729 | end
730 | object Panel2: TPanel
731 | Left = 0
732 | Top = 856
733 | Width = 1065
734 | Height = 41
735 | Align = alBottom
736 | BevelOuter = bvNone
737 | PopupMenu = alignPopup
738 | TabOrder = 2
739 | object Label1: TLabel
740 | Left = 564
741 | Top = 14
742 | Width = 61
743 | Height = 15
744 | Caption = 'Page Width'
745 | end
746 | object Label2: TLabel
747 | Left = 716
748 | Top = 14
749 | Width = 36
750 | Height = 15
751 | Caption = 'Height'
752 | end
753 | object Label4: TLabel
754 | Left = 835
755 | Top = 13
756 | Width = 40
757 | Height = 15
758 | Caption = 'Scale %'
759 | end
760 | object Button1: TButton
761 | Left = 8
762 | Top = 10
763 | Width = 75
764 | Height = 25
765 | Action = actUndo
766 | TabOrder = 0
767 | end
768 | object Button2: TButton
769 | Left = 89
770 | Top = 10
771 | Width = 75
772 | Height = 25
773 | Action = actRedo
774 | TabOrder = 1
775 | end
776 | object CheckBox3: TCheckBox
777 | Left = 185
778 | Top = 13
779 | Width = 97
780 | Height = 17
781 | Caption = 'Rulers'
782 | Checked = True
783 | State = cbChecked
784 | TabOrder = 2
785 | OnClick = CheckBox3Click
786 | end
787 | object spinWidth: TSpinEdit
788 | Left = 634
789 | Top = 11
790 | Width = 66
791 | Height = 24
792 | Increment = 10
793 | MaxValue = 0
794 | MinValue = 0
795 | TabOrder = 7
796 | Value = 100
797 | OnChange = spinWidthChange
798 | end
799 | object spinHeight: TSpinEdit
800 | Left = 758
801 | Top = 11
802 | Width = 63
803 | Height = 24
804 | Increment = 10
805 | MaxValue = 0
806 | MinValue = 0
807 | TabOrder = 8
808 | Value = 100
809 | OnChange = spinHeightChange
810 | end
811 | object chkGridVisible: TCheckBox
812 | Left = 265
813 | Top = 13
814 | Width = 42
815 | Height = 17
816 | Caption = 'Grid'
817 | TabOrder = 3
818 | OnClick = chkGridVisibleClick
819 | end
820 | object SpinEdit1: TSpinEdit
821 | Left = 313
822 | Top = 10
823 | Width = 39
824 | Height = 24
825 | MaxValue = 0
826 | MinValue = 0
827 | TabOrder = 4
828 | Value = 5
829 | OnChange = SpinEdit1Change
830 | end
831 | object chkSnapTogrid: TCheckBox
832 | Left = 358
833 | Top = 13
834 | Width = 89
835 | Height = 17
836 | Caption = 'Snap to Grid'
837 | TabOrder = 5
838 | OnClick = chkSnapTogridClick
839 | end
840 | object Button4: TButton
841 | Left = 453
842 | Top = 10
843 | Width = 75
844 | Height = 25
845 | Caption = 'Align'
846 | Style = bsSplitButton
847 | TabOrder = 6
848 | OnClick = Button4Click
849 | OnDropDownClick = Button4DropDownClick
850 | end
851 | object spinScale: TSpinEdit
852 | Left = 884
853 | Top = 11
854 | Width = 53
855 | Height = 24
856 | Increment = 10
857 | MaxValue = 0
858 | MinValue = 0
859 | TabOrder = 9
860 | Value = 100
861 | OnChange = spinScaleChange
862 | end
863 | end
864 | object PopupMenu1: TPopupMenu
865 | OnPopup = PopupMenu1Popup
866 | Left = 608
867 | Top = 464
868 | object Al1: TMenuItem
869 | Caption = 'Align...'
870 | object AlignLeft2: TMenuItem
871 | Action = actAlignleft
872 | end
873 | object AlignTop2: TMenuItem
874 | Action = actAlignTop
875 | end
876 | object AlignRight2: TMenuItem
877 | Action = actAlignRight
878 | end
879 | object AlignBottom2: TMenuItem
880 | Action = actAlignBottom
881 | end
882 | object N5: TMenuItem
883 | Caption = '-'
884 | end
885 | object Aligntogrid2: TMenuItem
886 | Action = actAlignToGrid
887 | end
888 | object N6: TMenuItem
889 | Caption = '-'
890 | end
891 | object AlignHorzCenters2: TMenuItem
892 | Action = actAlignHorzCenter
893 | end
894 | object AlignVertCenters2: TMenuItem
895 | Action = actAlignVertCenter
896 | end
897 | end
898 | object N3: TMenuItem
899 | Caption = '-'
900 | end
901 | object BringToFront1: TMenuItem
902 | Action = actBringToFront
903 | end
904 | object BringForwards1: TMenuItem
905 | Action = actBringForwards
906 | end
907 | object SendBackwards1: TMenuItem
908 | Action = actSendBackwards
909 | end
910 | object SendToBack1: TMenuItem
911 | Action = actSendToBack
912 | end
913 | object N1: TMenuItem
914 | Caption = '-'
915 | end
916 | object Delete1: TMenuItem
917 | Action = actDelete
918 | end
919 | end
920 | object ActionList1: TActionList
921 | Left = 504
922 | Top = 464
923 | object actAlignleft: TAction
924 | Category = 'Alignment'
925 | Caption = 'Align Left'
926 | OnExecute = actAlignleftExecute
927 | end
928 | object actAlignTop: TAction
929 | Tag = 1
930 | Category = 'Alignment'
931 | Caption = 'Align Top'
932 | OnExecute = actAlignleftExecute
933 | end
934 | object actAlignRight: TAction
935 | Tag = 2
936 | Category = 'Alignment'
937 | Caption = 'Align Right'
938 | OnExecute = actAlignleftExecute
939 | end
940 | object actBringToFront: TAction
941 | Caption = 'Bring To Front'
942 | OnExecute = actBringToFrontExecute
943 | end
944 | object actSendToBack: TAction
945 | Caption = 'Send To Back'
946 | OnExecute = actSendToBackExecute
947 | end
948 | object actDelete: TAction
949 | Caption = 'Delete'
950 | ShortCut = 16430
951 | OnExecute = actDeleteExecute
952 | end
953 | object actUndo: TAction
954 | Caption = 'Undo'
955 | OnExecute = actUndoExecute
956 | end
957 | object actRedo: TAction
958 | Caption = 'Redo'
959 | OnExecute = actRedoExecute
960 | end
961 | object actBringForwards: TAction
962 | Caption = 'Bring Forwards'
963 | OnExecute = actBringForwardsExecute
964 | end
965 | object actSendBackwards: TAction
966 | Caption = 'Send Backwards'
967 | OnExecute = actSendBackwardsExecute
968 | end
969 | object actAlignBottom: TAction
970 | Tag = 3
971 | Category = 'Alignment'
972 | Caption = 'Align Bottom'
973 | OnExecute = actAlignleftExecute
974 | end
975 | object actAlignToGrid: TAction
976 | Tag = 4
977 | Category = 'Alignment'
978 | Caption = 'Align Objects to Grid'
979 | OnExecute = actAlignleftExecute
980 | end
981 | object actSelectAll: TAction
982 | Caption = 'Select All'
983 | ShortCut = 16449
984 | OnExecute = actSelectAllExecute
985 | end
986 | object actAlignHorzCenter: TAction
987 | Tag = 5
988 | Category = 'Alignment'
989 | Caption = 'Align Horz Centers'
990 | OnExecute = actAlignHorzCenterExecute
991 | end
992 | object actAlignVertCenter: TAction
993 | Tag = 6
994 | Category = 'Alignment'
995 | Caption = 'Align Vert Centers'
996 | OnExecute = actAlignVertCenterExecute
997 | end
998 | end
999 | object FontDialog1: TFontDialog
1000 | Font.Charset = DEFAULT_CHARSET
1001 | Font.Color = clWindowText
1002 | Font.Height = -16
1003 | Font.Name = 'Tahoma'
1004 | Font.Style = []
1005 | Left = 504
1006 | Top = 352
1007 | end
1008 | object dlgBorderColor: TColorDialog
1009 | Options = [cdAnyColor]
1010 | Left = 584
1011 | Top = 352
1012 | end
1013 | object dlgFillColor: TColorDialog
1014 | Options = [cdAnyColor]
1015 | Left = 664
1016 | Top = 352
1017 | end
1018 | object alignPopup: TPopupMenu
1019 | Left = 392
1020 | Top = 504
1021 | object AlignLeft1: TMenuItem
1022 | Action = actAlignleft
1023 | end
1024 | object AlignRight1: TMenuItem
1025 | Action = actAlignRight
1026 | end
1027 | object AlignTop1: TMenuItem
1028 | Action = actAlignTop
1029 | end
1030 | object AlignBottom1: TMenuItem
1031 | Action = actAlignBottom
1032 | end
1033 | object N2: TMenuItem
1034 | Caption = '-'
1035 | end
1036 | object Aligntogrid1: TMenuItem
1037 | Action = actAlignToGrid
1038 | end
1039 | object N4: TMenuItem
1040 | Caption = '-'
1041 | end
1042 | object AlignHorzCenters1: TMenuItem
1043 | Action = actAlignHorzCenter
1044 | end
1045 | object AlignVertCenters1: TMenuItem
1046 | Action = actAlignVertCenter
1047 | end
1048 | end
1049 | end
1050 |
--------------------------------------------------------------------------------
/Demo/untMain.pas:
--------------------------------------------------------------------------------
1 | { ******************************************************************************
2 | * *
3 | * DesignBox - Basic canvas/drawing component for Delphi *
4 | * *
5 | * https://github.com/gmurt/DesignBox *
6 | * *
7 | * Copyright 2021 Graham Murt *
8 | * *
9 | * email: graham@kernow-software.co.uk *
10 | * *
11 | * Licensed under the Apache License, Version 2.0 (the "License"); *
12 | * you may not use this file except in compliance with the License. *
13 | * You may obtain a copy of the License at *
14 | * *
15 | * http://www.apache.org/licenses/LICENSE-2.0 *
16 | * *
17 | * Unless required by applicable law or agreed to in writing, software *
18 | * distributed under the License is distributed on an "AS IS" BASIS, *
19 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
20 | * See the License for the specific language governing permissions and *
21 | * limitations under the License. *
22 | * *
23 | *******************************************************************************}
24 |
25 | unit untMain;
26 |
27 | interface
28 |
29 | uses
30 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
31 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, System.Generics.Collections,
32 | System.Types, DesignBox, Vcl.Imaging.pngimage, System.Actions, Vcl.ActnList, Vcl.Menus, Vcl.ComCtrls, Vcl.Samples.Spin;
33 |
34 | type
35 | TfrmMain = class(TForm)
36 | Panel1: TPanel;
37 | btnAddText: TButton;
38 | Bevel1: TBevel;
39 | Bevel2: TBevel;
40 | Bevel3: TBevel;
41 | Bevel4: TBevel;
42 | Image1: TImage;
43 | btnAddGraphic: TButton;
44 | btnSave: TButton;
45 | btnLoad: TButton;
46 | btnClear: TButton;
47 | PopupMenu1: TPopupMenu;
48 | ActionList1: TActionList;
49 | actBringToFront: TAction;
50 | actSendToBack: TAction;
51 | BringToFront1: TMenuItem;
52 | SendToBack1: TMenuItem;
53 | N1: TMenuItem;
54 | actDelete: TAction;
55 | Delete1: TMenuItem;
56 | btnAddRectangle: TButton;
57 | btnAddEllipse: TButton;
58 | StatusBar1: TStatusBar;
59 | btnFont: TButton;
60 | btnBorderColor: TButton;
61 | btnFillColor: TButton;
62 | FontDialog1: TFontDialog;
63 | dlgBorderColor: TColorDialog;
64 | dlgFillColor: TColorDialog;
65 | chkNoFill: TCheckBox;
66 | txtTextItem: TEdit;
67 | chkNoBorder: TCheckBox;
68 | Panel2: TPanel;
69 | Button1: TButton;
70 | Button2: TButton;
71 | actUndo: TAction;
72 | actRedo: TAction;
73 | CheckBox3: TCheckBox;
74 | spinWidth: TSpinEdit;
75 | spinHeight: TSpinEdit;
76 | Label1: TLabel;
77 | Label2: TLabel;
78 | Button3: TButton;
79 | actBringForwards: TAction;
80 | actSendBackwards: TAction;
81 | SendBackwards1: TMenuItem;
82 | BringForwards1: TMenuItem;
83 | chkGridVisible: TCheckBox;
84 | SpinEdit1: TSpinEdit;
85 | DesignBox1: TDesignBox;
86 | chkSnapTogrid: TCheckBox;
87 | Label3: TLabel;
88 | Button4: TButton;
89 | alignPopup: TPopupMenu;
90 | actAlignleft: TAction;
91 | actAlignRight: TAction;
92 | actAlignTop: TAction;
93 | actAlignBottom: TAction;
94 | AlignLeft1: TMenuItem;
95 | AlignRight1: TMenuItem;
96 | AlignTop1: TMenuItem;
97 | AlignBottom1: TMenuItem;
98 | actAlignToGrid: TAction;
99 | Aligntogrid1: TMenuItem;
100 | N2: TMenuItem;
101 | Button5: TButton;
102 | RadioGroup1: TRadioGroup;
103 | Al1: TMenuItem;
104 | N3: TMenuItem;
105 | AlignLeft2: TMenuItem;
106 | AlignTop2: TMenuItem;
107 | AlignRight2: TMenuItem;
108 | AlignBottom2: TMenuItem;
109 | Aligntogrid2: TMenuItem;
110 | actAlignHorzCenter: TAction;
111 | actAlignVertCenter: TAction;
112 | N4: TMenuItem;
113 | AlignHorzCenters1: TMenuItem;
114 | AlignVertCenters1: TMenuItem;
115 | N5: TMenuItem;
116 | N6: TMenuItem;
117 | AlignHorzCenters2: TMenuItem;
118 | AlignVertCenters2: TMenuItem;
119 | btnTestFocus: TButton;
120 | spinScale: TSpinEdit;
121 | Label4: TLabel;
122 | chkAllowTextEdit: TCheckBox;
123 | procedure btnAddTextClick(Sender: TObject);
124 | procedure btnAddGraphicClick(Sender: TObject);
125 | procedure DesignBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
126 | procedure DesignBox1SelectItem(Sender: TObject; AItem: TDesignBoxBaseItem);
127 | procedure DesignBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
128 | procedure btnSaveClick(Sender: TObject);
129 | procedure btnLoadClick(Sender: TObject);
130 | procedure btnClearClick(Sender: TObject);
131 | procedure actBringToFrontExecute(Sender: TObject);
132 | procedure actSendToBackExecute(Sender: TObject);
133 | procedure PopupMenu1Popup(Sender: TObject);
134 | procedure actDeleteExecute(Sender: TObject);
135 | procedure btnAddRectangleClick(Sender: TObject);
136 | procedure btnAddEllipseClick(Sender: TObject);
137 | procedure btnFontClick(Sender: TObject);
138 | procedure btnBorderColorClick(Sender: TObject);
139 | procedure btnFillColorClick(Sender: TObject);
140 | procedure FormCreate(Sender: TObject);
141 | procedure chkNoFillClick(Sender: TObject);
142 | procedure chkNoBorderClick(Sender: TObject);
143 | procedure txtTextItemChange(Sender: TObject);
144 | procedure actUndoExecute(Sender: TObject);
145 | procedure actRedoExecute(Sender: TObject);
146 | procedure DesignBox1Change(Sender: TObject);
147 | procedure CheckBox3Click(Sender: TObject);
148 | procedure spinWidthChange(Sender: TObject);
149 | procedure spinHeightChange(Sender: TObject);
150 | procedure Button3Click(Sender: TObject);
151 | procedure actBringForwardsExecute(Sender: TObject);
152 | procedure actSendBackwardsExecute(Sender: TObject);
153 | procedure SpinEdit1Change(Sender: TObject);
154 | procedure chkGridVisibleClick(Sender: TObject);
155 | procedure chkSnapTogridClick(Sender: TObject);
156 | procedure Button4Click(Sender: TObject);
157 | procedure actAlignleftExecute(Sender: TObject);
158 | procedure Button4DropDownClick(Sender: TObject);
159 | procedure actAlignToGridExecute(Sender: TObject);
160 | procedure actSelectAllExecute(Sender: TObject);
161 | procedure RadioGroup1Click(Sender: TObject);
162 | procedure actAlignHorzCenterExecute(Sender: TObject);
163 | procedure actAlignVertCenterExecute(Sender: TObject);
164 | procedure btnTestFocusClick(Sender: TObject);
165 | procedure spinScaleChange(Sender: TObject);
166 | procedure chkAllowTextEditClick(Sender: TObject);
167 | procedure DesignBox1AfterDrawItem(Sender: TObject; aNewItem: TDesignBoxBaseItem; aIndex: Integer);
168 | procedure DesignBox1AfterEditItem(Sender: TObject; aItem: TDesignBoxBaseItem);
169 | private
170 | fUpdatingControls: Boolean;
171 | function AppDir: string;
172 | procedure UpdateItemCoords;
173 | procedure UpdateActionStates;
174 | procedure UpdateModeRadioGroup;
175 | { Private declarations }
176 | protected
177 | procedure DoShow; override;
178 | public
179 |
180 | { Public declarations }
181 | end;
182 |
183 | var
184 | frmMain: TfrmMain;
185 |
186 | implementation
187 |
188 | {$R *.dfm}
189 |
190 | procedure TfrmMain.actAlignHorzCenterExecute(Sender: TObject);
191 | begin
192 | DesignBox1.AlignItems(ialHorzCenters);
193 | end;
194 |
195 | procedure TfrmMain.actAlignleftExecute(Sender: TObject);
196 | begin
197 | DesignBox1.AlignItems(TItemAlignment(TAction(Sender).tag));
198 | end;
199 |
200 | procedure TfrmMain.actAlignToGridExecute(Sender: TObject);
201 | begin
202 | DesignBox1.AlignItems(TItemAlignment(TAction(Sender).tag));
203 | end;
204 |
205 | procedure TfrmMain.actAlignVertCenterExecute(Sender: TObject);
206 | begin
207 | DesignBox1.AlignItems(ialVertCenters);
208 | end;
209 |
210 | procedure TfrmMain.actBringForwardsExecute(Sender: TObject);
211 | begin
212 | DesignBox1.BringForwards;
213 | end;
214 |
215 | procedure TfrmMain.actBringToFrontExecute(Sender: TObject);
216 | begin
217 | DesignBox1.BringToFront;
218 | end;
219 |
220 | procedure TfrmMain.actDeleteExecute(Sender: TObject);
221 | begin
222 | DesignBox1.Items.DeleteSelected;
223 | end;
224 |
225 | procedure TfrmMain.actRedoExecute(Sender: TObject);
226 | begin
227 | DesignBox1.Redo;
228 | end;
229 |
230 | procedure TfrmMain.actSelectAllExecute(Sender: TObject);
231 | begin
232 | DesignBox1.items.SelectAll
233 | end;
234 |
235 | procedure TfrmMain.actSendBackwardsExecute(Sender: TObject);
236 | begin
237 | DesignBox1.SendBackwards;
238 | end;
239 |
240 | procedure TfrmMain.actSendToBackExecute(Sender: TObject);
241 | begin
242 | DesignBox1.SendToBack;
243 | end;
244 |
245 | procedure TfrmMain.actUndoExecute(Sender: TObject);
246 | begin
247 | DesignBox1.Undo;
248 | end;
249 |
250 | function TfrmMain.AppDir: string;
251 | begin
252 | Result := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));
253 | end;
254 |
255 | procedure TfrmMain.btnBorderColorClick(Sender: TObject);
256 | begin
257 | if dlgBorderColor.Execute then DesignBox1.Canvas.Pen.Color := dlgBorderColor.Color;
258 | end;
259 |
260 | procedure TfrmMain.btnFillColorClick(Sender: TObject);
261 | begin
262 | if (dlgFillColor.Execute) then DesignBox1.Canvas.Brush.Color := dlgFillColor.Color;
263 | end;
264 |
265 | procedure TfrmMain.btnFontClick(Sender: TObject);
266 | begin
267 | if FontDialog1.execute then
268 | DesignBox1.Canvas.Font.Assign(FontDialog1.Font);
269 | end;
270 |
271 | procedure TfrmMain.btnAddTextClick(Sender: TObject);
272 | var
273 | item: TDesignBoxItemText;
274 | begin
275 | item := DesignBox1.Canvas.TextOut(20, 20, txtTextItem.text);
276 | DesignBox1.items.DeselectAll;
277 | item.selected := True;
278 | end;
279 |
280 | procedure TfrmMain.btnAddGraphicClick(Sender: TObject);
281 | var
282 | item1: TDesignBoxItemGraphic;
283 | item2: TDesignBoxItemGraphic;
284 | item3: TDesignBoxItemGraphic;
285 | begin
286 | DesignBox1.BeginUpdate;
287 | try
288 | item1 := DesignBox1.Canvas.StretchDraw(RectF(20, 20, 40, 40), Image1.Picture.Graphic);
289 | item2 := DesignBox1.Canvas.Draw(50, 20, Image1.Picture.Graphic);
290 | item3 := DesignBox1.Canvas.StretchDraw(RectF(80, 20, 100, 40), Image1.Picture.Graphic);
291 | DesignBox1.Items.SelectItems([item1, item2, item3], True);
292 | finally
293 | DesignBox1.Endupdate;
294 | end;
295 | end;
296 |
297 | procedure TfrmMain.btnSaveClick(Sender: TObject);
298 | begin
299 | DesignBox1.SaveToFile(AppDir+'data.json');
300 | end;
301 |
302 | procedure TfrmMain.Button3Click(Sender: TObject);
303 | var
304 | item: TDesignBoxItemRectangle;
305 | begin
306 | item := DesignBox1.Canvas.Rectangle(RectF(20, 20, 40, 40), 5);
307 | DesignBox1.items.DeselectAll;
308 | item.selected := True;
309 | end;
310 |
311 | procedure TfrmMain.Button4Click(Sender: TObject);
312 | begin
313 | DesignBox1.AlignItems(TItemAlignment.ialLeftSides);
314 | end;
315 |
316 | procedure TfrmMain.Button4DropDownClick(Sender: TObject);
317 | begin
318 | Button4.DropDownMenu := alignPopup;
319 | end;
320 |
321 | procedure TfrmMain.btnTestFocusClick(Sender: TObject);
322 | begin
323 | DesignBox1.SetFocus;
324 | end;
325 |
326 | procedure TfrmMain.chkNoFillClick(Sender: TObject);
327 | begin
328 | case TCheckBox(Sender).Checked of
329 | True: DesignBox1.Canvas.Brush.Style := bsClear;
330 | False: DesignBox1.Canvas.Brush.Style := bsSolid;
331 | end;
332 | end;
333 |
334 | procedure TfrmMain.chkNoBorderClick(Sender: TObject);
335 | const
336 | C_STYLES: array[boolean] of TPenStyle = (psSolid, psClear);
337 | begin
338 | DesignBox1.Canvas.Pen.Style := C_STYLES[TCheckBox(Sender).checked];
339 | end;
340 |
341 | procedure TfrmMain.CheckBox3Click(Sender: TObject);
342 | begin
343 | DesignBox1.RulerOptions.Visible := CheckBox3.Checked;
344 | end;
345 |
346 | procedure TfrmMain.chkAllowTextEditClick(Sender: TObject);
347 | begin
348 | DesignBox1.AllowTextEdit := TCheckBox(Sender).Checked;
349 | end;
350 |
351 | procedure TfrmMain.chkGridVisibleClick(Sender: TObject);
352 | begin
353 | DesignBox1.GridOptions.Visible := TCheckBox(Sender).Checked;
354 | end;
355 |
356 | procedure TfrmMain.chkSnapTogridClick(Sender: TObject);
357 | begin
358 | DesignBox1.GridOptions.SnapToGrid := TCheckBox(Sender).Checked;
359 | end;
360 |
361 | procedure TfrmMain.btnLoadClick(Sender: TObject);
362 | begin
363 | DesignBox1.LoadFromFile(AppDir+'data.json');
364 | end;
365 |
366 | procedure TfrmMain.btnClearClick(Sender: TObject);
367 | begin
368 | DesignBox1.Clear;
369 | end;
370 |
371 | procedure TfrmMain.btnAddRectangleClick(Sender: TObject);
372 | var
373 | item: TDesignBoxItemRectangle;
374 | begin
375 | item := DesignBox1.Canvas.Rectangle(RectF(20, 20, 40, 40));
376 | item.SelectionStyle.PenWidth := 1;
377 | DesignBox1.items.DeselectAll;
378 | item.selected := True;
379 | end;
380 |
381 | procedure TfrmMain.btnAddEllipseClick(Sender: TObject);
382 | var
383 | item: TDesignBoxItemEllipse;
384 | begin
385 | item := DesignBox1.Canvas.Ellipse(RectF(20, 20, 40, 40));
386 | DesignBox1.items.DeselectAll;
387 | item.selected := True;
388 | end;
389 |
390 | procedure TfrmMain.DesignBox1AfterDrawItem(Sender: TObject; aNewItem: TDesignBoxBaseItem; aIndex: Integer);
391 | begin
392 | // what was drawn and whats' it's list index?
393 | end;
394 |
395 | procedure TfrmMain.DesignBox1AfterEditItem(Sender: TObject; aItem: TDesignBoxBaseItem);
396 | begin
397 | if aItem.Selected and (aitem is TDesignBoxItemText) then
398 | begin
399 | fUpdatingControls := TRUE;
400 | try
401 | // this edit is used to set item properties - so need this to prevent infinite looping
402 | txtTextItem.text := TDesignBoxItemText(aItem).Text;
403 | finally
404 | fUpdatingControls := FALSE;
405 | end;
406 | end;
407 | end;
408 |
409 | procedure TfrmMain.DesignBox1Change(Sender: TObject);
410 | begin
411 | UpdateActionStates;
412 | end;
413 |
414 | procedure TfrmMain.DesignBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
415 | begin
416 | UpdateItemCoords;
417 | UpdateModeRadioGroup;
418 | end;
419 |
420 | procedure TfrmMain.DesignBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
421 | begin
422 | UpdateItemCoords;
423 | end;
424 |
425 | procedure TfrmMain.DesignBox1SelectItem(Sender: TObject; AItem: TDesignBoxBaseItem);
426 | begin
427 | if not assigned(AItem) then EXIT;
428 | if AItem is TDesignBoxItemText then
429 | txtTextItem.Text := TDesignBoxItemText(AItem).Text
430 | else
431 | txtTextItem.text := '';
432 | if Aitem is TDesignBoxItemOutlineShape then
433 | chkNoBorder.checked := TDesignBoxItemOutlineShape(AItem).Pen.style = psClear;
434 | if AItem is TDesignBoxItemFilledShape then
435 | chkNoFill.checked := TDesignBoxItemFilledShape(aItem).Brush.Style = bsClear;
436 | if AItem is TDesignBoxItemText then
437 | begin
438 | chkNoBorder.checked := TDesignBoxItemText(AItem).Pen.style = psClear;
439 | chkNoFill.checked := TDesignBoxItemText(AItem).Brush.Style = bsClear;
440 | end;
441 |
442 | RadioGroup1.ItemIndex := 0; // when selecting something will revert to select mode
443 | StatusBar1.SimpleText := Format('TopLeft=(%f, %f) | Size=(%f, %f) | Tag=%d', [AItem.LeftMM, AItem.TopMM, AItem.WidthMM, AItem.HeightMM, AItem.Tag]);
444 | end;
445 |
446 | procedure TfrmMain.DoShow;
447 | {vr
448 | textItem: TDesignBoxItemText;
449 | textSize : TSizeF; }
450 | {onst
451 | C_DESIGNBOX = 'DesignBox'; }
452 | begin
453 | inherited;
454 | { UpdateActionStates;
455 | DesignBox1.BeginUpdate;
456 | try
457 | textSize := DesignBox1.Canvas.MeasureText(C_DESIGNBOX);
458 | textItem := DesignBox1.Canvas.TextOut(DesignBox1.PageWidthMM - textSize.Width - 1, DesignBox1.PageHeightMM - textSize.Height - 1, C_DESIGNBOX);
459 | textItem.Font.Color := clGrayText;
460 | textItem.Pen.Style := psClear;
461 | textItem.Brush.Style := bsClear;
462 | textItem.options := []; // can't select, move, size or delete
463 | finally
464 | DesignBox1.EndUpdate;
465 | end; }
466 | end;
467 |
468 | procedure TfrmMain.FormCreate(Sender: TObject);
469 | begin
470 | fUpdatingControls := TRUE;
471 | try
472 | self.Caption := application.title;
473 | dlgBorderColor.Color := clWebNavy;
474 | dlgFillColor.Color := clWebLightSkyBlue;
475 | txtTextItem.text := 'Some Text';
476 | chkGridVisible.Checked := DesignBox1.GridOptions.Visible;
477 | chkSnapTogrid.Checked := DesignBox1.GridOptions.SnapToGrid;
478 | chkAllowTextEdit.Checked := DesignBox1.AllowTextEdit;
479 | spinWidth.value := Designbox1.PageWidthMM;
480 | spinHeight.Value := DesignBox1.PageHeightMM;
481 | spinHeight.MinValue := 10;
482 | spinHeight.MaxValue := 1000;
483 | spinWidth.MinValue := 10;
484 | spinWidth.MaxValue := 1000;
485 | finally
486 | fUpdatingControls := false;
487 | end;
488 | end;
489 |
490 | procedure TfrmMain.PopupMenu1Popup(Sender: TObject);
491 | begin
492 | UpdateActionStates;
493 | end;
494 |
495 | procedure TfrmMain.RadioGroup1Click(Sender: TObject);
496 | begin
497 | //Set Mode
498 | if TRadioGroup(Sender).ItemIndex = 0 then
499 | DesignBox1.Mode := dbmSelect
500 | else
501 | DesignBox1.Mode := dbmDraw;
502 |
503 | // Set Drawing Class
504 | case RadioGroup1.ItemIndex of
505 | 1: DesignBox1.DrawClass := TDesignBoxItemRectangle;
506 | 2: DesignBox1.DrawClass := TDesignBoxItemEllipse;
507 | 3: DesignBox1.DrawClass := TDesignBoxItemText;
508 | else DesignBox1.DrawClass := TDesignBoxItemRectangle
509 | end;
510 |
511 | end;
512 |
513 | procedure TfrmMain.SpinEdit1Change(Sender: TObject);
514 | begin
515 | DesignBox1.GridOptions.SizeMm := SpinEdit1.Value;
516 | end;
517 |
518 | procedure TfrmMain.spinHeightChange(Sender: TObject);
519 | begin
520 | DesignBox1.PageHeightMM := spinHeight.Value;
521 | end;
522 |
523 | procedure TfrmMain.spinScaleChange(Sender: TObject);
524 | begin
525 | DesignBox1.Scale := TSpinEdit(Sender).Value / 100;
526 | end;
527 |
528 | procedure TfrmMain.spinWidthChange(Sender: TObject);
529 | begin
530 | DesignBox1.PageWidthMM := spinWidth.Value;
531 | end;
532 |
533 | procedure TfrmMain.txtTextItemChange(Sender: TObject);
534 | begin
535 | if fUpdatingControls then EXIT;
536 |
537 | if (DesignBox1.SelectedItems.Count = 1) then
538 | if DesignBox1.SelectedItems[0] is TDesignBoxItemText then
539 | TDesignBoxItemText(DesignBox1.SelectedItems[0]).Text := TEdit(Sender).Text;
540 | end;
541 |
542 | procedure TfrmMain.UpdateActionStates;
543 | begin
544 | actBringToFront.Enabled := DesignBox1.Items.SelectedCount > 0;
545 | actSendToBack.Enabled := DesignBox1.Items.SelectedCount > 0;
546 | actDelete.Enabled := DesignBox1.Items.SelectedCount > 0;
547 | actUndo.Enabled := DesignBox1.CanUndo;
548 | actRedo.Enabled := DesignBox1.CanRedo;
549 | end;
550 |
551 | procedure TfrmMain.UpdateItemCoords;
552 | begin
553 | if DesignBox1.SelectedItems.Count > 1 then
554 | begin
555 | StatusBar1.SimpleText := 'Multiple items selected';
556 | Exit;
557 | end;
558 |
559 | if DesignBox1.SelectedItems.Count = 1 then
560 | StatusBar1.SimpleText := Format('X = %fmm | Y = %fmm' ,[DesignBox1.SelectedItems[0].LeftMM, DesignBox1.SelectedItems[0].TopMM])
561 | else
562 | StatusBar1.SimpleText := 'No items selected';
563 | end;
564 |
565 | procedure TfrmMain.UpdateModeRadioGroup;
566 | var
567 | AIndex: integer;
568 | begin
569 | AIndex := 0;
570 | case DesignBox1.Mode of
571 | dbmSelect: AIndex := 0;
572 | dbmDraw :
573 | begin
574 | if DesignBox1.DrawClass = TDesignBoxItemRectangle then
575 | AIndex := 1
576 | else
577 | if DesignBox1.DrawClass = TDesignBoxItemEllipse then
578 | AIndex := 2
579 | else
580 | if DesignBox1.DrawClass = TDesignBoxItemText then
581 | AIndex := 3;
582 | end;
583 | end;
584 | RadioGroup1.ItemIndex := AIndex;
585 | end;
586 |
587 | end.
588 |
--------------------------------------------------------------------------------
/DesignBox.dpk:
--------------------------------------------------------------------------------
1 | package DesignBox;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$IMPLICITBUILD ON}
29 |
30 | requires
31 | vclimg,
32 | vcl,
33 | rtl;
34 |
35 | contains
36 | DesignBox in 'DesignBox.pas';
37 |
38 | end.
39 |
--------------------------------------------------------------------------------
/DesignBox.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {D8889177-96C2-4EB3-AC44-D0773988A473}
4 | DesignBox.dpk
5 | 19.1
6 | VCL
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Cfg_1
49 | true
50 | true
51 |
52 |
53 | true
54 | Base
55 | true
56 |
57 |
58 | .\$(Platform)\$(Config)
59 | .\$(Platform)\$(Config)
60 | false
61 | false
62 | false
63 | false
64 | false
65 | true
66 | true
67 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
68 | All
69 | C:\projects\Stuart;$(DCC_UnitSearchPath)
70 | bpl
71 | DesignBox
72 |
73 |
74 | None
75 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
76 | xmlrtl;rtl;$(DCC_UsePackage)
77 |
78 |
79 | None
80 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
81 | xmlrtl;rtl;$(DCC_UsePackage)
82 |
83 |
84 | None
85 | xmlrtl;rtl;$(DCC_UsePackage)
86 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png
87 |
88 |
89 | None
90 | xmlrtl;rtl;$(DCC_UsePackage)
91 |
92 |
93 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
94 | Debug
95 | true
96 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
97 | 1033
98 | xmlrtl;rtl;vclactnband;vclx;vcl;vclimg;$(DCC_UsePackage)
99 |
100 |
101 | DEBUG;$(DCC_Define)
102 | true
103 | false
104 | true
105 | true
106 | true
107 |
108 |
109 | false
110 |
111 |
112 | false
113 | RELEASE;$(DCC_Define)
114 | 0
115 | 0
116 |
117 |
118 |
119 | MainSource
120 |
121 |
122 |
123 |
124 |
125 |
126 | Cfg_2
127 | Base
128 |
129 |
130 | Base
131 |
132 |
133 | Cfg_1
134 | Base
135 |
136 |
137 |
138 | Delphi.Personality.12
139 | Package
140 |
141 |
142 |
143 | DesignBox.dpk
144 |
145 |
146 | File C:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl\DesignBox.bpl not found
147 | Microsoft Office 2000 Sample Automation Server Wrapper Components
148 | Microsoft Office XP Sample Automation Server Wrapper Components
149 |
150 |
151 |
152 |
153 |
154 | DesignBox.bpl
155 | true
156 |
157 |
158 |
159 |
160 | 1
161 |
162 |
163 | 0
164 |
165 |
166 |
167 |
168 | classes
169 | 1
170 |
171 |
172 | classes
173 | 1
174 |
175 |
176 |
177 |
178 | res\xml
179 | 1
180 |
181 |
182 | res\xml
183 | 1
184 |
185 |
186 |
187 |
188 | library\lib\armeabi-v7a
189 | 1
190 |
191 |
192 |
193 |
194 | library\lib\armeabi
195 | 1
196 |
197 |
198 | library\lib\armeabi
199 | 1
200 |
201 |
202 |
203 |
204 | library\lib\armeabi-v7a
205 | 1
206 |
207 |
208 |
209 |
210 | library\lib\mips
211 | 1
212 |
213 |
214 | library\lib\mips
215 | 1
216 |
217 |
218 |
219 |
220 | library\lib\armeabi-v7a
221 | 1
222 |
223 |
224 | library\lib\arm64-v8a
225 | 1
226 |
227 |
228 |
229 |
230 | library\lib\armeabi-v7a
231 | 1
232 |
233 |
234 |
235 |
236 | res\drawable
237 | 1
238 |
239 |
240 | res\drawable
241 | 1
242 |
243 |
244 |
245 |
246 | res\values
247 | 1
248 |
249 |
250 | res\values
251 | 1
252 |
253 |
254 |
255 |
256 | res\values-v21
257 | 1
258 |
259 |
260 | res\values-v21
261 | 1
262 |
263 |
264 |
265 |
266 | res\values
267 | 1
268 |
269 |
270 | res\values
271 | 1
272 |
273 |
274 |
275 |
276 | res\drawable
277 | 1
278 |
279 |
280 | res\drawable
281 | 1
282 |
283 |
284 |
285 |
286 | res\drawable-xxhdpi
287 | 1
288 |
289 |
290 | res\drawable-xxhdpi
291 | 1
292 |
293 |
294 |
295 |
296 | res\drawable-ldpi
297 | 1
298 |
299 |
300 | res\drawable-ldpi
301 | 1
302 |
303 |
304 |
305 |
306 | res\drawable-mdpi
307 | 1
308 |
309 |
310 | res\drawable-mdpi
311 | 1
312 |
313 |
314 |
315 |
316 | res\drawable-hdpi
317 | 1
318 |
319 |
320 | res\drawable-hdpi
321 | 1
322 |
323 |
324 |
325 |
326 | res\drawable-xhdpi
327 | 1
328 |
329 |
330 | res\drawable-xhdpi
331 | 1
332 |
333 |
334 |
335 |
336 | res\drawable-mdpi
337 | 1
338 |
339 |
340 | res\drawable-mdpi
341 | 1
342 |
343 |
344 |
345 |
346 | res\drawable-hdpi
347 | 1
348 |
349 |
350 | res\drawable-hdpi
351 | 1
352 |
353 |
354 |
355 |
356 | res\drawable-xhdpi
357 | 1
358 |
359 |
360 | res\drawable-xhdpi
361 | 1
362 |
363 |
364 |
365 |
366 | res\drawable-xxhdpi
367 | 1
368 |
369 |
370 | res\drawable-xxhdpi
371 | 1
372 |
373 |
374 |
375 |
376 | res\drawable-xxxhdpi
377 | 1
378 |
379 |
380 | res\drawable-xxxhdpi
381 | 1
382 |
383 |
384 |
385 |
386 | res\drawable-small
387 | 1
388 |
389 |
390 | res\drawable-small
391 | 1
392 |
393 |
394 |
395 |
396 | res\drawable-normal
397 | 1
398 |
399 |
400 | res\drawable-normal
401 | 1
402 |
403 |
404 |
405 |
406 | res\drawable-large
407 | 1
408 |
409 |
410 | res\drawable-large
411 | 1
412 |
413 |
414 |
415 |
416 | res\drawable-xlarge
417 | 1
418 |
419 |
420 | res\drawable-xlarge
421 | 1
422 |
423 |
424 |
425 |
426 | res\values
427 | 1
428 |
429 |
430 | res\values
431 | 1
432 |
433 |
434 |
435 |
436 | 1
437 |
438 |
439 | 1
440 |
441 |
442 | 0
443 |
444 |
445 |
446 |
447 | 1
448 | .framework
449 |
450 |
451 | 1
452 | .framework
453 |
454 |
455 | 0
456 |
457 |
458 |
459 |
460 | 1
461 | .dylib
462 |
463 |
464 | 1
465 | .dylib
466 |
467 |
468 | 0
469 | .dll;.bpl
470 |
471 |
472 |
473 |
474 | 1
475 | .dylib
476 |
477 |
478 | 1
479 | .dylib
480 |
481 |
482 | 1
483 | .dylib
484 |
485 |
486 | 1
487 | .dylib
488 |
489 |
490 | 1
491 | .dylib
492 |
493 |
494 | 0
495 | .bpl
496 |
497 |
498 |
499 |
500 | 0
501 |
502 |
503 | 0
504 |
505 |
506 | 0
507 |
508 |
509 | 0
510 |
511 |
512 | 0
513 |
514 |
515 | 0
516 |
517 |
518 | 0
519 |
520 |
521 | 0
522 |
523 |
524 |
525 |
526 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
527 | 1
528 |
529 |
530 |
531 |
532 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
533 | 1
534 |
535 |
536 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
537 | 1
538 |
539 |
540 |
541 |
542 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
543 | 1
544 |
545 |
546 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
547 | 1
548 |
549 |
550 |
551 |
552 | 1
553 |
554 |
555 | 1
556 |
557 |
558 | 1
559 |
560 |
561 |
562 |
563 | 1
564 |
565 |
566 | 1
567 |
568 |
569 | 1
570 |
571 |
572 |
573 |
574 | 1
575 |
576 |
577 | 1
578 |
579 |
580 | 1
581 |
582 |
583 |
584 |
585 | 1
586 |
587 |
588 | 1
589 |
590 |
591 | 1
592 |
593 |
594 |
595 |
596 | 1
597 |
598 |
599 | 1
600 |
601 |
602 | 1
603 |
604 |
605 |
606 |
607 | 1
608 |
609 |
610 | 1
611 |
612 |
613 | 1
614 |
615 |
616 |
617 |
618 | 1
619 |
620 |
621 | 1
622 |
623 |
624 | 1
625 |
626 |
627 |
628 |
629 | 1
630 |
631 |
632 | 1
633 |
634 |
635 | 1
636 |
637 |
638 |
639 |
640 | 1
641 |
642 |
643 | 1
644 |
645 |
646 | 1
647 |
648 |
649 |
650 |
651 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
652 | 1
653 |
654 |
655 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
656 | 1
657 |
658 |
659 |
660 |
661 | 1
662 |
663 |
664 | 1
665 |
666 |
667 | 1
668 |
669 |
670 |
671 |
672 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
673 | 1
674 |
675 |
676 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
677 | 1
678 |
679 |
680 |
681 |
682 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
683 | 1
684 |
685 |
686 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
687 | 1
688 |
689 |
690 |
691 |
692 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
693 | 1
694 |
695 |
696 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
697 | 1
698 |
699 |
700 |
701 |
702 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
703 | 1
704 |
705 |
706 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
707 | 1
708 |
709 |
710 |
711 |
712 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
713 | 1
714 |
715 |
716 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
717 | 1
718 |
719 |
720 |
721 |
722 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
723 | 1
724 |
725 |
726 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
727 | 1
728 |
729 |
730 |
731 |
732 | 1
733 |
734 |
735 | 1
736 |
737 |
738 | 1
739 |
740 |
741 |
742 |
743 | 1
744 |
745 |
746 | 1
747 |
748 |
749 | 1
750 |
751 |
752 |
753 |
754 | 1
755 |
756 |
757 | 1
758 |
759 |
760 | 1
761 |
762 |
763 |
764 |
765 | 1
766 |
767 |
768 | 1
769 |
770 |
771 | 1
772 |
773 |
774 |
775 |
776 | 1
777 |
778 |
779 | 1
780 |
781 |
782 | 1
783 |
784 |
785 |
786 |
787 | 1
788 |
789 |
790 | 1
791 |
792 |
793 | 1
794 |
795 |
796 |
797 |
798 | 1
799 |
800 |
801 | 1
802 |
803 |
804 | 1
805 |
806 |
807 |
808 |
809 | 1
810 |
811 |
812 | 1
813 |
814 |
815 | 1
816 |
817 |
818 |
819 |
820 | 1
821 |
822 |
823 | 1
824 |
825 |
826 | 1
827 |
828 |
829 |
830 |
831 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
832 | 1
833 |
834 |
835 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
836 | 1
837 |
838 |
839 |
840 |
841 | 1
842 |
843 |
844 | 1
845 |
846 |
847 | 1
848 |
849 |
850 |
851 |
852 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
853 | 1
854 |
855 |
856 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
857 | 1
858 |
859 |
860 |
861 |
862 | 1
863 |
864 |
865 | 1
866 |
867 |
868 | 1
869 |
870 |
871 |
872 |
873 | 1
874 |
875 |
876 | 1
877 |
878 |
879 | 1
880 |
881 |
882 |
883 |
884 | 1
885 |
886 |
887 | 1
888 |
889 |
890 | 1
891 |
892 |
893 |
894 |
895 | 1
896 |
897 |
898 | 1
899 |
900 |
901 | 1
902 |
903 |
904 |
905 |
906 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
907 | 1
908 |
909 |
910 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
911 | 1
912 |
913 |
914 |
915 |
916 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
917 | 1
918 |
919 |
920 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
921 | 1
922 |
923 |
924 |
925 |
926 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
927 | 1
928 |
929 |
930 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
931 | 1
932 |
933 |
934 |
935 |
936 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
937 | 1
938 |
939 |
940 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
941 | 1
942 |
943 |
944 |
945 |
946 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
947 | 1
948 |
949 |
950 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
951 | 1
952 |
953 |
954 |
955 |
956 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
957 | 1
958 |
959 |
960 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
961 | 1
962 |
963 |
964 |
965 |
966 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
967 | 1
968 |
969 |
970 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
971 | 1
972 |
973 |
974 |
975 |
976 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
977 | 1
978 |
979 |
980 | ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset
981 | 1
982 |
983 |
984 |
985 |
986 | 1
987 |
988 |
989 | 1
990 |
991 |
992 |
993 |
994 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
995 | 1
996 |
997 |
998 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
999 | 1
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 | 1
1009 |
1010 |
1011 | 1
1012 |
1013 |
1014 | 1
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 | Contents\Resources
1023 | 1
1024 |
1025 |
1026 | Contents\Resources
1027 | 1
1028 |
1029 |
1030 |
1031 |
1032 | library\lib\armeabi-v7a
1033 | 1
1034 |
1035 |
1036 | library\lib\arm64-v8a
1037 | 1
1038 |
1039 |
1040 | 1
1041 |
1042 |
1043 | 1
1044 |
1045 |
1046 | 1
1047 |
1048 |
1049 | 1
1050 |
1051 |
1052 | 1
1053 |
1054 |
1055 | 1
1056 |
1057 |
1058 | 0
1059 |
1060 |
1061 |
1062 |
1063 | library\lib\armeabi-v7a
1064 | 1
1065 |
1066 |
1067 |
1068 |
1069 | 1
1070 |
1071 |
1072 | 1
1073 |
1074 |
1075 |
1076 |
1077 | Assets
1078 | 1
1079 |
1080 |
1081 | Assets
1082 | 1
1083 |
1084 |
1085 |
1086 |
1087 | Assets
1088 | 1
1089 |
1090 |
1091 | Assets
1092 | 1
1093 |
1094 |
1095 |
1096 |
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
1103 |
1104 |
1105 |
1106 |
1107 | False
1108 | False
1109 | False
1110 | False
1111 | True
1112 |
1113 |
1114 | 12
1115 |
1116 |
1117 |
1118 |
1119 |
1120 |
--------------------------------------------------------------------------------
/DesignBox.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gmurt/DesignBox/932c1aeb15308863cac7c338c7b591353c663781/DesignBox.res
--------------------------------------------------------------------------------
/DesignBoxGroup.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {7798E49E-3949-48BF-8A33-F2427F31E194}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Default.Personality.12
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 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DesignBox
2 | DesignBox component
3 |
4 | Basic canvas/drawing component with included demo showing much of the functionality.
5 |
6 | Lots of contributions/commits from Stuart ;-) https://github.com/stuartclennett
7 |
8 | 
9 |
--------------------------------------------------------------------------------