├── AcceleratedPaintPanel.pas
├── AcceleratedPaintPanelReg.pas
├── Delphi25 ICS.jpg
├── Direct2DDemo.dpr
├── Direct2DDemo.dproj
├── Direct2DDemoDesign.dpk
├── Direct2DDemoDesign.dproj
├── Direct2DDemoMain.dfm
├── Direct2DDemoMain.pas
├── Direct2DDemoProjects.groupproj
├── Direct2DDemoRunTime.dpk
├── Direct2DDemoRunTime.dproj
├── LICENSE
└── README.md
/AcceleratedPaintPanel.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fpiette/Direct2DDemo/a8753a11e47828208243802973b0ab727726a504/AcceleratedPaintPanel.pas
--------------------------------------------------------------------------------
/AcceleratedPaintPanelReg.pas:
--------------------------------------------------------------------------------
1 | unit AcceleratedPaintPanelReg;
2 |
3 | interface
4 |
5 | uses
6 | Classes, AcceleratedPaintPanel;
7 |
8 | procedure Register;
9 |
10 | implementation
11 |
12 | procedure Register;
13 | begin
14 | RegisterComponents('Overbyte Ctrls', [TAcceleratedPaintPanel]);
15 | end;
16 |
17 |
18 | end.
19 |
--------------------------------------------------------------------------------
/Delphi25 ICS.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fpiette/Direct2DDemo/a8753a11e47828208243802973b0ab727726a504/Delphi25 ICS.jpg
--------------------------------------------------------------------------------
/Direct2DDemo.dpr:
--------------------------------------------------------------------------------
1 | program Direct2DDemo;
2 |
3 | uses
4 | madExcept,
5 | madLinkDisAsm,
6 | madListHardware,
7 | madListProcesses,
8 | madListModules,
9 | Vcl.Forms,
10 | Direct2DDemoMain in 'Direct2DDemoMain.pas' {Direct2DDemoMainForm},
11 | AcceleratedPaintPanel in 'AcceleratedPaintPanel.pas';
12 |
13 | {$R *.res}
14 |
15 | begin
16 | Application.Initialize;
17 | Application.MainFormOnTaskbar := True;
18 | Application.CreateForm(TDirect2DDemoMainForm, Direct2DDemoMainForm);
19 | Application.Run;
20 | end.
21 |
--------------------------------------------------------------------------------
/Direct2DDemo.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {1678E8EB-6272-4A97-9F43-48B28FD851F4}
4 | 19.0
5 | VCL
6 | Direct2DDemo.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 | Base
29 | true
30 |
31 |
32 | true
33 | Cfg_1
34 | true
35 | true
36 |
37 |
38 | true
39 | Base
40 | true
41 |
42 |
43 | true
44 | Cfg_2
45 | true
46 | true
47 |
48 |
49 | Direct2DDemo
50 | $(BDS)\bin\delphi_PROJECTICON.ico
51 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
52 | .\Dcu\D104\$(Platform)\$(Config)
53 | .\Bin\D104\$(Platform)\$(Config)
54 | false
55 | false
56 | false
57 | false
58 | false
59 | 2060
60 | CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)
61 |
62 |
63 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
64 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
65 | true
66 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
67 | 1033
68 | $(BDS)\bin\default_app.manifest
69 | DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;ParamParsingRunTimeD101;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;OverbyteCtrlsRuntimeD101;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;madExcept_;DiaphragmRuntimePackageD101;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;madBasic_;TeeDB;FireDAC;emshosting;GdiPlusRunTimeD101;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;OverbyteIcsD101Run;DBXSybaseASADriver;madDisAsm_;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage)
70 |
71 |
72 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
73 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
74 | DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;VirtualTreesDR;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;FireDACDSDriver;DbxClientDriver;OverbyteIcsD101Run;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage)
75 |
76 |
77 | DEBUG;$(DCC_Define)
78 | true
79 | false
80 | true
81 | true
82 | true
83 |
84 |
85 | 3
86 | Debug
87 | true
88 | 1033
89 | true
90 | false
91 | PerMonitor
92 | madExcept;LeakChecking;$(DCC_Define)
93 |
94 |
95 | false
96 | RELEASE;$(DCC_Define)
97 | 0
98 | 0
99 |
100 |
101 | true
102 | PerMonitor
103 | true
104 | 1033
105 | Debug
106 |
107 |
108 |
109 | MainSource
110 |
111 |
112 |
113 | dfm
114 |
115 |
116 |
117 | Cfg_2
118 | Base
119 |
120 |
121 | Base
122 |
123 |
124 | Cfg_1
125 | Base
126 |
127 |
128 |
129 | Delphi.Personality.12
130 | Application
131 |
132 |
133 |
134 | Embarcadero C++Builder Office 2000 Servers Package
135 | Embarcadero C++Builder Office XP Servers Package
136 | Microsoft Office 2000 Sample Automation Server Wrapper Components
137 | Microsoft Office XP Sample Automation Server Wrapper Components
138 |
139 |
140 | Direct2DDemo.dpr
141 |
142 |
143 |
144 |
145 |
146 | Direct2DDemo.exe
147 | true
148 |
149 |
150 |
151 |
152 | 1
153 |
154 |
155 | Contents\MacOS
156 | 1
157 |
158 |
159 | 0
160 |
161 |
162 |
163 |
164 | classes
165 | 1
166 |
167 |
168 | classes
169 | 1
170 |
171 |
172 |
173 |
174 | res\xml
175 | 1
176 |
177 |
178 | res\xml
179 | 1
180 |
181 |
182 |
183 |
184 | library\lib\armeabi-v7a
185 | 1
186 |
187 |
188 |
189 |
190 | library\lib\armeabi
191 | 1
192 |
193 |
194 | library\lib\armeabi
195 | 1
196 |
197 |
198 |
199 |
200 | library\lib\armeabi-v7a
201 | 1
202 |
203 |
204 |
205 |
206 | library\lib\mips
207 | 1
208 |
209 |
210 | library\lib\mips
211 | 1
212 |
213 |
214 |
215 |
216 | library\lib\armeabi-v7a
217 | 1
218 |
219 |
220 | library\lib\arm64-v8a
221 | 1
222 |
223 |
224 |
225 |
226 | library\lib\armeabi-v7a
227 | 1
228 |
229 |
230 |
231 |
232 | res\drawable
233 | 1
234 |
235 |
236 | res\drawable
237 | 1
238 |
239 |
240 |
241 |
242 | res\values
243 | 1
244 |
245 |
246 | res\values
247 | 1
248 |
249 |
250 |
251 |
252 | res\values-v21
253 | 1
254 |
255 |
256 | res\values-v21
257 | 1
258 |
259 |
260 |
261 |
262 | res\values
263 | 1
264 |
265 |
266 | res\values
267 | 1
268 |
269 |
270 |
271 |
272 | res\drawable
273 | 1
274 |
275 |
276 | res\drawable
277 | 1
278 |
279 |
280 |
281 |
282 | res\drawable-xxhdpi
283 | 1
284 |
285 |
286 | res\drawable-xxhdpi
287 | 1
288 |
289 |
290 |
291 |
292 | res\drawable-ldpi
293 | 1
294 |
295 |
296 | res\drawable-ldpi
297 | 1
298 |
299 |
300 |
301 |
302 | res\drawable-mdpi
303 | 1
304 |
305 |
306 | res\drawable-mdpi
307 | 1
308 |
309 |
310 |
311 |
312 | res\drawable-hdpi
313 | 1
314 |
315 |
316 | res\drawable-hdpi
317 | 1
318 |
319 |
320 |
321 |
322 | res\drawable-xhdpi
323 | 1
324 |
325 |
326 | res\drawable-xhdpi
327 | 1
328 |
329 |
330 |
331 |
332 | res\drawable-mdpi
333 | 1
334 |
335 |
336 | res\drawable-mdpi
337 | 1
338 |
339 |
340 |
341 |
342 | res\drawable-hdpi
343 | 1
344 |
345 |
346 | res\drawable-hdpi
347 | 1
348 |
349 |
350 |
351 |
352 | res\drawable-xhdpi
353 | 1
354 |
355 |
356 | res\drawable-xhdpi
357 | 1
358 |
359 |
360 |
361 |
362 | res\drawable-xxhdpi
363 | 1
364 |
365 |
366 | res\drawable-xxhdpi
367 | 1
368 |
369 |
370 |
371 |
372 | res\drawable-xxxhdpi
373 | 1
374 |
375 |
376 | res\drawable-xxxhdpi
377 | 1
378 |
379 |
380 |
381 |
382 | res\drawable-small
383 | 1
384 |
385 |
386 | res\drawable-small
387 | 1
388 |
389 |
390 |
391 |
392 | res\drawable-normal
393 | 1
394 |
395 |
396 | res\drawable-normal
397 | 1
398 |
399 |
400 |
401 |
402 | res\drawable-large
403 | 1
404 |
405 |
406 | res\drawable-large
407 | 1
408 |
409 |
410 |
411 |
412 | res\drawable-xlarge
413 | 1
414 |
415 |
416 | res\drawable-xlarge
417 | 1
418 |
419 |
420 |
421 |
422 | res\values
423 | 1
424 |
425 |
426 | res\values
427 | 1
428 |
429 |
430 |
431 |
432 | 1
433 |
434 |
435 | Contents\MacOS
436 | 1
437 |
438 |
439 | 0
440 |
441 |
442 |
443 |
444 | Contents\MacOS
445 | 1
446 | .framework
447 |
448 |
449 | Contents\MacOS
450 | 1
451 | .framework
452 |
453 |
454 | 0
455 |
456 |
457 |
458 |
459 | 1
460 | .dylib
461 |
462 |
463 | 1
464 | .dylib
465 |
466 |
467 | 1
468 | .dylib
469 |
470 |
471 | Contents\MacOS
472 | 1
473 | .dylib
474 |
475 |
476 | Contents\MacOS
477 | 1
478 | .dylib
479 |
480 |
481 | 0
482 | .dll;.bpl
483 |
484 |
485 |
486 |
487 | 1
488 | .dylib
489 |
490 |
491 | 1
492 | .dylib
493 |
494 |
495 | 1
496 | .dylib
497 |
498 |
499 | Contents\MacOS
500 | 1
501 | .dylib
502 |
503 |
504 | Contents\MacOS
505 | 1
506 | .dylib
507 |
508 |
509 | 0
510 | .bpl
511 |
512 |
513 |
514 |
515 | 0
516 |
517 |
518 | 0
519 |
520 |
521 | 0
522 |
523 |
524 | 0
525 |
526 |
527 | 0
528 |
529 |
530 | Contents\Resources\StartUp\
531 | 0
532 |
533 |
534 | Contents\Resources\StartUp\
535 | 0
536 |
537 |
538 | 0
539 |
540 |
541 |
542 |
543 | 1
544 |
545 |
546 | 1
547 |
548 |
549 | 1
550 |
551 |
552 |
553 |
554 | 1
555 |
556 |
557 | 1
558 |
559 |
560 | 1
561 |
562 |
563 |
564 |
565 | 1
566 |
567 |
568 | 1
569 |
570 |
571 | 1
572 |
573 |
574 |
575 |
576 | 1
577 |
578 |
579 | 1
580 |
581 |
582 | 1
583 |
584 |
585 |
586 |
587 | 1
588 |
589 |
590 | 1
591 |
592 |
593 | 1
594 |
595 |
596 |
597 |
598 | 1
599 |
600 |
601 | 1
602 |
603 |
604 | 1
605 |
606 |
607 |
608 |
609 | 1
610 |
611 |
612 | 1
613 |
614 |
615 | 1
616 |
617 |
618 |
619 |
620 | 1
621 |
622 |
623 | 1
624 |
625 |
626 | 1
627 |
628 |
629 |
630 |
631 | 1
632 |
633 |
634 | 1
635 |
636 |
637 | 1
638 |
639 |
640 |
641 |
642 | 1
643 |
644 |
645 | 1
646 |
647 |
648 | 1
649 |
650 |
651 |
652 |
653 | 1
654 |
655 |
656 | 1
657 |
658 |
659 | 1
660 |
661 |
662 |
663 |
664 | 1
665 |
666 |
667 | 1
668 |
669 |
670 | 1
671 |
672 |
673 |
674 |
675 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
676 | 1
677 |
678 |
679 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
680 | 1
681 |
682 |
683 |
684 |
685 | 1
686 |
687 |
688 | 1
689 |
690 |
691 | 1
692 |
693 |
694 |
695 |
696 | 1
697 |
698 |
699 | 1
700 |
701 |
702 | 1
703 |
704 |
705 |
706 |
707 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
708 | 1
709 |
710 |
711 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
712 | 1
713 |
714 |
715 |
716 |
717 | 1
718 |
719 |
720 | 1
721 |
722 |
723 | 1
724 |
725 |
726 |
727 |
728 | 1
729 |
730 |
731 | 1
732 |
733 |
734 | 1
735 |
736 |
737 |
738 |
739 | 1
740 |
741 |
742 | 1
743 |
744 |
745 | 1
746 |
747 |
748 |
749 |
750 | 1
751 |
752 |
753 | 1
754 |
755 |
756 | 1
757 |
758 |
759 |
760 |
761 | 1
762 |
763 |
764 | 1
765 |
766 |
767 | 1
768 |
769 |
770 |
771 |
772 | 1
773 |
774 |
775 | 1
776 |
777 |
778 | 1
779 |
780 |
781 |
782 |
783 | 1
784 |
785 |
786 | 1
787 |
788 |
789 | 1
790 |
791 |
792 |
793 |
794 | 1
795 |
796 |
797 | 1
798 |
799 |
800 | 1
801 |
802 |
803 |
804 |
805 | 1
806 |
807 |
808 | 1
809 |
810 |
811 | 1
812 |
813 |
814 |
815 |
816 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
817 | 1
818 |
819 |
820 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
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 | 1
859 |
860 |
861 | 1
862 |
863 |
864 | 1
865 |
866 |
867 |
868 |
869 | 1
870 |
871 |
872 | 1
873 |
874 |
875 | 1
876 |
877 |
878 |
879 |
880 | 1
881 |
882 |
883 | 1
884 |
885 |
886 | 1
887 |
888 |
889 |
890 |
891 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
892 | 1
893 |
894 |
895 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
896 | 1
897 |
898 |
899 |
900 |
901 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
902 | 1
903 |
904 |
905 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
906 | 1
907 |
908 |
909 |
910 |
911 | 1
912 |
913 |
914 | 1
915 |
916 |
917 |
918 |
919 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
920 | 1
921 |
922 |
923 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
924 | 1
925 |
926 |
927 |
928 |
929 | 1
930 |
931 |
932 | 1
933 |
934 |
935 |
936 |
937 | ..\
938 | 1
939 |
940 |
941 | ..\
942 | 1
943 |
944 |
945 |
946 |
947 | 1
948 |
949 |
950 | 1
951 |
952 |
953 | 1
954 |
955 |
956 |
957 |
958 | ..\$(PROJECTNAME).launchscreen
959 | 64
960 |
961 |
962 | ..\$(PROJECTNAME).launchscreen
963 | 64
964 |
965 |
966 |
967 |
968 | 1
969 |
970 |
971 | 1
972 |
973 |
974 | 1
975 |
976 |
977 |
978 |
979 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
980 | 1
981 |
982 |
983 |
984 |
985 | ..\
986 | 1
987 |
988 |
989 | ..\
990 | 1
991 |
992 |
993 |
994 |
995 | Contents
996 | 1
997 |
998 |
999 | Contents
1000 | 1
1001 |
1002 |
1003 |
1004 |
1005 | Contents\Resources
1006 | 1
1007 |
1008 |
1009 | Contents\Resources
1010 | 1
1011 |
1012 |
1013 |
1014 |
1015 | library\lib\armeabi-v7a
1016 | 1
1017 |
1018 |
1019 | library\lib\arm64-v8a
1020 | 1
1021 |
1022 |
1023 | 1
1024 |
1025 |
1026 | 1
1027 |
1028 |
1029 | 1
1030 |
1031 |
1032 | 1
1033 |
1034 |
1035 | Contents\MacOS
1036 | 1
1037 |
1038 |
1039 | Contents\MacOS
1040 | 1
1041 |
1042 |
1043 | 0
1044 |
1045 |
1046 |
1047 |
1048 | library\lib\armeabi-v7a
1049 | 1
1050 |
1051 |
1052 |
1053 |
1054 | 1
1055 |
1056 |
1057 | 1
1058 |
1059 |
1060 |
1061 |
1062 | Assets
1063 | 1
1064 |
1065 |
1066 | Assets
1067 | 1
1068 |
1069 |
1070 |
1071 |
1072 | Assets
1073 | 1
1074 |
1075 |
1076 | Assets
1077 | 1
1078 |
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 |
1086 |
1087 |
1088 |
1089 |
1090 |
1091 |
1092 | True
1093 | False
1094 |
1095 |
1096 | 12
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
--------------------------------------------------------------------------------
/Direct2DDemoDesign.dpk:
--------------------------------------------------------------------------------
1 | package Direct2DDemoDesign;
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 | rtl,
32 | vcl,
33 | Direct2DDemoRunTime;
34 |
35 | contains
36 | AcceleratedPaintPanelReg in 'AcceleratedPaintPanelReg.pas';
37 |
38 | end.
39 |
--------------------------------------------------------------------------------
/Direct2DDemoDesign.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {36759600-B50F-49DF-840B-88D741912780}
4 | Direct2DDemoDesign.dpk
5 | 19.0
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 | Cfg_1
34 | true
35 | true
36 |
37 |
38 | true
39 | Base
40 | true
41 |
42 |
43 | true
44 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
45 | Direct2DDemoDesign
46 | true
47 | All
48 | .\$(Platform)\$(Config)
49 | .\$(Platform)\$(Config)
50 | false
51 | false
52 | false
53 | false
54 | false
55 |
56 |
57 | rtl;vcl;OverbyteCtrlsRuntimeD101;Direct2DDemoRunTime;$(DCC_UsePackage)
58 | true
59 | 1033
60 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
61 | CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)
62 |
63 |
64 | rtl;vcl;$(DCC_UsePackage)
65 |
66 |
67 | DEBUG;$(DCC_Define)
68 | true
69 | false
70 | true
71 | true
72 | true
73 |
74 |
75 | false
76 |
77 |
78 | false
79 | RELEASE;$(DCC_Define)
80 | 0
81 | 0
82 |
83 |
84 |
85 | MainSource
86 |
87 |
88 |
89 |
90 |
91 |
92 | Cfg_2
93 | Base
94 |
95 |
96 | Base
97 |
98 |
99 | Cfg_1
100 | Base
101 |
102 |
103 |
104 | Delphi.Personality.12
105 | Package
106 |
107 |
108 |
109 | Direct2DDemoDesign.dpk
110 |
111 |
112 | Embarcadero C++Builder Office 2000 Servers Package
113 | Embarcadero C++Builder Office XP Servers Package
114 | Microsoft Office 2000 Sample Automation Server Wrapper Components
115 | Microsoft Office XP Sample Automation Server Wrapper Components
116 |
117 |
118 |
119 |
120 |
121 | true
122 |
123 |
124 |
125 |
126 | true
127 |
128 |
129 |
130 |
131 | true
132 |
133 |
134 |
135 |
136 | true
137 |
138 |
139 |
140 |
141 | Direct2DDemoDesign.bpl
142 | true
143 |
144 |
145 |
146 |
147 | 1
148 |
149 |
150 | 0
151 |
152 |
153 |
154 |
155 | classes
156 | 1
157 |
158 |
159 | classes
160 | 1
161 |
162 |
163 |
164 |
165 | res\xml
166 | 1
167 |
168 |
169 | res\xml
170 | 1
171 |
172 |
173 |
174 |
175 | library\lib\armeabi-v7a
176 | 1
177 |
178 |
179 |
180 |
181 | library\lib\armeabi
182 | 1
183 |
184 |
185 | library\lib\armeabi
186 | 1
187 |
188 |
189 |
190 |
191 | library\lib\armeabi-v7a
192 | 1
193 |
194 |
195 |
196 |
197 | library\lib\mips
198 | 1
199 |
200 |
201 | library\lib\mips
202 | 1
203 |
204 |
205 |
206 |
207 | library\lib\armeabi-v7a
208 | 1
209 |
210 |
211 | library\lib\arm64-v8a
212 | 1
213 |
214 |
215 |
216 |
217 | library\lib\armeabi-v7a
218 | 1
219 |
220 |
221 |
222 |
223 | res\drawable
224 | 1
225 |
226 |
227 | res\drawable
228 | 1
229 |
230 |
231 |
232 |
233 | res\values
234 | 1
235 |
236 |
237 | res\values
238 | 1
239 |
240 |
241 |
242 |
243 | res\values-v21
244 | 1
245 |
246 |
247 | res\values-v21
248 | 1
249 |
250 |
251 |
252 |
253 | res\values
254 | 1
255 |
256 |
257 | res\values
258 | 1
259 |
260 |
261 |
262 |
263 | res\drawable
264 | 1
265 |
266 |
267 | res\drawable
268 | 1
269 |
270 |
271 |
272 |
273 | res\drawable-xxhdpi
274 | 1
275 |
276 |
277 | res\drawable-xxhdpi
278 | 1
279 |
280 |
281 |
282 |
283 | res\drawable-ldpi
284 | 1
285 |
286 |
287 | res\drawable-ldpi
288 | 1
289 |
290 |
291 |
292 |
293 | res\drawable-mdpi
294 | 1
295 |
296 |
297 | res\drawable-mdpi
298 | 1
299 |
300 |
301 |
302 |
303 | res\drawable-hdpi
304 | 1
305 |
306 |
307 | res\drawable-hdpi
308 | 1
309 |
310 |
311 |
312 |
313 | res\drawable-xhdpi
314 | 1
315 |
316 |
317 | res\drawable-xhdpi
318 | 1
319 |
320 |
321 |
322 |
323 | res\drawable-mdpi
324 | 1
325 |
326 |
327 | res\drawable-mdpi
328 | 1
329 |
330 |
331 |
332 |
333 | res\drawable-hdpi
334 | 1
335 |
336 |
337 | res\drawable-hdpi
338 | 1
339 |
340 |
341 |
342 |
343 | res\drawable-xhdpi
344 | 1
345 |
346 |
347 | res\drawable-xhdpi
348 | 1
349 |
350 |
351 |
352 |
353 | res\drawable-xxhdpi
354 | 1
355 |
356 |
357 | res\drawable-xxhdpi
358 | 1
359 |
360 |
361 |
362 |
363 | res\drawable-xxxhdpi
364 | 1
365 |
366 |
367 | res\drawable-xxxhdpi
368 | 1
369 |
370 |
371 |
372 |
373 | res\drawable-small
374 | 1
375 |
376 |
377 | res\drawable-small
378 | 1
379 |
380 |
381 |
382 |
383 | res\drawable-normal
384 | 1
385 |
386 |
387 | res\drawable-normal
388 | 1
389 |
390 |
391 |
392 |
393 | res\drawable-large
394 | 1
395 |
396 |
397 | res\drawable-large
398 | 1
399 |
400 |
401 |
402 |
403 | res\drawable-xlarge
404 | 1
405 |
406 |
407 | res\drawable-xlarge
408 | 1
409 |
410 |
411 |
412 |
413 | res\values
414 | 1
415 |
416 |
417 | res\values
418 | 1
419 |
420 |
421 |
422 |
423 | 1
424 |
425 |
426 | 1
427 |
428 |
429 | 0
430 |
431 |
432 |
433 |
434 | 1
435 | .framework
436 |
437 |
438 | 1
439 | .framework
440 |
441 |
442 | 0
443 |
444 |
445 |
446 |
447 | 1
448 | .dylib
449 |
450 |
451 | 1
452 | .dylib
453 |
454 |
455 | 0
456 | .dll;.bpl
457 |
458 |
459 |
460 |
461 | 1
462 | .dylib
463 |
464 |
465 | 1
466 | .dylib
467 |
468 |
469 | 1
470 | .dylib
471 |
472 |
473 | 1
474 | .dylib
475 |
476 |
477 | 1
478 | .dylib
479 |
480 |
481 | 0
482 | .bpl
483 |
484 |
485 |
486 |
487 | 0
488 |
489 |
490 | 0
491 |
492 |
493 | 0
494 |
495 |
496 | 0
497 |
498 |
499 | 0
500 |
501 |
502 | 0
503 |
504 |
505 | 0
506 |
507 |
508 | 0
509 |
510 |
511 |
512 |
513 | 1
514 |
515 |
516 | 1
517 |
518 |
519 | 1
520 |
521 |
522 |
523 |
524 | 1
525 |
526 |
527 | 1
528 |
529 |
530 | 1
531 |
532 |
533 |
534 |
535 | 1
536 |
537 |
538 | 1
539 |
540 |
541 | 1
542 |
543 |
544 |
545 |
546 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
547 | 1
548 |
549 |
550 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
551 | 1
552 |
553 |
554 |
555 |
556 | 1
557 |
558 |
559 | 1
560 |
561 |
562 | 1
563 |
564 |
565 |
566 |
567 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
568 | 1
569 |
570 |
571 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
572 | 1
573 |
574 |
575 |
576 |
577 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
578 | 1
579 |
580 |
581 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
582 | 1
583 |
584 |
585 |
586 |
587 | 1
588 |
589 |
590 | 1
591 |
592 |
593 | 1
594 |
595 |
596 |
597 |
598 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
599 | 1
600 |
601 |
602 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
603 | 1
604 |
605 |
606 |
607 |
608 | 1
609 |
610 |
611 | 1
612 |
613 |
614 | 1
615 |
616 |
617 |
618 |
619 | 1
620 |
621 |
622 | 1
623 |
624 |
625 | 1
626 |
627 |
628 |
629 |
630 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
631 | 1
632 |
633 |
634 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
635 | 1
636 |
637 |
638 |
639 |
640 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
641 | 1
642 |
643 |
644 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
645 | 1
646 |
647 |
648 |
649 |
650 | 1
651 |
652 |
653 | 1
654 |
655 |
656 |
657 |
658 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
659 | 1
660 |
661 |
662 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
663 | 1
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 | 1
673 |
674 |
675 | 1
676 |
677 |
678 | 1
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 | Contents\Resources
687 | 1
688 |
689 |
690 | Contents\Resources
691 | 1
692 |
693 |
694 |
695 |
696 | library\lib\armeabi-v7a
697 | 1
698 |
699 |
700 | library\lib\arm64-v8a
701 | 1
702 |
703 |
704 | 1
705 |
706 |
707 | 1
708 |
709 |
710 | 1
711 |
712 |
713 | 1
714 |
715 |
716 | 1
717 |
718 |
719 | 1
720 |
721 |
722 | 0
723 |
724 |
725 |
726 |
727 | library\lib\armeabi-v7a
728 | 1
729 |
730 |
731 |
732 |
733 | 1
734 |
735 |
736 | 1
737 |
738 |
739 |
740 |
741 | Assets
742 | 1
743 |
744 |
745 | Assets
746 | 1
747 |
748 |
749 |
750 |
751 | Assets
752 | 1
753 |
754 |
755 | Assets
756 | 1
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 | True
772 | False
773 |
774 |
775 | 12
776 |
777 |
778 |
779 |
780 |
781 |
--------------------------------------------------------------------------------
/Direct2DDemoMain.dfm:
--------------------------------------------------------------------------------
1 | object Direct2DDemoMainForm: TDirect2DDemoMainForm
2 | Left = 2111
3 | Top = 115
4 | Caption = 'Direct2D Demo'
5 | ClientHeight = 459
6 | ClientWidth = 515
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | PixelsPerInch = 96
15 | TextHeight = 13
16 | object DisplaySplitter: TSplitter
17 | Left = 0
18 | Top = 341
19 | Width = 515
20 | Height = 4
21 | Cursor = crVSplit
22 | Align = alBottom
23 | ExplicitLeft = 60
24 | ExplicitTop = 241
25 | ExplicitWidth = 401
26 | end
27 | object TopPanel: TPanel
28 | Left = 0
29 | Top = 0
30 | Width = 515
31 | Height = 341
32 | Align = alClient
33 | DoubleBuffered = True
34 | ParentDoubleBuffered = False
35 | TabOrder = 0
36 | object AcceleratedPaintPanel1: TAcceleratedPaintPanel
37 | Left = 1
38 | Top = 1
39 | Width = 408
40 | Height = 339
41 | Align = alClient
42 | ParentBackground = False
43 | TabOrder = 0
44 | OnClick = AcceleratedPaintPanel1Click
45 | OnPaint = AcceleratedPaintBox1Paint
46 | end
47 | object RightPanel: TPanel
48 | Left = 409
49 | Top = 1
50 | Width = 105
51 | Height = 339
52 | Align = alRight
53 | TabOrder = 1
54 | object LoadImageButton: TButton
55 | Left = 16
56 | Top = 16
57 | Width = 75
58 | Height = 25
59 | Caption = 'Load image'
60 | TabOrder = 0
61 | OnClick = LoadImageButtonClick
62 | end
63 | object ZoomOutButton: TButton
64 | Left = 16
65 | Top = 92
66 | Width = 75
67 | Height = 25
68 | Caption = 'Zoom Out'
69 | TabOrder = 1
70 | OnClick = ZoomOutButtonClick
71 | end
72 | object ZoomInButton: TButton
73 | Left = 16
74 | Top = 123
75 | Width = 75
76 | Height = 25
77 | Caption = 'Zoom In'
78 | TabOrder = 2
79 | OnClick = ZoomInButtonClick
80 | end
81 | object PanLeftButton: TButton
82 | Left = 16
83 | Top = 154
84 | Width = 75
85 | Height = 25
86 | Caption = 'Pan Left'
87 | TabOrder = 3
88 | OnClick = PanLeftButtonClick
89 | end
90 | object PanRightButton: TButton
91 | Left = 16
92 | Top = 185
93 | Width = 75
94 | Height = 25
95 | Caption = 'Pan Right'
96 | TabOrder = 4
97 | OnClick = PanRightButtonClick
98 | end
99 | object PanUpButton: TButton
100 | Left = 16
101 | Top = 215
102 | Width = 75
103 | Height = 25
104 | Caption = 'Pan Up'
105 | TabOrder = 5
106 | OnClick = PanUpButtonClick
107 | end
108 | object PanDownButton: TButton
109 | Left = 16
110 | Top = 245
111 | Width = 75
112 | Height = 25
113 | Caption = 'Pan Down'
114 | TabOrder = 6
115 | OnClick = PanDownButtonClick
116 | end
117 | object RotateCWButton: TButton
118 | Left = 16
119 | Top = 64
120 | Width = 75
121 | Height = 25
122 | Caption = 'Rotate CW'
123 | TabOrder = 7
124 | OnClick = RotateCWButtonClick
125 | end
126 | object FlipHorizButton: TButton
127 | Left = 16
128 | Top = 276
129 | Width = 75
130 | Height = 25
131 | Caption = 'Flip H'
132 | TabOrder = 8
133 | OnClick = FlipHorizButtonClick
134 | end
135 | object FlipVertButton: TButton
136 | Left = 16
137 | Top = 307
138 | Width = 75
139 | Height = 25
140 | Caption = 'Flip V'
141 | TabOrder = 9
142 | OnClick = FlipVertButtonClick
143 | end
144 | end
145 | end
146 | object DisplayMemo: TMemo
147 | Left = 0
148 | Top = 345
149 | Width = 515
150 | Height = 114
151 | Align = alBottom
152 | TabOrder = 1
153 | end
154 | end
155 |
--------------------------------------------------------------------------------
/Direct2DDemoMain.pas:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fpiette/Direct2DDemo/a8753a11e47828208243802973b0ab727726a504/Direct2DDemoMain.pas
--------------------------------------------------------------------------------
/Direct2DDemoProjects.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {33F55A48-6AA1-4170-AD1D-03D21833AA9E}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Default.Personality.12
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/Direct2DDemoRunTime.dpk:
--------------------------------------------------------------------------------
1 | package Direct2DDemoRunTime;
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 | {$DESCRIPTION 'Direct2D support component'}
29 | {$RUNONLY}
30 | {$IMPLICITBUILD ON}
31 |
32 | requires
33 | rtl,
34 | vcl;
35 |
36 | contains
37 | AcceleratedPaintPanel in 'AcceleratedPaintPanel.pas';
38 |
39 | end.
40 |
--------------------------------------------------------------------------------
/Direct2DDemoRunTime.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {6276A32E-3A43-4B60-85F2-3F26FB9A67F4}
4 | Direct2DDemoRunTime.dpk
5 | 19.0
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 | Cfg_1
29 | true
30 | true
31 |
32 |
33 | true
34 | Base
35 | true
36 |
37 |
38 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace)
39 | Direct2DDemoRunTime
40 | true
41 | true
42 | true
43 | All
44 | .\$(Platform)\$(Config)
45 | .\$(Platform)\$(Config)
46 | false
47 | false
48 | false
49 | false
50 | false
51 |
52 |
53 | Direct2D support component
54 | 1033
55 | true
56 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
57 | CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(ModuleName);FileDescription=$(ModuleName);ProductName=$(ModuleName)
58 |
59 |
60 | DEBUG;$(DCC_Define)
61 | true
62 | false
63 | true
64 | true
65 | true
66 |
67 |
68 | 1033
69 | true
70 | false
71 |
72 |
73 | false
74 | RELEASE;$(DCC_Define)
75 | 0
76 | 0
77 |
78 |
79 |
80 | MainSource
81 |
82 |
83 |
84 |
85 |
86 | Cfg_2
87 | Base
88 |
89 |
90 | Base
91 |
92 |
93 | Cfg_1
94 | Base
95 |
96 |
97 |
98 | Delphi.Personality.12
99 | Package
100 |
101 |
102 |
103 | Direct2DDemoRunTime.dpk
104 |
105 |
106 | (untitled)
107 | (untitled)
108 | (untitled)
109 | Microsoft Office 2000 Sample Automation Server Wrapper Components
110 | Microsoft Office XP Sample Automation Server Wrapper Components
111 |
112 |
113 |
114 |
115 |
116 | Direct2DDemoRunTime.bpl
117 | true
118 |
119 |
120 |
121 |
122 | true
123 |
124 |
125 |
126 |
127 | true
128 |
129 |
130 |
131 |
132 | true
133 |
134 |
135 |
136 |
137 | true
138 |
139 |
140 |
141 |
142 | 1
143 |
144 |
145 | 0
146 |
147 |
148 |
149 |
150 | classes
151 | 1
152 |
153 |
154 | classes
155 | 1
156 |
157 |
158 |
159 |
160 | res\xml
161 | 1
162 |
163 |
164 | res\xml
165 | 1
166 |
167 |
168 |
169 |
170 | library\lib\armeabi-v7a
171 | 1
172 |
173 |
174 |
175 |
176 | library\lib\armeabi
177 | 1
178 |
179 |
180 | library\lib\armeabi
181 | 1
182 |
183 |
184 |
185 |
186 | library\lib\armeabi-v7a
187 | 1
188 |
189 |
190 |
191 |
192 | library\lib\mips
193 | 1
194 |
195 |
196 | library\lib\mips
197 | 1
198 |
199 |
200 |
201 |
202 | library\lib\armeabi-v7a
203 | 1
204 |
205 |
206 | library\lib\arm64-v8a
207 | 1
208 |
209 |
210 |
211 |
212 | library\lib\armeabi-v7a
213 | 1
214 |
215 |
216 |
217 |
218 | res\drawable
219 | 1
220 |
221 |
222 | res\drawable
223 | 1
224 |
225 |
226 |
227 |
228 | res\values
229 | 1
230 |
231 |
232 | res\values
233 | 1
234 |
235 |
236 |
237 |
238 | res\values-v21
239 | 1
240 |
241 |
242 | res\values-v21
243 | 1
244 |
245 |
246 |
247 |
248 | res\values
249 | 1
250 |
251 |
252 | res\values
253 | 1
254 |
255 |
256 |
257 |
258 | res\drawable
259 | 1
260 |
261 |
262 | res\drawable
263 | 1
264 |
265 |
266 |
267 |
268 | res\drawable-xxhdpi
269 | 1
270 |
271 |
272 | res\drawable-xxhdpi
273 | 1
274 |
275 |
276 |
277 |
278 | res\drawable-ldpi
279 | 1
280 |
281 |
282 | res\drawable-ldpi
283 | 1
284 |
285 |
286 |
287 |
288 | res\drawable-mdpi
289 | 1
290 |
291 |
292 | res\drawable-mdpi
293 | 1
294 |
295 |
296 |
297 |
298 | res\drawable-hdpi
299 | 1
300 |
301 |
302 | res\drawable-hdpi
303 | 1
304 |
305 |
306 |
307 |
308 | res\drawable-xhdpi
309 | 1
310 |
311 |
312 | res\drawable-xhdpi
313 | 1
314 |
315 |
316 |
317 |
318 | res\drawable-mdpi
319 | 1
320 |
321 |
322 | res\drawable-mdpi
323 | 1
324 |
325 |
326 |
327 |
328 | res\drawable-hdpi
329 | 1
330 |
331 |
332 | res\drawable-hdpi
333 | 1
334 |
335 |
336 |
337 |
338 | res\drawable-xhdpi
339 | 1
340 |
341 |
342 | res\drawable-xhdpi
343 | 1
344 |
345 |
346 |
347 |
348 | res\drawable-xxhdpi
349 | 1
350 |
351 |
352 | res\drawable-xxhdpi
353 | 1
354 |
355 |
356 |
357 |
358 | res\drawable-xxxhdpi
359 | 1
360 |
361 |
362 | res\drawable-xxxhdpi
363 | 1
364 |
365 |
366 |
367 |
368 | res\drawable-small
369 | 1
370 |
371 |
372 | res\drawable-small
373 | 1
374 |
375 |
376 |
377 |
378 | res\drawable-normal
379 | 1
380 |
381 |
382 | res\drawable-normal
383 | 1
384 |
385 |
386 |
387 |
388 | res\drawable-large
389 | 1
390 |
391 |
392 | res\drawable-large
393 | 1
394 |
395 |
396 |
397 |
398 | res\drawable-xlarge
399 | 1
400 |
401 |
402 | res\drawable-xlarge
403 | 1
404 |
405 |
406 |
407 |
408 | res\values
409 | 1
410 |
411 |
412 | res\values
413 | 1
414 |
415 |
416 |
417 |
418 | 1
419 |
420 |
421 | 1
422 |
423 |
424 | 0
425 |
426 |
427 |
428 |
429 | 1
430 | .framework
431 |
432 |
433 | 1
434 | .framework
435 |
436 |
437 | 0
438 |
439 |
440 |
441 |
442 | 1
443 | .dylib
444 |
445 |
446 | 1
447 | .dylib
448 |
449 |
450 | 0
451 | .dll;.bpl
452 |
453 |
454 |
455 |
456 | 1
457 | .dylib
458 |
459 |
460 | 1
461 | .dylib
462 |
463 |
464 | 1
465 | .dylib
466 |
467 |
468 | 1
469 | .dylib
470 |
471 |
472 | 1
473 | .dylib
474 |
475 |
476 | 0
477 | .bpl
478 |
479 |
480 |
481 |
482 | 0
483 |
484 |
485 | 0
486 |
487 |
488 | 0
489 |
490 |
491 | 0
492 |
493 |
494 | 0
495 |
496 |
497 | 0
498 |
499 |
500 | 0
501 |
502 |
503 | 0
504 |
505 |
506 |
507 |
508 | 1
509 |
510 |
511 | 1
512 |
513 |
514 | 1
515 |
516 |
517 |
518 |
519 | 1
520 |
521 |
522 | 1
523 |
524 |
525 | 1
526 |
527 |
528 |
529 |
530 | 1
531 |
532 |
533 | 1
534 |
535 |
536 | 1
537 |
538 |
539 |
540 |
541 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
542 | 1
543 |
544 |
545 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
546 | 1
547 |
548 |
549 |
550 |
551 | 1
552 |
553 |
554 | 1
555 |
556 |
557 | 1
558 |
559 |
560 |
561 |
562 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
563 | 1
564 |
565 |
566 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
567 | 1
568 |
569 |
570 |
571 |
572 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
573 | 1
574 |
575 |
576 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
577 | 1
578 |
579 |
580 |
581 |
582 | 1
583 |
584 |
585 | 1
586 |
587 |
588 | 1
589 |
590 |
591 |
592 |
593 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
594 | 1
595 |
596 |
597 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
598 | 1
599 |
600 |
601 |
602 |
603 | 1
604 |
605 |
606 | 1
607 |
608 |
609 | 1
610 |
611 |
612 |
613 |
614 | 1
615 |
616 |
617 | 1
618 |
619 |
620 | 1
621 |
622 |
623 |
624 |
625 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
626 | 1
627 |
628 |
629 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
630 | 1
631 |
632 |
633 |
634 |
635 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
636 | 1
637 |
638 |
639 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
640 | 1
641 |
642 |
643 |
644 |
645 | 1
646 |
647 |
648 | 1
649 |
650 |
651 |
652 |
653 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
654 | 1
655 |
656 |
657 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
658 | 1
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 | 1
668 |
669 |
670 | 1
671 |
672 |
673 | 1
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 | Contents\Resources
682 | 1
683 |
684 |
685 | Contents\Resources
686 | 1
687 |
688 |
689 |
690 |
691 | library\lib\armeabi-v7a
692 | 1
693 |
694 |
695 | library\lib\arm64-v8a
696 | 1
697 |
698 |
699 | 1
700 |
701 |
702 | 1
703 |
704 |
705 | 1
706 |
707 |
708 | 1
709 |
710 |
711 | 1
712 |
713 |
714 | 1
715 |
716 |
717 | 0
718 |
719 |
720 |
721 |
722 | library\lib\armeabi-v7a
723 | 1
724 |
725 |
726 |
727 |
728 | 1
729 |
730 |
731 | 1
732 |
733 |
734 |
735 |
736 | Assets
737 | 1
738 |
739 |
740 | Assets
741 | 1
742 |
743 |
744 |
745 |
746 | Assets
747 | 1
748 |
749 |
750 | Assets
751 | 1
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 | True
767 | False
768 |
769 |
770 | 12
771 |
772 |
773 |
774 |
775 |
776 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Mozilla Public License Version 2.0
2 | ==================================
3 |
4 | 1. Definitions
5 | --------------
6 |
7 | 1.1. "Contributor"
8 | means each individual or legal entity that creates, contributes to
9 | the creation of, or owns Covered Software.
10 |
11 | 1.2. "Contributor Version"
12 | means the combination of the Contributions of others (if any) used
13 | by a Contributor and that particular Contributor's Contribution.
14 |
15 | 1.3. "Contribution"
16 | means Covered Software of a particular Contributor.
17 |
18 | 1.4. "Covered Software"
19 | means Source Code Form to which the initial Contributor has attached
20 | the notice in Exhibit A, the Executable Form of such Source Code
21 | Form, and Modifications of such Source Code Form, in each case
22 | including portions thereof.
23 |
24 | 1.5. "Incompatible With Secondary Licenses"
25 | means
26 |
27 | (a) that the initial Contributor has attached the notice described
28 | in Exhibit B to the Covered Software; or
29 |
30 | (b) that the Covered Software was made available under the terms of
31 | version 1.1 or earlier of the License, but not also under the
32 | terms of a Secondary License.
33 |
34 | 1.6. "Executable Form"
35 | means any form of the work other than Source Code Form.
36 |
37 | 1.7. "Larger Work"
38 | means a work that combines Covered Software with other material, in
39 | a separate file or files, that is not Covered Software.
40 |
41 | 1.8. "License"
42 | means this document.
43 |
44 | 1.9. "Licensable"
45 | means having the right to grant, to the maximum extent possible,
46 | whether at the time of the initial grant or subsequently, any and
47 | all of the rights conveyed by this License.
48 |
49 | 1.10. "Modifications"
50 | means any of the following:
51 |
52 | (a) any file in Source Code Form that results from an addition to,
53 | deletion from, or modification of the contents of Covered
54 | Software; or
55 |
56 | (b) any new file in Source Code Form that contains any Covered
57 | Software.
58 |
59 | 1.11. "Patent Claims" of a Contributor
60 | means any patent claim(s), including without limitation, method,
61 | process, and apparatus claims, in any patent Licensable by such
62 | Contributor that would be infringed, but for the grant of the
63 | License, by the making, using, selling, offering for sale, having
64 | made, import, or transfer of either its Contributions or its
65 | Contributor Version.
66 |
67 | 1.12. "Secondary License"
68 | means either the GNU General Public License, Version 2.0, the GNU
69 | Lesser General Public License, Version 2.1, the GNU Affero General
70 | Public License, Version 3.0, or any later versions of those
71 | licenses.
72 |
73 | 1.13. "Source Code Form"
74 | means the form of the work preferred for making modifications.
75 |
76 | 1.14. "You" (or "Your")
77 | means an individual or a legal entity exercising rights under this
78 | License. For legal entities, "You" includes any entity that
79 | controls, is controlled by, or is under common control with You. For
80 | purposes of this definition, "control" means (a) the power, direct
81 | or indirect, to cause the direction or management of such entity,
82 | whether by contract or otherwise, or (b) ownership of more than
83 | fifty percent (50%) of the outstanding shares or beneficial
84 | ownership of such entity.
85 |
86 | 2. License Grants and Conditions
87 | --------------------------------
88 |
89 | 2.1. Grants
90 |
91 | Each Contributor hereby grants You a world-wide, royalty-free,
92 | non-exclusive license:
93 |
94 | (a) under intellectual property rights (other than patent or trademark)
95 | Licensable by such Contributor to use, reproduce, make available,
96 | modify, display, perform, distribute, and otherwise exploit its
97 | Contributions, either on an unmodified basis, with Modifications, or
98 | as part of a Larger Work; and
99 |
100 | (b) under Patent Claims of such Contributor to make, use, sell, offer
101 | for sale, have made, import, and otherwise transfer either its
102 | Contributions or its Contributor Version.
103 |
104 | 2.2. Effective Date
105 |
106 | The licenses granted in Section 2.1 with respect to any Contribution
107 | become effective for each Contribution on the date the Contributor first
108 | distributes such Contribution.
109 |
110 | 2.3. Limitations on Grant Scope
111 |
112 | The licenses granted in this Section 2 are the only rights granted under
113 | this License. No additional rights or licenses will be implied from the
114 | distribution or licensing of Covered Software under this License.
115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a
116 | Contributor:
117 |
118 | (a) for any code that a Contributor has removed from Covered Software;
119 | or
120 |
121 | (b) for infringements caused by: (i) Your and any other third party's
122 | modifications of Covered Software, or (ii) the combination of its
123 | Contributions with other software (except as part of its Contributor
124 | Version); or
125 |
126 | (c) under Patent Claims infringed by Covered Software in the absence of
127 | its Contributions.
128 |
129 | This License does not grant any rights in the trademarks, service marks,
130 | or logos of any Contributor (except as may be necessary to comply with
131 | the notice requirements in Section 3.4).
132 |
133 | 2.4. Subsequent Licenses
134 |
135 | No Contributor makes additional grants as a result of Your choice to
136 | distribute the Covered Software under a subsequent version of this
137 | License (see Section 10.2) or under the terms of a Secondary License (if
138 | permitted under the terms of Section 3.3).
139 |
140 | 2.5. Representation
141 |
142 | Each Contributor represents that the Contributor believes its
143 | Contributions are its original creation(s) or it has sufficient rights
144 | to grant the rights to its Contributions conveyed by this License.
145 |
146 | 2.6. Fair Use
147 |
148 | This License is not intended to limit any rights You have under
149 | applicable copyright doctrines of fair use, fair dealing, or other
150 | equivalents.
151 |
152 | 2.7. Conditions
153 |
154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155 | in Section 2.1.
156 |
157 | 3. Responsibilities
158 | -------------------
159 |
160 | 3.1. Distribution of Source Form
161 |
162 | All distribution of Covered Software in Source Code Form, including any
163 | Modifications that You create or to which You contribute, must be under
164 | the terms of this License. You must inform recipients that the Source
165 | Code Form of the Covered Software is governed by the terms of this
166 | License, and how they can obtain a copy of this License. You may not
167 | attempt to alter or restrict the recipients' rights in the Source Code
168 | Form.
169 |
170 | 3.2. Distribution of Executable Form
171 |
172 | If You distribute Covered Software in Executable Form then:
173 |
174 | (a) such Covered Software must also be made available in Source Code
175 | Form, as described in Section 3.1, and You must inform recipients of
176 | the Executable Form how they can obtain a copy of such Source Code
177 | Form by reasonable means in a timely manner, at a charge no more
178 | than the cost of distribution to the recipient; and
179 |
180 | (b) You may distribute such Executable Form under the terms of this
181 | License, or sublicense it under different terms, provided that the
182 | license for the Executable Form does not attempt to limit or alter
183 | the recipients' rights in the Source Code Form under this License.
184 |
185 | 3.3. Distribution of a Larger Work
186 |
187 | You may create and distribute a Larger Work under terms of Your choice,
188 | provided that You also comply with the requirements of this License for
189 | the Covered Software. If the Larger Work is a combination of Covered
190 | Software with a work governed by one or more Secondary Licenses, and the
191 | Covered Software is not Incompatible With Secondary Licenses, this
192 | License permits You to additionally distribute such Covered Software
193 | under the terms of such Secondary License(s), so that the recipient of
194 | the Larger Work may, at their option, further distribute the Covered
195 | Software under the terms of either this License or such Secondary
196 | License(s).
197 |
198 | 3.4. Notices
199 |
200 | You may not remove or alter the substance of any license notices
201 | (including copyright notices, patent notices, disclaimers of warranty,
202 | or limitations of liability) contained within the Source Code Form of
203 | the Covered Software, except that You may alter any license notices to
204 | the extent required to remedy known factual inaccuracies.
205 |
206 | 3.5. Application of Additional Terms
207 |
208 | You may choose to offer, and to charge a fee for, warranty, support,
209 | indemnity or liability obligations to one or more recipients of Covered
210 | Software. However, You may do so only on Your own behalf, and not on
211 | behalf of any Contributor. You must make it absolutely clear that any
212 | such warranty, support, indemnity, or liability obligation is offered by
213 | You alone, and You hereby agree to indemnify every Contributor for any
214 | liability incurred by such Contributor as a result of warranty, support,
215 | indemnity or liability terms You offer. You may include additional
216 | disclaimers of warranty and limitations of liability specific to any
217 | jurisdiction.
218 |
219 | 4. Inability to Comply Due to Statute or Regulation
220 | ---------------------------------------------------
221 |
222 | If it is impossible for You to comply with any of the terms of this
223 | License with respect to some or all of the Covered Software due to
224 | statute, judicial order, or regulation then You must: (a) comply with
225 | the terms of this License to the maximum extent possible; and (b)
226 | describe the limitations and the code they affect. Such description must
227 | be placed in a text file included with all distributions of the Covered
228 | Software under this License. Except to the extent prohibited by statute
229 | or regulation, such description must be sufficiently detailed for a
230 | recipient of ordinary skill to be able to understand it.
231 |
232 | 5. Termination
233 | --------------
234 |
235 | 5.1. The rights granted under this License will terminate automatically
236 | if You fail to comply with any of its terms. However, if You become
237 | compliant, then the rights granted under this License from a particular
238 | Contributor are reinstated (a) provisionally, unless and until such
239 | Contributor explicitly and finally terminates Your grants, and (b) on an
240 | ongoing basis, if such Contributor fails to notify You of the
241 | non-compliance by some reasonable means prior to 60 days after You have
242 | come back into compliance. Moreover, Your grants from a particular
243 | Contributor are reinstated on an ongoing basis if such Contributor
244 | notifies You of the non-compliance by some reasonable means, this is the
245 | first time You have received notice of non-compliance with this License
246 | from such Contributor, and You become compliant prior to 30 days after
247 | Your receipt of the notice.
248 |
249 | 5.2. If You initiate litigation against any entity by asserting a patent
250 | infringement claim (excluding declaratory judgment actions,
251 | counter-claims, and cross-claims) alleging that a Contributor Version
252 | directly or indirectly infringes any patent, then the rights granted to
253 | You by any and all Contributors for the Covered Software under Section
254 | 2.1 of this License shall terminate.
255 |
256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257 | end user license agreements (excluding distributors and resellers) which
258 | have been validly granted by You or Your distributors under this License
259 | prior to termination shall survive termination.
260 |
261 | ************************************************************************
262 | * *
263 | * 6. Disclaimer of Warranty *
264 | * ------------------------- *
265 | * *
266 | * Covered Software is provided under this License on an "as is" *
267 | * basis, without warranty of any kind, either expressed, implied, or *
268 | * statutory, including, without limitation, warranties that the *
269 | * Covered Software is free of defects, merchantable, fit for a *
270 | * particular purpose or non-infringing. The entire risk as to the *
271 | * quality and performance of the Covered Software is with You. *
272 | * Should any Covered Software prove defective in any respect, You *
273 | * (not any Contributor) assume the cost of any necessary servicing, *
274 | * repair, or correction. This disclaimer of warranty constitutes an *
275 | * essential part of this License. No use of any Covered Software is *
276 | * authorized under this License except under this disclaimer. *
277 | * *
278 | ************************************************************************
279 |
280 | ************************************************************************
281 | * *
282 | * 7. Limitation of Liability *
283 | * -------------------------- *
284 | * *
285 | * Under no circumstances and under no legal theory, whether tort *
286 | * (including negligence), contract, or otherwise, shall any *
287 | * Contributor, or anyone who distributes Covered Software as *
288 | * permitted above, be liable to You for any direct, indirect, *
289 | * special, incidental, or consequential damages of any character *
290 | * including, without limitation, damages for lost profits, loss of *
291 | * goodwill, work stoppage, computer failure or malfunction, or any *
292 | * and all other commercial damages or losses, even if such party *
293 | * shall have been informed of the possibility of such damages. This *
294 | * limitation of liability shall not apply to liability for death or *
295 | * personal injury resulting from such party's negligence to the *
296 | * extent applicable law prohibits such limitation. Some *
297 | * jurisdictions do not allow the exclusion or limitation of *
298 | * incidental or consequential damages, so this exclusion and *
299 | * limitation may not apply to You. *
300 | * *
301 | ************************************************************************
302 |
303 | 8. Litigation
304 | -------------
305 |
306 | Any litigation relating to this License may be brought only in the
307 | courts of a jurisdiction where the defendant maintains its principal
308 | place of business and such litigation shall be governed by laws of that
309 | jurisdiction, without reference to its conflict-of-law provisions.
310 | Nothing in this Section shall prevent a party's ability to bring
311 | cross-claims or counter-claims.
312 |
313 | 9. Miscellaneous
314 | ----------------
315 |
316 | This License represents the complete agreement concerning the subject
317 | matter hereof. If any provision of this License is held to be
318 | unenforceable, such provision shall be reformed only to the extent
319 | necessary to make it enforceable. Any law or regulation which provides
320 | that the language of a contract shall be construed against the drafter
321 | shall not be used to construe this License against a Contributor.
322 |
323 | 10. Versions of the License
324 | ---------------------------
325 |
326 | 10.1. New Versions
327 |
328 | Mozilla Foundation is the license steward. Except as provided in Section
329 | 10.3, no one other than the license steward has the right to modify or
330 | publish new versions of this License. Each version will be given a
331 | distinguishing version number.
332 |
333 | 10.2. Effect of New Versions
334 |
335 | You may distribute the Covered Software under the terms of the version
336 | of the License under which You originally received the Covered Software,
337 | or under the terms of any subsequent version published by the license
338 | steward.
339 |
340 | 10.3. Modified Versions
341 |
342 | If you create software not governed by this License, and you want to
343 | create a new license for such software, you may create and use a
344 | modified version of this License if you rename the license and remove
345 | any references to the name of the license steward (except to note that
346 | such modified license differs from this License).
347 |
348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary
349 | Licenses
350 |
351 | If You choose to distribute Source Code Form that is Incompatible With
352 | Secondary Licenses under the terms of this version of the License, the
353 | notice described in Exhibit B of this License must be attached.
354 |
355 | Exhibit A - Source Code Form License Notice
356 | -------------------------------------------
357 |
358 | This Source Code Form is subject to the terms of the Mozilla Public
359 | License, v. 2.0. If a copy of the MPL was not distributed with this
360 | file, You can obtain one at http://mozilla.org/MPL/2.0/.
361 |
362 | If it is not possible or desirable to put the notice in a particular
363 | file, then You may include the notice in a location (such as a LICENSE
364 | file in a relevant directory) where a recipient would be likely to look
365 | for such a notice.
366 |
367 | You may add additional accurate notices of copyright ownership.
368 |
369 | Exhibit B - "Incompatible With Secondary Licenses" Notice
370 | ---------------------------------------------------------
371 |
372 | This Source Code Form is "Incompatible With Secondary Licenses", as
373 | defined by the Mozilla Public License, v. 2.0.
374 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Direct2DDemo
2 | Delphi Direct2D demo. Using Direct2D and GDI+ in a Delphi application.
3 |
4 | See my blog:
5 |
6 | https://francois-piette.blogspot.com/2020/08/using-direct2d-and-gdi.html
7 |
--------------------------------------------------------------------------------