+++ /dev/null
-//
-// "$Id: Fl_Input_.H,v 1.2 2002/12/01 15:38:37 neurosurg Exp $"
-//
-// Input base class header file for the Fast Light Tool Kit (FLTK).
-//
-// Copyright 1998-2002 by Bill Spitzak and others.
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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
-// Library General Public License for more details.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-// USA.
-//
-// Please report all bugs and problems to "fltk-bugs@fltk.org".
-//
-
-#ifndef Fl_Input__H
-#define Fl_Input__H
-
-#ifndef Fl_Widget_H
-#include "Fl_Widget.H"
-#endif
-
-#define FL_NORMAL_INPUT 0
-#define FL_FLOAT_INPUT 1
-#define FL_INT_INPUT 2
-#define FL_HIDDEN_INPUT 3
-#define FL_MULTILINE_INPUT 4
-#define FL_SECRET_INPUT 5
-#define FL_INPUT_TYPE 7
-#define FL_INPUT_READONLY 8
-#define FL_NORMAL_OUTPUT (FL_NORMAL_INPUT | FL_INPUT_READONLY)
-#define FL_MULTILINE_OUTPUT (FL_MULTILINE_INPUT | FL_INPUT_READONLY)
-#define FL_INPUT_WRAP 16
-#define FL_MULTILINE_INPUT_WRAP (FL_MULTILINE_INPUT | FL_INPUT_WRAP)
-#define FL_MULTILINE_OUTPUT_WRAP (FL_MULTILINE_INPUT | FL_INPUT_READONLY | FL_INPUT_WRAP)
-
-class FL_EXPORT Fl_Input_ : public Fl_Widget {
-
- const char* value_;
- char* buffer;
-
- int size_;
- int bufsize;
- int position_;
- int mark_;
- int xscroll_, yscroll_;
- int mu_p;
- int maximum_size_;
-
- uchar erase_cursor_only;
- uchar textfont_;
- uchar textsize_;
- unsigned textcolor_;
- unsigned cursor_color_;
-
- const char* expand(const char*, char*) const;
- double expandpos(const char*, const char*, const char*, int*) const;
- void minimal_update(int, int);
- void minimal_update(int p);
- void put_in_buffer(int newsize);
-
- void setfont() const;
-
-protected:
-
- int word_start(int i) const;
- int word_end(int i) const;
- int line_start(int i) const;
- int line_end(int i) const;
- void drawtext(int, int, int, int);
- int up_down_position(int, int keepmark=0);
- void handle_mouse(int, int, int, int, int keepmark=0);
- int handletext(int e, int, int, int, int);
- void maybe_do_callback();
- int xscroll() const {return xscroll_;}
- int yscroll() const {return yscroll_;}
-
-public:
-
- void resize(int, int, int, int);
-
- Fl_Input_(int, int, int, int, const char* = 0);
- ~Fl_Input_();
-
- int value(const char*);
- int value(const char*, int);
- int static_value(const char*);
- int static_value(const char*, int);
- const char* value() const {return value_;}
- char index(int i) const {return value_[i];}
- int size() const {return size_;}
- int maximum_size() const {return maximum_size_;}
- void maximum_size(int m) {maximum_size_ = m;}
-
- int position() const {return position_;}
- int mark() const {return mark_;}
- int position(int p, int m);
- int position(int p) {return position(p, p);}
- int mark(int m) {return position(position(), m);}
- int replace(int, int, const char*, int=0);
- int cut() {return replace(position(), mark(), 0);}
- int cut(int n) {return replace(position(), position()+n, 0);}
- int cut(int a, int b) {return replace(a, b, 0);}
- int insert(const char* t, int l=0){return replace(position_, mark_, t, l);}
- int copy(int clipboard);
- int undo();
- int copy_cuts();
-
- Fl_Font textfont() const {return (Fl_Font)textfont_;}
- void textfont(uchar s) {textfont_ = s;}
- uchar textsize() const {return textsize_;}
- void textsize(uchar s) {textsize_ = s;}
- Fl_Color textcolor() const {return (Fl_Color)textcolor_;}
- void textcolor(unsigned n) {textcolor_ = n;}
- Fl_Color cursor_color() const {return (Fl_Color)cursor_color_;}
- void cursor_color(unsigned n) {cursor_color_ = n;}
-
- int input_type() const {return type() & FL_INPUT_TYPE; }
- void input_type(int t) { type((uchar)(t | readonly())); }
- int readonly() const { return type() & FL_INPUT_READONLY; }
- void readonly(int b) { if (b) type((uchar)(type() | FL_INPUT_READONLY));
- else type((uchar)(type() & ~FL_INPUT_READONLY)); }
- int wrap() const { return type() & FL_INPUT_WRAP; }
- void wrap(int b) { if (b) type((uchar)(type() | FL_INPUT_WRAP));
- else type((uchar)(type() & ~FL_INPUT_WRAP)); }
-};
-
-#endif
-
-//
-// End of "$Id: Fl_Input_.H,v 1.2 2002/12/01 15:38:37 neurosurg Exp $".
-//