Tk Source Code

Check-in [ea3fff30]
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Upstream androwish changes
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | androwish
Files: files | file ages | folders
SHA1: ea3fff309ddb6730493b99b9980972b5ab1cc94f
User & Date: jan.nijtmans 2017-07-14 15:11:38
Context
2017-09-01
14:21
merge core-8-6-branch check-in: 20838303 user: jan.nijtmans tags: androwish
2017-07-14
15:11
Upstream androwish changes check-in: ea3fff30 user: jan.nijtmans tags: androwish
2017-07-03
12:27
merge rfe-6c0d7aec67 check-in: 244a8e29 user: jan.nijtmans tags: androwish
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to library/fonts/Symbola.ttf.

cannot compute difference between binary files

Changes to sdl/SdlTkDecframe.c.

86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
...
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
...
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
    DEC_HIT_NONE,
#endif
};

static void
GetButtonBounds(_Window *_w, int button, int *x, int *y, int *w, int *h)
{
#ifdef ANDROID
    int fw = SdlTkX.dec_frame_width - 1;
    int buttonSize = SdlTkX.dec_title_height - fw;

    *x = _w->atts.width - (fw + buttonSize) * button;
    *y = SdlTkX.dec_frame_width / 2;
#else
    int buttonSize = SdlTkX.dec_title_height - 6;

    *x = _w->atts.width - (5 + buttonSize) * button;
    *y = 3;
#endif
    *w = *h = buttonSize;
}

static int
HitTestFrame(_Window *_w, int x, int y, int *button)
{
    int i;
................................................................................
	    }
	    Tcl_DStringFree(&ds);
	}
    }

    /* Close box */
    {
#ifdef ANDROID
	int lw2 = SdlTkX.dec_line_width + 2;
#endif
        XPoint points[2];

	GetButtonBounds(_w, DEC_BUTTON_CLOSE, &buttonX, &buttonY,
			&buttonW, &buttonH);

	/* Button background (erase 1 pixel outside) */
	savePixel = bgGC->foreground;
................................................................................
	    SdlTkGfxFillRect(d, bgGC, buttonX, buttonY, buttonW, buttonH);
	    bgGC->foreground = savePixel;
	}

	SdlTkGfxDrawRect(d, lightGC, buttonX, buttonY, buttonW - 1,
			 buttonH - 1);

#ifdef ANDROID
	lightGC->line_width = SdlTkX.dec_line_width;

	points[0].x = buttonX + lw2;
	points[0].y = buttonY + lw2;
	points[1].x = buttonX + buttonW - lw2;
	points[1].y = buttonY + buttonH - lw2;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);

	points[0].x = buttonX + buttonW - lw2;
	points[0].y = buttonY + lw2;
	points[1].x = buttonX + lw2;
	points[1].y = buttonY + buttonH - lw2;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);
#else
	lightGC->line_width = 2;

	points[0].x = buttonX + 3;
	points[0].y = buttonY + 3;
	points[1].x = buttonX + buttonW - 3;
	points[1].y = buttonY + buttonH - 3;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);

	points[0].x = buttonX + buttonW - 3;
	points[0].y = buttonY + 3;
	points[1].x = buttonX + 3;
	points[1].y = buttonY + buttonH - 3;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);
#endif
	lightGC->line_width = 1;
    }

#ifdef MIN_MAX_BOXES
    /* Maximize box */
    {
        GetButtonBounds(_w, DEC_BUTTON_MAXIMIZE, &buttonX, &buttonY,






<





<
<
<
<
<
<







 







<

<







 







<













<
<

<
<
<
<
<
<
<
<
<
<
<
<







86
87
88
89
90
91
92

93
94
95
96
97






98
99
100
101
102
103
104
...
701
702
703
704
705
706
707

708

709
710
711
712
713
714
715
...
726
727
728
729
730
731
732

733
734
735
736
737
738
739
740
741
742
743
744
745


746












747
748
749
750
751
752
753
    DEC_HIT_NONE,
#endif
};

static void
GetButtonBounds(_Window *_w, int button, int *x, int *y, int *w, int *h)
{

    int fw = SdlTkX.dec_frame_width - 1;
    int buttonSize = SdlTkX.dec_title_height - fw;

    *x = _w->atts.width - (fw + buttonSize) * button;
    *y = SdlTkX.dec_frame_width / 2;






    *w = *h = buttonSize;
}

static int
HitTestFrame(_Window *_w, int x, int y, int *button)
{
    int i;
................................................................................
	    }
	    Tcl_DStringFree(&ds);
	}
    }

    /* Close box */
    {

	int lw2 = SdlTkX.dec_line_width + 2;

        XPoint points[2];

	GetButtonBounds(_w, DEC_BUTTON_CLOSE, &buttonX, &buttonY,
			&buttonW, &buttonH);

	/* Button background (erase 1 pixel outside) */
	savePixel = bgGC->foreground;
................................................................................
	    SdlTkGfxFillRect(d, bgGC, buttonX, buttonY, buttonW, buttonH);
	    bgGC->foreground = savePixel;
	}

	SdlTkGfxDrawRect(d, lightGC, buttonX, buttonY, buttonW - 1,
			 buttonH - 1);


	lightGC->line_width = SdlTkX.dec_line_width;

	points[0].x = buttonX + lw2;
	points[0].y = buttonY + lw2;
	points[1].x = buttonX + buttonW - lw2;
	points[1].y = buttonY + buttonH - lw2;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);

	points[0].x = buttonX + buttonW - lw2;
	points[0].y = buttonY + lw2;
	points[1].x = buttonX + lw2;
	points[1].y = buttonY + buttonH - lw2;
	SdlTkGfxDrawLines(d, lightGC, points, 2, CoordModeOrigin);















	lightGC->line_width = 1;
    }

