~centralelyon2010/inkscape/imagelinks2

« back to all changes in this revision

Viewing changes to src/tweak-context.cpp

  • Committer: Ted Gould
  • Date: 2008-11-21 05:24:08 UTC
  • Revision ID: ted@canonical.com-20081121052408-tilucis2pjrrpzxx
MergeĀ fromĀ fe-moved

Show diffs side-by-side

added added

removed removed

Lines of Context:
432
432
    } else {
433
433
        if (mode == TWEAK_MODE_MOVE) {
434
434
 
435
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
435
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
436
436
            if (a) {
437
437
                double x = Geom::L2(a->midpoint() - p)/radius;
438
438
                if (a->contains(p)) x = 0;
445
445
 
446
446
        } else if (mode == TWEAK_MODE_MOVE_IN_OUT) {
447
447
 
448
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
448
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
449
449
            if (a) {
450
450
                double x = Geom::L2(a->midpoint() - p)/radius;
451
451
                if (a->contains(p)) x = 0;
459
459
 
460
460
        } else if (mode == TWEAK_MODE_MOVE_JITTER) {
461
461
 
462
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
462
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
463
463
            if (a) {
464
464
                double dp = g_random_double_range(0, M_PI*2);
465
465
                double dr = g_random_double_range(0, radius);
474
474
 
475
475
        } else if (mode == TWEAK_MODE_SCALE) {
476
476
 
477
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
477
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
478
478
            if (a) {
479
479
                double x = Geom::L2(a->midpoint() - p)/radius;
480
480
                if (a->contains(p)) x = 0;
487
487
 
488
488
        } else if (mode == TWEAK_MODE_ROTATE) {
489
489
 
490
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
490
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
491
491
            if (a) {
492
492
                double x = Geom::L2(a->midpoint() - p)/radius;
493
493
                if (a->contains(p)) x = 0;
500
500
 
501
501
        } else if (mode == TWEAK_MODE_MORELESS) {
502
502
 
503
 
            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
 
503
            Geom::OptRect a = item->getBounds(sp_item_i2doc_affine(item));
504
504
            if (a) {
505
505
                double x = Geom::L2(a->midpoint() - p)/radius;
506
506
                if (a->contains(p)) x = 0;
551
551
 
552
552
 
553
553
        // skip those paths whose bboxes are entirely out of reach with our radius
554
 
        boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item));
 
554
        Geom::OptRect bbox = item->getBounds(sp_item_i2doc_affine(item));
555
555
        if (bbox) {
556
556
            bbox->expandBy(radius);
557
557
            if (!bbox->contains(p)) {
925
925
        if (!style) {
926
926
            return false;
927
927
        }
928
 
        boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item),
 
928
        Geom::OptRect bbox = item->getBounds(sp_item_i2doc_affine(item),
929
929
                                                        SPItem::GEOMETRIC_BBOX);
930
930
        if (!bbox) {
931
931
            return false;
955
955
        if (this_force > 0.002) {
956
956
 
957
957
            if (do_blur) {
958
 
                boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item),
 
958
                Geom::OptRect bbox = item->getBounds(sp_item_i2doc_affine(item),
959
959
                                                        SPItem::GEOMETRIC_BBOX);
960
960
                if (!bbox) {
961
961
                    return did;