summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2008-04-23 15:07:13 +0000
committerMatthias Melcher <fltk@matthiasm.com>2008-04-23 15:07:13 +0000
commit88c0d727aa89b650611ce8c677d4ed26e2fc1f4a (patch)
tree2df0c8b6badeccbf784d7009546d4a7950f60fed /src
parent8683ea2c810a3d689e436a8d13abbbba50efc4f5 (diff)
All widget coordinates are now 32 bit. Beware though, on a 16 bit graphics system, line drawing and window positioning is still messed up for coordinates beyond 16 bit. See STR #1929.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6112 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Group.cxx6
-rw-r--r--src/Fl_Tile.cxx8
2 files changed, 7 insertions, 7 deletions
diff --git a/src/Fl_Group.cxx b/src/Fl_Group.cxx
index 5768bedb5..c5656e615 100644
--- a/src/Fl_Group.cxx
+++ b/src/Fl_Group.cxx
@@ -428,9 +428,9 @@ void Fl_Group::init_sizes() {
delete[] sizes_; sizes_ = 0;
}
-short* Fl_Group::sizes() {
+int *Fl_Group::sizes() {
if (!sizes_) {
- short* p = sizes_ = new short[4*(children_+2)];
+ int *p = sizes_ = new int[4*(children_+2)];
// first thing in sizes array is the group's size:
if (type() < FL_WINDOW) {p[0] = x(); p[2] = y();} else {p[0] = p[2] = 0;}
p[1] = p[0]+w(); p[3] = p[2]+h();
@@ -477,7 +477,7 @@ void Fl_Group::resize(int X, int Y, int W, int H) {
} else if (children_) {
- short* p = sizes();
+ int *p = sizes();
// get changes in size/position from the initial size:
int dx = X - p[0];
diff --git a/src/Fl_Tile.cxx b/src/Fl_Tile.cxx
index 2c70ea513..ca94ffae0 100644
--- a/src/Fl_Tile.cxx
+++ b/src/Fl_Tile.cxx
@@ -39,7 +39,7 @@
void Fl_Tile::position(int oix, int oiy, int newx, int newy) {
Fl_Widget*const* a = array();
- short* p = sizes();
+ int *p = sizes();
p += 8; // skip group & resizable's saved size
for (int i=children(); i--; p += 4) {
Fl_Widget* o = *a++;
@@ -73,7 +73,7 @@ void Fl_Tile::resize(int X,int Y,int W,int H) {
int dy = Y-y();
int dw = W-w();
int dh = H-h();
- short* p = sizes();
+ int *p = sizes();
// resize this (skip the Fl_Group resize):
Fl_Widget::resize(X,Y,W,H);
// find bottom-right of resiable:
@@ -138,8 +138,8 @@ int Fl_Tile::handle(int event) {
int oldx = 0;
int oldy = 0;
Fl_Widget*const* a = array();
- short* q = sizes();
- short* p = q+8;
+ int *q = sizes();
+ int *p = q+8;
for (int i=children(); i--; p += 4) {
Fl_Widget* o = *a++;
if (o == resizable()) continue;