Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_gadman.c Log Message: gadman uses xy ints AT a res. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_gadman.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- e_gadman.c 11 May 2005 13:13:43 -0000 1.35 +++ e_gadman.c 19 May 2005 02:46:50 -0000 1.36 @@ -13,7 +13,10 @@ struct _Gadman_Client_Config { - double ax, ay; +// double ax, ay; + struct { + int x, y, w, h; + } pos; int w, h; int edge; int zone; @@ -78,8 +81,12 @@ #undef D #define T Gadman_Client_Config #define D gadman_config_edd - E_CONFIG_VAL(D, T, ax, DOUBLE); - E_CONFIG_VAL(D, T, ay, DOUBLE); +// E_CONFIG_VAL(D, T, ax, DOUBLE); +// E_CONFIG_VAL(D, T, ay, DOUBLE); + E_CONFIG_VAL(D, T, pos.x, INT); + E_CONFIG_VAL(D, T, pos.y, INT); + E_CONFIG_VAL(D, T, pos.w, INT); + E_CONFIG_VAL(D, T, pos.h, INT); E_CONFIG_VAL(D, T, w, INT); E_CONFIG_VAL(D, T, h, INT); E_CONFIG_VAL(D, T, edge, INT); @@ -201,8 +208,10 @@ E_OBJECT_CHECK(gmc); E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE); /* save all values */ - cf.ax = gmc->ax; - cf.ay = gmc->ay; + cf.pos.x = gmc->x - gmc->zone->x; + cf.pos.y = gmc->y - gmc->zone->y; + cf.pos.w = gmc->zone->w; + cf.pos.h = gmc->zone->h; cf.w = gmc->w; cf.h = gmc->h; cf.edge = gmc->edge; @@ -227,13 +236,21 @@ { E_Zone *zone; - E_CONFIG_LIMIT(cf->ax, 0.0, 1.0); - E_CONFIG_LIMIT(cf->ay, 0.0, 1.0); + E_CONFIG_LIMIT(cf->pos.x, 0, 10000); + E_CONFIG_LIMIT(cf->pos.y, 0, 10000); + E_CONFIG_LIMIT(cf->pos.w, 1, 10000); + E_CONFIG_LIMIT(cf->pos.h, 1, 10000); E_CONFIG_LIMIT(cf->w, 0, 10000); E_CONFIG_LIMIT(cf->h, 0, 10000); E_CONFIG_LIMIT(cf->edge, E_GADMAN_EDGE_LEFT, E_GADMAN_EDGE_BOTTOM); - gmc->ax = cf->ax; - gmc->ay = cf->ay; + if (cf->pos.w != cf->w) + gmc->ax = (double)(cf->pos.x - cf->w) / (double)(cf->pos.w - cf->w); + else + gmc->ax = 0.0; + if (cf->pos.h != cf->h) + gmc->ay = (double)(cf->pos.y - cf->h) / (double)(cf->pos.h - cf->h); + else + gmc->ay = 0.0; gmc->w = cf->w; gmc->h = cf->h; gmc->edge = cf->edge; @@ -253,8 +270,16 @@ } if (gmc->w > gmc->zone->w) gmc->w = gmc->zone->w; if (gmc->h > gmc->zone->h) gmc->h = gmc->zone->h; - gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax); - gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay); +// gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax); +// gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay); + if (cf->pos.w != cf->w) + gmc->x = gmc->zone->x + ((cf->pos.x * (gmc->zone->w - gmc->w)) / (cf->pos.w - gmc->w)); + else + gmc->x = gmc->zone->x; + if (cf->pos.h != cf->h) + gmc->y = gmc->zone->y + ((cf->pos.y * (gmc->zone->h - gmc->h)) / (cf->pos.h - gmc->h)); + else + gmc->y = gmc->zone->y; free(cf); } _e_gadman_client_overlap_deny(gmc); ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs