aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/lib/DSPack/DSPack/DSEditors.pas
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Game/Code/lib/DSPack/DSPack/DSEditors.pas131
1 files changed, 131 insertions, 0 deletions
diff --git a/Game/Code/lib/DSPack/DSPack/DSEditors.pas b/Game/Code/lib/DSPack/DSPack/DSEditors.pas
new file mode 100644
index 00000000..facaa1e4
--- /dev/null
+++ b/Game/Code/lib/DSPack/DSPack/DSEditors.pas
@@ -0,0 +1,131 @@
+
+ (*********************************************************************
+ * DSPack 2.3.3 *
+ * *
+ * home page : http://www.progdigy.com *
+ * email : hgourvest@progdigy.com *
+ * Thanks to Michael Andersen. (DSVideoWindowEx) *
+ * *
+ * date : 21-02-2003 *
+ * *
+ * The contents of this file are used with permission, subject to *
+ * the Mozilla Public License Version 1.1 (the "License"); you may *
+ * not use this file except in compliance with the License. You may *
+ * obtain a copy of the License at *
+ * http://www.mozilla.org/MPL/MPL-1.1.html *
+ * *
+ * Software distributed under the License is distributed on an *
+ * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or *
+ * implied. See the License for the specific language governing *
+ * rights and limitations under the License. *
+ * *
+ *********************************************************************)
+
+unit DSEditors;
+
+{$IFDEF VER150}
+ {$WARN UNSAFE_CODE OFF}
+ {$WARN UNSAFE_TYPE OFF}
+ {$WARN UNSAFE_CAST OFF}
+{$ENDIF}
+
+interface
+uses
+{$IFDEF VER140} DesignIntf, DesignEditors, {$ELSE}
+{$IFDEF VER150} DesignIntf, DesignEditors, {$ELSE}
+ DsgnIntf, {$ENDIF} {$ENDIF}
+ Forms, Controls, DSUtil, DSPack;
+
+type
+
+// *****************************************************************************
+// TMediaTypePropertyClass
+// *****************************************************************************
+
+ TMediaTypePropertyClass = class(TClassProperty)
+ public
+ procedure Edit; override;
+ function GetAttributes: TPropertyAttributes; override;
+ end;
+
+// *****************************************************************************
+// TBaseFilterPropertyClass
+// *****************************************************************************
+
+ TBaseFilterPropertyClass = class(TClassProperty)
+ public
+ procedure Edit; override;
+ function GetAttributes: TPropertyAttributes; override;
+ end;
+
+ procedure Register;
+
+implementation
+
+uses MediaTypeEditor, BaseFilterEditor, Classes;
+
+// *****************************************************************************
+// TMediaTypePropertyClass
+// *****************************************************************************
+
+ procedure TMediaTypePropertyClass.Edit;
+ var
+ Dlg: TFormMediaType;
+ begin
+ Dlg := TFormMediaType.create(Application);
+ try
+ Dlg.MediaType.Assign(TMediaType(GetOrdValue));
+ if Dlg.ShowModal = mrOk then
+ begin
+ TMediaType(GetOrdValue).Assign(Dlg.MediaType);
+ if (GetComponent(0) is TSampleGrabber) then
+ IFilter(GetComponent(0) as TSampleGrabber).NotifyFilter(foRefresh);
+ Modified;
+ end;
+ finally
+ Dlg.Free;
+ end;
+ end;
+
+ function TMediaTypePropertyClass.GetAttributes: TPropertyAttributes;
+ begin
+ Result := [paDialog];
+ end;
+
+// *****************************************************************************
+// TBaseFilterPropertyClass
+// *****************************************************************************
+
+ procedure TBaseFilterPropertyClass.Edit;
+ var
+ Dlg: TFormBaseFilter;
+ begin
+ Dlg := TFormBaseFilter.create(Application);
+ try
+ Dlg.Filter.BaseFilter.Assign(TBaseFilter(GetOrdValue));
+ if Dlg.ShowModal = mrOk then
+ begin
+ TBaseFilter(GetOrdValue).Assign(Dlg.Filter.BaseFilter);
+ if (GetComponent(0) is TFilter) then
+ IFilter(GetComponent(0) as TFilter).NotifyFilter(foRefresh);
+ Modified;
+ end;
+ finally
+ Dlg.Free;
+ end;
+ end;
+
+ function TBaseFilterPropertyClass.GetAttributes: TPropertyAttributes;
+ begin
+ Result := [paDialog];
+ end;
+
+ procedure Register;
+ begin
+ RegisterComponents('DSPack', [TFilterGraph, TVideoWindow, TSampleGrabber,
+ TFilter, TASFWriter, TDSTrackBar, TDSVideoWindowEx2]);
+ RegisterPropertyEditor(TypeInfo(TMediaType), nil, '', TMediaTypePropertyClass);
+ RegisterPropertyEditor(TypeInfo(TBaseFilter), nil, '', TBaseFilterPropertyClass);
+ end;
+
+end.