#ifndef SCROLLBAR_H
#define SCROLLBAR_H
/* TN5250 - An implementation of the 5250 telnet protocol.
* Copyright (C) 2005 James Rich
*
* This file is part of TN5250.
*
* TN5250 is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1, or (at your option)
* any later version.
*
* TN5250 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this software; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
*/
#ifdef __cplusplus
extern "C"
{
#endif
struct _Tn5250Scrollbar;
struct _Tn5250DBuffer;
/***** lib5250/Tn5250Scrollbar
* NAME
* Tn5250Scrollbar
* SYNOPSIS
* Tn5250Scrollbar *scrollbar = tn5250_scrollbar_new ();
* DESCRIPTION
* The Tn5250Scrollbar object manages a 5250 scrollbar on the display.
* SOURCE
*/
struct _Tn5250Scrollbar
{
struct _Tn5250Scrollbar *next;
struct _Tn5250Scrollbar *prev;
unsigned int id; /* Numeric ID of this scrollbar */
unsigned int direction; /* 1=horizontal, 0=vertical */
unsigned int rowscols; /* number of scrollable rows/columns */
unsigned int sliderpos; /* position of slider */
unsigned int size; /* size (in characters) of scrollbar */
struct _Tn5250DBuffer *table;
};
typedef struct _Tn5250Scrollbar Tn5250Scrollbar;
/* Manipulate scrollbars */
extern Tn5250Scrollbar *tn5250_scrollbar_new ();
extern Tn5250Scrollbar *tn5250_scrollbar_copy (Tn5250Scrollbar * This);
extern void tn5250_scrollbar_destroy (Tn5250Scrollbar * This);
extern int tn5250_scrollbar_direction (Tn5250Scrollbar * This);
extern int tn5250_scrollbar_rowscols (Tn5250Scrollbar * This);
extern int tn5250_scrollbar_sliderpos (Tn5250Scrollbar * This);
extern int tn5250_scrollbar_size (Tn5250Scrollbar * This);
/* Manipulate scrollbar lists */
extern Tn5250Scrollbar *tn5250_scrollbar_list_destroy (Tn5250Scrollbar *
list);
extern Tn5250Scrollbar *tn5250_scrollbar_list_add (Tn5250Scrollbar * list,
Tn5250Scrollbar * node);
extern Tn5250Scrollbar *tn5250_scrollbar_list_remove (Tn5250Scrollbar *
list,
Tn5250Scrollbar *
node);
extern Tn5250Scrollbar *tn5250_scrollbar_list_find_by_id (Tn5250Scrollbar *
list, int id);
extern Tn5250Scrollbar *tn5250_scrollbar_list_copy (Tn5250Scrollbar * list);
#ifdef __cplusplus
}
#endif
#endif /* SCROLLBAR_H */
syntax highlighted by Code2HTML, v. 0.9.1