OSDN Git Service

有効なEffectオブジェクトが持てる最大の数は1までです
[vobslideshow/vob.git] / Unit1.pas
1 unit Unit1;
2
3 interface
4
5 uses
6   System.SysUtils, System.Types, System.UITypes, System.Classes,
7   System.Variants,
8   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
9   Data.Bind.EngExt, FMX.Bind.DBEngExt, System.Rtti, System.Bindings.Outputs,
10   FMX.Bind.Editors, Data.Bind.Components, FMX.StdCtrls, FMX.Effects,
11   FMX.Filter.Effects, FMX.Ani, FMX.Objects, FMX.Menus, FMX.ListView.Types,
12   FMX.ListView, System.TypInfo, FMX.Layouts, FMX.ListBox;
13
14 type
15   TForm1 = class(TForm)
16     BlurTransitionEffect1: TBlurTransitionEffect;
17     Image1: TImage;
18     Timer1: TTimer;
19     BandedSwirlTransitionEffect1: TBandedSwirlTransitionEffect;
20     MainMenu1: TMainMenu;
21     BlindTransitionEffect1: TBlindTransitionEffect;
22     CircleTransitionEffect1: TCircleTransitionEffect;
23     MagnifyTransitionEffect1: TMagnifyTransitionEffect;
24     CrumpleTransitionEffect1: TCrumpleTransitionEffect;
25     DissolveTransitionEffect1: TDissolveTransitionEffect;
26     DropTransitionEffect1: TDropTransitionEffect;
27     FadeTransitionEffect1: TFadeTransitionEffect;
28     BrightTransitionEffect1: TBrightTransitionEffect;
29     PixelateTransitionEffect1: TPixelateTransitionEffect;
30     WiggleTransitionEffect1: TWiggleTransitionEffect;
31     ShapeTransitionEffect1: TShapeTransitionEffect;
32     RippleTransitionEffect1: TRippleTransitionEffect;
33     RotateCrumpleTransitionEffect1: TRotateCrumpleTransitionEffect;
34     SaturateTransitionEffect1: TSaturateTransitionEffect;
35     SlideTransitionEffect1: TSlideTransitionEffect;
36     SwirlTransitionEffect1: TSwirlTransitionEffect;
37     WaterTransitionEffect1: TWaterTransitionEffect;
38     WaveTransitionEffect1: TWaveTransitionEffect;
39     LineTransitionEffect1: TLineTransitionEffect;
40     FloatAnimation1: TFloatAnimation;
41     ListView1: TListView;
42     Button1: TButton;
43     OpenDialog1: TOpenDialog;
44     Button2: TButton;
45     Image2: TImage;
46     ListBox1: TListBox;
47     MenuItem1: TMenuItem;
48     MenuItem2: TMenuItem;
49     MenuItem3: TMenuItem;
50     MenuItem4: TMenuItem;
51     MenuItem5: TMenuItem;
52     MenuItem6: TMenuItem;
53     procedure Button1Click(Sender: TObject);
54     procedure Button2Click(Sender: TObject);
55     procedure ListView1Change(Sender: TObject);
56     procedure FormCreate(Sender: TObject);
57     procedure FloatAnimation1Finish(Sender: TObject);
58     procedure MenuItem5Click(Sender: TObject);
59   private
60     { private \90é\8c¾ }
61   public
62     { public \90é\8c¾ }
63   end;
64
65 var
66   Form1: TForm1;
67
68 implementation
69
70 {$R *.fmx}
71
72 procedure TForm1.Button1Click(Sender: TObject);
73 var
74   i: Integer;
75 begin
76   if OpenDialog1.Execute = true then
77   begin
78     ListView1.Items.Clear;
79     for i := 0 to OpenDialog1.Files.Count - 1 do
80       ListView1.Items.Add.Text := OpenDialog1.Files[i];
81   end;
82 end;
83
84 procedure TForm1.Button2Click(Sender: TObject);
85 var
86   s: TFmxObject;
87   i: Integer;
88 begin
89   if Image1.Bitmap.IsEmpty = false then
90   begin
91     FloatAnimation1.Stop;
92     for i := 0 to Image2.ChildrenCount - 1 do
93       if Image2.Children[i].ClassName = ListBox1.Items[ListBox1.ItemIndex] then
94         s := Image2.Children[i];
95     s.Parent := Image1;
96     FloatAnimation1.Parent := s;
97     SetObjectProp(s, 'target', Image2.Bitmap);
98     FloatAnimation1.Start;
99   end;
100 end;
101
102 procedure TForm1.FloatAnimation1Finish(Sender: TObject);
103 begin
104   FloatAnimation1.Parent.Parent := Image2;
105 end;
106
107 procedure TForm1.FormCreate(Sender: TObject);
108 var
109   i: Integer;
110 begin
111   for i := 0 to Image2.ChildrenCount - 1 do
112     ListBox1.Items.Add(Image2.Children[i].ClassName);
113   ListBox1.ItemIndex := 0;
114 end;
115
116 procedure TForm1.ListView1Change(Sender: TObject);
117 begin
118   FloatAnimation1.Stop;
119   Image1.Bitmap.LoadFromFile(ListView1.Items[ListView1.ItemIndex].Text);
120   if ListView1.ItemIndex < ListView1.ItemCount - 1 then
121     Image2.Bitmap.LoadFromFile(ListView1.Items[ListView1.ItemIndex + 1].Text);
122 end;
123
124 procedure TForm1.MenuItem5Click(Sender: TObject);
125 begin
126   Close;
127 end;
128
129 end.