~fginther/+junk/geis-2.2.9.1-take2

« back to all changes in this revision

Viewing changes to libutouch-geis/backend/grail/geis_grail_backend.c

  • Committer: Francis Ginther
  • Author(s): Chase Douglas
  • Date: 2012-08-15 16:22:54 UTC
  • Revision ID: francis.ginther@canonical.com-20120815162254-lc6r4wzgz68ucvdk
Calculate radius deltas as a ratio from previous geis event

The radius values are scale factors from the geis begin event, so the
deltas should be scale factors from the previous geis event too.

Show diffs side-by-side

added added

removed removed

Lines of Context:
233
233
                                             GEIS_ATTR_TYPE_FLOAT,
234
234
                                             &r));
235
235
 
236
 
    GeisFloat dr = r - slice_state->radius;
 
236
    GeisFloat dr = r / slice_state->radius;
237
237
    geis_frame_add_attr(frame, geis_attr_new(GEIS_GESTURE_ATTRIBUTE_RADIUS_DELTA,
238
238
                                             GEIS_ATTR_TYPE_FLOAT,
239
239
                                             &dr));
336
336
    .angle = 0.0f,
337
337
    .position_x = grail_slice_get_original_center_x(slice) + (*C)[0][2],
338
338
    .position_y = grail_slice_get_original_center_y(slice) + (*C)[1][2],
339
 
    .radius = 0.0f,
 
339
    .radius = 1.0f,
340
340
    .num_touches = grail_slice_get_num_touches(slice)
341
341
  };
342
342
  geis_bag_append(gbe->slice_states, &new_slice_state);
364
364
                              (*C)[0][2];
365
365
    slice_state->position_x = grail_slice_get_original_center_x(slice) +
366
366
                              (*C)[1][2];
367
 
    slice_state->radius = 0.0f;
 
367
    slice_state->radius = 1.0f;
368
368
    slice_state->num_touches = grail_slice_get_num_touches(slice);
369
369
  }
370
370
}