diff options
| author | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-06 18:12:40 +0500 |
|---|---|---|
| committer | maxim nikonov <maxim.nikonov@hqo.co> | 2026-02-06 18:12:40 +0500 |
| commit | b4995f979d127cea667b4e2b71c91e9db4ab52ef (patch) | |
| tree | fbebc775e10932bace8d6a7c3481b1ba200c64db /src/Fl_Grid.cxx | |
| parent | 9575eb0a1ffa8150f70f88b5f6b55f342c3c0088 (diff) | |
wip
Diffstat (limited to 'src/Fl_Grid.cxx')
| -rw-r--r-- | src/Fl_Grid.cxx | 66 |
1 files changed, 41 insertions, 25 deletions
diff --git a/src/Fl_Grid.cxx b/src/Fl_Grid.cxx index 4a4d7afd0..f82d2c342 100644 --- a/src/Fl_Grid.cxx +++ b/src/Fl_Grid.cxx @@ -200,7 +200,8 @@ void Fl_Grid::layout(int rows, int cols, int margin, int gap) { if (cols != cols_) { Col *new_cols = new Col[cols]; - for (int c = 0; c < cols; c++) { + int c; + for (c = 0; c < cols; c++) { if (c < cols_) new_cols[c] = Cols_[c]; else @@ -215,7 +216,8 @@ void Fl_Grid::layout(int rows, int cols, int margin, int gap) { if (rows != rows_) { Row *new_rows = new Row[rows]; Row *row = Rows_; - for (int r = 0; r < rows; r++, row++) { + int r; + for (r = 0; r < rows; r++, row++) { if (r < rows_) { new_rows[r] = *row; row->cells_ = 0; @@ -257,7 +259,8 @@ void Fl_Grid::draw_grid() { // draw horizontal lines (gap = 0) or rectangles (gap > 0) - for (int r = 0; r < rows_ - 1; r++) { + int r; + for (r = 0; r < rows_ - 1; r++) { int gap = Rows_[r].gap_ >= 0 ? Rows_[r].gap_ : gap_row_; y0 += Rows_[r].h_; @@ -274,7 +277,8 @@ void Fl_Grid::draw_grid() { x0 = x() + Fl::box_dx(box()) + margin_left_; y0 = y() + Fl::box_dy(box()) + margin_top_; - for (int c = 0; c < cols_ - 1; c++) { + int c; + for (c = 0; c < cols_ - 1; c++) { int gap = Cols_[c].gap_ >= 0 ? Cols_[c].gap_ : gap_col_; x0 += Cols_[c].w_; @@ -345,21 +349,23 @@ void Fl_Grid::layout() { // initialize column widths and row heights col = Cols_; - for (int c = 0; c < cols_; c++, col++) { + int c; + for (c = 0; c < cols_; c++, col++) { col->w_ = col->minw_; } row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + int r; + for (r = 0; r < rows_; r++, row++) { row->h_ = row->minh_; } // calculate minimal column widths and row heights (in one loop) row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + for (r = 0; r < rows_; r++, row++) { col = Cols_; - for (int c = 0; c < cols_; c++, col++) { + for (c = 0; c < cols_; c++, col++) { cel = cell(r, c); if (cel) { Fl_Widget *wi = cel->widget_; @@ -384,7 +390,7 @@ void Fl_Grid::layout() { int irwe = 0; // index of row with highest weight col = Cols_; - for (int c = 0; c < cols_; c++, col++) { + for (c = 0; c < cols_; c++, col++) { tcwi += col->w_; tcwe += col->weight_; if (c < cols_ - 1) @@ -396,7 +402,7 @@ void Fl_Grid::layout() { } row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + for (r = 0; r < rows_; r++, row++) { trhe += row->h_; trwe += row->weight_; if (r < rows_ - 1) @@ -417,7 +423,7 @@ void Fl_Grid::layout() { if (space > 0 && tcwe > 0) { remaining = space; col = Cols_; - for (int c = 0; c < cols_; c++, col++) { + for (c = 0; c < cols_; c++, col++) { if (col->weight_ > 0) { add_space = int(float(space * col->weight_) / tcwe + 0.5); col->w_ += add_space; @@ -433,7 +439,7 @@ void Fl_Grid::layout() { if (space > 0 && trwe > 0) { remaining = space; row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + for (r = 0; r < rows_; r++, row++) { if (row->weight_ > 0) { add_space = int(float(space * row->weight_) / trwe + 0.5); row->h_ += add_space; @@ -451,10 +457,10 @@ void Fl_Grid::layout() { y0 = y() + Fl::box_dy(box()) + margin_top_; row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + for (r = 0; r < rows_; r++, row++) { x0 = x() + Fl::box_dx(box()) + margin_left_; col = Cols_; - for (int c = 0; c < cols_; c++, col++) { + for (c = 0; c < cols_; c++, col++) { int wx = x0; // widget's x int wy = y0; // widget's y cel = cell(r, c); @@ -467,12 +473,13 @@ void Fl_Grid::layout() { int ww = col->w_; int wh = row->h_; - for (int i = 0; i < cel->colspan_ - 1; i++) { + int i; + for (i = 0; i < cel->colspan_ - 1; i++) { ww += (Cols_[c + i].gap_ >= 0) ? Cols_[c + i].gap_ : gap_col_; ww += Cols_[c + i + 1].w_; } - for (int i = 0; i < cel->rowspan_ - 1; i++) { + for (i = 0; i < cel->rowspan_ - 1; i++) { wh += (Rows_[r + i].gap_ >= 0) ? Rows_[r + i].gap_ : gap_row_; wh += Rows_[r + i + 1].h_; } @@ -609,7 +616,8 @@ void Fl_Grid::clear_layout() { delete[] Cols_; delete[] Rows_; init(); - for (int i = 0; i < children(); i++) { + int i; + for (i = 0; i < children(); i++) { child(i)->hide(); } need_layout(1); @@ -766,7 +774,8 @@ Fl_Grid::Cell* Fl_Grid::cell(int row, int col) const { */ Fl_Grid::Cell* Fl_Grid::cell(Fl_Widget *widget) const { Row *row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + int r; + for (r = 0; r < rows_; r++, row++) { Cell *cel = row->cells_; while (cel) { if (cel->widget_ == widget) @@ -914,7 +923,8 @@ void Fl_Grid::col_width(int col, int value) { */ void Fl_Grid::col_width(const int *value, size_t size) { Col *c = Cols_; - for (int i = 0; i < cols_; i++, value++, c++) { + int i; + for (i = 0; i < cols_; i++, value++, c++) { if (i >= (int)size) break; if (*value >= 0) c->minw_ = *value; @@ -984,7 +994,8 @@ void Fl_Grid::col_weight(int col, int value) { */ void Fl_Grid::col_weight(const int *value, size_t size) { Col *c = Cols_; - for (int i = 0; i < cols_; i++, value++, c++) { + int i; + for (i = 0; i < cols_; i++, value++, c++) { if (i >= (int)size) break; if (*value >= 0) c->weight_ = *value; @@ -1020,7 +1031,8 @@ void Fl_Grid::col_gap(int col, int value) { */ void Fl_Grid::col_gap(const int *value, size_t size) { Col *c = Cols_; - for (int i = 0; i < cols_; i++, value++, c++) { + int i; + for (i = 0; i < cols_; i++, value++, c++) { if (i >= (int)size) break; if (*value >= 0) c->gap_ = *value; @@ -1056,7 +1068,8 @@ void Fl_Grid::row_height(int row, int value) { */ void Fl_Grid::row_height(const int *value, size_t size) { Row *r = Rows_; - for (int i = 0; i < rows_; i++, value++, r++) { + int i; + for (i = 0; i < rows_; i++, value++, r++) { if (i >= (int)size) break; if (*value >= 0) r->minh_ = *value; @@ -1092,7 +1105,8 @@ void Fl_Grid::row_weight(int row, int value) { */ void Fl_Grid::row_weight(const int *value, size_t size) { Row *r = Rows_; - for (int i = 0; i < rows_; i++, value++, r++) { + int i; + for (i = 0; i < rows_; i++, value++, r++) { if (i >= (int)size) break; if (*value >= 0) r->weight_ = *value; @@ -1129,7 +1143,8 @@ void Fl_Grid::row_gap(int row, int value) { */ void Fl_Grid::row_gap(const int *value, size_t size) { Row *r = Rows_; - for (int i = 0; i < rows_; i++, value++, r++) { + int i; + for (i = 0; i < rows_; i++, value++, r++) { if (i >= (int)size) break; if (*value >= 0) r->gap_ = *value; @@ -1177,7 +1192,8 @@ void Fl_Grid::debug(int level) { fprintf(stderr, " gaps: (%2d, %2d)\n", gap_row_, gap_col_); Row *row = Rows_; - for (int r = 0; r < rows_; r++, row++) { + int r; + for (r = 0; r < rows_; r++, row++) { fprintf(stderr, "Row %2d: minh = %d, weight = %d, gap = %d, h = %d\n", r, row->minh_, row->weight_, row->gap_, row->h_); Cell *cel = row->cells_; |
