/* ########################################################################

			      selection.h

   File: selection.h
   Path: /users/lf/c/X11/xcoral-2.5/selection.h
   Description: 
   Created: Sat Sep 14 11:27:27 MET 1996
   Author: Lionel Fournigault
   Modified: Sat Sep 14 11:27:29 MET 1996
   Last maintained by: Lionel Fournigault

   RCS $Revision$ $State$
   

   ########################################################################

   Note: 

   ########################################################################

   Copyright (c) : Lionel Fournigault

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

   ######################################################################## */

#ifndef _SELECTION_h
#define _SELECTION_h

#include "proto_decl.h"

typedef struct _Selection {
  int select;     /* Pour undiquer une selection */
  int start_line; /* Numero de la ligne ou commence la selection */
  int x_sl;       /* Position du premier caractere de la selection */
  int end_line;   /* Numero de la ligne ou se termine la selection */
  int x_el;        /* Position du dernier caractere de la selection */
  int ncfl_sl;    /* Numero du premier caracteres selectionne dpuis la gauche
		     sur la premiere ligne */
  int ncfl_el;    /* Numero du dernier caractere selectionne depuis la gauche
		     sur la derniere ligne */
  int s_sl;         /* Scroll horizontal au debut */
  int e_sl;         /* Scroll horizontal a la fin */
} Selection;

extern void ClearSelection ();
extern void HandleSelection ();
extern void UpdateSelection ();
extern void RefreshSelection ();
extern void InitSelection();
extern int SelectionIsVisible();
extern void StartSelection();
extern void EndSelection();
extern void UpdateSelection();
extern void ClearSelectionIfNeeded();

#endif /* _SELECTION_H_ */
