{========================================================================} {= (c) 1995-98 SwiftSoft Ronald Dittrich =} {========================================================================} {= All Rights Reserved =} {========================================================================} {= D 01099 Dresden = Tel.: +0351-8012255 =} {= Loewenstr.7a = info@swiftsoft.de =} {========================================================================} {= Actual versions on http://www.swiftsoft.de/mmtools.html =} {========================================================================} {= This code is for reference purposes only and may not be copied or =} {= distributed in any format electronic or otherwise except one copy =} {= for backup purposes. =} {= =} {= No Delphi Component Kit or Component individually or in a collection=} {= subclassed or otherwise from the code in this unit, or associated =} {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =} {= without express permission from SwiftSoft. =} {= =} {= For more licence informations please refer to the associated =} {= HelpFile. =} {========================================================================} {= $Date: 20.01.1998 - 18:00:00 $ =} {========================================================================} unit MMWDisp; {$I COMPILER.INC} {.$DEFINE _MMDEBUG} interface uses {$IFDEF WIN32} Windows, {$ELSE} WinTypes, WinProcs, {$ENDIF} SysUtils, Classes, Graphics, Controls, Forms, MMSystem, MMUtils, MMPCMSup, MMACMSup, MMWaveIO, MMMath, MMRegs, MMMulDiv, MMWave, MMDIBCv, MMFade {$IFDEF _MMDEBUG} ,MMDebug {$ENDIF}; const MinMS: integer = 1; { minimal resolution in datafile in msec } type PMMDisplayRec = ^TMMDisplayRec; TMMDisplayRec = record LeftMin : SmallInt; RightMin: SmallInt; LeftMax : SmallInt; RightMax: SmallInt; end; PMMDisplayData = ^TMMDisplayData; TMMDisplayData = array[0..0] of TMMDisplayRec; TMMGenerateEvent = procedure(Sender: TObject; Percent: integer; var Cancel: Boolean) of object; procedure AddSample(Wave: TMMWave); procedure RemoveSample(Wave: TMMWave; DeleteData: Boolean); function CheckDisplayData(Wave: TMMWave): Boolean; procedure CreateDisplayData(Wave: TMMWave; Callback: TMMGenerateEvent); procedure GenerateDisplayData(Wave: TMMWave; Callback: TMMGenerateEvent); function ZoomData(Wave: TMMWave; PixelMin, PixelMax: integer; WaveVirtPixMin, WaveVirtPixMax: Longint; Data: PMMDisplayData): Boolean; procedure VolumeData(MinS, MaxS, Pixels: integer; FadeList: TMMFadeList; Data: PMMDisplayData); procedure DisplayData(Canvas: TCanvas; aRect: TRect; Data: PMMDisplayData; Stereo: Boolean; Mode: integer; Clr: TColor); procedure DIB_DisplayData(DIBCanvas: TMMDIBCanvas; aRect: TRect; Data: PMMDisplayData; Stereo: Boolean; Mode: integer; Clr: TColor); procedure DisplayKurve(Canvas: TCanvas; MinS, MaxS: longint; aRect: TRect; FadeList: TMMFadeList; Clr: TColor); procedure DIB_DisplayKurve(Canvas: TMMDIBCanvas; MinS, MaxS: longint; aRect: TRect; FadeList: TMMFadeList; Size: integer; LineClr, FrameClr, FrameSelectedClr, BackClr, BackSelectClr: TColor); implementation