GLES2

Check-in [21185d0470]
Login

Check-in [21185d0470]

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

Overview
Comment:fixes
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 21185d0470033af3bb39598203d1d111c72a0856
User & Date: arnulf 2013-08-18 21:50:58.528
Context
2013-08-19
14:07
fixes and new code check-in: 09afec5942 user: arnulf tags: trunk
2013-08-18
21:50
fixes check-in: 21185d0470 user: arnulf tags: trunk
15:02
new commands value2pixel and getdiamondpositions check-in: ebb74a58ae user: arnulf tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to generic/gles2Builtin.c.
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637








1638
1639
1640
1641
1642
1643
1644
 * ------------------------------------------------------------------------
 *  Gles2_BiGetFontInfoCmd()
 *
 *  Invoked to handle the "getfontinfo" command
 *  Handles the
 *  following syntax:
 *
 *    getfontinfo font_name
 *
 * ------------------------------------------------------------------------
 */
int Gles2_BiGetFontInfoCmd(
    ClientData dummy,        /* not used */
    Tcl_Interp *interp,      /* current interpreter */
    int objc,                /* number of arguments */
    Tcl_Obj *const objv[])   /* argument objects */
{
	Tcl_Obj *listObj;
    int result = TCL_OK;
    int font_size;
    int measure_only;
    Gles2WidgetImage wgt;
    Gles2WidgetImage *wgtPtr;
    RgbaInfo rgba;

    Gles2ShowArgs(0, "Gles_BiGetFontInfoCmd", objc, objv);
    if (objc != 6) {
        Tcl_WrongNumArgs(interp, 1, objv, "text font_name font_size color measureonly");
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[3], &font_size) != TCL_OK) {
fprintf(stderr, "bad value for font_size!%s!\n", Tcl_GetString(objv[3]));
        return TCL_ERROR;
    }
    if (GetRGBAInfo(interp, objv[4], &rgba) != TCL_OK) {
fprintf(stderr, "bad value for rgba!%s!\n", Tcl_GetString(objv[4]));
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[5], &measure_only) != TCL_OK) {








fprintf(stderr, "bad value for measureonly!%s!\n", Tcl_GetString(objv[5]));
        return TCL_ERROR;
    }
    wgtPtr = &wgt;
    memset(wgtPtr, 0, sizeof(wgt));
#define NUM_TYPE_ITEMS 4
#define NUM_TYPE_ENTRY_BITS 8







|


















|
|










|
>
>
>
>
>
>
>
>







1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
 * ------------------------------------------------------------------------
 *  Gles2_BiGetFontInfoCmd()
 *
 *  Invoked to handle the "getfontinfo" command
 *  Handles the
 *  following syntax:
 *
 *    getfontinfo text font_name font_size color maxwidth maxheight measureonly
 *
 * ------------------------------------------------------------------------
 */
int Gles2_BiGetFontInfoCmd(
    ClientData dummy,        /* not used */
    Tcl_Interp *interp,      /* current interpreter */
    int objc,                /* number of arguments */
    Tcl_Obj *const objv[])   /* argument objects */
{
	Tcl_Obj *listObj;
    int result = TCL_OK;
    int font_size;
    int measure_only;
    Gles2WidgetImage wgt;
    Gles2WidgetImage *wgtPtr;
    RgbaInfo rgba;

    Gles2ShowArgs(0, "Gles_BiGetFontInfoCmd", objc, objv);
    if (objc != 8) {
        Tcl_WrongNumArgs(interp, 1, objv, "text font_name font_size color maxwidth maxheight measureonly");
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[3], &font_size) != TCL_OK) {
fprintf(stderr, "bad value for font_size!%s!\n", Tcl_GetString(objv[3]));
        return TCL_ERROR;
    }
    if (GetRGBAInfo(interp, objv[4], &rgba) != TCL_OK) {
fprintf(stderr, "bad value for rgba!%s!\n", Tcl_GetString(objv[4]));
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[5], &wgt.maxWidth) != TCL_OK) {
fprintf(stderr, "bad value for maxwidth!%s!\n", Tcl_GetString(objv[5]));
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[6], &wgt.maxHeight) != TCL_OK) {
fprintf(stderr, "bad value for maxheight!%s!\n", Tcl_GetString(objv[6]));
        return TCL_ERROR;
    }
    if (Tcl_GetIntFromObj(interp, objv[7], &measure_only) != TCL_OK) {
fprintf(stderr, "bad value for measureonly!%s!\n", Tcl_GetString(objv[5]));
        return TCL_ERROR;
    }
    wgtPtr = &wgt;
    memset(wgtPtr, 0, sizeof(wgt));
