From 07a18370ad2aa1f2253afbf45565d55605a88b47 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Sat, 14 Nov 2009 15:49:12 +0000 Subject: Added Fl_Tree source code, demo files, and documentation. Thanks, Greg! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Table.cxx | 748 +++++++++++------------ src/Fl_Table_Row.cxx | 302 ++++----- src/Fl_Tree.cxx | 354 +++++++++++ src/Fl_Tree_Item.cxx | 707 ++++++++++++++++++++++ src/Fl_Tree_Item_Array.cxx | 149 +++++ src/Fl_Tree_Prefs.cxx | 122 ++++ src/Makefile | 4 + src/makedepend | 1443 ++++++++++++++++++++++++++------------------ 8 files changed, 2704 insertions(+), 1125 deletions(-) create mode 100644 src/Fl_Tree.cxx create mode 100644 src/Fl_Tree_Item.cxx create mode 100644 src/Fl_Tree_Item_Array.cxx create mode 100644 src/Fl_Tree_Prefs.cxx (limited to 'src') diff --git a/src/Fl_Table.cxx b/src/Fl_Table.cxx index 32d35cfea..6f92a503f 100644 --- a/src/Fl_Table.cxx +++ b/src/Fl_Table.cxx @@ -64,19 +64,19 @@ void Fl_Table::col_position(int col) { // Find scroll position of a row (in pixels) long Fl_Table::row_scroll_position(int row) { - int startrow = 0; - long scroll = 0; - // OPTIMIZATION: - // Attempt to use precomputed row scroll position - // - if ( toprow_scrollpos != -1 && row >= toprow ) { - scroll = toprow_scrollpos; - startrow = toprow; - } - for ( int t=startrow; t= toprow ) { + scroll = toprow_scrollpos; + startrow = toprow; + } + for ( int t=startrow; ttype(FL_VERTICAL); vscrollbar->callback(scroll_cb, (void*)this); - + hscrollbar = new Fl_Scrollbar(x(), y()+h()-SCROLLBAR_SIZE, - w(), SCROLLBAR_SIZE); + w(), SCROLLBAR_SIZE); hscrollbar->type(FL_HORIZONTAL); hscrollbar->callback(scroll_cb, (void*)this); - + table = new Fl_Scroll(x(), y(), w(), h()); table->box(FL_NO_BOX); table->type(0); // don't show Fl_Scroll's scrollbars -- use our own table->hide(); // hide unless children are present table->end(); - + table_resized(); redraw(); - + Fl_Group::end(); // end the group's begin() - + table->begin(); // leave with fltk children getting added to the scroll } // Dtor Fl_Table::~Fl_Table() { - // The parent Fl_Group takes care of destroying scrollbars + // The parent Fl_Group takes care of destroying scrollbars } // Set height of a row @@ -225,12 +225,12 @@ int Fl_Table::row_col_clamp(TableContext context, int &R, int &C) { // Allow col headers to draw even if no rows if ( R >= _rows && R != 0 ) { R = _rows - 1; clamped = 1; } break; - + case CONTEXT_ROW_HEADER: // Allow row headers to draw even if no columns if ( C >= _cols && C != 0 ) { C = _cols - 1; clamped = 1; } break; - + case CONTEXT_CELL: default: // CLAMP R/C TO _rows/_cols @@ -251,7 +251,7 @@ void Fl_Table::get_bounds(TableContext context, int &X, int &Y, int &W, int &H) W = tow; H = col_header_height(); return; - + case CONTEXT_ROW_HEADER: // Row header clipping. X = wix; @@ -259,13 +259,13 @@ void Fl_Table::get_bounds(TableContext context, int &X, int &Y, int &W, int &H) W = row_header_width(); H = toh; return; - + case CONTEXT_TABLE: // Table inner dimensions X = tix; Y = tiy; W = tiw; H = tih; return; - - // TODO: Add other contexts.. + + // TODO: Add other contexts.. default: fprintf(stderr, "Fl_Table::get_bounds(): context %d unimplemented\n", (int)context); return; @@ -290,18 +290,18 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz if ( Fl::event_inside(X, Y, W, H) ) { // Scan visible rows until found for ( R = toprow; R <= botrow; R++ ) { - find_cell(CONTEXT_ROW_HEADER, R, 0, X, Y, W, H); - if ( Fl::event_y() >= Y && Fl::event_y() < (Y+H) ) { - // Found row? - // If cursor over resize boundary, and resize enabled, - // enable the appropriate resize flag. - // - if ( row_resize() ) { - if ( Fl::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; } - if ( Fl::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; } - } - return(CONTEXT_ROW_HEADER); - } + find_cell(CONTEXT_ROW_HEADER, R, 0, X, Y, W, H); + if ( Fl::event_y() >= Y && Fl::event_y() < (Y+H) ) { + // Found row? + // If cursor over resize boundary, and resize enabled, + // enable the appropriate resize flag. + // + if ( row_resize() ) { + if ( Fl::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; } + if ( Fl::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; } + } + return(CONTEXT_ROW_HEADER); + } } // Must be in row header dead zone return(CONTEXT_NONE); @@ -314,18 +314,18 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz if ( Fl::event_inside(X, Y, W, H) ) { // Scan visible columns until found for ( C = leftcol; C <= rightcol; C++ ) { - find_cell(CONTEXT_COL_HEADER, 0, C, X, Y, W, H); - if ( Fl::event_x() >= X && Fl::event_x() < (X+W) ) { - // Found column? - // If cursor over resize boundary, and resize enabled, - // enable the appropriate resize flag. - // - if ( col_resize() ) { - if ( Fl::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; } - if ( Fl::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; } - } - return(CONTEXT_COL_HEADER); - } + find_cell(CONTEXT_COL_HEADER, 0, C, X, Y, W, H); + if ( Fl::event_x() >= X && Fl::event_x() < (X+W) ) { + // Found column? + // If cursor over resize boundary, and resize enabled, + // enable the appropriate resize flag. + // + if ( col_resize() ) { + if ( Fl::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; } + if ( Fl::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; } + } + return(CONTEXT_COL_HEADER); + } } // Must be in column header dead zone return(CONTEXT_NONE); @@ -340,10 +340,10 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz if ( Fl::event_y() < Y ) break; // OPT: thanks lars if ( Fl::event_y() >= (Y+H) ) continue; // OPT: " " for ( C = leftcol; C <= rightcol; C++ ) { - find_cell(CONTEXT_CELL, R, C, X, Y, W, H); - if ( Fl::event_inside(X, Y, W, H) ) { - return(CONTEXT_CELL); // found it - } + find_cell(CONTEXT_CELL, R, C, X, Y, W, H); + if ( Fl::event_inside(X, Y, W, H) ) { + return(CONTEXT_CELL); // found it + } } } // Must be in a dead zone of the table @@ -367,25 +367,25 @@ int Fl_Table::find_cell(TableContext context, int R, int C, int &X, int &Y, int Y = row_scroll_position(R) - vscrollbar->value() + tiy; W = col_width(C); H = row_height(R); - + switch ( context ) { case CONTEXT_COL_HEADER: Y = wiy; H = col_header_height(); return(0); - + case CONTEXT_ROW_HEADER: X = wix; W = row_header_width(); return(0); - + case CONTEXT_CELL: return(0); - + case CONTEXT_TABLE: return(0); - - // TODO -- HANDLE OTHER CONTEXTS + + // TODO -- HANDLE OTHER CONTEXTS default: fprintf(stderr, "Fl_Table::find_cell: unknown context %d\n", (int)context); return(-1); @@ -416,14 +416,14 @@ void Fl_Table::_auto_drag_cb() { int lx = Fl::e_x; int ly = Fl::e_y; if (_selecting == CONTEXT_COL_HEADER) - { ly = y() + col_header_height(); } + { ly = y() + col_header_height(); } else if (_selecting == CONTEXT_ROW_HEADER) - { lx = x() + row_header_width(); } + { lx = x() + row_header_width(); } if (lx > x() + w() - 20) { Fl::e_x = x() + w() - 20; if (hscrollbar->visible()) - ((Fl_Slider*)hscrollbar)->value( - hscrollbar->clamp(hscrollbar->value() + 30)); + ((Fl_Slider*)hscrollbar)->value( + hscrollbar->clamp(hscrollbar->value() + 30)); hscrollbar->do_callback(); _dragging_x = Fl::e_x - 30; } @@ -562,25 +562,25 @@ void Fl_Table::table_resized() { vscrollbar->precision(10); vscrollbar->slider_size(vscrolltab); vscrollbar->resize(wix+wiw-SCROLLBAR_SIZE, wiy, - SCROLLBAR_SIZE, - wih - ((hscrollbar->visible())?SCROLLBAR_SIZE:0)); + SCROLLBAR_SIZE, + wih - ((hscrollbar->visible())?SCROLLBAR_SIZE:0)); vscrollbar->Fl_Valuator::value(vscrollbar->clamp(vscrollbar->value())); // Horizontal scrollbar hscrollbar->bounds(0, table_w-tiw); hscrollbar->precision(10); hscrollbar->slider_size(hscrolltab); hscrollbar->resize(wix, wiy+wih-SCROLLBAR_SIZE, - wiw - ((vscrollbar->visible())?SCROLLBAR_SIZE:0), - SCROLLBAR_SIZE); + wiw - ((vscrollbar->visible())?SCROLLBAR_SIZE:0), + SCROLLBAR_SIZE); hscrollbar->Fl_Valuator::value(hscrollbar->clamp(hscrollbar->value())); } - + // Tell FLTK child widgets were resized Fl_Group::init_sizes(); - + // Recalc top/bot/left/right table_scrolled(); - + // DO *NOT* REDRAW -- LEAVE THIS UP TO THE CALLER // redraw(); } @@ -606,7 +606,7 @@ void Fl_Table::rows(int val) { } } table_resized(); - + // OPTIMIZATION: redraw only if change is visible. if ( val >= oldrows && oldrows > botrow ) { // NO REDRAW @@ -690,7 +690,7 @@ int Fl_Table::move_cursor(int R, int C) { #ifdef DEBUG #include "eventnames.h" #define PRINTEVENT \ - fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnames[event]); +fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnames[event]); #else #define PRINTEVENT #endif @@ -710,303 +710,303 @@ int Fl_Table::handle(int event) { switch ( event ) { case FL_PUSH: if (Fl::event_button() == 1 && !Fl::event_clicks()) { - if (Fl::focus() != this) { - take_focus(); - do_callback(CONTEXT_TABLE, -1, -1); - ret = 1; - } - damage_zone(current_row, current_col, select_row, select_col, R, C); - if (context == CONTEXT_CELL) { - current_row = select_row = R; - current_col = select_col = C; - _selecting = CONTEXT_CELL; - } else { - current_row = select_row = -1; - current_col = select_col = -1; - } + if (Fl::focus() != this) { + take_focus(); + do_callback(CONTEXT_TABLE, -1, -1); + ret = 1; + } + damage_zone(current_row, current_col, select_row, select_col, R, C); + if (context == CONTEXT_CELL) { + current_row = select_row = R; + current_col = select_col = C; + _selecting = CONTEXT_CELL; + } else { + current_row = select_row = -1; + current_col = select_col = -1; + } } // Need this for eg. right click to pop up a menu if ( Fl_Widget::callback() && // callback defined? - resizeflag == RESIZE_NONE ) { // not resizing? - do_callback(context, R, C); // do callback + resizeflag == RESIZE_NONE ) { // not resizing? + do_callback(context, R, C); // do callback } switch ( context ) { - case CONTEXT_CELL: - // FL_PUSH on a cell? - ret = 1; // express interest in FL_RELEASE - break; - - case CONTEXT_NONE: - // FL_PUSH on table corner? - if ( Fl::event_button() == 1 && - Fl::event_x() < x() + row_header_width()) { - current_col = 0; - select_col = cols() - 1; - current_row = 0; - select_row = rows() - 1; - damage_zone(current_row, current_col, select_row, select_col); - ret = 1; - } - break; - - case CONTEXT_COL_HEADER: - // FL_PUSH on a column header? - if ( Fl::event_button() == 1) { - // Resizing? Handle it - if ( resizeflag ) { - // Start resize if left click on column border. - // "ret=1" ensures we get drag events from now on. - // (C-1) is used if mouse is over the left hand side - // of cell, so we resize the next column on the left. - // - _resizing_col = ( resizeflag & RESIZE_COL_LEFT ) ? C-1 : C; - _resizing_row = -1; - _dragging_x = Fl::event_x(); - ret = 1; - } else { - // Not resizing? Select the column - current_col = select_col = C; - current_row = 0; - select_row = rows() - 1; - _selecting = CONTEXT_COL_HEADER; - damage_zone(current_row, current_col, select_row, select_col); - ret = 1; - } - } - break; - - case CONTEXT_ROW_HEADER: - // FL_PUSH on a row header? - if ( Fl::event_button() == 1 ) { - // Resizing? Handle it - if ( resizeflag ) { - // Start resize if left mouse clicked on row border. - // "ret = 1" ensures we get drag events from now on. - // (R-1) is used if mouse is over the top of the cell, - // so that we resize the row above. - // - _resizing_row = ( resizeflag & RESIZE_ROW_ABOVE ) ? R-1 : R; - _resizing_col = -1; - _dragging_y = Fl::event_y(); - ret = 1; - } else { - // Not resizing? Select the row - current_row = select_row = R; - current_col = 0; - select_col = cols() - 1; - _selecting = CONTEXT_ROW_HEADER; - damage_zone(current_row, current_col, select_row, select_col); - ret = 1; - } - } - break; - - default: - ret = 0; // express disinterest - break; + case CONTEXT_CELL: + // FL_PUSH on a cell? + ret = 1; // express interest in FL_RELEASE + break; + + case CONTEXT_NONE: + // FL_PUSH on table corner? + if ( Fl::event_button() == 1 && + Fl::event_x() < x() + row_header_width()) { + current_col = 0; + select_col = cols() - 1; + current_row = 0; + select_row = rows() - 1; + damage_zone(current_row, current_col, select_row, select_col); + ret = 1; + } + break; + + case CONTEXT_COL_HEADER: + // FL_PUSH on a column header? + if ( Fl::event_button() == 1) { + // Resizing? Handle it + if ( resizeflag ) { + // Start resize if left click on column border. + // "ret=1" ensures we get drag events from now on. + // (C-1) is used if mouse is over the left hand side + // of cell, so we resize the next column on the left. + // + _resizing_col = ( resizeflag & RESIZE_COL_LEFT ) ? C-1 : C; + _resizing_row = -1; + _dragging_x = Fl::event_x(); + ret = 1; + } else { + // Not resizing? Select the column + current_col = select_col = C; + current_row = 0; + select_row = rows() - 1; + _selecting = CONTEXT_COL_HEADER; + damage_zone(current_row, current_col, select_row, select_col); + ret = 1; + } + } + break; + + case CONTEXT_ROW_HEADER: + // FL_PUSH on a row header? + if ( Fl::event_button() == 1 ) { + // Resizing? Handle it + if ( resizeflag ) { + // Start resize if left mouse clicked on row border. + // "ret = 1" ensures we get drag events from now on. + // (R-1) is used if mouse is over the top of the cell, + // so that we resize the row above. + // + _resizing_row = ( resizeflag & RESIZE_ROW_ABOVE ) ? R-1 : R; + _resizing_col = -1; + _dragging_y = Fl::event_y(); + ret = 1; + } else { + // Not resizing? Select the row + current_row = select_row = R; + current_col = 0; + select_col = cols() - 1; + _selecting = CONTEXT_ROW_HEADER; + damage_zone(current_row, current_col, select_row, select_col); + ret = 1; + } + } + break; + + default: + ret = 0; // express disinterest + break; } _last_row = R; break; - + case FL_DRAG: if (_auto_drag == 1) { - ret = 1; - break; + ret = 1; + break; } if ( _resizing_col > -1 ) { - // Dragging column? - // - // Let user drag even /outside/ the row/col widget. - // Don't allow column width smaller than 1. - // Continue to show FL_CURSOR_WE at all times during drag. - // - int offset = _dragging_x - Fl::event_x(); - int new_w = col_width(_resizing_col) - offset; - if ( new_w < _col_resize_min ) new_w = _col_resize_min; - col_width(_resizing_col, new_w); - _dragging_x = Fl::event_x(); - table_resized(); - redraw(); - change_cursor(FL_CURSOR_WE); - ret = 1; - if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) { - do_callback(CONTEXT_RC_RESIZE, R, C); - } + // Dragging column? + // + // Let user drag even /outside/ the row/col widget. + // Don't allow column width smaller than 1. + // Continue to show FL_CURSOR_WE at all times during drag. + // + int offset = _dragging_x - Fl::event_x(); + int new_w = col_width(_resizing_col) - offset; + if ( new_w < _col_resize_min ) new_w = _col_resize_min; + col_width(_resizing_col, new_w); + _dragging_x = Fl::event_x(); + table_resized(); + redraw(); + change_cursor(FL_CURSOR_WE); + ret = 1; + if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) { + do_callback(CONTEXT_RC_RESIZE, R, C); + } } else if ( _resizing_row > -1 ) { - // Dragging row? - // - // Let user drag even /outside/ the row/col widget. - // Don't allow row width smaller than 1. - // Continue to show FL_CURSOR_NS at all times during drag. - // - int offset = _dragging_y - Fl::event_y(); - int new_h = row_height(_resizing_row) - offset; - if ( new_h < _row_resize_min ) new_h = _row_resize_min; - row_height(_resizing_row, new_h); - _dragging_y = Fl::event_y(); - table_resized(); - redraw(); - change_cursor(FL_CURSOR_NS); - ret = 1; - if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) { - do_callback(CONTEXT_RC_RESIZE, R, C); - } + // Dragging row? + // + // Let user drag even /outside/ the row/col widget. + // Don't allow row width smaller than 1. + // Continue to show FL_CURSOR_NS at all times during drag. + // + int offset = _dragging_y - Fl::event_y(); + int new_h = row_height(_resizing_row) - offset; + if ( new_h < _row_resize_min ) new_h = _row_resize_min; + row_height(_resizing_row, new_h); + _dragging_y = Fl::event_y(); + table_resized(); + redraw(); + change_cursor(FL_CURSOR_NS); + ret = 1; + if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) { + do_callback(CONTEXT_RC_RESIZE, R, C); + } } else { - if (Fl::event_button() == 1 && - _selecting == CONTEXT_CELL && - context == CONTEXT_CELL) { - if (select_row != R || select_col != C) { - damage_zone(current_row, current_col, select_row, select_col, R, C); - } - select_row = R; - select_col = C; - ret = 1; - } - else if (Fl::event_button() == 1 && - _selecting == CONTEXT_ROW_HEADER && - context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) { - if (select_row != R) { - damage_zone(current_row, current_col, select_row, select_col, R, C); - } - select_row = R; - ret = 1; - } - else if (Fl::event_button() == 1 && - _selecting == CONTEXT_COL_HEADER - && context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) { - if (select_col != C) { - damage_zone(current_row, current_col, select_row, select_col, R, C); - } - select_col = C; - ret = 1; - } + if (Fl::event_button() == 1 && + _selecting == CONTEXT_CELL && + context == CONTEXT_CELL) { + if (select_row != R || select_col != C) { + damage_zone(current_row, current_col, select_row, select_col, R, C); + } + select_row = R; + select_col = C; + ret = 1; + } + else if (Fl::event_button() == 1 && + _selecting == CONTEXT_ROW_HEADER && + context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) { + if (select_row != R) { + damage_zone(current_row, current_col, select_row, select_col, R, C); + } + select_row = R; + ret = 1; + } + else if (Fl::event_button() == 1 && + _selecting == CONTEXT_COL_HEADER + && context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) { + if (select_col != C) { + damage_zone(current_row, current_col, select_row, select_col, R, C); + } + select_col = C; + ret = 1; + } } // Enable autodrag if not resizing, and mouse has moved off table edge if ( _resizing_row < 0 && _resizing_col < 0 && _auto_drag == 0 && - ( Fl::event_x() > x() + w() - 20 || - Fl::event_x() < x() + row_header_width() || - Fl::event_y() > y() + h() - 20 || - Fl::event_y() < y() + col_header_height() - ) ) { - _start_auto_drag(); - } + ( Fl::event_x() > x() + w() - 20 || + Fl::event_x() < x() + row_header_width() || + Fl::event_y() > y() + h() - 20 || + Fl::event_y() < y() + col_header_height() + ) ) { + _start_auto_drag(); + } break; - + case FL_RELEASE: _stop_auto_drag(); switch ( context ) { - case CONTEXT_ROW_HEADER: // release on row header - case CONTEXT_COL_HEADER: // release on col header - case CONTEXT_CELL: // release on a cell - case CONTEXT_TABLE: // release on dead zone - if ( _resizing_col == -1 && // not resizing a column - _resizing_row == -1 && // not resizing a row - Fl_Widget::callback() && // callback defined - when() & FL_WHEN_RELEASE && // on button release - _last_row == R ) { // release on same row PUSHed? - // Need this for eg. left clicking on a cell to select it - do_callback(context, R, C); - } - break; - - default: - break; + case CONTEXT_ROW_HEADER: // release on row header + case CONTEXT_COL_HEADER: // release on col header + case CONTEXT_CELL: // release on a cell + case CONTEXT_TABLE: // release on dead zone + if ( _resizing_col == -1 && // not resizing a column + _resizing_row == -1 && // not resizing a row + Fl_Widget::callback() && // callback defined + when() & FL_WHEN_RELEASE && // on button release + _last_row == R ) { // release on same row PUSHed? + // Need this for eg. left clicking on a cell to select it + do_callback(context, R, C); + } + break; + + default: + break; } if ( Fl::event_button() == 1 ) { - change_cursor(FL_CURSOR_DEFAULT); - _resizing_col = -1; - _resizing_row = -1; - ret = 1; + change_cursor(FL_CURSOR_DEFAULT); + _resizing_col = -1; + _resizing_row = -1; + ret = 1; } break; - + case FL_MOVE: if ( context == CONTEXT_COL_HEADER && // in column header? - resizeflag ) { // resize + near boundary? - change_cursor(FL_CURSOR_WE); // show resize cursor + resizeflag ) { // resize + near boundary? + change_cursor(FL_CURSOR_WE); // show resize cursor } else if ( context == CONTEXT_ROW_HEADER && // in row header? - resizeflag ) { // resize + near boundary? - change_cursor(FL_CURSOR_NS); // show resize cursor + resizeflag ) { // resize + near boundary? + change_cursor(FL_CURSOR_NS); // show resize cursor } else { change_cursor(FL_CURSOR_DEFAULT); // normal cursor } ret = 1; break; - + case FL_ENTER: // See FLTK event docs on the FL_ENTER widget if (!ret) take_focus(); ret = 1; //FALLTHROUGH - + case FL_LEAVE: // We want to track the mouse if resizing is allowed. if ( resizeflag ) { ret = 1; } if ( event == FL_LEAVE ) { - _stop_auto_drag(); - change_cursor(FL_CURSOR_DEFAULT); + _stop_auto_drag(); + change_cursor(FL_CURSOR_DEFAULT); } break; - + case FL_FOCUS: Fl::focus(this); //FALLTHROUGH - + case FL_UNFOCUS: _stop_auto_drag(); ret = 1; break; - + case FL_KEYBOARD: { ret = 0; int is_row = select_row; int is_col = select_col; switch(Fl::event_key()) { - case FL_Home: - ret = move_cursor(0, -1000000); - break; - case FL_End: - ret = move_cursor(0, 1000000); - break; - case FL_Page_Up: - ret = move_cursor(-(botrow - toprow - 1), 0); - break; - case FL_Page_Down: - ret = move_cursor(botrow - toprow - 1 , 0); - break; - case FL_Left: - ret = move_cursor(0, -1); - break; - case FL_Right: - ret = move_cursor(0, 1); - break; - case FL_Up: - ret = move_cursor(-1, 0); - break; - case FL_Down: - ret = move_cursor(1, 0); - break; + case FL_Home: + ret = move_cursor(0, -1000000); + break; + case FL_End: + ret = move_cursor(0, 1000000); + break; + case FL_Page_Up: + ret = move_cursor(-(botrow - toprow - 1), 0); + break; + case FL_Page_Down: + ret = move_cursor(botrow - toprow - 1 , 0); + break; + case FL_Left: + ret = move_cursor(0, -1); + break; + case FL_Right: + ret = move_cursor(0, 1); + break; + case FL_Up: + ret = move_cursor(-1, 0); + break; + case FL_Down: + ret = move_cursor(1, 0); + break; } if (ret && Fl::focus() != this) { - do_callback(CONTEXT_TABLE, -1, -1); - take_focus(); + do_callback(CONTEXT_TABLE, -1, -1); + take_focus(); } //if (!ret && Fl_Widget::callback() && when() & FL_WHEN_NOT_CHANGED ) if ( Fl_Widget::callback() && - ( - ( !ret && when() & FL_WHEN_NOT_CHANGED ) || - ( is_row!= select_row || is_col!= select_col ) - ) - ) { - do_callback(CONTEXT_CELL, select_row, select_col); - //damage_zone(current_row, current_col, select_row, select_col); - ret = 1; + ( + ( !ret && when() & FL_WHEN_NOT_CHANGED ) || + ( is_row!= select_row || is_col!= select_col ) + ) + ) { + do_callback(CONTEXT_CELL, select_row, select_col); + //damage_zone(current_row, current_col, select_row, select_col); + ret = 1; } break; } - + default: change_cursor(FL_CURSOR_DEFAULT); break; @@ -1018,23 +1018,23 @@ int Fl_Table::handle(int event) { // Handle resize events if user resizes parent window. // void Fl_Table::resize(int X, int Y, int W, int H) { - // Tell group to resize, and recalc our own widget as well - Fl_Group::resize(X, Y, W, H); - table_resized(); - redraw(); + // Tell group to resize, and recalc our own widget as well + Fl_Group::resize(X, Y, W, H); + table_resized(); + redraw(); } // Draw a cell void Fl_Table::_redraw_cell(TableContext context, int r, int c) { - if ( r < 0 || c < 0 ) return; - int X,Y,W,H; - find_cell(context, r, c, X, Y, W, H); // find positions of cell - draw_cell(context, r, c, X, Y, W, H); // call users' function to draw it + if ( r < 0 || c < 0 ) return; + int X,Y,W,H; + find_cell(context, r, c, X, Y, W, H); // find positions of cell + draw_cell(context, r, c, X, Y, W, H); // call users' function to draw it } int Fl_Table::is_selected(int r, int c) { int s_left, s_right, s_top, s_bottom; - + if (select_col > current_col) { s_left = current_col; s_right = select_col; @@ -1087,8 +1087,8 @@ void Fl_Table::set_selection(int s_top, int s_left, int s_bottom, int s_right) { // void Fl_Table::draw() { draw_cell(CONTEXT_STARTPAGE, 0, 0, // let user's drawing routine - tix, tiy, tiw, tih); // prep new page - + tix, tiy, tiw, tih); // prep new page + // Let fltk widgets draw themselves first. Do this after // draw_cell(CONTEXT_STARTPAGE) in case user moves widgets around. // Use window 'inner' clip to prevent drawing into table border. @@ -1099,10 +1099,10 @@ void Fl_Table::draw() { Fl_Group::draw(); } fl_pop_clip(); - + // Explicitly draw border around widget, if any draw_box(box(), x(), y(), w(), h(), color()); - + // If Fl_Scroll 'table' is hidden, draw its box // Do this after Fl_Group::draw() so we draw over scrollbars // that leak around the border. @@ -1119,9 +1119,9 @@ void Fl_Table::draw() { if ( ! ( damage() & FL_DAMAGE_ALL ) && _redraw_leftcol != -1 ) { fl_push_clip(tix, tiy, tiw, tih); for ( int c = _redraw_leftcol; c <= _redraw_rightcol; c++ ) { - for ( int r = _redraw_toprow; r <= _redraw_botrow; r++ ) { - _redraw_cell(CONTEXT_CELL, r, c); - } + for ( int r = _redraw_toprow; r <= _redraw_botrow; r++ ) { + _redraw_cell(CONTEXT_CELL, r, c); + } } fl_pop_clip(); } @@ -1129,21 +1129,21 @@ void Fl_Table::draw() { int X,Y,W,H; // Draw row headers, if any if ( row_header() ) { - get_bounds(CONTEXT_ROW_HEADER, X, Y, W, H); - fl_push_clip(X,Y,W,H); - for ( int r = toprow; r <= botrow; r++ ) { - _redraw_cell(CONTEXT_ROW_HEADER, r, 0); - } - fl_pop_clip(); + get_bounds(CONTEXT_ROW_HEADER, X, Y, W, H); + fl_push_clip(X,Y,W,H); + for ( int r = toprow; r <= botrow; r++ ) { + _redraw_cell(CONTEXT_ROW_HEADER, r, 0); + } + fl_pop_clip(); } // Draw column headers, if any if ( col_header() ) { - get_bounds(CONTEXT_COL_HEADER, X, Y, W, H); - fl_push_clip(X,Y,W,H); - for ( int c = leftcol; c <= rightcol; c++ ) { - _redraw_cell(CONTEXT_COL_HEADER, 0, c); - } - fl_pop_clip(); + get_bounds(CONTEXT_COL_HEADER, X, Y, W, H); + fl_push_clip(X,Y,W,H); + for ( int c = leftcol; c <= rightcol; c++ ) { + _redraw_cell(CONTEXT_COL_HEADER, 0, c); + } + fl_pop_clip(); } // Draw all cells. // This includes cells partially obscured off edges of table. @@ -1152,66 +1152,66 @@ void Fl_Table::draw() { // drawing over deadzones; prevent deadzones by sizing columns. // fl_push_clip(tix, tiy, tiw, tih); { - for ( int r = toprow; r <= botrow; r++ ) { - for ( int c = leftcol; c <= rightcol; c++ ) { - _redraw_cell(CONTEXT_CELL, r, c); - } - } + for ( int r = toprow; r <= botrow; r++ ) { + for ( int c = leftcol; c <= rightcol; c++ ) { + _redraw_cell(CONTEXT_CELL, r, c); + } + } } fl_pop_clip(); // Draw little rectangle in corner of headers if ( row_header() && col_header() ) { fl_rectf(wix, wiy, row_header_width(), col_header_height(), color()); } - + // Table has a boxtype? Close those few dead pixels if ( table->box() ) { - if ( col_header() ) { - fl_rectf(tox, wiy, Fl::box_dx(table->box()), col_header_height(), color()); - } - if ( row_header() ) { - fl_rectf(wix, toy, row_header_width(), Fl::box_dx(table->box()), color()); - } + if ( col_header() ) { + fl_rectf(tox, wiy, Fl::box_dx(table->box()), col_header_height(), color()); + } + if ( row_header() ) { + fl_rectf(wix, toy, row_header_width(), Fl::box_dx(table->box()), color()); + } } - + // Table width smaller than window? Fill remainder with rectangle if ( table_w < tiw ) { - fl_rectf(tix + table_w, tiy, tiw - table_w, tih, color()); - // Col header? fill that too - if ( col_header() ) { - fl_rectf(tix + table_w, - wiy, - // get that corner just right.. - (tiw - table_w + Fl::box_dw(table->box()) - - Fl::box_dx(table->box())), - col_header_height(), - color()); - } + fl_rectf(tix + table_w, tiy, tiw - table_w, tih, color()); + // Col header? fill that too + if ( col_header() ) { + fl_rectf(tix + table_w, + wiy, + // get that corner just right.. + (tiw - table_w + Fl::box_dw(table->box()) - + Fl::box_dx(table->box())), + col_header_height(), + color()); + } } // Table height smaller than window? Fill remainder with rectangle if ( table_h < tih ) { - fl_rectf(tix, tiy + table_h, tiw, tih - table_h, color()); - if ( row_header() ) { - // NOTE: - // Careful with that lower corner; don't use tih; when eg. - // table->box(FL_THIN_UPFRAME) and hscrollbar hidden, - // leaves a row of dead pixels. - // - fl_rectf(wix, tiy + table_h, row_header_width(), - (wiy+wih) - (tiy+table_h) - - ( hscrollbar->visible() ? SCROLLBAR_SIZE : 0), - color()); - } + fl_rectf(tix, tiy + table_h, tiw, tih - table_h, color()); + if ( row_header() ) { + // NOTE: + // Careful with that lower corner; don't use tih; when eg. + // table->box(FL_THIN_UPFRAME) and hscrollbar hidden, + // leaves a row of dead pixels. + // + fl_rectf(wix, tiy + table_h, row_header_width(), + (wiy+wih) - (tiy+table_h) - + ( hscrollbar->visible() ? SCROLLBAR_SIZE : 0), + color()); + } } } // Both scrollbars? Draw little box in lower right if ( vscrollbar->visible() && hscrollbar->visible() ) { fl_rectf(vscrollbar->x(), hscrollbar->y(), - vscrollbar->w(), hscrollbar->h(), color()); + vscrollbar->w(), hscrollbar->h(), color()); } draw_cell(CONTEXT_ENDPAGE, 0, 0, // let user's drawing - tix, tiy, tiw, tih); // routines cleanup - + tix, tiy, tiw, tih); // routines cleanup + _redraw_leftcol = _redraw_rightcol = _redraw_toprow = _redraw_botrow = -1; } fl_pop_clip(); diff --git a/src/Fl_Table_Row.cxx b/src/Fl_Table_Row.cxx index 85fa5aac5..8536c7e44 100644 --- a/src/Fl_Table_Row.cxx +++ b/src/Fl_Table_Row.cxx @@ -46,7 +46,7 @@ void Fl_Table_Row::type(TableRowSelectMode val) { case SELECT_NONE: { for ( int row=0; row 1 ) { // only one allowed - _rowselect[row] = 0; - } - } + if ( _rowselect[row] ) { + if ( ++count > 1 ) { // only one allowed + _rowselect[row] = 0; + } + } } redraw(); break; @@ -87,39 +87,39 @@ int Fl_Table_Row::select_row(int row, int flag) { switch ( _selectmode ) { case SELECT_NONE: return(-1); - + case SELECT_SINGLE: { int oldval; for ( int t=0; t= toprow && row <= botrow ) { // row visible? - // Extend partial redraw range - redraw_range(row, row, leftcol, rightcol); - } - ret = 1; + if ( row >= toprow && row <= botrow ) { // row visible? + // Extend partial redraw range + redraw_range(row, row, leftcol, rightcol); + } + ret = 1; } } } @@ -131,24 +131,24 @@ void Fl_Table_Row::select_all_rows(int flag) { switch ( _selectmode ) { case SELECT_NONE: return; - + case SELECT_SINGLE: if ( flag != 0 ) return; //FALLTHROUGH - + case SELECT_MULTI: { char changed = 0; if ( flag == 2 ) { - for ( int row=0; row<(int)_rowselect.size(); row++ ) { - _rowselect[row] ^= 1; - } - changed = 1; + for ( int row=0; row<(int)_rowselect.size(); row++ ) { + _rowselect[row] ^= 1; + } + changed = 1; } else { - for ( int row=0; row<(int)_rowselect.size(); row++ ) { - changed |= (_rowselect[row] != flag)?1:0; - _rowselect[row] = flag; - } + for ( int row=0; row<(int)_rowselect.size(); row++ ) { + changed |= (_rowselect[row] != flag)?1:0; + _rowselect[row] = flag; + } } if ( changed ) { redraw(); @@ -169,19 +169,19 @@ void Fl_Table_Row::rows(int val) { // Handle events int Fl_Table_Row::handle(int event) { - + // fprintf(stderr, "** EVENT: %s: EVENT XY=%d,%d\n", // eventnames[event], Fl::event_x(), Fl::event_y()); // debugging - + // Let base class handle event int ret = Fl_Table::handle(event); - + // The following code disables cell selection.. why was it added? -erco 05/18/03 // if ( ret ) { _last_y = Fl::event_y(); return(1); } // base class 'handled' it (eg. column resize) - + int shiftstate = (Fl::event_state() & FL_CTRL) ? FL_CTRL : - (Fl::event_state() & FL_SHIFT) ? FL_SHIFT : 0; - + (Fl::event_state() & FL_SHIFT) ? FL_SHIFT : 0; + // Which row/column are we over? int R, C; // row/column being worked on ResizeFlag resizeflag; // which resizing area are we over? (0=none) @@ -189,128 +189,128 @@ int Fl_Table_Row::handle(int event) { switch ( event ) { case FL_PUSH: if ( Fl::event_button() == 1 ) { - _last_push_x = Fl::event_x(); // save regardless of context - _last_push_y = Fl::event_y(); // " " - - // Handle selection in table. - // Select cell under cursor, and enable drag selection mode. - // - if ( context == CONTEXT_CELL ) { - // Ctrl key? Toggle selection state - switch ( shiftstate ) { - case FL_CTRL: - select_row(R, 2); // toggle - break; - - case FL_SHIFT: - { - select_row(R, 1); - if ( _last_row > -1 ) { - int srow = R, erow = _last_row; - if ( srow > erow ) { - srow = _last_row; - erow = R; - } - for ( int row = srow; row <= erow; row++ ) { - select_row(row, 1); - } - } - break; - } - - default: - select_all_rows(0); // clear all previous selections - select_row(R, 1); - break; - } - - _last_row = R; - _dragging_select = 1; - ret = 1; // FL_PUSH handled (ensures FL_DRAG will be sent) - // redraw(); // redraw() handled by select_row() - } + _last_push_x = Fl::event_x(); // save regardless of context + _last_push_y = Fl::event_y(); // " " + + // Handle selection in table. + // Select cell under cursor, and enable drag selection mode. + // + if ( context == CONTEXT_CELL ) { + // Ctrl key? Toggle selection state + switch ( shiftstate ) { + case FL_CTRL: + select_row(R, 2); // toggle + break; + + case FL_SHIFT: + { + select_row(R, 1); + if ( _last_row > -1 ) { + int srow = R, erow = _last_row; + if ( srow > erow ) { + srow = _last_row; + erow = R; + } + for ( int row = srow; row <= erow; row++ ) { + select_row(row, 1); + } + } + break; + } + + default: + select_all_rows(0); // clear all previous selections + select_row(R, 1); + break; + } + + _last_row = R; + _dragging_select = 1; + ret = 1; // FL_PUSH handled (ensures FL_DRAG will be sent) + // redraw(); // redraw() handled by select_row() + } } break; - + case FL_DRAG: { if ( _dragging_select ) { - // Dragged off table edges? Handle scrolling - int offtop = toy - _last_y; // >0 if off top of table - int offbot = _last_y - (toy + toh); // >0 if off bottom of table - - if ( offtop > 0 && row_position() > 0 ) { - // Only scroll in upward direction - int diff = _last_y - Fl::event_y(); - if ( diff < 1 ) { - ret = 1; - break; - } - row_position(row_position() - diff); - context = CONTEXT_CELL; C = 0; R = row_position(); // HACK: fake it - if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly - } - else if ( offbot > 0 && botrow < rows() ) { - // Only scroll in downward direction - int diff = Fl::event_y() - _last_y; - if ( diff < 1 ) { - ret = 1; - break; - } - row_position(row_position() + diff); - context = CONTEXT_CELL; C = 0; R = botrow; // HACK: fake it - if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly - } - if ( context == CONTEXT_CELL ) { - switch ( shiftstate ) { - case FL_CTRL: - if ( R != _last_row ) { // toggle if dragged to new row - select_row(R, 2); // 2=toggle - } - break; - - case FL_SHIFT: - default: - select_row(R, 1); - if ( _last_row > -1 ) { - int srow = R, erow = _last_row; - if ( srow > erow ) { - srow = _last_row; - erow = R; - } - for ( int row = srow; row <= erow; row++ ) { - select_row(row, 1); - } - } - break; - } - ret = 1; // drag handled - _last_row = R; - } + // Dragged off table edges? Handle scrolling + int offtop = toy - _last_y; // >0 if off top of table + int offbot = _last_y - (toy + toh); // >0 if off bottom of table + + if ( offtop > 0 && row_position() > 0 ) { + // Only scroll in upward direction + int diff = _last_y - Fl::event_y(); + if ( diff < 1 ) { + ret = 1; + break; + } + row_position(row_position() - diff); + context = CONTEXT_CELL; C = 0; R = row_position(); // HACK: fake it + if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly + } + else if ( offbot > 0 && botrow < rows() ) { + // Only scroll in downward direction + int diff = Fl::event_y() - _last_y; + if ( diff < 1 ) { + ret = 1; + break; + } + row_position(row_position() + diff); + context = CONTEXT_CELL; C = 0; R = botrow; // HACK: fake it + if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly + } + if ( context == CONTEXT_CELL ) { + switch ( shiftstate ) { + case FL_CTRL: + if ( R != _last_row ) { // toggle if dragged to new row + select_row(R, 2); // 2=toggle + } + break; + + case FL_SHIFT: + default: + select_row(R, 1); + if ( _last_row > -1 ) { + int srow = R, erow = _last_row; + if ( srow > erow ) { + srow = _last_row; + erow = R; + } + for ( int row = srow; row <= erow; row++ ) { + select_row(row, 1); + } + } + break; + } + ret = 1; // drag handled + _last_row = R; + } } break; } - + case FL_RELEASE: if ( Fl::event_button() == 1 ) { - _dragging_select = 0; - ret = 1; // release handled - // Clicked off edges of data table? - // A way for user to clear the current selection. - // - int databot = tiy + table_h, - dataright = tix + table_w; - if ( - ( _last_push_x > dataright && Fl::event_x() > dataright ) || - ( _last_push_y > databot && Fl::event_y() > databot ) - ) { - select_all_rows(0); // clear previous selections - } + _dragging_select = 0; + ret = 1; // release handled + // Clicked off edges of data table? + // A way for user to clear the current selection. + // + int databot = tiy + table_h, + dataright = tix + table_w; + if ( + ( _last_push_x > dataright && Fl::event_x() > dataright ) || + ( _last_push_y > databot && Fl::event_y() > databot ) + ) { + select_all_rows(0); // clear previous selections + } } break; - + default: - break; + break; } _last_y = Fl::event_y(); return(ret); diff --git a/src/Fl_Tree.cxx b/src/Fl_Tree.cxx new file mode 100644 index 000000000..22032810c --- /dev/null +++ b/src/Fl_Tree.cxx @@ -0,0 +1,354 @@ +#include +#include +#include + +#include + +#define SCROLL_W 15 + +////////////////////// +// Fl_Tree.cxx +////////////////////// +// +// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK +// Copyright (C) 2009 by Greg Ercolano. +// +// 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. +// + +// INTERNAL: scroller callback +static void scroll_cb(Fl_Widget*,void *data) { + ((Fl_Tree*)data)->redraw(); +} + +// INTERNAL: Parse elements from path into an array of null terminated strings +// Path="/aa/bb" +// Return: arr[0]="aa", arr[1]="bb", arr[2]=0 +// Caller must: free(arr[0]); free(arr); +// +static char **parse_path(const char *path) { + while ( *path == '/' ) path++; // skip leading '/' + // First pass: identify, null terminate, and count separators + int seps = 1; // separator count (1: first item) + int arrsize = 1; // array size (1: first item) + char *save = strdup(path); // make copy we can modify + char *s = save; + while ( ( s = strchr(s, '/') ) ) { + while ( *s == '/' ) { *s++ = 0; seps++; } + if ( *s ) { arrsize++; } + } + arrsize++; // (room for terminating NULL) + // Second pass: create array, save nonblank elements + char **arr = (char**)malloc(sizeof(char*) * arrsize); + int t = 0; + s = save; + while ( seps-- > 0 ) { + if ( *s ) { arr[t++] = s; } // skips empty fields, eg. '//' + s += (strlen(s) + 1); + } + arr[t] = 0; + return(arr); +} + +// INTERNAL: Recursively descend tree hierarchy, accumulating total child count +static int find_total_children(Fl_Tree_Item *item, int count=0) { + count++; + for ( int t=0; tchildren(); t++ ) { + count = find_total_children(item->child(t), count); + } + return(count); +} + +/// Constructor. +Fl_Tree::Fl_Tree(int X, int Y, int W, int H, const char *L) : Fl_Group(X,Y,W,H,L) { + _root = new Fl_Tree_Item(_prefs); + _root->parent(0); // we are root of tree + _root->label("ROOT"); + _item_clicked = 0; + box(FL_DOWN_BOX); + color(FL_WHITE); + when(FL_WHEN_CHANGED); + _vscroll = new Fl_Scrollbar(0,0,0,0); // will be resized by draw() + _vscroll->hide(); + _vscroll->type(FL_VERTICAL); + _vscroll->step(1); + _vscroll->callback(scroll_cb, (void*)this); + end(); +} + +/// Destructor. +Fl_Tree::~Fl_Tree() { + if ( _root ) { delete _root; _root = 0; } +} + +/// Adds a new item, given a 'menu style' path, eg: "/Parent/Child/item". +/// Any parent nodes that don't already exist are created automatically. +/// Adds the item based on the value of sortorder(). +/// \returns the child item created, or 0 on error. +/// +Fl_Tree_Item* Fl_Tree::add(const char *path) { + if ( ! _root ) { // Create root if none + _root = new Fl_Tree_Item(_prefs); + _root->parent(0); + _root->label("ROOT"); + } + char **arr = parse_path(path); + Fl_Tree_Item *item = _root->add(_prefs, arr); + free((void*)arr[0]); + free((void*)arr); + return(item); +} + +/// Inserts a new item above the specified Fl_Tree_Item, with the label set to 'name'. +/// \returns the item that was added, or 0 if 'above' could not be found. +/// +Fl_Tree_Item* Fl_Tree::insert_above(Fl_Tree_Item *above, const char *name) { + return(above->insert_above(_prefs, name)); +} + +/// Find the item, given a menu style path, eg: "/Parent/Child/item". +/// +/// There is both a const and non-const version of this method. +/// Const version allows pure const methods to use this method +/// to do lookups without causing compiler errors. +/// \returns the item, or 0 if not found. +/// +Fl_Tree_Item *Fl_Tree::find_item(const char *path) { + if ( ! _root ) return(0); + char **arr = parse_path(path); + Fl_Tree_Item *item = _root->find_item(arr); + free((void*)arr[0]); + free((void*)arr); + return(item); +} + +/// A const version of Fl_Tree::find_item(const char *path) +const Fl_Tree_Item *Fl_Tree::find_item(const char *path) const { + if ( ! _root ) return(0); + char **arr = parse_path(path); + const Fl_Tree_Item *item = _root->find_item(arr); + free((void*)arr[0]); + free((void*)arr); + return(item); +} + +/// Standard FLTK draw() method, handles draws the tree widget. +void Fl_Tree::draw() { + // Let group draw box+label but *NOT* children. + // We handle drawing children ourselves by calling each item's draw() + // + Fl_Group::draw_box(); + Fl_Group::draw_label(); + if ( ! _root ) return; + int cx = x() + Fl::box_dx(box()); + int cy = y() + Fl::box_dy(box()); + int cw = w() - Fl::box_dw(box()); + int ch = h() - Fl::box_dh(box()); + // These values are changed during drawing + // 'Y' will be the lowest point on the tree + int X = cx + _prefs.marginleft(); + int Y = cy + _prefs.margintop() - (_vscroll->visible() ? _vscroll->value() : 0); + int W = cw - _prefs.marginleft(); // - _prefs.marginright(); + int Ysave = Y; + fl_push_clip(cx,cy,cw,ch); + { + fl_font(_prefs.labelfont(), _prefs.labelsize()); + _root->draw(X, Y, W, this, _prefs); + } + fl_pop_clip(); + + // Show vertical scrollbar? + int ydiff = (Y+_prefs.margintop())-Ysave; // ydiff=size of tree + int ytoofar = (cy+ch) - Y; // ytoofar -- scrolled beyond bottom (eg. stow) + + //printf("ydiff=%d ch=%d Ysave=%d ytoofar=%d value=%d\n", + //int(ydiff),int(ch),int(Ysave),int(ytoofar), int(_vscroll->value())); + + if ( ytoofar > 0 ) ydiff += ytoofar; + if ( Ysave ch || int(_vscroll->value()) > 1 ) { + _vscroll->visible(); + int sx = x()+w()-Fl::box_dx(box())-SCROLL_W; + int sy = y()+Fl::box_dy(box()); + int sw = SCROLL_W; + int sh = h()-Fl::box_dh(box()); + _vscroll->show(); + _vscroll->range(0.0,ydiff-ch); + _vscroll->resize(sx,sy,sw,sh); + _vscroll->slider_size(float(ch)/float(ydiff)); + } else { + _vscroll->Fl_Slider::value(0); + _vscroll->hide(); + } + fl_push_clip(cx,cy,cw,ch); + Fl_Group::draw_children(); // draws any FLTK children set via Fl_Tree::widget() + fl_pop_clip(); +} + +/// Standard FLTK event handler for this widget. +int Fl_Tree::handle(int e) { + static Fl_Tree_Item *lastselect = 0; + int changed = 0; + int ret = Fl_Group::handle(e); + if ( ! _root ) return(ret); + switch ( e ) { + case FL_PUSH: { + lastselect = 0; + item_clicked(0); // assume no item was clicked + Fl_Tree_Item *o = _root->find_clicked(_prefs); + if ( o ) { + ret |= 1; // handled + if ( Fl::event_button() == FL_LEFT_MOUSE ) { + // Was collapse icon clicked? + if ( o->event_on_collapse_icon(_prefs) ) { + o->open_toggle(); + redraw(); + } + // Item's label clicked? + else if ( o->event_on_label(_prefs) && + (!o->widget() || !Fl::event_inside(o->widget())) && + callback() && + (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) { + item_clicked(o); // save item clicked + // Handle selection behavior + switch ( _prefs.selectmode() ) { + case FL_TREE_SELECT_NONE: { // no selection changes + break; + } + case FL_TREE_SELECT_SINGLE: { + changed = select_only(o); + break; + } + case FL_TREE_SELECT_MULTI: { + int state = Fl::event_state(); + if ( state & FL_SHIFT ) { + if ( ! o->is_selected() ) { + o->select(); // add to selection + changed = 1; // changed + } + } else if ( state & FL_CTRL ) { + changed = 1; // changed + o->select_toggle(); // toggle selection state + lastselect = o; // save we toggled it (prevents oscillation) + } else { + changed = select_only(o); + } + break; + } + } + if ( changed ) { + redraw(); // make change(s) visible + if ( when() & FL_WHEN_CHANGED ) { + set_changed(); + do_callback((Fl_Widget*)this, user_data()); // item callback + } + } + } + } + } + break; + } + case FL_DRAG: { + Fl_Tree_Item *o = _root->find_clicked(_prefs); + if ( o ) { + ret |= 1; // handled + // Item's label clicked? + if ( o->event_on_label(_prefs) && + (!o->widget() || !Fl::event_inside(o->widget())) && + callback() && + (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) { + item_clicked(o); // save item clicked + // Handle selection behavior + switch ( _prefs.selectmode() ) { + case FL_TREE_SELECT_NONE: { // no selection changes + break; + } + case FL_TREE_SELECT_SINGLE: { + changed = select_only(o); + break; + } + case FL_TREE_SELECT_MULTI: { + int state = Fl::event_state(); + if ( state & FL_CTRL ) { + if ( lastselect != o ) {// not already toggled from last microdrag? + changed = 1; // changed + o->select_toggle(); // toggle selection + lastselect = o; // save we toggled it (prevents oscillation) + redraw(); // make change(s) visible + } + } else { + changed = 1; // changed + o->select(); // select this + redraw(); // make change(s) visible + } + break; + } + } + if ( changed ) { + redraw(); // make change(s) visible + if ( when() & FL_WHEN_CHANGED ) { + set_changed(); + do_callback((Fl_Widget*)this, user_data()); // item callback + } + } + } + } + } + case FL_RELEASE: { + if ( Fl::event_button() == FL_LEFT_MOUSE ) { + ret |= 1; + } + break; + } + } + return(ret); +} + +/// Deselect item and all its children. +/// If item is NULL, root() is used. +/// Handles calling redraw() if anything was changed. +/// Returns count of how many items were in the 'selected' state, +/// ie. how many items were "changed". +/// +int Fl_Tree::deselect_all(Fl_Tree_Item *item) { + item = item ? item : root(); // NULL? use root() + int count = item->deselect_all(); + if ( count ) redraw(); // anything changed? cause redraw + return(count); +} + +/// Select only this item. +/// If item is NULL, root() is used. +/// Handles calling redraw() if anything was changed. +/// Returns how many items were changed, if any. +/// +int Fl_Tree::select_only(Fl_Tree_Item *selitem) { + selitem = selitem ? selitem : root(); // NULL? use root() + int changed = 0; + for ( Fl_Tree_Item *item = first(); item; item = item->next() ) { + if ( item == selitem ) { + if ( item->is_selected() ) continue; // don't count if already selected + item->select(); + ++changed; + } else { + if ( item->is_selected() ) { + item->deselect(); + ++changed; + } + } + } + if ( changed ) redraw(); // anything changed? redraw + return(changed); +} diff --git a/src/Fl_Tree_Item.cxx b/src/Fl_Tree_Item.cxx new file mode 100644 index 000000000..713c4535d --- /dev/null +++ b/src/Fl_Tree_Item.cxx @@ -0,0 +1,707 @@ +#include +#include +#include +#include +#include +#include + +////////////////////// +// Fl_Tree_Item.cxx +////////////////////// +// +// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK +// Copyright (C) 2009 by Greg Ercolano. +// +// 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. +// + +// Was the last event inside the specified xywh? +static int event_inside(const int xywh[4]) { + return(Fl::event_inside(xywh[0],xywh[1],xywh[2],xywh[3])); +} + +/// Constructor. +/// Makes a new instance of Fl_Tree_Item using defaults from 'prefs'. +/// +Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Prefs &prefs) { + _label = 0; + _labelfont = prefs.labelfont(); + _labelsize = prefs.labelsize(); + _labelfgcolor = prefs.fgcolor(); + _labelbgcolor = prefs.bgcolor(); + _widget = 0; + _open = 1; + _visible = 1; + _active = 1; + _selected = 0; + _xywh[0] = 0; + _xywh[1] = 0; + _xywh[2] = 0; + _xywh[3] = 0; + _collapse_xywh[0] = 0; + _collapse_xywh[1] = 0; + _collapse_xywh[2] = 0; + _collapse_xywh[3] = 0; + _label_xywh[0] = 0; + _label_xywh[1] = 0; + _label_xywh[2] = 0; + _label_xywh[3] = 0; + _usericon = 0; + _parent = 0; +} + +// DTOR +Fl_Tree_Item::~Fl_Tree_Item() { + if ( _label ) { + free((void*)_label); + _label = 0; + } + _widget = 0; // Fl_Group will handle destruction + _usericon = 0; // user handled allocation + //_children.clear(); // array's destructor handles itself +} + +/// Copy constructor. +Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Item *o) { + _label = o->label() ? strdup(o->label()) : 0; + _labelfont = o->labelfont(); + _labelsize = o->labelsize(); + _labelfgcolor = o->labelfgcolor(); + _labelbgcolor = o->labelbgcolor(); + _widget = o->widget(); + _open = o->_open; + _visible = o->_visible; + _active = o->_active; + _selected = o->_selected; + _xywh[0] = o->_xywh[0]; + _xywh[1] = o->_xywh[1]; + _xywh[2] = o->_xywh[2]; + _xywh[3] = o->_xywh[3]; + _collapse_xywh[0] = o->_collapse_xywh[0]; + _collapse_xywh[1] = o->_collapse_xywh[1]; + _collapse_xywh[2] = o->_collapse_xywh[2]; + _collapse_xywh[3] = o->_collapse_xywh[3]; + _label_xywh[0] = o->_label_xywh[0]; + _label_xywh[1] = o->_label_xywh[1]; + _label_xywh[2] = o->_label_xywh[2]; + _label_xywh[3] = o->_label_xywh[3]; + _usericon = o->usericon(); + _parent = o->_parent; +} + +/// Print the tree as 'ascii art' to stdout. +/// Used mainly for debugging. +/// +void Fl_Tree_Item::show_self(const char *indent) const { + if ( label() ) { + printf("%s-%s (%d children, this=%p, parent=%p depth=%d)\n", + indent,label(),children(),(void*)this, (void*)_parent, depth()); + } + if ( children() ) { + char *i2 = (char*)malloc(strlen(indent) + 2); + strcpy(i2, indent); + strcat(i2, " |"); + for ( int t=0; tshow_self(i2); + } + } + fflush(stdout); +} + +/// Set the label. Makes a copy of the name. +void Fl_Tree_Item::label(const char *name) { + if ( _label ) { free((void*)_label); _label = 0; } + _label = name ? strdup(name) : 0; +} + +/// Return the label. +const char *Fl_Tree_Item::label() const { + return(_label); +} + +/// Return child item for the specified 'index'. +const Fl_Tree_Item *Fl_Tree_Item::child(int index) const { + return(_children[index]); +} + +/// Clear all the children for this item. +void Fl_Tree_Item::clear_children() { + _children.clear(); +} + +/// Return the index of the immediate child of this item that has the label 'name'. +/// +/// \returns index of found item, or -1 if not found. +/// +int Fl_Tree_Item::find_child(const char *name) { + if ( name ) { + for ( int t=0; tlabel() ) { + if ( strcmp(child(t)->label(), name) == 0 ) { + return(t); + } + } + } + } + return(-1); +} + +/// Find item by descending array of names. +/// Only Fl_Tree should need this method. +/// +/// \returns item, or 0 if not found +/// +const Fl_Tree_Item *Fl_Tree_Item::find_item(char **arr) const { + for ( int t=0; tlabel() ) { + if ( strcmp(child(t)->label(), *arr) == 0 ) { // match? + if ( *(arr+1) ) { // more in arr? descend + return(_children[t]->find_item(arr+1)); + } else { // end of arr? done + return(_children[t]); + } + } + } + } + return(0); +} + +/// Find item by by descending array of names. +/// Only Fl_Tree should need this method. +/// +/// \returns item, or 0 if not found +/// +Fl_Tree_Item *Fl_Tree_Item::find_item(char **arr) { + for ( int t=0; tlabel() ) { + if ( strcmp(child(t)->label(), *arr) == 0 ) { // match? + if ( *(arr+1) ) { // more in arr? descend + return(_children[t]->find_item(arr+1)); + } else { // end of arr? done + return(_children[t]); + } + } + } + } + return(0); +} + +/// Find the index number for the specified 'item' +/// in the current item's list of children. +/// +/// \returns the index, or -1 if not found. +/// +int Fl_Tree_Item::find_child(Fl_Tree_Item *item) { + for ( int t=0; tlabel(new_label); + item->_parent = this; + switch ( prefs.sortorder() ) { + case FL_TREE_SORT_NONE: { + _children.add(item); + return(item); + } + case FL_TREE_SORT_ASCENDING: { + for ( int t=0; t<_children.total(); t++ ) { + Fl_Tree_Item *c = _children[t]; + if ( c->label() && strcmp(c->label(), new_label) > 0 ) { + _children.insert(t, item); + return(item); + } + } + _children.add(item); + return(item); + } + case FL_TREE_SORT_DESCENDING: { + for ( int t=0; t<_children.total(); t++ ) { + Fl_Tree_Item *c = _children[t]; + if ( c->label() && strcmp(c->label(), new_label) < 0 ) { + _children.insert(t, item); + return(item); + } + } + _children.add(item); + return(item); + } + } + return(item); +} + +/// Descend into the path specified by \p arr, and add a new child there. +/// Should be used only by Fl_Tree's internals. +/// Adds the item based on the value of prefs.sortorder(). +/// +Fl_Tree_Item *Fl_Tree_Item::add(const Fl_Tree_Prefs &prefs, char **arr) { + int t = find_child(*arr); + Fl_Tree_Item *item; + if ( t == -1 ) { + item = (Fl_Tree_Item*)add(prefs, *arr); + } else { + item = (Fl_Tree_Item*)child(t); + } + if ( *(arr+1) ) { // descend? + return(item->add(prefs, arr+1)); + } else { + return(item); // end? done + } +} + +/// Insert a new item into current item's children at a specified position. +Fl_Tree_Item *Fl_Tree_Item::insert(const Fl_Tree_Prefs &prefs, const char *new_label, int pos) { + Fl_Tree_Item *item = new Fl_Tree_Item(prefs); + item->label(new_label); + item->_parent = this; + _children.insert(pos, item); + return(item); +} + +/// Insert a new item above this item. +Fl_Tree_Item *Fl_Tree_Item::insert_above(const Fl_Tree_Prefs &prefs, const char *new_label) { + Fl_Tree_Item *p = _parent; + if ( ! p ) return(0); + // Walk our parent's children to find ourself + for ( int t=0; tchildren(); t++ ) { + Fl_Tree_Item *c = p->child(t); + if ( this == c ) { + return(p->insert(prefs, new_label, t)); + } + } + return(0); +} + +/// Remove child by item. +/// Returns 0 if removed, -1 if item not an immediate child. +/// +int Fl_Tree_Item::remove_child(Fl_Tree_Item *item) { + for ( int t=0; tclear_children(); + _children.remove(t); + return(0); + } + } + return(-1); +} + +/// Remove immediate child (and its children) by its label 'name'. +/// Returns 0 if removed, -1 if not found. +/// +int Fl_Tree_Item::remove_child(const char *name) { + for ( int t=0; tlabel() ) { + if ( strcmp(child(t)->label(), name) == 0 ) { + _children.remove(t); + return(0); + } + } + } + return(-1); +} + +/// Swap two of our children, given two child index values. +/// Use this eg. for sorting. +/// +/// This method is FAST, and does not involve lookups. +/// +/// No range checking is done on either index value. +/// +/// \returns +/// - 0 : OK +/// - -1 : failed: 'a' or 'b' is not our immediate child +/// +void Fl_Tree_Item::swap_children(int ax, int bx) { + _children.swap(ax, bx); +} + +/// Swap two of our children, given item pointers. +/// Use this eg. for sorting. +/// +/// This method is SLOW because it involves linear lookups. +/// For speed, use swap_children(int,int) instead. +/// +/// \returns +/// - 0 : OK +/// - -1 : failed: 'a' or 'b' is not our immediate child +/// +int Fl_Tree_Item::swap_children(Fl_Tree_Item *a, Fl_Tree_Item *b) { + int ax = -1, bx = -1; + for ( int t=0; tfind_clicked(prefs) ) != NULL) { // check child and its descendents + return(item); // found? + } + } + } + return(0); +} + +/// Non-const version of the above. +/// Find the item that the last event was over. +/// +/// Returns the item if its visible, and mouse is over it. +/// Works even if widget deactivated. +/// Use event_on_collapse_icon() to determine if collapse button was pressed. +/// +/// \returns the visible item under the event if found, or 0 if none. +/// +Fl_Tree_Item *Fl_Tree_Item::find_clicked(const Fl_Tree_Prefs &prefs) { + if ( ! _visible ) return(0); + if ( is_root() && !prefs.showroot() ) { + // skip event check if we're root but root not being shown + } else { + // See if event is over us + if ( event_inside(_xywh) ) { // event within this item? + return(this); // found + } + } + if ( is_open() ) { // open? check children of this item + for ( int t=0; tfind_clicked(prefs) ) != NULL ) { // check child and its descendents + return(item); // found? + } + } + } + return(0); +} + +/// Draw this item and its children. +void Fl_Tree_Item::draw(int X, int &Y, int W, Fl_Widget *tree, + const Fl_Tree_Prefs &prefs, int lastchild) { + if ( ! _visible ) return; + fl_font(_labelfont, _labelsize); + int H = _labelsize + fl_descent() + prefs.linespacing(); + // Colors, fonts + Fl_Color fg = _selected ? prefs.bgcolor() : _labelfgcolor; + Fl_Color bg = _selected ? prefs.selectcolor() : _labelbgcolor; + if ( ! _active ) { + fg = fl_inactive(fg); + if ( _selected ) bg = fl_inactive(bg); + } + // Update the xywh of this item + _xywh[0] = X; + _xywh[1] = Y; + _xywh[2] = W; + _xywh[3] = H; + // Text size + int textw=0, texth=0; + fl_measure(_label, textw, texth, 0); + int textycenter = Y+(H/2); + int &icon_x = _collapse_xywh[0] = X-1; + int &icon_y = _collapse_xywh[1] = textycenter - (prefs.openicon()->h()/2); + int &icon_w = _collapse_xywh[2] = prefs.openicon()->w(); + _collapse_xywh[3] = prefs.openicon()->h(); + // Horizontal connector values + int hstartx = X+icon_w/2-1; + int hendx = hstartx + prefs.connectorwidth(); + int hcenterx = X + icon_w + ((hendx - (X + icon_w)) / 2); + + // See if we should draw this item + // If this item is root, and showroot() is disabled, don't draw. + // + char drawthis = ( is_root() && prefs.showroot() == 0 ) ? 0 : 1; + if ( drawthis ) { + // Draw connectors + if ( prefs.connectorstyle() != FL_TREE_CONNECTOR_NONE ) { + // Horiz connector between center of icon and text + draw_horizontal_connector(hstartx, hendx, textycenter, prefs); + if ( has_children() && is_open() ) { + // Small vertical line down to children + draw_vertical_connector(hcenterx, textycenter, Y+H, prefs); + } + // Connectors for last child + if ( ! is_root() ) { + if ( lastchild ) { + draw_vertical_connector(hstartx, Y, textycenter, prefs); + } else { + draw_vertical_connector(hstartx, Y, Y+H, prefs); + } + } + } + // Draw collapse icon + if ( has_children() && prefs.showcollapse() ) { + // Draw icon image + if ( is_open() ) { + prefs.closeicon()->draw(icon_x,icon_y); + } else { + prefs.openicon()->draw(icon_x,icon_y); + } + } + // Background for this item + int &bx = _label_xywh[0] = X+(icon_w/2-1+prefs.connectorwidth()); + int &by = _label_xywh[1] = Y; + int &bw = _label_xywh[2] = W-(icon_w/2-1+prefs.connectorwidth()); + int &bh = _label_xywh[3] = texth; + // Draw bg only if different from tree's bg + if ( bg != tree->color() || is_selected() ) { + if ( is_selected() ) { + // Selected? Use selectbox() style + fl_draw_box(prefs.selectbox(), bx, by, bw, bh, bg); + } else { + // Not Selected? use plain filled rectangle + fl_color(bg); + fl_rectf(bx, by, bw, bh); + } + } + // Draw user icon (if any) + int useroff = (icon_w/2-1+prefs.connectorwidth()); + if ( usericon() ) { + // Item has user icon? Use it + useroff += prefs.usericonmarginleft(); + usericon()->draw(X+useroff,icon_y); + useroff += usericon()->w(); + } else if ( prefs.usericon() ) { + // Prefs has user icon? Use it + useroff += prefs.usericonmarginleft(); + prefs.usericon()->draw(X+useroff,icon_y); + useroff += prefs.usericon()->w(); + } + useroff += prefs.labelmarginleft(); + // Draw label + if ( widget() ) { + // Widget? Draw it + int lx = X+useroff; + int ly = by; + int lw = widget()->w(); + int lh = bh; + if ( widget()->x() != lx || widget()->y() != ly || + widget()->w() != lw || widget()->h() != lh ) { + widget()->resize(lx, ly, lw, lh); // fltk will handle drawing this + } + } else { + // No label widget? Draw text label + if ( _label ) { + fl_color(fg); + fl_draw(_label, X+useroff, Y+H-fl_descent()-1); + } + } + Y += H; + } // end drawthis + // Draw children + if ( has_children() && is_open() ) { + int child_x = drawthis ? // offset children to right, + (hcenterx - (icon_w/2) + 1) : X; // unless didn't drawthis + int child_w = W - (child_x-X); + int child_y_start = Y; + for ( int t=0; tdraw(child_x, Y, child_w, tree, prefs, lastchild); + } + if ( has_children() && is_open() ) { + Y += prefs.openchild_marginbottom(); // offset below open child tree + } + if ( ! lastchild ) { + draw_vertical_connector(hstartx, child_y_start, Y, prefs); + } + } +} + +/// Was the event on the 'collapse' button? +/// +int Fl_Tree_Item::event_on_collapse_icon(const Fl_Tree_Prefs &prefs) const { + if ( _visible && _active && has_children() && prefs.showcollapse() ) { + return(event_inside(_collapse_xywh) ? 1 : 0); + } else { + return(0); + } +} + +/// Was event on the label()? +/// +int Fl_Tree_Item::event_on_label(const Fl_Tree_Prefs &prefs) const { + if ( _visible && _active ) { + return(event_inside(_label_xywh) ? 1 : 0); + } else { + return(0); + } +} + +/// Internal: Show the FLTK widget() for this item and all children. +/// Used by open() to re-show widgets that were hidden by a previous close() +/// +void Fl_Tree_Item::show_widgets() { + if ( _widget ) _widget->show(); + if ( is_open() ) { + for ( int t=0; t<_children.total(); t++ ) { + _children[t]->show_widgets(); + } + } +} + +/// Internal: Hide the FLTK widget() for this item and all children. +/// Used by close() to hide widgets. +/// +void Fl_Tree_Item::hide_widgets() { + if ( _widget ) _widget->hide(); + for ( int t=0; t<_children.total(); t++ ) { + _children[t]->hide_widgets(); + } +} + +/// Open this item and all its children. +void Fl_Tree_Item::open() { + _open = 1; + // Tell children to show() their widgets + for ( int t=0; t<_children.total(); t++ ) { + _children[t]->show_widgets(); + } +} + +/// Close this item and all its children. +void Fl_Tree_Item::close() { + _open = 0; + // Tell children to hide() their widgets + for ( int t=0; t<_children.total(); t++ ) { + _children[t]->hide_widgets(); + } +} + +/// Returns how many levels deep this item is in the hierarchy. +/// +/// For instance; root has a depth of zero, and its immediate children +/// would have a depth of 1, and so on. +/// +int Fl_Tree_Item::depth() const { + int count = 0; + const Fl_Tree_Item *item = parent(); + while ( item ) { + ++count; + item = item->parent(); + } + return(count); +} + +/// Return the next item in the tree. +/// +/// This method can be used to walk the tree forward. +/// For an example of how to use this method, see Fl_Tree::first(). +/// +/// \returns the next item in the tree, or 0 if there's no more items. +/// +Fl_Tree_Item *Fl_Tree_Item::next() { + Fl_Tree_Item *p, *c = this; + if ( c->has_children() ) { + return(c->child(0)); + } + while ( ( p = c->parent() ) != NULL ) { // loop upwards through parents + int t = p->find_child(c); // find our position in parent's children[] array + if ( ++t < p->children() ) // not last child? + return(p->child(t)); // return next child + c = p; // child becomes parent to move up generation + } // loop: moves up to next parent + return(0); // hit root? done +} + +/// Return the previous item in the tree. +/// +/// This method can be used to walk the tree backwards. +/// For an example of how to use this method, see Fl_Tree::last(). +/// +/// \returns the previous item in the tree, or 0 if there's no item above this one (hit the root). +/// +Fl_Tree_Item *Fl_Tree_Item::prev() { + Fl_Tree_Item *p=parent(); // start with parent + if ( ! p ) return(0); // hit root? done + int t = p->find_child(this); // find our position in parent's children[] array + if ( --t == -1 ) { // are we first child? + return(p); // return immediate parent + } + p = p->child(t); // take parent's previous child + while ( p->has_children() ) { // has children? + p = p->child(p->children()-1); // take last child + } + return(p); +} diff --git a/src/Fl_Tree_Item_Array.cxx b/src/Fl_Tree_Item_Array.cxx new file mode 100644 index 000000000..ef339a2d6 --- /dev/null +++ b/src/Fl_Tree_Item_Array.cxx @@ -0,0 +1,149 @@ +#include +#include +#include + +#include +#include + +////////////////////// +// Fl_Tree_Item_Array.cxx +////////////////////// +// +// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK +// Copyright (C) 2009 by Greg Ercolano. +// +// 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. +// + +/// Constructor; creates an empty array. +/// +/// The optional 'chunksize' can be specified to optimize +/// memory allocation for potentially large arrays. Default chunksize is 10. +/// +Fl_Tree_Item_Array::Fl_Tree_Item_Array(int new_chunksize) { + _items = 0; + _total = 0; + _size = 0; + _chunksize = new_chunksize; +} + +/// Destructor. Calls each item's destructor, destroys internal _items array. +Fl_Tree_Item_Array::~Fl_Tree_Item_Array() { + clear(); +} + +/// Copy constructor. Makes new copy of array, with new instances of each item. +Fl_Tree_Item_Array::Fl_Tree_Item_Array(const Fl_Tree_Item_Array* o) { + _items = (Fl_Tree_Item**)malloc(o->_size * sizeof(Fl_Tree_Item*)); + _total = o->_total; + _size = o->_size; + _chunksize = o->_chunksize; + for ( int t=0; t_total; t++ ) { + _items[t] = new Fl_Tree_Item(o->_items[t]); + } +} + +/// Clear the entire array. +/// +/// Each item will be deleted (destructors will be called), +/// and the array will be cleared. total() will return 0. +/// +void Fl_Tree_Item_Array::clear() { + if ( _items ) { + for ( int t=0; t<_total; t++ ) { + delete _items[t]; + _items[t] = 0; + } + free((void*)_items); _items = 0; + } + _total = _size = 0; +} + +// Internal: Enlarge the items array. +// +// Adjusts size/items memory allocation as needed. +// Does NOT change total. +// +void Fl_Tree_Item_Array::enlarge(int count) { + int newtotal = _total + count; // new total + if ( newtotal >= _size ) { // more than we have allocated? + // Increase size of array + int newsize = _size + _chunksize; + Fl_Tree_Item **newitems = (Fl_Tree_Item**)malloc(newsize * sizeof(Fl_Tree_Item*)); + if ( _items ) { + // Copy old array -> new, delete old + memmove(newitems, _items, _size * sizeof(Fl_Tree_Item*)); + free((void*)_items); _items = 0; + } + // Adjust items/sizeitems + _items = newitems; + _size = newsize; + } +} + +/// Insert an item at index position \p pos. +/// +/// Handles enlarging array if needed, total increased by 1. +/// If \p pos == total(), an empty item is appended to the array. +/// +void Fl_Tree_Item_Array::insert(int pos, Fl_Tree_Item *new_item) { + enlarge(1); + // printf("*** POS=%d TOTAL-1=%d NITEMS=%d\n", pos, _total-1, (_total-pos)); + if ( pos <= (_total - 1) ) { // need to move memory around? + int nitems = _total - pos; + memmove(&_items[pos+1], &_items[pos], sizeof(Fl_Tree_Item*) * nitems); + } + _items[pos] = new_item; + _total++; +} + +/// Add an item* to the end of the array. +/// +/// Assumes the item was created with 'new', and will remain +/// allocated.. Fl_Tree_Item_Array will handle calling the +/// item's destructor when the array is cleared or the item remove()'ed. +/// +void Fl_Tree_Item_Array::add(Fl_Tree_Item *val) { + insert(_total, val); +} + +/// Remove the item at \param[in] index from the array. +/// +/// The item will be delete'd (if non-NULL), so its destructor will be called. +/// +void Fl_Tree_Item_Array::remove(int index) { + if ( _items[index] ) { // delete if non-zero + delete _items[index]; + } + _items[index] = 0; + for ( _total--; index<_total; index++ ) { + _items[index] = _items[index+1]; + } +} + +/// Remove the item from the array. +/// +/// \returns 0 if removed, or -1 if the item was not in the array. +/// +int Fl_Tree_Item_Array::remove(Fl_Tree_Item *item) { + for ( int t=0; t<_total; t++ ) { + if ( item == _items[t] ) { + remove(t); + return(0); + } + } + return(-1); +} diff --git a/src/Fl_Tree_Prefs.cxx b/src/Fl_Tree_Prefs.cxx new file mode 100644 index 000000000..50641c875 --- /dev/null +++ b/src/Fl_Tree_Prefs.cxx @@ -0,0 +1,122 @@ +#include +#include +#include +#include + +////////////////////// +// Fl_Tree_Prefs.cxx +////////////////////// +// +// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK +// Copyright (C) 2009 by Greg Ercolano. +// +// 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. +// + +// INTERNAL: BUILT IN OPEN/STOW XPMS +// These can be replaced via prefs.openicon()/closeicon() +// +static const char *L_open_xpm[] = { + "11 11 3 1", + ". c #fefefe", + "# c #444444", + "@ c #000000", + "###########", + "#.........#", + "#.........#", + "#....@....#", + "#....@....#", + "#..@@@@@..#", + "#....@....#", + "#....@....#", + "#.........#", + "#.........#", + "###########"}; +static Fl_Pixmap L_openpixmap(L_open_xpm); + +static const char *L_close_xpm[] = { + "11 11 3 1", + ". c #fefefe", + "# c #444444", + "@ c #000000", + "###########", + "#.........#", + "#.........#", + "#.........#", + "#.........#", + "#..@@@@@..#", + "#.........#", + "#.........#", + "#.........#", + "#.........#", + "###########"}; +static Fl_Pixmap L_closepixmap(L_close_xpm); + +/// Sets the default icon to be used as the 'open' icon +/// when items are add()ed to the tree. +/// This overrides the built in default '[+]' icon. +/// +/// \param[in] val -- The new pixmap, or zero to use the default [+] icon. +/// +void Fl_Tree_Prefs::openicon(Fl_Pixmap *val) { + _openpixmap = val ? val : &L_openpixmap; +} + +/// Sets the icon to be used as the 'close' icon. +/// This overrides the built in default '[-]' icon. +/// +/// \param[in] val -- The new pixmap, or zero to use the default [-] icon. +/// +void Fl_Tree_Prefs::closeicon(Fl_Pixmap *val) { + _closepixmap = val ? val : &L_closepixmap; +} + +/// Fl_Tree_Prefs constructor +Fl_Tree_Prefs::Fl_Tree_Prefs() { + _labelfont = FL_HELVETICA; + _labelsize = FL_NORMAL_SIZE; + _marginleft = 6; + _margintop = 3; + //_marginright = 3; + //_marginbottom = 3; + _openchild_marginbottom = 0; + _usericonmarginleft = 3; + _labelmarginleft = 3; + _linespacing = 0; + _fgcolor = FL_BLACK; + _bgcolor = FL_WHITE; + _selectcolor = FL_DARK_BLUE; + _inactivecolor = FL_GRAY; + _connectorcolor = Fl_Color(43); + _connectorstyle = FL_TREE_CONNECTOR_DOTTED; + _openpixmap = &L_openpixmap; + _closepixmap = &L_closepixmap; + _userpixmap = 0; + _showcollapse = 1; + _showroot = 1; + _connectorwidth = 17; + _sortorder = FL_TREE_SORT_NONE; + _selectbox = FL_FLAT_BOX; + _selectmode = FL_TREE_SELECT_SINGLE; + // Let fltk's current 'scheme' affect defaults + if ( Fl::scheme() ) { + if ( strcmp(Fl::scheme(), "gtk+") == 0 ) { + _selectbox = _FL_GTK_THIN_UP_BOX; + } else if ( strcmp(Fl::scheme(), "plastic") == 0 ) { + _selectbox = _FL_PLASTIC_THIN_UP_BOX; + } + } +} diff --git a/src/Makefile b/src/Makefile index dce506936..01a498f3a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -86,6 +86,10 @@ CPPFILES = \ Fl_Text_Editor.cxx \ Fl_Tile.cxx \ Fl_Tiled_Image.cxx \ + Fl_Tree.cxx \ + Fl_Tree_Item.cxx \ + Fl_Tree_Item_Array.cxx \ + Fl_Tree_Prefs.cxx \ Fl_Tooltip.cxx \ Fl_Valuator.cxx \ Fl_Value_Input.cxx \ diff --git a/src/makedepend b/src/makedepend index 2fc5c0129..425f4cf12 100644 --- a/src/makedepend +++ b/src/makedepend @@ -1,601 +1,844 @@ # DO NOT DELETE THIS LINE -- make depend depends on it. -Fl.o: Fl.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H flstring.h \ - ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H -Fl_Adjuster.o: Fl_Adjuster.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/fl_draw.H \ - fastarrow.h mediumarrow.h slowarrow.h -Fl_Bitmap.o: Fl_Bitmap.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Bitmap.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Browser.o: Fl_Browser.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Browser_.o: Fl_Browser_.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Browser_.H \ - ../FL/Fl_Group.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/fl_draw.H -Fl_Browser_load.o: Fl_Browser_load.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H -Fl_Box.o: Fl_Box.cxx ../FL/Fl_Widget.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Box.H -Fl_Button.o: Fl_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H -Fl_Chart.o: Fl_Chart.cxx ../FL/math.h ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Chart.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - flstring.h ../FL/Fl_Export.H ../config.h -Fl_Check_Browser.o: Fl_Check_Browser.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Check_Browser.H ../FL/Fl.H ../FL/Fl_Browser_.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H -Fl_Check_Button.o: Fl_Check_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_Widget.H -Fl_Choice.o: Fl_Choice.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Clock.o: Fl_Clock.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Clock.H ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Color_Chooser.o: Fl_Color_Chooser.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \ - ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H \ - ../FL/math.h ../FL/Fl_Window.H ../FL/Fl_Group.H -Fl_Counter.o: Fl_Counter.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Counter.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Dial.o: Fl_Dial.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Dial.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - ../FL/math.h -Fl_Double_Window.o: Fl_Double_Window.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H \ - ../FL/fl_draw.H -Fl_File_Browser.o: Fl_File_Browser.cxx ../FL/Fl_File_Browser.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \ - ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/fl_draw.H \ - ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_File_Chooser.o: Fl_File_Chooser.cxx ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \ - ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \ - ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H \ - ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H \ - ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H \ - ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \ - ../FL/fl_ask.H ../FL/fl_draw.H ../FL/Fl_Bitmap.H -Fl_File_Chooser2.o: Fl_File_Chooser2.cxx ../FL/Fl_File_Chooser.H \ - ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H \ - ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \ - ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \ - ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H \ - ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \ - ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \ - ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/filename.H ../FL/x.H \ - ../FL/Fl_Shared_Image.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_File_Icon.o: Fl_File_Icon.cxx flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/filename.H -Fl_File_Input.o: Fl_File_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H \ - ../FL/Fl_Input_.H ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_Group.o: Fl_Group.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/fl_draw.H -Fl_Help_View.o: Fl_Help_View.cxx ../FL/Fl_Help_View.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \ - ../FL/Fl_Image.H ../FL/Fl_Window.H ../FL/Fl_Pixmap.H ../FL/x.H \ - ../FL/Fl_Window.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_Image.o: Fl_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Image.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Input.o: Fl_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H ../FL/fl_ask.H \ - flstring.h ../FL/Fl_Export.H ../config.h -Fl_Input_.o: Fl_Input_.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/fl_draw.H ../FL/fl_ask.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Light_Button.o: Fl_Light_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \ - ../config.h -Fl_Menu.o: Fl_Menu.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Menu_.o: Fl_Menu_.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H \ - ../config.h -Fl_Menu_Bar.o: Fl_Menu_Bar.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H -Fl_Sys_Menu_Bar.o: Fl_Sys_Menu_Bar.cxx -Fl_Menu_Button.o: Fl_Menu_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H -Fl_Menu_Window.o: Fl_Menu_Window.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H -Fl_Menu_add.o: Fl_Menu_add.cxx ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Menu_Item.H \ - ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_Menu_global.o: Fl_Menu_global.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H -Fl_Multi_Label.o: Fl_Multi_Label.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H \ - ../FL/Fl_Widget.H ../FL/Fl_Image.H ../FL/Fl_Multi_Label.H -Fl_Overlay_Window.o: Fl_Overlay_Window.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Overlay_Window.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/x.H -Fl_Pack.o: Fl_Pack.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Pixmap.o: Fl_Pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Widget.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Pixmap.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Positioner.o: Fl_Positioner.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Positioner.H ../FL/Fl_Widget.H \ - ../FL/fl_draw.H -Fl_Preferences.o: Fl_Preferences.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Preferences.H ../FL/filename.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Progress.o: Fl_Progress.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Progress.H ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Repeat_Button.o: Fl_Repeat_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Button.H \ - ../FL/Fl_Widget.H -Fl_Return_Button.o: Fl_Return_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Return_Button.H ../FL/Fl_Button.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Roller.o: Fl_Roller.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Roller.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Round_Button.o: Fl_Round_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_Widget.H -Fl_Scroll.o: Fl_Scroll.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H \ - ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \ - ../FL/fl_draw.H -Fl_Scrollbar.o: Fl_Scrollbar.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h \ - ../FL/Fl_Export.H ../config.h -Fl_Shared_Image.o: Fl_Shared_Image.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H ../FL/Fl_XBM_Image.H \ - ../FL/Fl_Bitmap.H ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H -Fl_Single_Window.o: Fl_Single_Window.cxx ../FL/Fl_Single_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H -Fl_Slider.o: Fl_Slider.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \ - ../config.h -Fl_Tabs.o: Fl_Tabs.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H -Fl_Text_Buffer.o: Fl_Text_Buffer.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Text_Buffer.H -Fl_Text_Display.o: Fl_Text_Display.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H \ - ../FL/Fl_Window.H -Fl_Text_Editor.o: Fl_Text_Editor.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \ - ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Text_Buffer.H ../FL/fl_ask.H -Fl_Tile.o: Fl_Tile.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Tile.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H -Fl_Tiled_Image.o: Fl_Tiled_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H \ - ../FL/fl_draw.H -Fl_Tooltip.o: Fl_Tooltip.cxx ../FL/Fl_Tooltip.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H \ - ../FL/fl_draw.H ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H -Fl_Valuator.o: Fl_Valuator.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/math.h \ - flstring.h ../FL/Fl_Export.H ../config.h -Fl_Value_Input.o: Fl_Value_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Group.H \ - ../FL/math.h -Fl_Value_Output.o: Fl_Value_Output.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Value_Output.H ../FL/Fl_Valuator.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Value_Slider.o: Fl_Value_Slider.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Widget.o: Fl_Widget.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Tooltip.H \ - ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_Window.o: Fl_Window.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - flstring.h ../FL/Fl_Export.H ../config.h -Fl_Window_fullscreen.o: Fl_Window_fullscreen.cxx ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H -Fl_Window_hotspot.o: Fl_Window_hotspot.cxx ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H -Fl_Window_iconize.o: Fl_Window_iconize.cxx ../FL/x.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H -Fl_Wizard.o: Fl_Wizard.cxx ../FL/Fl_Wizard.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_draw.H -Fl_XBM_Image.o: Fl_XBM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H \ - ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_XPM_Image.o: Fl_XPM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H \ - ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_abort.o: Fl_abort.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_add_idle.o: Fl_add_idle.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H -Fl_arg.o: Fl_arg.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H ../FL/filename.H \ - ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_compose.o: Fl_compose.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H -Fl_display.o: Fl_display.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_get_key.o: Fl_get_key.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -Fl_get_system_colors.o: Fl_get_system_colors.cxx ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/math.h \ - flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl_Pixmap.H \ - ../FL/Fl_Image.H ../FL/Fl_Tiled_Image.H tile.xpm -Fl_grab.o: Fl_grab.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -Fl_lock.o: Fl_lock.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../config.h -Fl_own_colormap.o: Fl_own_colormap.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H -Fl_visual.o: Fl_visual.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -Fl_x.o: Fl_x.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H flstring.h \ - ../FL/Fl_Export.H ../config.h -filename_absolute.o: filename_absolute.cxx ../FL/filename.H \ - ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h -filename_expand.o: filename_expand.cxx ../FL/filename.H ../FL/Fl_Export.H \ - flstring.h ../FL/Fl_Export.H ../config.h -filename_ext.o: filename_ext.cxx ../FL/filename.H ../FL/Fl_Export.H -filename_isdir.o: filename_isdir.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/filename.H ../FL/Fl_Export.H -filename_list.o: filename_list.cxx ../FL/filename.H ../FL/Fl_Export.H \ - flstring.h ../FL/Fl_Export.H ../config.h -filename_match.o: filename_match.cxx ../FL/filename.H ../FL/Fl_Export.H -filename_setext.o: filename_setext.cxx ../FL/filename.H ../FL/Fl_Export.H \ - flstring.h ../FL/Fl_Export.H ../config.h -fl_arc.o: fl_arc.cxx ../FL/fl_draw.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/math.h -fl_arci.o: fl_arci.cxx ../FL/fl_draw.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -fl_ask.o: fl_ask.cxx flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_ask.H ../FL/Fl_Box.H \ - ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Input.H \ - ../FL/Fl_Input_.H ../FL/Fl_Secret_Input.H ../FL/Fl_Input.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/fl_draw.H -fl_boxtype.o: fl_boxtype.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../config.h -fl_color.o: fl_color.cxx Fl_XColor.H ../config.h ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl.H ../FL/Enumerations.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - fl_cmap.h -fl_cursor.o: fl_cursor.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H -fl_curve.o: fl_curve.cxx ../FL/fl_draw.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H -fl_diamond_box.o: fl_diamond_box.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H -fl_dnd.o: fl_dnd.cxx fl_dnd_x.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/x.H ../FL/Fl_Window.H flstring.h ../FL/Fl_Export.H ../config.h -fl_draw.o: fl_draw.cxx ../FL/fl_draw.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H \ - ../config.h -fl_draw_image.o: fl_draw_image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_XColor.H ../config.h \ - ../FL/Enumerations.H flstring.h ../FL/Fl_Export.H -fl_draw_pixmap.o: fl_draw_pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/Fl_Export.H \ - ../config.h -fl_encoding_latin1.o: fl_encoding_latin1.cxx ../FL/fl_draw.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Enumerations.H flstring.h \ - ../FL/Fl_Export.H ../config.h -fl_encoding_mac_roman.o: fl_encoding_mac_roman.cxx ../FL/fl_draw.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Enumerations.H flstring.h \ - ../FL/Fl_Export.H ../config.h -fl_engraved_label.o: fl_engraved_label.cxx ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H \ - ../FL/fl_draw.H -fl_file_dir.o: fl_file_dir.cxx flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/filename.H ../FL/Fl_Export.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \ - ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H \ - ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \ - ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H \ - ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H \ - ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \ - ../FL/Fl_Button.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H \ - ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H -fl_font.o: fl_font.cxx flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_draw.H \ - ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - Fl_Font.H fl_font_xft.cxx -fl_gtk.o: fl_gtk.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/fl_draw.H -fl_labeltype.o: fl_labeltype.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/fl_draw.H \ - ../FL/Fl_Image.H ../FL/Fl_Input_.H -fl_line_style.o: fl_line_style.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/Fl_Export.H \ - ../config.h -fl_open_uri.o: fl_open_uri.cxx ../FL/filename.H ../FL/Fl_Export.H \ - flstring.h ../FL/Fl_Export.H ../config.h -fl_oval_box.o: fl_oval_box.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H -fl_overlay.o: fl_overlay.cxx ../FL/x.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/fl_draw.H -fl_overlay_visual.o: fl_overlay_visual.cxx ../config.h -fl_plastic.o: fl_plastic.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \ - ../config.h -fl_read_image.o: fl_read_image.cxx ../FL/x.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h -fl_rect.o: fl_rect.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H -fl_round_box.o: fl_round_box.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H -fl_rounded_box.o: fl_rounded_box.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H -fl_set_font.o: fl_set_font.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \ - ../config.h Fl_Font.H -fl_set_fonts.o: fl_set_fonts.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H Fl_Font.H ../config.h flstring.h ../FL/Fl_Export.H \ - fl_set_fonts_xft.cxx -fl_scroll_area.o: fl_scroll_area.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H -fl_shadow_box.o: fl_shadow_box.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H -fl_shortcut.o: fl_shortcut.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/fl_draw.H \ - flstring.h ../FL/Fl_Export.H ../config.h ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H -fl_show_colormap.o: fl_show_colormap.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - ../FL/fl_show_colormap.H ../config.h -fl_symbols.o: fl_symbols.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/math.h flstring.h \ - ../FL/Fl_Export.H ../config.h -fl_vertex.o: fl_vertex.cxx ../config.h ../FL/fl_draw.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl.H ../FL/math.h -screen_xywh.o: screen_xywh.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../config.h -forms_compatability.o: forms_compatability.cxx ../FL/forms.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \ - ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \ - ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \ - ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \ - ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \ - ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \ - ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \ - ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \ - ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \ - ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \ - ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \ - ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \ - ../FL/Fl_Repeat_Button.H -forms_bitmap.o: forms_bitmap.cxx ../FL/forms.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \ - ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \ - ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \ - ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \ - ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \ - ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \ - ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \ - ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \ - ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \ - ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \ - ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \ - ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H -forms_free.o: forms_free.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Free.H ../FL/Fl_Widget.H -forms_fselect.o: forms_fselect.cxx ../FL/forms.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \ - ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \ - ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \ - ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \ - ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \ - ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \ - ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \ - ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \ - ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \ - ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \ - ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \ - ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \ - flstring.h ../FL/Fl_Export.H ../config.h -forms_pixmap.o: forms_pixmap.cxx ../FL/forms.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \ - ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \ - ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \ - ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \ - ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \ - ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \ - ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \ - ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \ - ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \ - ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \ - ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \ - ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \ - ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \ - ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \ - ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \ - ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \ - ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H -forms_timer.o: forms_timer.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Timer.H ../FL/Fl_Widget.H ../FL/fl_draw.H -Fl_Gl_Choice.o: Fl_Gl_Choice.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H ../FL/gl_draw.H \ - ../FL/gl.h flstring.h ../FL/Fl_Export.H -Fl_Gl_Overlay.o: Fl_Gl_Overlay.cxx ../config.h ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H ../FL/Fl_Gl_Window.H -Fl_Gl_Window.o: Fl_Gl_Window.cxx flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H \ - ../FL/Fl_Gl_Window.H -freeglut_geometry.o: freeglut_geometry.cxx ../FL/glut.H ../FL/gl.h \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/math.h -freeglut_stroke_mono_roman.o: freeglut_stroke_mono_roman.cxx ../FL/glut.H \ - ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H \ - ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -freeglut_stroke_roman.o: freeglut_stroke_roman.cxx ../FL/glut.H \ - ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H \ - ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \ - ../FL/Fl_Widget.H -freeglut_teapot.o: freeglut_teapot.cxx ../FL/glut.H ../FL/gl.h \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - freeglut_teapot_data.h -gl_draw.o: gl_draw.cxx flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/gl.h ../FL/x.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \ - Fl_Gl_Choice.H Fl_Font.H -gl_start.o: gl_start.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \ - ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H Fl_Gl_Choice.H -glut_compatability.o: glut_compatability.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H \ - ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H \ - ../FL/Fl_Image.H -glut_font.o: glut_font.cxx ../config.h ../FL/glut.H ../FL/gl.h \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H -fl_images_core.o: fl_images_core.cxx ../FL/Fl_Shared_Image.H \ - ../FL/Fl_Image.H ../FL/Enumerations.H ../FL/Fl_Export.H \ - ../FL/Fl_BMP_Image.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H \ - ../FL/Fl_JPEG_Image.H ../FL/Fl_PNG_Image.H ../FL/Fl_PNM_Image.H \ - flstring.h ../FL/Fl_Export.H ../config.h -Fl_BMP_Image.o: Fl_BMP_Image.cxx ../FL/Fl_BMP_Image.H ../FL/Fl_Image.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../config.h -Fl_File_Icon2.o: Fl_File_Icon2.cxx flstring.h ../FL/Fl_Export.H \ - ../config.h ../FL/math.h ../FL/Fl_File_Icon.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Shared_Image.H \ - ../FL/Fl_Image.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/filename.H -Fl_GIF_Image.o: Fl_GIF_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H \ - ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h -Fl_Help_Dialog.o: Fl_Help_Dialog.cxx ../FL/Fl_Help_Dialog.H ../FL/Fl.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \ - ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \ - ../FL/Fl_Button.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H \ - ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \ - ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \ - ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h \ - ../FL/fl_ask.H -Fl_JPEG_Image.o: Fl_JPEG_Image.cxx ../FL/Fl_JPEG_Image.H ../FL/Fl_Image.H \ - ../FL/Enumerations.H ../FL/Fl_Export.H ../config.h -Fl_PNG_Image.o: Fl_PNG_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_PNG_Image.H ../FL/Fl_Image.H ../config.h -Fl_PNM_Image.o: Fl_PNM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \ - ../FL/Fl_Export.H ../FL/Fl_PNM_Image.H ../FL/Fl_Image.H flstring.h \ - ../FL/Fl_Export.H ../config.h -fl_call_main.o: fl_call_main.c -flstring.o: flstring.c flstring.h ../FL/Fl_Export.H ../config.h -scandir.o: scandir.c flstring.h ../FL/Fl_Export.H ../config.h -numericsort.o: numericsort.c ../config.h ../FL/filename.H \ - ../FL/Fl_Export.H -vsnprintf.o: vsnprintf.c flstring.h ../FL/Fl_Export.H ../config.h + +Fl.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl.o: ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H +Fl.o: flstring.h ../FL/fl_draw.H +Fl_Adjuster.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Adjuster.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Adjuster.o: ../FL/fl_types.h ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H +Fl_Adjuster.o: ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H +Fl_Adjuster.o: ../FL/fl_draw.H ../FL/Fl_Window.H fastarrow.h mediumarrow.h +Fl_Adjuster.o: slowarrow.h +Fl_Bitmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Bitmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Bitmap.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H +Fl_Bitmap.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H +Fl_Bitmap.o: ../FL/Fl_Image.H ../FL/Fl_Bitmap.H flstring.h ../config.h +Fl_Browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Browser.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Browser.o: ../FL/fl_types.h ../FL/Fl_Browser.H ../FL/Fl_Browser_.H +Fl_Browser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H +Fl_Browser.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Image.H +Fl_Browser.o: ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h ../config.h +Fl_Browser_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Browser_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Browser_.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Browser_.H +Fl_Browser_.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H +Fl_Browser_.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H +Fl_Browser_.o: ../FL/Fl_Window.H +Fl_Browser_load.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Browser_load.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Browser_load.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Browser.H +Fl_Browser_load.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_Browser_load.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Browser_load.o: ../FL/Fl_Image.H ../FL/fl_utf8.h +Fl_Box.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Widget.H +Fl_Box.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Button.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Button.o: ../FL/fl_types.h ../FL/Fl_Button.H ../FL/Fl_Widget.H +Fl_Button.o: ../FL/Fl_Group.H ../FL/Fl_Window.H ../FL/Fl_Group.H +Fl_Chart.o: ../FL/math.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Chart.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Chart.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Chart.H +Fl_Chart.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h +Fl_Chart.o: ../config.h +Fl_Check_Browser.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H +Fl_Check_Browser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Check_Browser.o: ../FL/Fl_Window.H ../FL/Fl_Check_Browser.H ../FL/Fl.H +Fl_Check_Browser.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Check_Browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_Check_Browser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H +Fl_Check_Browser.o: ../FL/Fl_Valuator.H ../FL/Fl.H +Fl_Check_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Check_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Check_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Check_Button.H +Fl_Check_Button.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H +Fl_Check_Button.o: ../FL/Fl_Widget.H +Fl_Choice.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Choice.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Choice.o: ../FL/fl_types.h ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +Fl_Choice.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_Choice.o: ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h ../config.h +Fl_Clock.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Clock.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Clock.o: ../FL/fl_types.h ../FL/Fl_Clock.H ../FL/Fl_Widget.H +Fl_Clock.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Color_Chooser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Color_Chooser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Color_Chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Color_Chooser.o: ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Box.H +Fl_Color_Chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Return_Button.H +Fl_Color_Chooser.o: ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +Fl_Color_Chooser.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_Color_Chooser.o: ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H +Fl_Color_Chooser.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H +Fl_Color_Chooser.o: ../FL/Fl_Window.H ../FL/math.h ../FL/Fl_Window.H +Fl_Color_Chooser.o: ../FL/Fl_Group.H +Fl_Counter.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Counter.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Counter.o: ../FL/fl_types.h ../FL/Fl_Counter.H ../FL/Fl_Valuator.H +Fl_Counter.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Dial.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Dial.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Dial.o: ../FL/fl_types.h ../FL/Fl_Dial.H ../FL/Fl_Valuator.H +Fl_Dial.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/math.h +Fl_Double_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Double_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Double_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Double_Window.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/x.H +Fl_Double_Window.o: ../FL/fl_draw.H +Fl_File_Browser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H +Fl_File_Browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_File_Browser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_File_Browser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_File_Browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_File_Browser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Fl_Image.H +Fl_File_Browser.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H +Fl_File_Browser.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/filename.H +Fl_File_Browser.o: ../FL/Fl_Image.H flstring.h ../config.h +Fl_File_Chooser.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_File_Chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +Fl_File_Chooser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_File_Chooser.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H +Fl_File_Chooser.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +Fl_File_Chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_File_Chooser.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H +Fl_File_Chooser.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H +Fl_File_Chooser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H +Fl_File_Chooser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H +Fl_File_Chooser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H +Fl_File_Chooser.o: ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H +Fl_File_Chooser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H +Fl_File_Chooser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H +Fl_File_Chooser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_draw.H +Fl_File_Chooser.o: ../FL/Fl_Bitmap.H +Fl_File_Chooser2.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_File_Chooser2.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +Fl_File_Chooser2.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_File_Chooser2.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H +Fl_File_Chooser2.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +Fl_File_Chooser2.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_File_Chooser2.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H +Fl_File_Chooser2.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H +Fl_File_Chooser2.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H +Fl_File_Chooser2.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H +Fl_File_Chooser2.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_File_Chooser2.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H +Fl_File_Chooser2.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H +Fl_File_Chooser2.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H +Fl_File_Chooser2.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H +Fl_File_Chooser2.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/filename.H +Fl_File_Chooser2.o: ../FL/x.H ../FL/Fl_Shared_Image.H flstring.h ../config.h +Fl_File_Icon.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h +Fl_File_Icon.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_File_Icon.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_File_Icon.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +Fl_File_Icon.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/filename.H +Fl_File_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_File_Input.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_File_Input.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_File_Input.H +Fl_File_Input.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H +Fl_File_Input.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_File_Input.o: ../FL/Fl_Window.H flstring.h ../config.h +Fl_Group.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Group.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Group.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Window.H +Fl_Group.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_Group.o: ../FL/Fl_Window.H +Fl_Help_View.o: ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_Help_View.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +Fl_Help_View.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Help_View.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H +Fl_Help_View.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H +Fl_Help_View.o: ../FL/Fl_Window.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H +Fl_Help_View.o: ../FL/Fl_Window.H ../FL/Fl_Pixmap.H ../FL/x.H ../FL/fl_utf8.h +Fl_Help_View.o: ../FL/filename.H flstring.h ../config.h +Fl_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Image.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H +Fl_Image.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H +Fl_Image.o: ../FL/Fl_Image.H ../FL/Fl_Image.H flstring.h ../config.h +Fl_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Input.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Input.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H +Fl_Input.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H +Fl_Input.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/fl_ask.H flstring.h +Fl_Input.o: ../config.h +Fl_Input_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Input_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Input_.o: ../FL/fl_types.h ../FL/Fl_Input_.H ../FL/Fl_Widget.H +Fl_Input_.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_draw.H +Fl_Input_.o: ../FL/Fl_Window.H ../FL/fl_ask.H ../FL/fl_utf8.h flstring.h +Fl_Input_.o: ../config.h +Fl_Light_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Light_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Light_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Light_Button.H +Fl_Light_Button.o: ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_Light_Button.o: ../FL/Fl_Window.H flstring.h ../config.h +Fl_Menu.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Menu.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Menu.o: ../FL/fl_types.h ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H +Fl_Menu.o: ../FL/Fl_Window.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H +Fl_Menu.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h +Fl_Menu.o: ../config.h +Fl_Menu_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Menu_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Menu_.o: ../FL/fl_types.h ../FL/Fl_Menu_.H ../FL/Fl_Widget.H +Fl_Menu_.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H flstring.h ../config.h +Fl_Menu_Bar.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Menu_Bar.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Menu_Bar.o: ../FL/fl_types.h ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H +Fl_Menu_Bar.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_Menu_Bar.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Menu_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Menu_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Menu_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_Button.H +Fl_Menu_Button.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H +Fl_Menu_Button.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Menu_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Menu_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Menu_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +Fl_Menu_Window.o: ../FL/Fl_Window.H ../FL/fl_draw.H ../FL/Fl_Menu_Window.H +Fl_Menu_Window.o: ../FL/Fl_Single_Window.H +Fl_Menu_add.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Enumerations.H +Fl_Menu_add.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_Item.H +Fl_Menu_add.o: ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h +Fl_Menu_global.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Menu_global.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Menu_global.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_.H +Fl_Menu_global.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H +Fl_Multi_Label.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Multi_Label.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Multi_Label.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +Fl_Multi_Label.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H +Fl_Multi_Label.o: ../FL/Fl_Multi_Label.H +Fl_Overlay_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Overlay_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Overlay_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Overlay_Window.o: ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H +Fl_Overlay_Window.o: ../FL/Fl_Window.H ../FL/fl_draw.H ../FL/x.H +Fl_Pack.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Pack.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Pack.o: ../FL/fl_types.h ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/fl_draw.H +Fl_Pack.o: ../FL/Fl_Window.H +Fl_Pixmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Pixmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Pixmap.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H +Fl_Pixmap.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H +Fl_Pixmap.o: ../FL/Fl_Image.H ../FL/Fl_Pixmap.H flstring.h ../config.h +Fl_Positioner.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Positioner.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Positioner.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Positioner.H +Fl_Positioner.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Preferences.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Preferences.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Preferences.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Preferences.H +Fl_Preferences.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h ../config.h +Fl_Progress.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Progress.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Progress.o: ../FL/fl_types.h ../FL/Fl_Progress.H ../FL/Fl_Widget.H +Fl_Progress.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Repeat_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Repeat_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Repeat_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Repeat_Button.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Button.H +Fl_Repeat_Button.o: ../FL/Fl_Widget.H +Fl_Return_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Return_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Return_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Return_Button.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H +Fl_Return_Button.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Roller.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Roller.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Roller.o: ../FL/fl_types.h ../FL/Fl_Roller.H ../FL/Fl_Valuator.H +Fl_Roller.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Round_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Round_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Round_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Round_Button.H +Fl_Round_Button.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H +Fl_Round_Button.o: ../FL/Fl_Widget.H +Fl_Scroll.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Scroll.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Scroll.o: ../FL/fl_types.h ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H +Fl_Scroll.o: ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_Scroll.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Scroll.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Scrollbar.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Scrollbar.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Scrollbar.o: ../FL/fl_types.h ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H +Fl_Scrollbar.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_Scrollbar.o: ../FL/Fl_Window.H flstring.h ../config.h +Fl_Shared_Image.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h +Fl_Shared_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Shared_Image.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Shared_Image.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H +Fl_Shared_Image.o: ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H +Fl_Shared_Image.o: ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H +Fl_Single_Window.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H +Fl_Slider.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Slider.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Slider.o: ../FL/fl_types.h ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Slider.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h +Fl_Slider.o: ../config.h +Fl_Table.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Table.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Table.H ../FL/Fl.H +Fl_Table.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +Fl_Table.o: ../FL/Fl_Group.H ../FL/Fl_Scroll.H ../FL/Fl_Group.H +Fl_Table.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H +Fl_Table.o: ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H +Fl_Table_Row.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Table_Row.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Table_Row.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Table_Row.o: ../FL/Fl_Table_Row.H ../FL/Fl_Table.H ../FL/Fl_Group.H +Fl_Table_Row.o: ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_Table_Row.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Table_Row.o: ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H +Fl_Tabs.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Tabs.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Tabs.o: ../FL/fl_types.h ../FL/Fl_Tabs.H ../FL/Fl_Group.H +Fl_Tabs.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Tabs.o: ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H +Fl_Text_Buffer.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h +Fl_Text_Buffer.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Text_Buffer.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Text_Buffer.o: ../FL/Fl_Text_Buffer.H +Fl_Text_Display.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h +Fl_Text_Display.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Text_Display.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Text_Display.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H +Fl_Text_Display.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Group.H +Fl_Text_Display.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H +Fl_Text_Display.o: ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H +Fl_Text_Display.o: ../FL/Fl_Window.H +Fl_Text_Editor.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H +Fl_Text_Editor.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Text_Editor.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Text_Editor.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H +Fl_Text_Editor.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H +Fl_Text_Editor.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Scrollbar.H +Fl_Text_Editor.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Text_Editor.o: ../FL/Fl_Text_Buffer.H ../FL/fl_ask.H +Fl_Tile.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Tile.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Tile.o: ../FL/fl_types.h ../FL/Fl_Tile.H ../FL/Fl_Group.H +Fl_Tile.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H +Fl_Tiled_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Tiled_Image.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Tiled_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Tiled_Image.H +Fl_Tiled_Image.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Tree.o: ../FL/Fl_Tree.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Tree.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Tree.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H +Fl_Tree.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +Fl_Tree.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Tree.o: ../FL/Fl_Tree_Item.H ../FL/Fl_Widget.H ../FL/Fl_Pixmap.H +Fl_Tree.o: ../FL/Fl_Image.H ../FL/Fl_Tree_Item_Array.H ../FL/Fl_Tree_Prefs.H +Fl_Tree_Item.o: ../FL/Fl_Widget.H ../FL/Fl_Tree_Item.H ../FL/Fl.H +Fl_Tree_Item.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Tree_Item.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Tree_Item.o: ../FL/fl_types.h ../FL/Fl_Pixmap.H ../FL/Fl_Image.H +Fl_Tree_Item.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Tree_Item_Array.H +Fl_Tree_Item.o: ../FL/Fl_Tree_Prefs.H +Fl_Tree_Item_Array.o: ../FL/Fl_Tree_Item_Array.H ../FL/Fl_Tree_Item.H +Fl_Tree_Item_Array.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Tree_Item_Array.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Tree_Item_Array.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +Fl_Tree_Item_Array.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H ../FL/fl_draw.H +Fl_Tree_Item_Array.o: ../FL/Fl_Window.H ../FL/Fl_Tree_Prefs.H +Fl_Tree_Prefs.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Tree_Prefs.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Tree_Prefs.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Pixmap.H +Fl_Tree_Prefs.o: ../FL/Fl_Image.H ../FL/Fl_Tree_Prefs.H +Fl_Tooltip.o: ../FL/Fl_Tooltip.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Tooltip.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Tooltip.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +Fl_Tooltip.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Menu_Window.H +Fl_Tooltip.o: ../FL/Fl_Single_Window.H +Fl_Valuator.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Valuator.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Valuator.o: ../FL/fl_types.h ../FL/Fl_Valuator.H ../FL/Fl_Widget.H +Fl_Valuator.o: ../FL/math.h flstring.h ../config.h +Fl_Value_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Value_Input.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Value_Input.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Input.H +Fl_Value_Input.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/Fl_Input.H +Fl_Value_Input.o: ../FL/Fl_Input_.H ../FL/Fl_Group.H ../FL/math.h +Fl_Value_Output.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Value_Output.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Value_Output.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Output.H +Fl_Value_Output.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_Value_Output.o: ../FL/Fl_Window.H +Fl_Value_Slider.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Value_Slider.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Value_Slider.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Slider.H +Fl_Value_Slider.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H +Fl_Value_Slider.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Widget.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Widget.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Widget.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Group.H +Fl_Widget.o: ../FL/Fl_Tooltip.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h +Fl_Widget.o: ../config.h +Fl_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H +Fl_Window.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/fl_draw.H +Fl_Window.o: ../FL/Fl_Window.H +Fl_Window_fullscreen.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Window_fullscreen.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Window_fullscreen.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +Fl_Window_fullscreen.o: ../FL/Fl_Window.H ../config.h +Fl_Window_hotspot.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Window_hotspot.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Window_hotspot.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H +Fl_Window_hotspot.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H +Fl_Window_hotspot.o: ../FL/Fl_Window.H +Fl_Window_iconize.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_Window_iconize.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h +Fl_Wizard.o: ../FL/Fl_Wizard.H ../FL/Fl_Group.H ../FL/Fl_Window.H +Fl_Wizard.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Enumerations.H +Fl_Wizard.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +Fl_Wizard.o: ../FL/Fl_Window.H +Fl_XBM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_XBM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_XBM_Image.o: ../FL/fl_types.h ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H +Fl_XBM_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h +Fl_XPM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_XPM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_XPM_Image.o: ../FL/fl_types.h ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H +Fl_XPM_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h +Fl_abort.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_abort.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_abort.o: ../FL/fl_types.h flstring.h ../config.h +Fl_add_idle.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_add_idle.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_add_idle.o: ../FL/fl_types.h +Fl_arg.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_arg.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_arg.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Window.H +Fl_arg.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Tooltip.H +Fl_arg.o: ../FL/Fl_Widget.H ../FL/filename.H ../FL/fl_draw.H flstring.h +Fl_arg.o: ../config.h +Fl_compose.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_compose.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_compose.o: ../FL/fl_types.h +Fl_display.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_display.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_display.o: ../FL/fl_types.h flstring.h ../config.h +Fl_get_key.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_get_key.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_get_key.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H +Fl_get_system_colors.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_get_system_colors.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_get_system_colors.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +Fl_get_system_colors.o: ../FL/Fl_Window.H ../FL/x.H ../FL/math.h +Fl_get_system_colors.o: ../FL/fl_utf8.h flstring.h ../config.h +Fl_get_system_colors.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H +Fl_get_system_colors.o: ../FL/Fl_Tiled_Image.H tile.xpm +Fl_grab.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_grab.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_grab.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H +Fl_lock.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_lock.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_lock.o: ../FL/fl_types.h ../config.h +Fl_own_colormap.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_own_colormap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_own_colormap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +Fl_own_colormap.o: ../FL/Fl_Window.H +Fl_visual.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_visual.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_visual.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H +Fl_x.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_x.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_x.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Window.H +Fl_x.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_utf8.h ../FL/Fl_Tooltip.H +Fl_x.o: ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h +filename_absolute.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h +filename_absolute.o: ../FL/Fl_Export.H ../config.h +filename_expand.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h +filename_expand.o: ../FL/Fl_Export.H ../config.h +filename_ext.o: ../FL/filename.H +filename_isdir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/filename.H +filename_isdir.o: ../FL/fl_utf8.h +filename_list.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h +filename_match.o: ../FL/filename.H +filename_setext.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h +fl_arc.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_arc.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/math.h +fl_arci.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_arci.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/x.H ../FL/Xutf8.h +fl_arci.o: ../config.h +fl_ask.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H ../FL/fl_utf8.h +fl_ask.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_ask.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_ask.H ../FL/Fl_Box.H +fl_ask.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H +fl_ask.o: ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H +fl_ask.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Secret_Input.H +fl_ask.o: ../FL/Fl_Input.H ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H +fl_boxtype.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_boxtype.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_boxtype.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/fl_draw.H +fl_boxtype.o: ../FL/Fl_Window.H ../config.h +fl_color.o: Fl_XColor.H ../config.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_color.o: ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_color.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/x.H +fl_color.o: ../FL/Fl_Window.H ../FL/fl_draw.H fl_cmap.h +fl_cursor.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_cursor.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_cursor.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H +fl_cursor.o: ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H +fl_curve.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_curve.o: ../FL/fl_types.h ../FL/Fl_Window.H +fl_diamond_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_diamond_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_diamond_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_diamond_box.o: ../FL/Fl_Window.H +fl_dnd.o: fl_dnd_x.cxx ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_dnd.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_dnd.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H +fl_dnd.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H +fl_dnd.o: flstring.h ../config.h +fl_draw.o: ../FL/fl_utf8.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_draw.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_draw.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_draw.o: ../FL/Fl_Window.H ../FL/Fl_Image.H flstring.h ../config.h +fl_draw_image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_draw_image.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_draw_image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_draw_image.o: ../FL/Fl_Window.H ../FL/x.H Fl_XColor.H ../config.h +fl_draw_image.o: ../FL/Enumerations.H flstring.h +fl_draw_pixmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_draw_pixmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_draw_pixmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_draw_pixmap.o: ../FL/Fl_Window.H ../FL/x.H flstring.h ../config.h +fl_encoding_latin1.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_encoding_latin1.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Enumerations.H +fl_encoding_latin1.o: flstring.h ../FL/Fl_Export.H ../config.h +fl_encoding_mac_roman.o: ../FL/fl_draw.H ../FL/Enumerations.H +fl_encoding_mac_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H +fl_encoding_mac_roman.o: ../FL/Enumerations.H flstring.h ../FL/Fl_Export.H +fl_encoding_mac_roman.o: ../config.h +fl_engraved_label.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_engraved_label.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_engraved_label.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +fl_engraved_label.o: ../FL/fl_draw.H ../FL/Fl_Window.H +fl_file_dir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/filename.H +fl_file_dir.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h +fl_file_dir.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_file_dir.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H +fl_file_dir.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H +fl_file_dir.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H +fl_file_dir.o: ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H +fl_file_dir.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H +fl_file_dir.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H +fl_file_dir.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H +fl_file_dir.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H +fl_file_dir.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H +fl_file_dir.o: ../FL/Fl_Button.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H +fl_file_dir.o: ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H +fl_font.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H +fl_font.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +fl_font.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +fl_font.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H Fl_Font.H +fl_font.o: ../FL/Xutf8.h fl_font_x.cxx +fl_gtk.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_gtk.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_gtk.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H +fl_labeltype.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_labeltype.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_labeltype.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Group.H +fl_labeltype.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Image.H +fl_labeltype.o: ../FL/Fl_Input_.H ../FL/Fl_Widget.H +fl_line_style.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_line_style.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_line_style.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_line_style.o: ../FL/Fl_Window.H ../FL/x.H flstring.h ../config.h +fl_open_uri.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h +fl_oval_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_oval_box.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_oval_box.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H +fl_overlay.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_overlay.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h +fl_overlay.o: ../FL/fl_draw.H +fl_overlay_visual.o: ../config.h +fl_plastic.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_plastic.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_plastic.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h +fl_plastic.o: ../config.h +fl_read_image.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H +fl_read_image.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h ../FL/Fl.H +fl_read_image.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_read_image.o: ../FL/fl_draw.H flstring.h ../config.h +fl_rect.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_rect.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_rect.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H +fl_rect.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H +fl_round_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_round_box.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_round_box.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H +fl_rounded_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_rounded_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_rounded_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_rounded_box.o: ../FL/Fl_Window.H +fl_set_font.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_set_font.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_set_font.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H +fl_set_font.o: flstring.h ../config.h Fl_Font.H ../FL/Xutf8.h +fl_set_fonts.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_set_fonts.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_set_fonts.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H Fl_Font.H +fl_set_fonts.o: ../config.h ../FL/Xutf8.h flstring.h fl_set_fonts_x.cxx +fl_scroll_area.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_scroll_area.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_scroll_area.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +fl_scroll_area.o: ../FL/Fl_Window.H ../FL/fl_draw.H +fl_shadow_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_shadow_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_shadow_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H +fl_shadow_box.o: ../FL/Fl_Window.H +fl_shortcut.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_shortcut.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_shortcut.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Button.H +fl_shortcut.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h +fl_shortcut.o: ../config.h ../FL/x.H +fl_show_colormap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_show_colormap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +fl_show_colormap.o: ../FL/Fl_Export.H ../FL/fl_types.h +fl_show_colormap.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H +fl_show_colormap.o: ../FL/fl_draw.H ../FL/fl_show_colormap.H ../config.h +fl_symbols.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +fl_symbols.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +fl_symbols.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/math.h +fl_symbols.o: flstring.h ../config.h +fl_vertex.o: ../config.h ../FL/fl_draw.H ../FL/Enumerations.H +fl_vertex.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H ../FL/x.H +fl_vertex.o: ../FL/Xutf8.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +fl_vertex.o: ../FL/fl_types.h ../FL/math.h +screen_xywh.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +screen_xywh.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +screen_xywh.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../config.h +fl_utf8.o: ../config.h ../FL/filename.H ../FL/Xutf8.h ../FL/fl_utf8.h +forms_compatability.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h +forms_compatability.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +forms_compatability.o: ../FL/Enumerations.H ../FL/Fl_Export.H +forms_compatability.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Widget.H +forms_compatability.o: ../FL/Fl_Window.H ../FL/fl_draw.H +forms_compatability.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H +forms_compatability.o: ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H +forms_compatability.o: ../FL/Fl_Pixmap.H ../FL/Fl_Box.H ../FL/Fl_Browser.H +forms_compatability.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H +forms_compatability.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H +forms_compatability.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H +forms_compatability.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H +forms_compatability.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +forms_compatability.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H +forms_compatability.o: ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H +forms_compatability.o: ../FL/fl_ask.H ../FL/fl_show_colormap.H +forms_compatability.o: ../FL/filename.H ../FL/Fl_File_Chooser.H +forms_compatability.o: ../FL/Fl_Double_Window.H ../FL/Fl_Group.H +forms_compatability.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H +forms_compatability.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H +forms_compatability.o: ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H +forms_compatability.o: ../FL/Fl_File_Icon.H ../FL/Fl_Box.H +forms_compatability.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H +forms_compatability.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H +forms_compatability.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H +forms_compatability.o: ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H +forms_compatability.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H +forms_compatability.o: ../FL/Fl_Timer.H ../FL/Fl_Repeat_Button.H +forms_bitmap.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +forms_bitmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +forms_bitmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H +forms_bitmap.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H +forms_bitmap.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H +forms_bitmap.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H +forms_bitmap.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H +forms_bitmap.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H +forms_bitmap.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H +forms_bitmap.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H +forms_bitmap.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +forms_bitmap.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H +forms_bitmap.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H +forms_bitmap.o: ../FL/fl_show_colormap.H ../FL/filename.H +forms_bitmap.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H +forms_bitmap.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H +forms_bitmap.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H +forms_bitmap.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H +forms_bitmap.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H +forms_bitmap.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H +forms_bitmap.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H +forms_bitmap.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H +forms_bitmap.o: ../FL/Fl_Timer.H +forms_free.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +forms_free.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +forms_free.o: ../FL/fl_types.h ../FL/Fl_Free.H ../FL/Fl_Widget.H +forms_fselect.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +forms_fselect.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +forms_fselect.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H +forms_fselect.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H +forms_fselect.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H +forms_fselect.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H +forms_fselect.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H +forms_fselect.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H +forms_fselect.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H +forms_fselect.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H +forms_fselect.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +forms_fselect.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H +forms_fselect.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H +forms_fselect.o: ../FL/fl_show_colormap.H ../FL/filename.H +forms_fselect.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H +forms_fselect.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H +forms_fselect.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H +forms_fselect.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H +forms_fselect.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H +forms_fselect.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H +forms_fselect.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H +forms_fselect.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H +forms_fselect.o: ../FL/Fl_Timer.H flstring.h ../config.h +forms_pixmap.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +forms_pixmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +forms_pixmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H +forms_pixmap.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H +forms_pixmap.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H +forms_pixmap.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H +forms_pixmap.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H +forms_pixmap.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H +forms_pixmap.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H +forms_pixmap.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H +forms_pixmap.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H +forms_pixmap.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H +forms_pixmap.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H +forms_pixmap.o: ../FL/fl_show_colormap.H ../FL/filename.H +forms_pixmap.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H +forms_pixmap.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H +forms_pixmap.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H +forms_pixmap.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H +forms_pixmap.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H +forms_pixmap.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H +forms_pixmap.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H +forms_pixmap.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H +forms_pixmap.o: ../FL/Fl_Timer.H +forms_timer.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +forms_timer.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +forms_timer.o: ../FL/fl_types.h ../FL/Fl_Timer.H ../FL/Fl_Widget.H +forms_timer.o: ../FL/fl_draw.H ../FL/Fl_Window.H +Fl_Gl_Choice.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Gl_Choice.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Gl_Choice.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +Fl_Gl_Choice.o: ../FL/Fl_Window.H Fl_Gl_Choice.H ../FL/gl_draw.H ../FL/gl.h +Fl_Gl_Choice.o: flstring.h ../FL/fl_utf8.h +Fl_Gl_Overlay.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +Fl_Gl_Overlay.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_Gl_Overlay.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H +Fl_Gl_Overlay.o: ../FL/Fl_Window.H Fl_Gl_Choice.H ../FL/Fl_Gl_Window.H +Fl_Gl_Window.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H +Fl_Gl_Window.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +Fl_Gl_Window.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Gl_Window.o: ../FL/x.H ../FL/Fl_Window.H Fl_Gl_Choice.H +Fl_Gl_Window.o: ../FL/Fl_Gl_Window.H ../FL/fl_utf8.h +freeglut_geometry.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +freeglut_geometry.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H +freeglut_geometry.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +freeglut_geometry.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +freeglut_geometry.o: ../FL/math.h +freeglut_stroke_mono_roman.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +freeglut_stroke_mono_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H +freeglut_stroke_mono_roman.o: ../FL/fl_utf8.h ../FL/Fl_Export.H +freeglut_stroke_mono_roman.o: ../FL/fl_types.h ../FL/Xutf8.h +freeglut_stroke_mono_roman.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +freeglut_stroke_roman.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +freeglut_stroke_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H +freeglut_stroke_roman.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +freeglut_stroke_roman.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +freeglut_teapot.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +freeglut_teapot.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H +freeglut_teapot.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +freeglut_teapot.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +freeglut_teapot.o: freeglut_teapot_data.h +gl_draw.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H +gl_draw.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h +gl_draw.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h ../FL/gl.h +gl_draw.o: ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H Fl_Gl_Choice.H +gl_draw.o: Fl_Font.H ../FL/Xutf8.h ../FL/fl_utf8.h +gl_start.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H +gl_start.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +gl_start.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H +gl_start.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H +gl_start.o: ../FL/fl_draw.H Fl_Gl_Choice.H +glut_compatability.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/glut.H +glut_compatability.o: ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H +glut_compatability.o: ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h +glut_compatability.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Fl_Gl_Window.H +glut_compatability.o: ../FL/Fl_Window.H ../FL/Fl_Menu_Item.H +glut_compatability.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H +glut_font.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H +glut_font.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h +glut_font.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +glut_font.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H +fl_images_core.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H +fl_images_core.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +fl_images_core.o: ../FL/Fl_BMP_Image.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H +fl_images_core.o: ../FL/Fl_JPEG_Image.H ../FL/Fl_PNG_Image.H +fl_images_core.o: ../FL/Fl_PNM_Image.H flstring.h ../FL/Fl_Export.H +fl_images_core.o: ../config.h +Fl_BMP_Image.o: ../FL/Fl_BMP_Image.H ../FL/Fl_Image.H ../FL/Enumerations.H +Fl_BMP_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../config.h +Fl_File_Icon2.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h +Fl_File_Icon2.o: ../FL/math.h ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_File_Icon2.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H +Fl_File_Icon2.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Shared_Image.H +Fl_File_Icon2.o: ../FL/Fl_Image.H ../FL/Fl_Widget.H ../FL/fl_draw.H +Fl_File_Icon2.o: ../FL/Fl_Window.H ../FL/filename.H +Fl_GIF_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_GIF_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_GIF_Image.o: ../FL/fl_types.h ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H +Fl_GIF_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h +Fl_Help_Dialog.o: ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/fl_utf8.h +Fl_Help_Dialog.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h +Fl_Help_Dialog.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h +Fl_Help_Dialog.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H +Fl_Help_Dialog.o: ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Input.H +Fl_Help_Dialog.o: ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Help_View.H +Fl_Help_Dialog.o: ../FL/Fl.H ../FL/Fl_Group.H ../FL/Fl_Scrollbar.H +Fl_Help_Dialog.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H +Fl_Help_Dialog.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H flstring.h +Fl_Help_Dialog.o: ../config.h ../FL/fl_ask.H +Fl_JPEG_Image.o: ../FL/Fl_JPEG_Image.H ../FL/Fl_Image.H ../FL/Enumerations.H +Fl_JPEG_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../config.h +Fl_PNG_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_PNG_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_PNG_Image.o: ../FL/fl_types.h ../FL/Fl_PNG_Image.H ../FL/Fl_Image.H +Fl_PNG_Image.o: ../config.h ../FL/fl_utf8.h +Fl_PNM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h +Fl_PNM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H +Fl_PNM_Image.o: ../FL/fl_types.h ../FL/Fl_PNM_Image.H ../FL/Fl_Image.H +Fl_PNM_Image.o: ../FL/fl_utf8.h flstring.h ../config.h +flstring.o: flstring.h ../FL/Fl_Export.H ../config.h +scandir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/fl_utf8.h +numericsort.o: ../config.h ../FL/filename.H +vsnprintf.o: flstring.h ../FL/Fl_Export.H ../config.h +fl_utf.o: ../FL/fl_utf8.h +xutf8/case.o: xutf8/headers/case.h +xutf8/is_spacing.o: xutf8/headers/spacing.h +xutf8/keysym2Ucs.o: ../FL/Xutf8.h xutf8/imKStoUCS.c xutf8/Xlibint.h +xutf8/keysym2Ucs.o: xutf8/Ximint.h +xutf8/utf8Input.o: ../config.h ../FL/Xutf8.h xutf8/lcUniConv/big5.h +xutf8/utf8Input.o: xutf8/lcUniConv/gb2312.h xutf8/lcUniConv/jisx0201.h +xutf8/utf8Input.o: xutf8/lcUniConv/jisx0208.h xutf8/lcUniConv/jisx0212.h +xutf8/utf8Input.o: xutf8/lcUniConv/ksc5601.h +xutf8/utf8Utils.o: ../FL/Xutf8.h +xutf8/utf8Wrap.o: ../FL/Xutf8.h xutf8/ucs2fontmap.c xutf8/lcUniConv/big5.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/gb2312.h xutf8/lcUniConv/iso8859_10.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_11.h xutf8/lcUniConv/iso8859_13.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_14.h xutf8/lcUniConv/iso8859_15.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_2.h xutf8/lcUniConv/iso8859_3.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_4.h xutf8/lcUniConv/iso8859_5.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_6.h xutf8/lcUniConv/iso8859_7.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_8.h xutf8/lcUniConv/iso8859_9.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/jisx0201.h xutf8/lcUniConv/jisx0208.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/jisx0212.h xutf8/lcUniConv/koi8_r.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/koi8_u.h xutf8/lcUniConv/ksc5601.h +xutf8/utf8Wrap.o: xutf8/lcUniConv/cp1251.h xutf8/headers/symbol_.h +xutf8/utf8Wrap.o: xutf8/headers/dingbats_.h -- cgit v1.2.3