Changeset 11184


Ignore:
Timestamp:
06/11/08 10:10:59 (4 years ago)
Author:
sys
Message:

Prise en compte de l'interdiction de rotation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Jav_CO/com/scenari/s/co/transform/img/ImgUtil.java

    r11183 r11184  
    5656        public static final float CHAR_INCH_PER_PX = .01043f; 
    5757 
    58  
    5958        /** 
    6059         * Constante pour définir un DPI par défaut dans les calculs. 
    6160         */ 
    6261        public static final float DEFAULT_DPI = 72f; 
    63          
     62 
    6463        /**  
    6564         * Résultat des cacluls d'une taille d'image.  
     
    9897                        fWithRotate = pWithRotate; 
    9998                } 
    100                  
     99 
    101100                public ResultSize(float pWidth, float pHeight, float pScale, boolean pWithRotate, float pDpi) { 
    102101                        super(); 
     
    420419                                                else if (pCdmParser.currNameEquals("maxW")) vMaxW = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    421420                                        } else { 
    422                                                 if (pCdmParser.currNameEquals("Rotate") &&  ! pSrc.isRotateForbidden()) { 
    423                                                         vRotate = true; 
    424                                                         while (pCdmParser.gotoNextData() != ICdmParser.STATUS_OBJECT_END) { 
    425                                                                 if (pCdmParser.getCurrStatus() == ICdmParser.STATUS_PROPERTY) { 
    426                                                                         if (pCdmParser.currNameEquals("ifDiff")) 
    427                                                                                 vRotateIfDiff = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    428                                                                         else if (pCdmParser.currNameEquals("ifLessLCS")) vRotateIfLessLCS = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    429                                                                 } else pCdmParser.gotoEndObject(); 
     421                                                if (pCdmParser.currNameEquals("Rotate")) { 
     422                                                        if (!pSrc.isRotateForbidden()) { 
     423                                                                vRotate = true; 
     424                                                                while (pCdmParser.gotoNextData() != ICdmParser.STATUS_OBJECT_END) { 
     425                                                                        if (pCdmParser.getCurrStatus() == ICdmParser.STATUS_PROPERTY) { 
     426                                                                                if (pCdmParser.currNameEquals("ifDiff")) 
     427                                                                                        vRotateIfDiff = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
     428                                                                                else if (pCdmParser.currNameEquals("ifLessLCS")) vRotateIfLessLCS = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
     429                                                                        } else pCdmParser.gotoEndObject(); 
     430                                                                } 
    430431                                                        } 
    431432                                                } else pCdmParser.gotoEndObject(); 
     
    547548                        } 
    548549                } 
    549                 if(vWidthInch == -1) { 
     550                if (vWidthInch == -1) { 
    550551                        //Aucune règle trouvée 
    551552                        //scale 1 par défaut 
     
    589590                                                else if (pCdmParser.currNameEquals("maxW")) vMaxW = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    590591                                        } else { 
    591                                                 if (pCdmParser.currNameEquals("Rotate") && ! pSrc.isRotateForbidden()) { 
    592                                                         vRotate = true; 
    593                                                         while (pCdmParser.gotoNextData() != ICdmParser.STATUS_OBJECT_END) { 
    594                                                                 if (pCdmParser.getCurrStatus() == ICdmParser.STATUS_PROPERTY) { 
    595                                                                         if (pCdmParser.currNameEquals("ifDiff")) 
    596                                                                                 vRotateIfDiff = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    597                                                                         else if (pCdmParser.currNameEquals("ifLessLCS")) vRotateIfLessLCS = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
    598                                                                 } else pCdmParser.gotoEndObject(); 
     592                                                if (pCdmParser.currNameEquals("Rotate")) { 
     593                                                        if (!pSrc.isRotateForbidden()) { 
     594                                                                vRotate = true; 
     595                                                                while (pCdmParser.gotoNextData() != ICdmParser.STATUS_OBJECT_END) { 
     596                                                                        if (pCdmParser.getCurrStatus() == ICdmParser.STATUS_PROPERTY) { 
     597                                                                                if (pCdmParser.currNameEquals("ifDiff")) 
     598                                                                                        vRotateIfDiff = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
     599                                                                                else if (pCdmParser.currNameEquals("ifLessLCS")) vRotateIfLessLCS = Float.parseFloat(pCdmParser.getCurrValue().toString()); 
     600                                                                        } else pCdmParser.gotoEndObject(); 
     601                                                                } 
    599602                                                        } 
    600603                                                } else pCdmParser.gotoEndObject(); 
     
    613616                                ResultSize vNewSize = getSize(pResult.fWidth, pResult.fHeight, 1f, vUnit.toInch(vMinW) * pResult.fDpi, vUnit.toInch(vMinH) * pResult.fDpi, vUnit.toInch(vMaxW) * pResult.fDpi, vUnit.toInch(vMaxH) * pResult.fDpi, vRotate, vRotateIfDiff); 
    614617                                if (vNewSize.fScale != 1f) pResult.fDpi /= vNewSize.fScale; 
    615                                 if(vNewSize.isWithRotate()) { 
     618                                if (vNewSize.isWithRotate()) { 
    616619                                        pResult.setWithRotate(true); 
    617620                                        //On permutte W et H. 
Note: See TracChangeset for help on using the changeset viewer.