#define NUM_TYPE_ITEMS 4
#define NUM_TYPE_ENTRY_BITS 8
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
 */
int Gles2_BiValue2PixelCmd(
    ClientData dummy,        /* not used */
    Tcl_Interp *interp,      /* current interpreter */
    int objc,                /* number of arguments */
    Tcl_Obj *const objv[])   /* argument objects */
{
    int result = TCL_OK;
    GLfloat glValue;

    Gles2ShowArgs(0, "Gles_BiValue2PixelCmd", objc, objv);
    if (objc != 2) {
        Tcl_WrongNumArgs(interp, 1, objv, "value");
        return TCL_ERROR;
    }
    return Value2Pixel(interp, objv[1]);
}







<
<
<







1804
1805
1806
1807
1808
1809
1810



1811
1812
1813
1814
1815
1816
1817
 */
int Gles2_BiValue2PixelCmd(
    ClientData dummy,        /* not used */
    Tcl_Interp *interp,      /* current interpreter */
    int objc,                /* number of arguments */
    Tcl_Obj *const objv[])   /* argument objects */
{



    Gles2ShowArgs(0, "Gles_BiValue2PixelCmd", objc, objv);
    if (objc != 2) {
        Tcl_WrongNumArgs(interp, 1, objv, "value");
        return TCL_ERROR;
    }
    return Value2Pixel(interp, objv[1]);
}
Changes to generic/gles2FreeType.c.
262
263
264
265
266
267
268

269
270
271
272
273
274
275
    wgtPtr->height = 1;
    if (LoadString(interp, wgtPtr, CachedFont.face, measureOnly) != TCL_OK) {
        return TCL_ERROR;
    }
fprintf(stderr, "rgba r!%d!g!%d!b!%d!@:%d!\n", rgbaPtr->Color[0], rgbaPtr->Color[1], rgbaPtr->Color[2], rgbaPtr->Color[3]);
fprintf(stderr, "w!%d!h!%d!o!%d!\n", wgtPtr->width, wgtPtr->height, measureOnly);
    if (!measureOnly) {

        bottom = 0;
        for (i=0;i<wgtPtr->unitextlen;++i) {
            if (wgtPtr->fontInfo[i].bottom < bottom) {
                bottom = wgtPtr->fontInfo[i].bottom;
            }
        }
        wgtPtr->dataSize = wgtPtr->width * wgtPtr->height *







>







262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
    wgtPtr->height = 1;
    if (LoadString(interp, wgtPtr, CachedFont.face, measureOnly) != TCL_OK) {
        return TCL_ERROR;
    }
fprintf(stderr, "rgba r!%d!g!%d!b!%d!@:%d!\n", rgbaPtr->Color[0], rgbaPtr->Color[1], rgbaPtr->Color[2], rgbaPtr->Color[3]);
fprintf(stderr, "w!%d!h!%d!o!%d!\n", wgtPtr->width, wgtPtr->height, measureOnly);
    if (!measureOnly) {
fprintf(stderr, "maxw!%d!maxh!%d!\n", wgtPtr->maxWidth, wgtPtr->maxHeight);
        bottom = 0;
        for (i=0;i<wgtPtr->unitextlen;++i) {
            if (wgtPtr->fontInfo[i].bottom < bottom) {
                bottom = wgtPtr->fontInfo[i].bottom;
            }
        }
        wgtPtr->dataSize = wgtPtr->width * wgtPtr->height *
Changes to generic/gles2Int.h.
25
26
27
28
29
30
31


32
33
34
35
36
37
38
} RgbaInfo;

struct Gles2FreeTypeString;

typedef struct Gles2WidgetImage {
    int width;
    int height;


    int numTypeItems;
    int numTypeEntryBits;
    int typeEntryBytes;
    int dataSize;
    Tcl_UniChar *unitext;
    int unitextlen;
    int fontInfoSize;







>
>







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
} RgbaInfo;

struct Gles2FreeTypeString;

typedef struct Gles2WidgetImage {
    int width;
    int height;
    int maxWidth;
    int maxHeight;
    int numTypeItems;
    int numTypeEntryBits;
    int typeEntryBytes;
    int dataSize;
    Tcl_UniChar *unitext;
    int unitextlen;
    int fontInfoSize;