#ifdef MIN_MAX_BOXES
    /* Maximize box */
    {
        GetButtonBounds(_w, DEC_BUTTON_MAXIMIZE, &buttonX, &buttonY,

Changes to sdl/SdlTkX.c.

5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
	screen->mwidth = (254 * screen->width) / xdpi;
	screen->mwidth /= 10;
	screen->mheight = (254 * screen->height) / ydpi;
	screen->mheight /= 10;
	if (dpi < 140) {
	    /* keep X11 defaults */
	} else if (dpi < 190) {
	    SdlTkX.dec_frame_width = 8;
	    SdlTkX.dec_title_height = 30;
	    SdlTkX.dec_font_size = 14;
	    SdlTkX.dec_line_width = 3;
	    SdlTkX.nearby_pixels = 12;
	} else if (dpi < 240) {
	    SdlTkX.dec_frame_width = 12;
	    SdlTkX.dec_title_height = 38;
	    SdlTkX.dec_font_size = 18;
	    SdlTkX.dec_line_width = 4;
	    SdlTkX.nearby_pixels = 15;
	} else if (dpi < 320) {
	    SdlTkX.dec_frame_width = 16;
	    SdlTkX.dec_title_height = 46;
	    SdlTkX.dec_font_size = 24;
	    SdlTkX.dec_line_width = 5;
	    SdlTkX.nearby_pixels = 20;
	} else if (dpi < 420) {
	    SdlTkX.dec_frame_width = 20;
	    SdlTkX.dec_title_height = 60;
	    SdlTkX.dec_font_size = 32;
	    SdlTkX.dec_line_width = 7;
	    SdlTkX.nearby_pixels = 27;
	} else {
	    SdlTkX.dec_frame_width = 26;
	    SdlTkX.dec_title_height = 78;
	    SdlTkX.dec_font_size = 40;
	    SdlTkX.dec_line_width = 9;
	    SdlTkX.nearby_pixels = 35;
	}
	if (dpi > 140) {
	    int dsw;






|











|





|





|







5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
	screen->mwidth = (254 * screen->width) / xdpi;
	screen->mwidth /= 10;
	screen->mheight = (254 * screen->height) / ydpi;
	screen->mheight /= 10;
	if (dpi < 140) {
	    /* keep X11 defaults */
	} else if (dpi < 190) {
	    SdlTkX.dec_frame_width = 9;
	    SdlTkX.dec_title_height = 30;
	    SdlTkX.dec_font_size = 14;
	    SdlTkX.dec_line_width = 3;
	    SdlTkX.nearby_pixels = 12;
	} else if (dpi < 240) {
	    SdlTkX.dec_frame_width = 12;
	    SdlTkX.dec_title_height = 38;
	    SdlTkX.dec_font_size = 18;
	    SdlTkX.dec_line_width = 4;
	    SdlTkX.nearby_pixels = 15;
	} else if (dpi < 320) {
	    SdlTkX.dec_frame_width = 15;
	    SdlTkX.dec_title_height = 46;
	    SdlTkX.dec_font_size = 24;
	    SdlTkX.dec_line_width = 5;
	    SdlTkX.nearby_pixels = 20;
	} else if (dpi < 420) {
	    SdlTkX.dec_frame_width = 21;
	    SdlTkX.dec_title_height = 60;
	    SdlTkX.dec_font_size = 32;
	    SdlTkX.dec_line_width = 7;
	    SdlTkX.nearby_pixels = 27;
	} else {
	    SdlTkX.dec_frame_width = 27;
	    SdlTkX.dec_title_height = 78;
	    SdlTkX.dec_font_size = 40;
	    SdlTkX.dec_line_width = 9;
	    SdlTkX.nearby_pixels = 35;
	}
	if (dpi > 140) {
	    int dsw;