fix dragables! eeek! :)

SVN revision: 8211
This commit is contained in:
Carsten Haitzler 2003-12-25 23:57:18 +00:00
parent ed6a50bb58
commit 614486c43c
3 changed files with 16 additions and 15 deletions

View File

@ -492,7 +492,7 @@ cb (void *data, Evas_Object *o, const char *sig, const char *src)
printf("CALLBACK for %p %p \"%s\" \"%s\"\n", data, o, sig, src);
if (!strcmp(sig, "drag"))
{
Evas_Coord x, y;
double x, y;
edje_object_part_drag_value_get(o, src, &x, &y);
printf("Drag %3.3f %3.3f\n", x, y);

View File

@ -235,6 +235,7 @@ _edje_part_dragable_calc(Edje *ed, Edje_Real_Part *ep, double *x, double *y)
if (x) *x = dx;
if (y) *y = dy;
return ret;
}
else
@ -300,18 +301,18 @@ _edje_part_recalc_single(Edje *ed,
if (rel2_to_x)
params->w = desc->rel2.offset_x +
rel2_to_x->x + (desc->rel2.relative_x * rel2_to_x->w) -
params->x;
params->x + 1;
else
params->w = (double)desc->rel2.offset_x +
(desc->rel2.relative_x * (double)ed->w) -
params->w = desc->rel2.offset_x +
(desc->rel2.relative_x * ed->w) -
params->x + 1;
if (rel2_to_y)
params->h = desc->rel2.offset_y +
rel2_to_y->y + (desc->rel2.relative_y * rel2_to_y->h) -
params->y;
params->y + 1;
else
params->h = (double)desc->rel2.offset_y +
(desc->rel2.relative_y * (double)ed->h) -
params->h = desc->rel2.offset_y +
(desc->rel2.relative_y * ed->h) -
params->y + 1;
/* aspect */
@ -504,7 +505,7 @@ _edje_part_recalc_single(Edje *ed,
if ((((minw > 0) && (v > minw)) || (minw <= 0)) &&
(((maxw >= 0) && (v < maxw)) || (maxw < 0))) params->w = v;
offset = (ep->drag.x * (confine_to->w - params->w)) +
ep->drag.tmp.x + confine_to->x;
ep->drag.tmp.x;
if (ep->part->dragable.step_x > 0)
{
params->x = confine_to->x +
@ -520,7 +521,7 @@ _edje_part_recalc_single(Edje *ed,
if ((((minh > 0) && (v > minh)) || (minh <= 0)) &&
(((maxh >= 0) && (v < maxh)) || (maxh < 0))) params->h = v;
offset = (ep->drag.y * (confine_to->h - params->h)) +
ep->drag.tmp.y + confine_to->y;
ep->drag.tmp.y;
if (ep->part->dragable.step_y > 0)
{
params->y = confine_to->y +

View File

@ -475,23 +475,23 @@ struct _Edje_Signal_Callback
char *source;
void (*func) (void *data, Evas_Object *o, const char *emission, const char *source);
void *data;
int just_added : 1;
int delete_me : 1;
char just_added : 1;
char delete_me : 1;
};
struct _Edje_Calc_Params
{
double x, y, w, h;
int x, y, w, h;
struct {
double x, y, w, h;
int x, y, w, h;
} req;
struct {
double x, y, w, h;
int x, y, w, h;
} req_drag;
char visible : 1;
char smooth : 1;
struct {
double x, y, w, h;
int x, y, w, h;
} fill;
struct {
unsigned char r, g, b, a;