The SDL Component Suite is an industry leading collection of components supporting scientific and engineering computing. Please visit the SDL Web site for more information....



Interface of SDL_Thumbnails

const
{$IFDEF PAIDVERS}
  SDLVersionInfo = 'thumbnails_r1200_full';
  IsLightEd = false;
{$ELSE}
  SDLVersionInfo = 'thumbnails_r1200_lighted';
  IsLightEd = true;
{$ENDIF}
  Release = 1200;

type
  TImageRequestProcessing = (irpShowEmpty, irpShowSlide,
                             irpShowFrameOnly, irpShowNothing);
  TImageRequestEvent = procedure (Sender: TObject; ThumbID: integer;
             var HowToProcess: TImageRequestProcessing;
             var MarkIt: integer; var ImgBuffer: TBitMap) of object;
  TImageClickEvent = procedure (Sender: TObject; X, Y: integer;
                                ThumbID: integer) of object;
  TSlideRenderedEvent = procedure (Sender: TObject; Canvas: TCanvas;
                                   X, Y: integer; ThumbID: integer) of object;
  TSlideSelectMode = (ssmDisabled, ssmSingle, ssmMultiple);

  TThumbnails = class (TGraphicControl)
           private
             FFrameStyle      : TFrameStyle;                  { style of frame }
             FColorBG         : TColor;            { color of label background }
             FColBlackLine    : TColor;             { colors to draw the frame }
             FColGrayLine     : TColor;                           { -"- }
             FColWhiteLine    : TColor;                           { -"- }
             FColorScheme     : TColorScheme;         { color scheme of frames }
             FFirstThumbIx    : double;   { index of first displayed thumbnail }
             FMin             : integer;
             FMax             : integer;
             FNumSldX         : integer;{ no. of visible slides in horiz. dir. }
             FNumSldY         : integer; { no. of visible slides in vert. dir. }
             FThumbBaseSize   : integer;
             FSLideDist       : integer;             { distance between slides }
             FSlideMargin     : integer;
             FOuterFrameStyle : TFrameStyle;      { style of outer slide frame }
             FInnerFrameStyle : TFrameStyle;      { style of inner slide frame }
             FOnImageRequest  : TImageRequestEvent;
             FOnSlideRendered : TSlideRenderedEvent;
             FOnImageClick    : TImageClickEvent;
             FOnImageDblClick : TImageClickEvent;
             FOnHiliteChange  : TNotifyEvent;
             FOnFirstImgRequ  : TNotifyEvent;
             FOnLastImgRequ   : TNotifyEvent;
             FAntiAlias       : boolean;
             FColorCover      : TColor;
             FColorSelected   : TColor;
             FColorHilite     : TColor;
             FMarkColor       : TColor;
             FLastHiLite      : integer;
             FHiliteThickness : integer;
             FIsWorking       : boolean;
             FSelectedSlide   : TBitFld;
             FSelectMode      : TSlideSelectMode;
             FLastClickedSlide: integer;
             procedure WMImageClick (var Msg: TWMMouse); message WM_LBUTTONUP;
             procedure WMImageDblClick (var Msg: TWMMouse); message WM_LBUTTONDBLCLK;
             function  GetSelectedSlide (sldnum: integer): boolean;
             procedure SetColorBG (Value: TColor);
             procedure SetColorCover (Value: TColor);
             procedure SetColorSelected (Value: TColor);
             procedure SetColorHilite (Value: TColor);
             procedure SetMarkColor (Value: TColor);
             procedure SetBaseSize (Value: integer);
             procedure SetHiliteThickn (Value: integer);
             procedure SetFirstThumbIx (Value: double);
             procedure SetFMin (Value: integer);
             procedure SetFMax (Value: integer);
             procedure SetAntiAlias (value: boolean);
             procedure SetSlideMargin (Value: integer);
             procedure SetSlideDist (Value: integer);
             procedure SetColorScheme (Value: TColorScheme);
             procedure SetFrameStyle (value: TFrameStyle);
             procedure SetOuterFrameStyle (value: TFrameStyle);
             procedure SetInnerFrameStyle (value: TFrameStyle);
             procedure SetSelectedSlide (sldnum: integer; value: boolean);
             procedure SetSlideSelectMode (value: TSlideSelectMode);
           protected
             procedure AssignTo (Dest: TPersistent); override;
             procedure MouseMove (Shift: TShiftState; X,Y: integer); override;
             procedure HiLite (ix: integer);
             procedure ResetLastHiLite;
           public
             procedure   Assign(Source: TPersistent); override;
             constructor Create(AOwner: TComponent); override;
             destructor  Destroy; override;
             property  FirstThumbIdx: double
                           read FFirstThumbIx write SetFirstThumbIx;
             function  FirstSelectedSlide: integer;
             property  NumSlidesHoriz: integer read FNumSldX;
             property  NumSlidesVert: integer read FNumSldY;
             function  NumSlidesSelected: integer;
             function  CalcSlideIndex (XPos, YPos: integer): integer;
             procedure CalcSlidePos (SldNum: integer; var XPos, YPos: integer);
             procedure Paint; override;
             procedure ResetAllSelections;
             property  SlideSelected[SldNum: integer]: boolean
                           read GetSelectedSlide write SetSelectedSlide;
           published
             property Align;
             property SlideSelectMode: TSlideSelectMode
                          read FSelectMode write SetSlideSelectMode;
             property Anchors;
             property AntiAlias: boolean read FAntiAlias write SetAntiAlias;
             property ColorBackGnd: TColor read FColorBG write SetColorBG;
             property ColorCover: TColor read FColorCover write SetColorCover;
             property ColorSelected: TColor
                          read FColorSelected write SetColorSelected;
             property ColorFocus: TColor read FColorHilite write SetColorHilite;
             property ColorMark: TColor read FMarkColor write SetMarkColor;
             property ColorScheme: TColorScheme
                          read FColorScheme write SetColorScheme;
             property DragCursor;
             property DragMode;
             property Enabled;
             property Font;
             property FrameStyle: TFrameStyle read FFrameStyle write SetFrameStyle;
             property FocusLinewidth: integer
                          read FHiliteThickness write SetHiliteThickn;
             property FocusedSlide: integer read FLastHilite;
             property InnerFrameStyle: TFrameStyle
                          read FInnerFrameStyle write SetInnerFrameStyle;
             property Max: integer read FMax write SetFMax;
             property Min: integer read FMin write SetFMin;
             property OuterFrameStyle: TFrameStyle
                          read FOuterFrameStyle write SetOuterFrameStyle;
             property ParentFont;
             property ParentShowHint;
             property PopupMenu;
             property ShowHint;
             property SlideSize: integer read FThumbBaseSize write SetBaseSize;
             property SlideDistance: integer read FSlideDist write SetSlideDist;
             property SlideMargin: integer read FSlideMargin write SetSlideMargin;
{$IFDEF GE_LEV17}
(**)              property StyleElements;
{$ENDIF}
             property Visible;
             property OnClick;
             property OnDblClick;
             property OnMouseMove;
             property OnMouseDown;
             property OnMouseUp;
             property OnStartDrag;
             property OnDragDrop;
             property OnEndDrag;
             property OnDragOver;
             property OnImageRequest: TImageRequestEvent
                          read FOnImageRequest write FOnImageRequest;
             property OnImageClick: TImageClickEvent
                          read FOnImageClick write FOnImageClick;
             property OnImageDblClick: TImageClickEvent
                          read FOnImageDblClick write FOnImageDblClick;
             property OnFocusChange: TNotifyEvent
                          read FOnHiliteChange write FOnHiliteChange;
             property OnFirstImageRequest: TNotifyEvent
                          read FOnFirstImgRequ write FOnFirstImgRequ;
             property OnLastImageRequest: TNotifyEvent
                          read FOnLastImgRequ write FOnLastImgRequ;
             property OnSlideRendered: TSlideRenderedEvent
                          read FOnSlideRendered write FOnSlideRendered;
             property OnResize;
           end;






Last Update: 2023-Feb-06