Programs can now resize() their windows even if they are not resizable()

on X (this already worked on Win32).
Changed the resize demo program to test this.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Bill Spitzak 2000-01-11 08:20:02 +00:00
parent 49b8502b83
commit d43eac1e38
2 changed files with 27 additions and 20 deletions

View File

@ -1,5 +1,5 @@
//
// "$Id: Fl_x.cxx,v 1.24.2.8 1999/11/10 09:18:31 bill Exp $"
// "$Id: Fl_x.cxx,v 1.24.2.9 2000/01/11 08:19:59 bill Exp $"
//
// X specific code for the Fast Light Tool Kit (FLTK).
//
@ -562,9 +562,10 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
x(X); y(Y);
}
if (resize_from_program && shown()) {
if (is_a_resize)
if (is_a_resize) {
if (!resizable()) size_range(w(),h(),w(),h());
XMoveResizeWindow(fl_display, i->xid, X, Y, W>0 ? W : 1, H>0 ? H : 1);
else
} else
XMoveWindow(fl_display, i->xid, X, Y);
}
}
@ -872,5 +873,5 @@ void Fl_Window::make_current() {
#endif
//
// End of "$Id: Fl_x.cxx,v 1.24.2.8 1999/11/10 09:18:31 bill Exp $".
// End of "$Id: Fl_x.cxx,v 1.24.2.9 2000/01/11 08:19:59 bill Exp $".
//

View File

@ -1,48 +1,54 @@
# data file for FL User Interface Designer (fluid)
version 0.99
# data file for the Fltk User Interface Designer (fluid)
version 1.00
header_name {.h}
code_name {.cxx}
gridx 10
gridy 10
snap 3
Function {} {open
} {
Fl_Window {} {open selected
xywh {490 248 366 261} resizable
Fl_Window {} {open
xywh {333 489 366 261} visible
} {
Fl_Button {} {
label {@<-}
callback {Fl_Window* w = o->window();
w->position(w->x()-50,w->y());} open
xywh {20 40 40 40} labeltype 2
w->position(w->x()-50,w->y());}
xywh {20 40 40 40} labeltype SYMBOL_LABEL
}
Fl_Button {} {
label {@2->}
callback {Fl_Window* w = o->window();
w->position(w->x(),w->y()+50);} open
xywh {60 80 40 40} labeltype 2
w->position(w->x(),w->y()+50);}
xywh {60 80 40 40} labeltype SYMBOL_LABEL
}
Fl_Button {} {
label {@->}
callback {Fl_Window* w = o->window();
w->position(w->x()+50,w->y());} open
xywh {100 40 40 40} labeltype 2
w->position(w->x()+50,w->y());}
xywh {100 40 40 40} labeltype SYMBOL_LABEL
}
Fl_Button {} {
label {@8->}
callback {Fl_Window* w = o->window();
w->position(w->x(),w->y()-50);} open
xywh {60 0 40 40} labeltype 2
w->position(w->x(),w->y()-50);}
xywh {60 0 40 40} labeltype SYMBOL_LABEL
}
Fl_Button {} {
label grow
callback {Fl_Window* w = o->window();
w->size(w->w()+50, w->h()+50);} open
xywh {30 130 110 40} labeltype 2 labelfont 1 labelsize 18
w->size(w->w()+20, w->h()+20);}
xywh {30 130 110 40} labeltype SYMBOL_LABEL labelfont 1 labelsize 18
}
Fl_Button {} {
label shrink
callback {Fl_Window* w = o->window();
w->size(w->w()/2+1, w->h()/2+1);} open
xywh {30 190 110 40} labeltype 2 labelfont 1 labelsize 18
w->size(w->w()-20, w->h()-20);}
xywh {30 190 110 40} labeltype SYMBOL_LABEL labelfont 1 labelsize 18
}
Fl_Box {} {
label {This is a test of program-generated resize() of a window. The window should move or resize once when each button is clicked. The program and window manager should not go into fits echoing resizes back and forth!} selected
xywh {150 10 160 220} box BORDER_BOX align 148
}
}
}