anchor.diff:      constructor Create(AOwner: TComponent); override;
       destructor  Destroy; override;
     published
  +    property    AutoSnap: boolean read FAutoSnap write FAutoSnap default True;
       property    ColorGrabBar: TfpgColor read FColorGrabBar write SetColorGrabBar default clColorGrabBar;
  +    property    OnSnap: TfpgSnapEvent read FOnSnap write FOnSnap;
     end;
   
   function CreateSplitter(AOwner: TComponent; ALeft, ATop, AWidth, AHeight: TfpgCoord;
  
positive.code: 
    NaturalNumber = 1..High(Integer);
  
  
    TfpgSplitter = class(TfpgWidget)
    private
  
negative.code:     FOldSize: Integer;
      FSplit: Integer;
      FMouseOver: Boolean;
      FOnSnap: TfpgSnapEvent;
      procedure   CalcSplitSize(X, Y: Integer; out NewSize, Split: Integer);
      function    FindControl: TfpgWidget;
      procedure   SetColorGrabBar(const AValue: TfpgColor);
      procedure   UpdateControlSize;
      procedure   UpdateSize(const X, Y: Integer);
    protected
      procedure   DoOnSnap(const AClosed: Boolean);
      function    DoCanResize(var NewSize: Integer): Boolean; virtual;
      procedure   HandleLMouseDown(x, y: integer; shiftstate: TShiftState); override;
      procedure   HandleLMouseUp(x, y: integer; shiftstate: TShiftState); override;
  