ImageView.st
changeset 5022 c2e58c679b8e
parent 4966 fd25317b66de
child 5226 24916b8eff22
equal deleted inserted replaced
5021:a24473f2d6ca 5022:c2e58c679b8e
   523                     on:(shownImage colorFromValue:0).
   523                     on:(shownImage colorFromValue:0).
   524         ].
   524         ].
   525 
   525 
   526         tileMode == true ifTrue:[
   526         tileMode == true ifTrue:[
   527             (tileOffset y > 0 and:[tileOffset x > 0]) ifTrue:[
   527             (tileOffset y > 0 and:[tileOffset x > 0]) ifTrue:[
   528                 (depth == 1
   528                 (false "depth ~~ 1"
   529                 and:[image mask isNil]) ifFalse:[
   529                 or:[shownImage mask notNil]) ifTrue:[
   530                     self clearRectangleX:x y:y width:w height:h.
   530                     self clearRectangleX:x y:y width:w height:h.
   531                     0 to:y+h by:tileOffset y do:[:oY |
   531                     0 to:y+h by:tileOffset y do:[:oY |
   532                         0 to:x+w by:tileOffset x do:[:oX |
   532                         0 to:x+w by:tileOffset x do:[:oX |
   533                             self displayForm:image x:oX y:oY 
   533                             self displayForm:image x:oX y:oY 
   534                         ]
   534                         ]
   535                     ].
   535                     ].
   536                 ] ifTrue:[
   536                 ] ifFalse:[
   537                     0 to:y+h by:tileOffset y do:[:oY |
   537                     0 to:y+h by:tileOffset y do:[:oY |
   538                         0 to:x+w by:tileOffset x do:[:oX |
   538                         0 to:x+w by:tileOffset x do:[:oX |
   539                             self displayOpaqueForm:image x:oX y:oY 
   539                             self displayOpaqueForm:image x:oX y:oY 
   540                         ]
   540                         ]
   541                     ].
   541                     ].
   545             xI > (x+w) ifTrue:[^ self]. "/ no need to draw
   545             xI > (x+w) ifTrue:[^ self]. "/ no need to draw
   546             yI > (y+h) ifTrue:[^ self]. "/ no need to draw
   546             yI > (y+h) ifTrue:[^ self]. "/ no need to draw
   547             (xI+imgWidth) < x ifTrue:[^ self]. "/ no need to draw
   547             (xI+imgWidth) < x ifTrue:[^ self]. "/ no need to draw
   548             (yI+imgHeight) < y ifTrue:[^ self]. "/ no need to draw
   548             (yI+imgHeight) < y ifTrue:[^ self]. "/ no need to draw
   549 
   549 
   550             (depth ~~ 1
   550             (false "depth ~~ 1"
   551             or:[shownImage mask notNil]) ifTrue:[
   551             or:[shownImage mask notNil]) ifTrue:[
   552                 self clearRectangleX:x y:y width:w height:h.
   552                 self clearRectangleX:x y:y width:w height:h.
   553                 shownImage displayOn:self x:xI y:yI.
   553                 shownImage displayOn:self x:xI y:yI.
   554                 "/ self displayForm:shownImage x:xI y:yI 
   554                 "/ self displayForm:shownImage x:xI y:yI 
   555             ] ifFalse:[
   555             ] ifFalse:[
   557             ].
   557             ].
   558 
   558 
   559             "/ right of image ?
   559             "/ right of image ?
   560             right := x + w - 1.
   560             right := x + w - 1.
   561             right > (xI + imgWidth) ifTrue:[
   561             right > (xI + imgWidth) ifTrue:[
   562                 self clearRectangleX:(xI + imgWidth)
   562                 self clearRectangleX:(xI + imgWidth) y:y
   563                                    y:y
   563                                width:(right - imgWidth - xI) height:h  
   564                                width:(right - imgWidth - xI)
       
   565                               height:h  
       
   566             ].
   564             ].
   567             "/ below of image ?
   565             "/ below of image ?
   568             bott := y + h - 1.
   566             bott := y + h - 1.
   569             bott > (yI + imgHeight) ifTrue:[
   567             bott > (yI + imgHeight) ifTrue:[
   570                 self clearRectangleX:margin
   568                 self clearRectangleX:margin y:(yI + imgHeight)
   571                                    y:(yI + imgHeight)
   569                                width:w height:(bott - imgHeight - yI)  
   572                                width:w
       
   573                               height:(bott - imgHeight - yI)  
       
   574             ].
   570             ].
   575         ].
   571         ].
   576     ]
   572     ]
   577 
   573 
   578     "Created: / 11.7.1996 / 21:02:12 / cg"
   574     "Created: / 11.7.1996 / 21:02:12 / cg"