The Trunk: MorphicExtras-tpr.106.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: MorphicExtras-tpr.106.mcz

commits-2
tim Rowledge uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-tpr.106.mcz

==================== Summary ====================

Name: MorphicExtras-tpr.106
Author: tpr
Time: 25 March 2013, 2:14:11.755 pm
UUID: fa05ed2e-81a1-482b-9d66-365fd51319f0
Ancestors: MorphicExtras-nice.105

Remove BitBlt|WarpBlt>current usage - it's a vestige of an old experiment

=============== Diff against MorphicExtras-nice.105 ===============

Item was changed:
  ----- Method: PaintBoxMorph>>init3 (in category 'initialization') -----
  init3
  "Just a record of how we loaded in the latest paintbox button images"
 
  | bb pic16Bit aa blt thin |
  self loadoffImage: 'etoy_default.gif'.
  self allMorphsDo:
  [:button |
  (button isKindOf: ThreePhaseButtonMorph)
  ifTrue: [button offImage: nil]
  ifFalse: [button position: button position + (100 @ 0)]].
  (bb := self submorphNamed: #keep:) position: bb position + (100 @ 0).
  (bb := self submorphNamed: #toss:) position: bb position + (100 @ 0).
  (bb := self submorphNamed: #undo:) position: bb position + (100 @ 0).
  "Transparent is (Color r: 1.0 g: 0 b: 1.0)"
  self moveButtons.
  self loadOnImage: 'etoy_in.gif'.
  AllOnImage := nil.
  'save space'.
  self loadPressedImage: 'etoy_in.gif'.
  AllPressedImage := nil.
  'save space'.
  self loadCursors.
 
  "position the stamp buttons"
  stampHolder stampButtons owner last delete.
  stampHolder pickupButtons last delete.
  stampHolder stampButtons: (stampHolder stampButtons copyFrom: 1 to: 3).
  stampHolder pickupButtons: (stampHolder pickupButtons copyFrom: 1 to: 3).
  stampHolder pickupButtons do:
  [:button |
  | rect |
  "PopUpMenu notify: 'Rectangle for ',sel."
 
  rect := Rectangle fromUser.
  button bounds: rect "image is nil"].
  "| rect lay |"
  stampHolder clear.
  stampHolder stampButtons do:
  [:button |
  | lay rect |
  button
  offImage: nil;
  pressedImage: nil.
  lay := button owner.
  "PopUpMenu notify: 'Rectangle for ',sel."
  rect := Rectangle fromUser.
  button image: (Form fromDisplay: (rect insetBy: 2)).
  lay borderWidth: 2.
  lay bounds: rect "image is nil"].
  "| pic16Bit blt aa on |"
  pic16Bit := GIFReadWriter formFromFileNamed: 'etoy_in.gif'. "really 8"
  aa := Form extent: OriginalBounds extent depth: 8.
+ blt := BitBlt toForm: aa.
- blt := BitBlt current toForm: aa.
  blt
  sourceForm: pic16Bit;
  combinationRule: Form over;
  sourceRect: OriginalBounds;
  destOrigin: 0 @ 0;
  copyBits.
  "Collect all the images for the buttons in the on state"
  stampHolder pickupButtons do:
  [:button | | on |
  on := ColorForm extent: button extent depth: 8.
  on colors: pic16Bit colors.
  on
  copy: (0 @ 0 extent: button extent)
  from: button topLeft - self topLeft
  in: aa
  rule: Form over.
  button
  image: on;
  pressedImage: on;
  offImage: nil].
  self invalidRect: bounds.
  ((self submorphNamed: #erase:) arguments third) offset: 12 @ 35.
  ((self submorphNamed: #eyedropper:) arguments third) offset: 0 @ 0.
  ((self submorphNamed: #fill:) arguments third) offset: 10 @ 44.
  ((self submorphNamed: #paint:) arguments third) offset: 3 @ 3. "unused"
  ((self submorphNamed: #rect:) arguments third) offset: 6 @ 17.
  ((self submorphNamed: #ellipse:) arguments third) offset: 5 @ 4.
  ((self submorphNamed: #polygon:) arguments third) offset: 5 @ 4.
  ((self submorphNamed: #line:) arguments third) offset: 5 @ 17.
  ((self submorphNamed: #star:) arguments third) offset: 2 @ 5.
  thumbnail delete.
  thumbnail := nil.
  (submorphs select: [:e | e class == RectangleMorph]) first
  bounds: Rectangle fromUser.
  ((submorphs select: [:e | e class == RectangleMorph]) first)
  borderWidth: 1;
  borderColor: Color black.
  "| thin |"
  submorphs do: [:ss | ss class == ImageMorph ifTrue: [thin := ss "first"]].
  colorMemoryThin := thin!

Item was changed:
  ----- Method: PaintBoxMorph>>init4 (in category 'initialization') -----
  init4
  "Just a record of how Ted loaded in the paintbox button images, Feb 98"
  | bb im pp newImage pic24Bit picNewBit blt |
 
  "self loadoffImage: 'roundedPalette3.bmp'."
  pic24Bit := GIFReadWriter formFromServerFile: 'updates/137roundedPalette3.bmp'.
  picNewBit := Form extent: pic24Bit extent depth: 16.
  pic24Bit displayOn: picNewBit.
  OriginalBounds := picNewBit boundingBox.
  AllOffImage := Form extent: OriginalBounds extent depth: 16.
+ blt := BitBlt toForm: AllOffImage.
- blt := BitBlt current toForm: AllOffImage.
  blt sourceForm: picNewBit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0 @ 0; copyBits.
 
  AllOffImage mapColor: Color transparent to: Color black.
  self image: AllOffImage.
  self invalidRect: bounds.
 
  self submorphsDo: [:button | button position: button position + (10 @ 10)].
  (im := submorphs at: 28) class == ImageMorph ifTrue: [
  im position: im position + (2 @ 0)]. "color picker"
  "exercise it once"
 
  (bb := self submorphNamed: #keep:) position: bb position + (0 @ 25).
  (bb := self submorphNamed: #toss:) position: bb position + (0 @ 25).
  (bb := self submorphNamed: #undo:) position: bb position + (0 @ -25).
  (bb := self submorphNamed: #clear:) position: bb position + (0 @ -25).
  (bb := self submorphNamed: #undo:) position: bb position + (0 @ -69).
  (bb := self submorphNamed: #clear:) position: bb position + (0 @ -69).
  self submorphsDo: [:button |
  button class == AlignmentMorph ifTrue: [
  button position: button position + (0 @ 25)].
  (button printString includesSubString: 'stamp:') ifTrue: [
  button position: button position + (0 @ 25)]].
  (bb := self submorphNamed: #prevStamp:) position: bb position + (0 @ 25).
  (bb := self submorphNamed: #nextStamp:) position: bb position + (0 @ 25).
 
  bb := self submorphNamed: #keep:.
  newImage := bb pressedImage copy: (0 @ 4 corner: (bb pressedImage boundingBox extent)).
  bb onImage: newImage.  bb pressedImage: newImage.  bb extent: newImage extent.
  bb position: bb position + (4 @ 1).
 
  pp := (bb := self submorphNamed: #toss:) pressedImage.
  newImage := pp copy: (0 @ 4 corner: (bb pressedImage extent - (3 @ 0))).
  bb onImage: newImage.  bb pressedImage: newImage.  
  bb extent: newImage extent.
  bb position: bb position + (3 @ 1).
 
  pp := (bb := self submorphNamed: #undo:) pressedImage.
  newImage := pp copy: (0 @ 0 corner: (bb pressedImage extent - (3 @ 5))).
  bb onImage: newImage.  bb pressedImage: newImage.  
  bb extent: newImage extent.
  bb position: bb position + (3 @ -1).
 
  pp := (bb := self submorphNamed: #clear:) pressedImage.
  newImage := pp copy: (0 @ 0 corner: (bb pressedImage extent - (0 @ 5))).
  bb onImage: newImage.  bb pressedImage: newImage.  
  bb extent: newImage extent.
  bb position: bb position + (3 @ -1).
 
  pic24Bit := GIFReadWriter formFromServerFile: 'updates/137pencil.bmp'.
  picNewBit := Form extent: pic24Bit extent depth: 16.
  pic24Bit displayOn: picNewBit.
  newImage := picNewBit as8BitColorForm.
  newImage transparentColor: (Color r: 0 g: 0 b: 0).
  (bb := self submorphNamed: #erase:) pressedImage: newImage; onImage: newImage;
  extent: newImage extent.
 
  bb position: bb position + (-11 @ -1).
  !

Item was changed:
  ----- Method: PaintBoxMorph>>loadOffForm: (in category 'initialization') -----
  loadOffForm: pic16Bit
  "Prototype loadOffForm: (Smalltalk imageImports at: #offPaletteJapanese)"
 
  | blt |
  OriginalBounds := pic16Bit boundingBox.
  AllOffImage := Form extent: OriginalBounds extent depth: 16.
+ blt := BitBlt toForm: AllOffImage.
- blt := BitBlt current toForm: AllOffImage.
  blt sourceForm: pic16Bit;
  combinationRule: Form over;
  sourceRect: OriginalBounds;
  destOrigin: 0 @ 0;
  copyBits.
  AllOffImage mapColor: Color blue to: Color transparent.
  self image: AllOffImage.
  AllOffImage := nil.
  self invalidRect: bounds
  !

Item was changed:
  ----- Method: PaintBoxMorph>>loadOnImage: (in category 'initialization') -----
  loadOnImage: fileName
  "Read in and convert the image for the paintBox with the buttons
  on.  A .bmp 24-bit image.  For each button, cut that chunk out and save it."
  " self loadOnImage: 'NoSh:=on.bmp'.
  AllOnImage := nil. 'save space'. "
 
  | pic16Bit blt aa type |
  type := 'gif'.  "   gif or bmp  "
  type = 'gif' ifTrue: [
  pic16Bit "really 8" := GIFReadWriter formFromFileNamed: fileName.
  pic16Bit display.
  aa := AllOnImage := Form extent: OriginalBounds extent depth: 8.
+ blt := BitBlt toForm: aa.
- blt := BitBlt current toForm: aa.
  blt sourceForm: pic16Bit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0@0; copyBits.
  ].
  type = 'bmp' ifTrue: [
  pic16Bit := (Form fromBMPFileNamed: fileName) asFormOfDepth: 16.
  pic16Bit display.
  aa := AllOnImage := Form extent: OriginalBounds extent depth: 16.
+ blt := BitBlt toForm: aa.
- blt := BitBlt current toForm: aa.
  blt sourceForm: pic16Bit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0@0; copyBits.
  aa mapColor: Color transparent to: Color black.
  ].
  "Collect all the images for the buttons in the on state"
  self allMorphsDo: [:button | | on |
  (button isKindOf: ThreePhaseButtonMorph) ifTrue: [
  type = 'gif' ifTrue: [on := ColorForm extent: button extent depth: 8.
  on colors: pic16Bit colors]
  ifFalse: [on := Form extent: button extent depth: 16].
  on copy: (0@0 extent: button extent)
  from: (button topLeft - self topLeft) in: aa rule: Form over.
  button onImage: on]].
  self invalidRect: bounds.
 
  !

Item was changed:
  ----- Method: PaintBoxMorph>>loadPressedForm: (in category 'initialization') -----
  loadPressedForm: pic16Bit
  "Prototype loadPressedForm: (Smalltalk imageImports at: #pressedPaletteJapanese)"
 
  | blt |
  AllPressedImage := AllPressedImage := Form extent: OriginalBounds extent depth: 16.
+ blt := BitBlt toForm: AllPressedImage.
- blt := BitBlt current toForm: AllPressedImage.
  blt sourceForm: pic16Bit;
  combinationRule: Form over;
  sourceRect: OriginalBounds;
  destOrigin: 0 @ 0;
  copyBits.
  AllPressedImage mapColor: Color black to: Color transparent.
  self
  allMorphsDo: [:button | | on |
  (button isKindOf: ThreePhaseButtonMorph)
  ifTrue: [on := Form extent: button extent depth: 16.
  on
  copy: (0 @ 0 extent: button extent)
  from: button topLeft - self topLeft
  in: AllPressedImage
  rule: Form over.
  button pressedImage: on]].
  AllPressedImage := nil.
  self invalidRect: bounds
  !

Item was changed:
  ----- Method: PaintBoxMorph>>loadPressedImage: (in category 'initialization') -----
  loadPressedImage: fileName
  "Read in and convert the image for the paintBox with the buttons
  on.  A .bmp 24-bit image.  For each button, cut that chunk out and save it."
  " self loadPressedImage: 'NoSh:=on.bmp'.
  AllPressedImage := nil. 'save space'. "
 
  | pic16Bit blt aa type |
  type := 'gif'.  "   gif or bmp  "
  type = 'gif' ifTrue: [
  pic16Bit "really 8" := GIFReadWriter formFromFileNamed: fileName.
  pic16Bit display.
  aa := AllPressedImage := Form extent: OriginalBounds extent depth: 8.
+ blt := BitBlt toForm: aa.
- blt := BitBlt current toForm: aa.
  blt sourceForm: pic16Bit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0@0; copyBits.
  ].
  type = 'bmp' ifTrue: [
  pic16Bit := (Form fromBMPFileNamed: fileName) asFormOfDepth: 16.
  pic16Bit display.
  aa := AllPressedImage := Form extent: OriginalBounds extent depth: 16.
+ blt := BitBlt toForm: aa.
- blt := BitBlt current toForm: aa.
  blt sourceForm: pic16Bit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0@0; copyBits.
  aa mapColor: Color transparent to: Color black.
  ].
  "Collect all the images for the buttons in the on state"
  self allMorphsDo: [:button | | on |
  (button isKindOf: ThreePhaseButtonMorph) ifTrue: [
  type = 'gif' ifTrue: [on := ColorForm extent: button extent depth: 8.
  on colors: pic16Bit colors]
  ifFalse: [on := Form extent: button extent depth: 16].
  on copy: (0@0 extent: button extent)
  from: (button topLeft - self topLeft) in: aa rule: Form over.
  button pressedImage: on]].
  self invalidRect: bounds.
 
  !

Item was changed:
  ----- Method: PaintBoxMorph>>loadoffImage: (in category 'initialization') -----
  loadoffImage: fileName
  "Read in and convert the background image for the paintBox.  All
  buttons off.  A .bmp 24-bit image."
  " Prototype loadoffImage: 'roundedPalette3.bmp' "
 
  | pic16Bit blt type getBounds |
  type := 'bmp'.  " gif or bmp  "
  getBounds := 'fromPic'. "fromUser = draw out rect of paintbox on image"
  "fromOB = just read in new bits, keep same size and place as last time."
  "fromPic = picture is just the PaintBox, use its bounds"
  type = 'gif' ifTrue: [
  pic16Bit "really 8" := GIFReadWriter formFromFileNamed: fileName.
  getBounds = 'fromUser' ifTrue: ["Just first time, collect the bounds"
  pic16Bit display.
  OriginalBounds := Rectangle fromUser].
  getBounds = 'fromPic' ifTrue: [OriginalBounds := pic16Bit boundingBox].
  ].
  "Use OriginalBounds as it was last time"
  type = 'bmp' ifTrue: [
  pic16Bit := (Form fromBMPFileNamed: fileName) asFormOfDepth: 16.
  getBounds = 'fromUser' ifTrue: ["Just first time, collect the bounds"
  pic16Bit display.
  OriginalBounds := Rectangle fromUser].
  "Use OriginalBounds as it was last time"
  (getBounds = 'fromPic') ifTrue: [OriginalBounds := pic16Bit boundingBox].
  AllOffImage := Form extent: OriginalBounds extent depth: 16.
  ].
 
  type = 'gif' ifTrue: [
  AllOffImage := ColorForm extent: OriginalBounds extent depth: 8.
  AllOffImage colors: pic16Bit colors].
 
+ blt := BitBlt toForm: AllOffImage.
- blt := BitBlt current toForm: AllOffImage.
  blt sourceForm: pic16Bit; combinationRule: Form over;
  sourceRect: OriginalBounds; destOrigin: 0@0; copyBits.
 
  type = 'bmp' ifTrue: [AllOffImage mapColor: Color transparent to: Color black].
  self image: AllOffImage.
  self invalidRect: bounds.
 
  !

Item was changed:
  ----- Method: ScreeningMorph>>fullDrawOn: (in category 'drawing') -----
  fullDrawOn: aCanvas
  | mergeForm |
  submorphs isEmpty ifTrue: [^super fullDrawOn: aCanvas].
  (aCanvas isVisible: self fullBounds) ifFalse: [^self].
  (submorphs size = 1 or: [displayMode == #showScreenOnly])
  ifTrue: [^aCanvas fullDrawMorph: self screenMorph].
  displayMode == #showSourceOnly
  ifTrue: [^aCanvas fullDrawMorph: self sourceMorph].
  displayMode == #showScreenOverSource
  ifTrue:
  [aCanvas fullDrawMorph: self sourceMorph.
  ^aCanvas fullDrawMorph: self screenMorph].
  displayMode == #showScreened
  ifTrue:
  [aCanvas fullDrawMorph: self screenMorph.
  self flag: #fixCanvas. "There should be a more general way than this"
  mergeForm := self sourceMorph
  imageFormForRectangle: self screenMorph bounds.
+ (BitBlt toForm: mergeForm)
- (BitBlt current toForm: mergeForm)
  copyForm: self screenForm
  to: 0 @ 0
  rule: Form and
  colorMap: (Bitmap with: 0 with: 4294967295).
  aCanvas paintImage: mergeForm at: self screenMorph position]!