From b4995f979d127cea667b4e2b71c91e9db4ab52ef Mon Sep 17 00:00:00 2001 From: maxim nikonov Date: Fri, 6 Feb 2026 18:12:40 +0500 Subject: wip --- src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 39 +++++++++++++++++--------- 1 file changed, 25 insertions(+), 14 deletions(-) (limited to 'src/drivers/Cairo') diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index 6483dc30b..62f89c38c 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -530,7 +530,8 @@ void Fl_Cairo_Graphics_Driver::pie(int x, int y, int w, int h, double a1, double } void Fl_Cairo_Graphics_Driver::end_points() { - for (int i = 0; i < n; i++) { + int i; + for (i = 0; i < n; i++) { point(xpoint[i].x, xpoint[i].y); } } @@ -649,7 +650,8 @@ void Fl_Cairo_Graphics_Driver::check_status(void) { void Fl_Cairo_Graphics_Driver::draw_image(Fl_Draw_Image_Cb call, void *data, int ix, int iy, int iw, int ih, int D) { uchar *array = new uchar[iw * D * ih]; - for (int l = 0; l < ih; l++) { + int l; + for (l = 0; l < ih; l++) { call(data, 0, l, iw, array + l*D*iw); if (D%2 == 0) for (int i = 0; i < iw; i++) { *(array + l*D*iw + i*D + D-1) = 0xff; @@ -850,11 +852,12 @@ void Fl_Cairo_Graphics_Driver::cache(Fl_RGB_Image *rgb) { uchar A = 0xff, R,G,B, *q; const uchar *r; float f = 1; + int i, j; if (rgb->d() >= 3) { // color images - for (int j = 0; j < rgb->data_h(); j++) { + for (j = 0; j < rgb->data_h(); j++) { r = rgb->array + j * lrgb; q = BGRA + j * stride; - for (int i = 0; i < rgb->data_w(); i++) { + for (i = 0; i < rgb->data_w(); i++) { R = *r; G = *(r+1); B = *(r+2); @@ -868,10 +871,10 @@ void Fl_Cairo_Graphics_Driver::cache(Fl_RGB_Image *rgb) { } } } else if (rgb->d() == 1 || rgb->d() == 2) { // B&W - for (int j = 0; j < rgb->data_h(); j++) { + for (j = 0; j < rgb->data_h(); j++) { r = rgb->array + j * lrgb; q = BGRA + j * stride; - for (int i = 0; i < rgb->data_w(); i++) { + for (i = 0; i < rgb->data_w(); i++) { G = *r; if (rgb->d() == 2) { A = *(r+1); @@ -939,13 +942,15 @@ cairo_pattern_t *Fl_Cairo_Graphics_Driver::bitmap_to_pattern(Fl_Bitmap *bm, int w_bitmap = ((bm->data_w() + 7) / 8); uchar *BGRA = new uchar[stride * bm->data_h()]; memset(BGRA, 0, stride * bm->data_h()); - for (int j = 0; j < bm->data_h(); j++) { + int j; + for (j = 0; j < bm->data_h(); j++) { uchar *r = (uchar *)bm->array + j * w_bitmap; uint32_t *q = (uint32_t *)(BGRA + j * stride); int k = 0; uint32_t mask32; uchar p; - for (int i = 0; i < bm->data_w(); i++) { + int i; + for (i = 0; i < bm->data_w(); i++) { if (k == 0) { #if WORDS_BIGENDIAN mask32 = (uint32_t)(1 << 31); @@ -1116,13 +1121,15 @@ Fl_Font Fl_Cairo_Graphics_Driver::set_fonts(const char* /*pattern_name*/) static PangoFontMap *pfmap_ = pango_cairo_font_map_get_default(); // 1.10 Fl_Cairo_Graphics_Driver::init_built_in_fonts(); pango_font_map_list_families(pfmap_, &families, &n_families); - for (int fam = 0; fam < n_families; fam++) { + int fam; + for (fam = 0; fam < n_families; fam++) { PangoFontFace **faces; int n_faces; const char *fam_name = pango_font_family_get_name (families[fam]); int lfam = strlen(fam_name); pango_font_family_list_faces(families[fam], &faces, &n_faces); - for (int j = 0; j < n_faces; j++) { + int j; + for (j = 0; j < n_faces; j++) { const char *p = pango_font_face_get_face_name(faces[j]); // Remove " Regular" suffix from font names if (!strcasecmp(p, "regular")) p = NULL; @@ -1156,7 +1163,8 @@ void Fl_Cairo_Graphics_Driver::font_name(int num, const char *name) { Fl_Fontdesc *s = fl_fonts + num; if (s->name) { if (!strcmp(s->name, name)) {s->name = name; return;} - for (Fl_Font_Descriptor* f = s->first; f;) { + Fl_Font_Descriptor *f; + for (f = s->first; f;) { Fl_Font_Descriptor* n = f->next; delete f; f = n; } s->first = 0; @@ -1242,7 +1250,8 @@ Fl_Cairo_Font_Descriptor::Fl_Cairo_Font_Descriptor(const char* name, Fl_Fontsize Fl_Cairo_Font_Descriptor::~Fl_Cairo_Font_Descriptor() { pango_font_description_free(fontref); if (width) { - for (int i = 0; i < 64; i++) delete[] width[i]; + int i; + for (i = 0; i < 64; i++) delete[] width[i]; } delete[] width; } @@ -1378,7 +1387,8 @@ double Fl_Cairo_Graphics_Driver::width(unsigned int utf32) { } if (!desc->width[r]) { desc->width[r] = (int*)new int[0x0400]; - for (int i = 0; i < 0x0400; i++) desc->width[r][i] = -1; + int i; + for (i = 0; i < 0x0400; i++) desc->width[r][i] = -1; } else { if ( desc->width[r][utf32&0x03FF] >= 0 ) { // already cached return desc->width[r][utf32 & 0x03FF] / double(PANGO_SCALE); @@ -1465,7 +1475,8 @@ void Fl_Cairo_Graphics_Driver::restore_clip() { } int count = cairo_region_num_rectangles(r); // 1.10 cairo_rectangle_int_t rect; - for (int i = 0; i < count; i++) { + int i; + for (i = 0; i < count; i++) { cairo_region_get_rectangle(r, i, &rect); // 1.10 cairo_rectangle(cairo_, rect.x - 0.5, rect.y - 0.5, rect.width, rect.height); } -- cgit v1.2.3