Update to 2.0.0 tree from current Fremantle build
[opencv] / otherlibs / _fltk / include / FL / Fl_Text_Display.H
diff --git a/otherlibs/_fltk/include/FL/Fl_Text_Display.H b/otherlibs/_fltk/include/FL/Fl_Text_Display.H
deleted file mode 100644 (file)
index b5c528d..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-//
-// "$Id: Fl_Text_Display.H,v 1.2 2002/12/01 15:38:37 neurosurg Exp $"
-//
-// Header file for Fl_Text_Display class.
-//
-// Copyright 2001-2002 by Bill Spitzak and others.
-// Original code Copyright Mark Edel.  Permission to distribute under
-// the LGPL for the FLTK library granted by Mark Edel.
-//
-// 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_TEXT_DISPLAY_H
-#define FL_TEXT_DISPLAY_H
-
-#include "fl_draw.H"
-#include "Fl_Group.H"
-#include "Fl_Widget.H"
-#include "Fl_Scrollbar.H"
-#include "Fl_Text_Buffer.H"
-
-class FL_EXPORT Fl_Text_Display: public Fl_Group {
-  public:
-    enum {
-      NORMAL_CURSOR, CARET_CURSOR, DIM_CURSOR,
-      BLOCK_CURSOR, HEAVY_CURSOR
-    };
-
-    enum {
-      CURSOR_POS, CHARACTER_POS
-    };
-
-    // drag types- they match Fl::event_clicks() so that single clicking to
-    // start a collection selects by character, double clicking selects by
-    // word and triple clicking selects by line.
-    enum {
-      DRAG_CHAR = 0, DRAG_WORD = 1, DRAG_LINE = 2
-    };
-    friend void fl_text_drag_me(int pos, Fl_Text_Display* d);
-
-    typedef void (*Unfinished_Style_Cb)(int, void *);
-
-    // style attributes - currently not implemented!
-    enum {
-      ATTR_NONE = 0,
-      ATTR_UNDERLINE = 1,
-      ATTR_HIDDEN = 2
-    };
-
-    struct Style_Table_Entry {
-      Fl_Color color;
-      Fl_Font  font;
-      int      size;
-      unsigned attr;
-    };
-
-    Fl_Text_Display(int X, int Y, int W, int H, const char *l = 0);
-    ~Fl_Text_Display();
-
-    virtual int handle(int e);
-    void buffer(Fl_Text_Buffer* buf);
-    void buffer(Fl_Text_Buffer& buf) { buffer(&buf); }
-    Fl_Text_Buffer* buffer() { return mBuffer; }
-    void redisplay_range(int start, int end);
-    void scroll(int topLineNum, int horizOffset);
-    void insert(const char* text);
-    void overstrike(const char* text);
-    void insert_position(int newPos);
-    int insert_position() { return mCursorPos; }
-    int in_selection(int x, int y);
-    void show_insert_position();
-    int move_right();
-    int move_left();
-    int move_up();
-    int move_down();
-    int count_lines(int start, int end, bool start_pos_is_line_start);
-    int line_start(int pos);
-    int line_end(int pos, bool start_pos_is_line_start);
-    int skip_lines(int startPos, int nLines, bool startPosIsLineStart);
-    int rewind_lines(int startPos, int nLines);
-    void next_word(void);
-    void previous_word(void);
-    void show_cursor(int b = 1);
-    void hide_cursor() { show_cursor(0); }
-    void cursor_style(int style);
-    int scrollbar_width() { return scrollbar_width_; }
-    Fl_Align scrollbar_align() { return scrollbar_align_; }
-    void scrollbar_width(int W) { scrollbar_width_ = W; }
-    void scrollbar_align(Fl_Align a) { scrollbar_align_ = a; }
-    int word_start(int pos) { return buffer()->word_start(pos); }
-    int word_end(int pos) { return buffer()->word_end(pos); }
-
-    
-    void highlight_data(Fl_Text_Buffer *styleBuffer,
-                        const Style_Table_Entry *styleTable,
-                        int nStyles, char unfinishedStyle,
-                        Unfinished_Style_Cb unfinishedHighlightCB,
-                        void *cbArg);
-
-    int position_style(int lineStartPos, int lineLen, int lineIndex,
-                       int dispIndex);
-
-    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;}
-
-    int wrapped_column(int row, int column);
-    int wrapped_row(int row);
-    void wrap_mode(int wrap, int wrap_margin);
-
-    virtual void resize(int X, int Y, int W, int H);
-
-  protected:
-    // Most (all?) of this stuff should only be called from resize() or
-    // draw().
-    // Anything with "vline" indicates thats it deals with currently
-    // visible lines.
-
-    virtual void draw();
-    void draw_text(int X, int Y, int W, int H);
-    void draw_range(int start, int end);
-    void draw_cursor(int, int);
-
-    void draw_string(int style, int x, int y, int toX, const char *string,
-                     int nChars);
-
-    void draw_vline(int visLineNum, int leftClip, int rightClip,
-                    int leftCharIndex, int rightCharIndex);
-
-    void draw_line_numbers(bool clearAll);
-
-    void clear_rect(int style, int x, int y, int width, int height);
-    void display_insert();
-
-    void offset_line_starts(int newTopLineNum);
-
-    void calc_line_starts(int startLine, int endLine);
-
-    void update_line_starts(int pos, int charsInserted, int charsDeleted,
-                            int linesInserted, int linesDeleted, int *scrolled);
-
-    void calc_last_char();
-
-    int position_to_line( int pos, int* lineNum );
-    int string_width(const char* string, int length, int style);
-
-    static void buffer_predelete_cb(int pos, int nDeleted, void* cbArg);
-    static void buffer_modified_cb(int pos, int nInserted, int nDeleted,
-                                   int nRestyled, const char* deletedText,
-                                   void* cbArg);
-
-    static void h_scrollbar_cb(Fl_Scrollbar* w, Fl_Text_Display* d);
-    static void v_scrollbar_cb( Fl_Scrollbar* w, Fl_Text_Display* d);
-    void update_v_scrollbar();
-    void update_h_scrollbar();
-    int measure_vline(int visLineNum);
-    int longest_vline();
-    int empty_vlines();
-    int vline_length(int visLineNum);
-    int xy_to_position(int x, int y, int PosType = CHARACTER_POS);
-
-    void xy_to_rowcol(int x, int y, int* row, int* column,
-                      int PosType = CHARACTER_POS);
-
-    int position_to_xy(int pos, int* x, int* y);
-    void maintain_absolute_top_line_number(int state);
-    int get_absolute_top_line_number();
-    void absolute_top_line_number(int oldFirstChar);
-    int maintaining_absolute_top_line_number();
-    void reset_absolute_top_line_number();
-    int position_to_linecol(int pos, int* lineNum, int* column);
-    void scroll_(int topLineNum, int horizOffset);
-
-    void extend_range_for_styles(int* start, int* end);
-
-    void find_wrap_range(const char *deletedText, int pos, int nInserted,
-                           int nDeleted, int *modRangeStart, int *modRangeEnd,
-                           int *linesInserted, int *linesDeleted);
-    void measure_deleted_lines(int pos, int nDeleted);
-    void wrapped_line_counter(Fl_Text_Buffer *buf, int startPos, int maxPos,
-                               int maxLines, bool startPosIsLineStart,
-                               int styleBufOffset, int *retPos, int *retLines,
-                               int *retLineStart, int *retLineEnd,
-                               bool countLastLineMissingNewLine = true);
-    void find_line_end(int pos, bool start_pos_is_line_start, int *lineEnd,
-                         int *nextLineStart);
-    int measure_proportional_character(char c, int colNum, int pos);
-    int wrap_uses_character(int lineEndPos);
-    int range_touches_selection(Fl_Text_Selection *sel, int rangeStart,
-                                 int rangeEnd);
-
-    int damage_range1_start, damage_range1_end;
-    int damage_range2_start, damage_range2_end;
-    int mCursorPos;
-    int mCursorOn;
-    int mCursorOldY;           /* Y pos. of cursor for blanking */
-    int mCursorToHint;         /* Tells the buffer modified callback
-                                   where to move the cursor, to reduce
-                                   the number of redraw calls */
-    int mCursorStyle;           /* One of enum cursorStyles above */
-    int mCursorPreferredCol;    /* Column for vert. cursor movement */
-    int mNVisibleLines;         /* # of visible (displayed) lines */
-    int mNBufferLines;          /* # of newlines in the buffer */
-    Fl_Text_Buffer* mBuffer;    /* Contains text to be displayed */
-    Fl_Text_Buffer* mStyleBuffer; /* Optional parallel buffer containing
-                                     color and font information */
-    int mFirstChar, mLastChar;  /* Buffer positions of first and last
-                                   displayed character (lastChar points
-                                   either to a newline or one character
-                                   beyond the end of the buffer) */
-    int mContinuousWrap;         /* Wrap long lines when displaying */
-    int mWrapMargin;             /* Margin in # of char positions for
-                                          wrapping in continuousWrap mode */
-    int* mLineStarts;
-    int mTopLineNum;            /* Line number of top displayed line
-                                   of file (first line of file is 1) */
-    int mAbsTopLineNum;                        /* In continuous wrap mode, the line
-                                          number of the top line if the text
-                                          were not wrapped (note that this is
-                                          only maintained as needed). */
-    int mNeedAbsTopLineNum;    /* Externally settable flag to continue
-                                          maintaining absTopLineNum even if
-                                          it isn't needed for line # display */
-    int mHorizOffset;           /* Horizontal scroll pos. in pixels */
-    int mTopLineNumHint;        /* Line number of top displayed line
-                                   of file (first line of file is 1) */
-    int mHorizOffsetHint;       /* Horizontal scroll pos. in pixels */
-    int mNStyles;               /* Number of entries in styleTable */
-    const Style_Table_Entry *mStyleTable; /* Table of fonts and colors for
-                                   coloring/syntax-highlighting */
-    char mUnfinishedStyle;      /* Style buffer entry which triggers
-                                   on-the-fly reparsing of region */
-    Unfinished_Style_Cb mUnfinishedHighlightCB; /* Callback to parse "unfinished" */
-                                /* regions */
-    void* mHighlightCBArg;      /* Arg to unfinishedHighlightCB */
-
-    int mMaxsize;
-
-    int mFixedFontWidth;        /* Font width if all current fonts are
-                                   fixed and match in width, else -1 */
-    int mSuppressResync;               /* Suppress resynchronization of line
-                                           starts during buffer updates */
-    int mNLinesDeleted;                        /* Number of lines deleted during
-                                          buffer modification (only used
-                                          when resynchronization is suppressed) */
-    int mModifyingTabDistance; /* Whether tab distance is being
-                                          modified */
-
-    Fl_Color mCursor_color;
-
-    Fl_Scrollbar* mHScrollBar;
-    Fl_Scrollbar* mVScrollBar;
-    int scrollbar_width_;
-    Fl_Align scrollbar_align_;
-    int dragPos, dragType, dragging;
-    int display_insert_position_hint;
-    struct { int x, y, w, h; } text_area;
-
-    uchar textfont_;
-    uchar textsize_;
-    unsigned textcolor_;
-
-        // The following are not presently used from the original NEdit code,
-        // but are being put here so that future versions of Fl_Text_Display
-        // can implement line numbers without breaking binary compatibility.
-    int mLineNumLeft, mLineNumWidth;
-                               /* Line number margin and width */
-};
-
-#endif
-
-//
-// End of "$Id: Fl_Text_Display.H,v 1.2 2002/12/01 15:38:37 neurosurg Exp $".
-//