9
Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons,
13
TAddPlotColorsForm = class(TForm)
20
UpperGreen: TTrackBar;
22
UpperAlpha: TTrackBar;
29
LowerGreen: TTrackBar;
31
LowerAlpha: TTrackBar;
32
UpperLowerLock: TCheckBox;
39
procedure FormShow(Sender: TObject);
40
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
41
procedure UpperRedChange(Sender: TObject);
42
procedure UpperGreenChange(Sender: TObject);
43
procedure UpperBlueChange(Sender: TObject);
44
procedure UpperAlphaChange(Sender: TObject);
45
procedure LowerRedChange(Sender: TObject);
46
procedure LowerGreenChange(Sender: TObject);
47
procedure LowerBlueChange(Sender: TObject);
48
procedure LowerAlphaChange(Sender: TObject);
49
procedure ApplyBtnClick(Sender: TObject);
50
procedure BitBtn1Click(Sender: TObject);
51
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
52
procedure UpperLowerLockClick(Sender: TObject);
53
procedure EditBlendKeyDown(Sender: TObject; var Key: Word;
55
procedure EditBlendKeyPress(Sender: TObject; var Key: Char);
56
procedure EditBlendKeyUp(Sender: TObject; var Key: Word;
58
procedure EditMoveKeyPress(Sender: TObject; var Key: Char);
59
procedure EditMoveKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
61
{ Private declarations }
63
{ Public declarations }
64
procedure ShowPlotColorData;
68
AddPlotColorsForm: TAddPlotColorsForm;
73
uGlobal, Main, Functions, OpenGLTokens, DerivativeOptions;
77
procedure TAddPlotColorsForm.ApplyBtnClick(Sender: TObject);
79
ApplyBtn.Visible := False;
84
procedure TAddPlotColorsForm.BitBtn1Click(Sender: TObject);
89
procedure TAddPlotColorsForm.EditBlendKeyDown(Sender: TObject; var Key: Word;
92
if (Key = VK_DELETE) or (Key = VK_BACK) then ApplyBtn.Visible := True;
95
procedure TAddPlotColorsForm.EditBlendKeyPress(Sender: TObject; var Key: Char);
97
if CharInSet(Key, PosFloat) then ApplyBtn.Visible := True
101
procedure TAddPlotColorsForm.EditBlendKeyUp(Sender: TObject; var Key: Word;
108
x := StrToFloat(EditBlend.Text);
112
AddedData.ColorBlend := x;
113
ApplyBtn.Visible := True;
117
procedure TAddPlotColorsForm.EditMoveKeyPress(Sender: TObject; var Key: Char);
119
if CharInSet(Key, AnyFloat) then ApplyBtn.Visible := True
123
procedure TAddPlotColorsForm.EditMoveKeyUp(Sender: TObject; var Key: Word;
130
x := StrToFloat(EditMove.Text);
134
AddedData.ColorMove := x;
135
ApplyBtn.Visible := True;
138
procedure TAddPlotColorsForm.FormCloseQuery(Sender: TObject;
139
var CanClose: Boolean);
141
if ApplyBtn.Visible then
143
case MessageDlg('The current graph''s color data has been altered.'+
144
#13#10'Do you wish to save the alterations ?', mtConfirmation,
145
[mbYes, mbNo, mbCancel], 0) of
146
mrYes: ApplyBtnClick(Sender);
155
procedure TAddPlotColorsForm.FormKeyDown(Sender: TObject; var Key: Word;
158
if Key = VK_ESCAPE then Close;
161
procedure TAddPlotColorsForm.FormShow(Sender: TObject);
163
Caption := GraphFName;
164
UpperLowerLock.Checked := False;
166
ApplyBtn.Visible := False;
169
procedure TAddPlotColorsForm.UpperRedChange(Sender: TObject);
171
AddedData.UpperColor.X := UpperRed.Position/225;
172
if UpperLowerLock.Checked then LowerRed.Position := UpperRed.Position;
173
ApplyBtn.Visible := True;
176
procedure TAddPlotColorsForm.UpperGreenChange(Sender: TObject);
178
AddedData.UpperColor.X := UpperRed.Position/225;
179
if UpperLowerLock.Checked then LowerGreen.Position := UpperGreen.Position;
180
ApplyBtn.Visible := True;
183
procedure TAddPlotColorsForm.UpperLowerLockClick(Sender: TObject);
185
if UpperLowerLock.Checked then
187
LowerRed.Position := UpperRed.Position;
188
LowerGreen.Position := UpperGreen.Position;
189
LowerBlue.Position := UpperBlue.Position;
190
LowerAlpha.Position := UpperAlpha.Position;
194
procedure TAddPlotColorsForm.UpperBlueChange(Sender: TObject);
196
AddedData.UpperColor.Z := UpperBlue.Position/225;
197
if UpperLowerLock.Checked then LowerBlue.Position := UpperBlue.Position;
198
ApplyBtn.Visible := True;
201
procedure TAddPlotColorsForm.UpperAlphaChange(Sender: TObject);
203
AddedData.UpperColor.W := UpperAlpha.Position/1000;
204
if UpperLowerLock.Checked then LowerAlpha.Position := UpperAlpha.Position;
205
ApplyBtn.Visible := True;
208
procedure TAddPlotColorsForm.LowerRedChange(Sender: TObject);
210
AddedData.LowerColor.X := LowerRed.Position/225;
211
if UpperLowerLock.Checked then UpperRed.Position := LowerRed.Position;
212
ApplyBtn.Visible := True;
215
procedure TAddPlotColorsForm.LowerGreenChange(Sender: TObject);
217
AddedData.LowerColor.Y := LowerGreen.Position/225;
218
if UpperLowerLock.Checked then UpperGreen.Position := LowerGreen.Position;
219
ApplyBtn.Visible := True;
222
procedure TAddPlotColorsForm.LowerBlueChange(Sender: TObject);
224
AddedData.LowerColor.Z := LowerBlue.Position/225;
225
if UpperLowerLock.Checked then UpperBlue.Position := LowerBlue.Position;
226
ApplyBtn.Visible := True;
229
procedure TAddPlotColorsForm.LowerAlphaChange(Sender: TObject);
231
AddedData.LowerColor.W := LowerAlpha.Position/1000;
232
if UpperLowerLock.Checked then UpperAlpha.Position := LowerAlpha.Position;
233
ApplyBtn.Visible := True;
236
{ Public declarations }
237
procedure TAddPlotColorsForm.ShowPlotColorData;
239
UpperRed.Position := round(AddedData.UpperColor.X*255);
240
UpperGreen.Position := round(AddedData.UpperColor.Y*255);
241
UpperBlue.Position := round(AddedData.UpperColor.Z*255);
242
UpperAlpha.Position := round(AddedData.UpperColor.W*1000);
244
LowerRed.Position := round(AddedData.LowerColor.X*255);
245
LowerGreen.Position := round(AddedData.LowerColor.Y*255);
246
LowerBlue.Position := round(AddedData.LowerColor.Z*255);
247
LowerAlpha.Position := round(AddedData.LowerColor.W*1000);
249
EditBlend.Text := FloatToStrF(AddedData.ColorBlend, ffGeneral, 7, 4);
250
EditMove.Text := FloatToStrF(AddedData.ColorMove, ffGeneral, 7, 4);