Changeset 111556 in spip-zone


Ignore:
Timestamp:
Sep 11, 2018, 8:10:52 AM (7 months ago)
Author:
bystrano@…
Message:

la fonction contraindre_selection évite de toucher aux sélections quand elles sont ok

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/massicot/trunk/javascripts/formulaireMassicoterImage.js

    r111555 r111556  
    555555                                y: (s.y2 + s.y1) / 2
    556556                        },
    557                         echelle_x = (s.x2 - s.x1) * min(1, s.zoom) / contrainte.x,
    558                         echelle_y = (s.y2 - s.y1) * min(1, s.zoom) / contrainte.y,
    559                         echelle = max(1, min(echelle_x, echelle_y)),
     557                        zoom_reel = min(1, s.zoom),
     558                        echelle_max = min(
     559                                taille_canevas.x / contrainte.x,
     560                                taille_canevas.y / contrainte.y
     561                        ),
     562                        echelle_x = (s.x2 - s.x1) * zoom_reel / contrainte.x,
     563                        echelle_y = (s.y2 - s.y1) * zoom_reel / contrainte.y,
     564                        echelle = min(
     565                                max(zoom_reel, (echelle_x + echelle_y) / 2),
     566                                echelle_max
     567                        ),
    560568                        largeur_selection = contrainte.x * echelle,
    561569                        hauteur_selection = contrainte.y * echelle;
     
    582590
    583591        tests.push(make_test_equals(
    584                 'contraindre une sélection ok ne la modifie pas',
     592                'contraindre une sélection ok ne la modifie pas (zoom = 1)',
    585593                { x1: 100, x2: 200, y1: 0, y2: 50, zoom: 1},
    586594                function () {
     
    594602        ));
    595603        tests.push(make_test_equals(
    596                 'contraindre une sélection trop grande fonctionne',
     604                'contraindre une sélection ok ne la modifie pas (zoom < 1)',
     605                { x1: 50, x2: 100, y1: 0, y2: 25, zoom: 0.5},
     606                function () {
     607                        return contraindre_selection(
     608                                { x1: 50, x2: 100, y1: 0, y2: 25, zoom: 0.5},
     609                                { x: 100, y: 50 },
     610                                null,
     611                                { x: 500, y: 300 }
     612                        );
     613                }
     614        ));
     615        tests.push(make_test_equals(
     616                'contraindre une sélection ok ne la modifie pas (zoom > 1)',
     617                { x1: 50, x2: 150, y1: 0, y2: 50, zoom: 2},
     618                function () {
     619                        return contraindre_selection(
     620                                { x1: 50, x2: 150, y1: 0, y2: 50, zoom: 2},
     621                                { x: 100, y: 50 },
     622                                null,
     623                                { x: 500, y: 300 }
     624                        );
     625                }
     626        ));
     627        tests.push(make_test_equals(
     628                'contraindre une sélection trop grande fonctionne (zoom = 1)',
    597629                { x1: 0, x2: 500, y1: 50, y2: 300, zoom: 1},
    598630                function () {
Note: See TracChangeset for help on using the changeset viewer.