Marcel Taeumel uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-mt.1748.mcz ==================== Summary ==================== Name: Morphic-mt.1748 Author: mt Time: 13 April 2021, 4:58:42.939381 pm UUID: c321b488-2e30-7d4d-b0be-79d866ac5ce0 Ancestors: Morphic-nice.1747 Complements MorphicExtras-mt.289 =============== Diff against Morphic-nice.1747 =============== Item was removed: - ----- Method: Form class>>exampleColorSees (in category '*Morphic-examples') ----- - exampleColorSees - "Form exampleColorSees" - "First column as above shows the sneaky red/yellow pirate sneaking up on the blue/peach galleon. - Second column shows the 1bpp made from the red/yellow/transparent - white -> ignore this, black -> test this - Third shows the hit area - where red touches blue - superimposed on the original scene. - Fourth column is the tally of hits via the old algorithm - Last column shows the tally of hits via the new prim" - - | formA formB maskA offset tally map intersection left top dCanvas sensitiveColor soughtColor index | - formA := formB := maskA := offset := tally := map := intersection := nil. "just to shut up the compiler when testing" - Project current world restoreMorphicDisplay; doOneCycle. - - sensitiveColor := Color red. - soughtColor := Color blue. - - top := 50. - dCanvas := FormCanvas on: Display. - -50 to: 80 by: 10 do:[:p| - offset:= p@0. "vary this to check different states" - left := 10. - - formA := (Form extent: 100@50 depth: 32) asFormOfDepth: 16 "so we can try original forms of other depths". - formB := Form extent: 100@50 depth: 32. - - "make a red square in the middle of the form" - (FormCanvas on: formA) fillRectangle: (25@25 extent: 50@5) fillStyle: sensitiveColor. - (FormCanvas on: formA) fillRectangle: (25@30 extent: 50@5) fillStyle: Color transparent. - (FormCanvas on: formA) fillRectangle: (25@35 extent: 50@50) fillStyle: Color yellow. - "formA displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - "make a blue block on the right half of the form" - (FormCanvas on: formB) fillRectangle: (50@0 extent: 50@100) fillStyle: soughtColor. - (FormCanvas on: formB) fillRectangle: (60@0 extent: 10@100) fillStyle: Color palePeach. - "formB displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - intersection := (formA boundingBox translateBy: offset) intersect: (formB boundingBox). - - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150. - - maskA := Form extent: intersection extent depth: 1. - - map := Bitmap new: (1 bitShift: (formA depth min: 15)). - map at: (index := sensitiveColor indexInMap: map) put: 1. - - maskA copyBits: (intersection translateBy: offset negated) from: formA at: 0@0 colorMap: map. - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. left := left + 150. - - "intersect world pixels of the color we're looking for with sensitive pixels mask" - map at: index put: 0. "clear map and reuse it" - map at: (soughtColor indexInMap: map) put: 1. - - maskA - copyBits: intersection - from: formB at: 0@0 clippingBox: formB boundingBox - rule: Form and - fillColor: nil - map: map. - - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 170. - - (maskA tallyPixelValues at: 2) asString asDisplayText displayOn: Display at: left@(top +20). - left := left + 70. - - "now try using the new primitive" - tally := (BitBlt - destForm: formB - sourceForm: formA - fillColor: nil - combinationRule: 3 "really ought to work with nil but prim code checks" - destOrigin: intersection origin - sourceOrigin: (offset negated max: 0@0) - extent: intersection extent - clipRect: intersection) - primCompareColor: ((sensitiveColor pixelValueForDepth: formA depth) ) to: ((soughtColor pixelValueForDepth: formB depth) ) test: (Form compareMatchColor bitOr: Form compareTallyFlag). - tally asString asDisplayText displayOn: Display at: left@(top +20). - top:= top + 60]! Item was removed: - ----- Method: Form class>>exampleTouchTest (in category '*Morphic-examples') ----- - exampleTouchTest - "Form exampleTouchTest" - "Demonstrate the algorithm used in Scratch code to determine if a sprite's non-transparent pixels touch a - non-transparent pixel of the background upon which it is displayed. - First column shows a form with a red block in the midst of transparent area sneaking up on a form with a transparent LHS and blue RHS. The green frame shows the intersection area. - Second column shows in grey the part of the red that is within the intersection. - Third column shows in black the blue that is within the intersection. - Fourth column shows just the A touching B area. - Fifth column is the tally of hits via the old algorithm - Last column shows the tally of hits via the new prim" - |formA formB maskA maskB offset tally map intersection left top dCanvas| - formA := formB := maskA := maskB := offset := tally := map := intersection := nil. "just to shut up the compiler when testing" - - Project current world restoreMorphicDisplay; doOneCycle. - - top := 50. - dCanvas := FormCanvas on: Display. - -50 to: 80 by: 10 do:[:p| - offset:= p@0. "vary this to check different states" - left := 10. - - formA := Form extent: 100@50 depth: 32. - formB := Form extent: 100@50 depth: 16. - - "make a red square in the middle of the form" - (FormCanvas on: formA) fillRectangle: (25@25 extent: 50@5) fillStyle: Color yellow. - (FormCanvas on: formA) fillRectangle: (25@30 extent: 50@5) fillStyle: Color transparent. - (FormCanvas on: formA) fillRectangle: (25@35 extent: 50@50) fillStyle: Color red. - "formA displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - "make a blue block on the right half of the form" - (FormCanvas on: formB) fillRectangle: (50@0 extent: 50@100) fillStyle: Color blue. - (FormCanvas on: formB) fillRectangle: (60@0 extent: 10@100) fillStyle: Color palePeach. - "formB displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - intersection := (formA boundingBox translateBy: offset) intersect: (formB boundingBox). - - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150. - - maskA := Form extent: intersection extent depth: 2. - formA displayOn: maskA at: offset - intersection origin rule: Form paint. - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150. - - maskB := Form extent: intersection extent depth: 2. - formB displayOn: maskB at: intersection origin negated rule: Form paint. - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskB displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150. - - map := Bitmap new: 4 withAll: 1. - map at: 1 put: 0. "transparent" - - maskA copyBits: maskA boundingBox from: maskA at: 0@0 colorMap: map. - "maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150." - - maskB copyBits: maskB boundingBox from: maskB at: 0@0 colorMap: map. - "maskB displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150." - - maskB displayOn: maskA at: 0@0 rule: Form and. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 170. - - (maskA boundingBox area -( maskA tallyPixelValues at: 1)) asString asDisplayText displayOn: Display at: left@(top +20). - left := left + 70. - - "now try using the new primitive" - tally := (BitBlt - destForm: formB - sourceForm: formA - fillColor: nil - combinationRule: 3 "really ought to work with nil but prim code checks" - destOrigin: intersection origin - sourceOrigin: (offset negated max: 0@0) - extent: intersection extent - clipRect: intersection) - primCompareColor: ((Color transparent pixelValueForDepth: formA depth) bitAnd: 16rFFFFFF) to: ((Color transparent pixelValueForDepth: formB depth) bitAnd: 16rFFFFFF) test: (Form compareNotColorANotColorB bitOr: Form compareTallyFlag). - tally asString asDisplayText displayOn: Display at: left@(top +20). - top:= top + 60]! Item was removed: - ----- Method: Form class>>exampleTouchingColor (in category '*Morphic-examples') ----- - exampleTouchingColor - "Form exampleTouchingColor" - "Demonstrate the algorithm used in Scratch code to determine if a sprite's non-transparent pixels touch a - particular color pixel of the background upon which it is displayed. - First column as above shows the sneaky red/yellow pirate sneaking up on the blue/peach galleon. - Second column shows the 1bpp made from the red/yellow/transparent - white -> ignore this, black -> test this - Third shows the hit area (black) superimposed on the original scene - Fourth column is the tally of hits via the old algorithm - Last column shows the tally of hits via the new prim" - |formA formB maskA offset tally map intersection left top dCanvas ignoreColor soughtColor| - formA := formB := maskA := offset := tally := map := intersection := nil. "just to shut up the compiler when testing" - Project current world restoreMorphicDisplay; doOneCycle. - - ignoreColor := Color transparent. - soughtColor := Color blue. - - top := 50. - dCanvas := FormCanvas on: Display. - -50 to: 80 by: 10 do:[:p| - offset:= p@0. "vary this to check different states" - left := 10. - - formA := (Form extent: 100@50 depth: 32) asFormOfDepth: 16 "so we can try original forms of other depths". - formB := Form extent: 100@50 depth: 32. - - "make a red square in the middle of the form" - (FormCanvas on: formA) fillRectangle: (25@25 extent: 50@5) fillStyle: Color red. - (FormCanvas on: formA) fillRectangle: (25@30 extent: 50@5) fillStyle: Color transparent. - (FormCanvas on: formA) fillRectangle: (25@35 extent: 50@50) fillStyle: Color yellow. - "formA displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - "make a blue block on the right half of the form" - (FormCanvas on: formB) fillRectangle: (50@0 extent: 50@100) fillStyle: soughtColor. - (FormCanvas on: formB) fillRectangle: (60@0 extent: 10@100) fillStyle: Color palePeach. - "formB displayOn: Display at: left@top rule: Form paint. - dCanvas frameRectangle: (left@top extent: formA extent) width:2 color: Color green. - left := left + 150." - - intersection := (formA boundingBox translateBy: offset) intersect: (formB boundingBox). - - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 150. - - maskA := Form extent: intersection extent depth: 1. - - map := Bitmap new: (1 bitShift: (formA depth min: 15)). - map atAllPut: 1. - map at: ( ignoreColor indexInMap: map) put: 0. - - maskA copyBits: (intersection translateBy: offset negated) from: formA at: 0@0 colorMap: map. - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. left := left + 150. - - "intersect world pixels of the color we're looking for with sensitive pixels mask" - map atAllPut: 0. "clear map and reuse it" - map at: (soughtColor indexInMap: map) put: 1. - - maskA - copyBits: intersection - from: formB at: 0@0 clippingBox: formB boundingBox - rule: Form and - fillColor: nil - map: map. - - formB displayOn: Display at: left@top rule: Form paint. - formA displayOn: Display at: (left@top) + offset rule: Form paint. - maskA displayOn: Display at: (left@top) + intersection origin rule: Form paint. - dCanvas frameRectangle: (intersection translateBy: left@top) width:2 color: Color green. - left := left + 170. - - (maskA tallyPixelValues at: 2) asString asDisplayText displayOn: Display at: left@(top +20). - left := left + 70. - - "now try using the new primitive" - tally := (BitBlt - destForm: formB - sourceForm: formA - fillColor: nil - combinationRule: 3 "really ought to work with nil but prim code checks" - destOrigin: intersection origin - sourceOrigin: (offset negated max: 0@0) - extent: intersection extent - clipRect: intersection) - primCompareColor: ((ignoreColor pixelValueForDepth: formA depth) bitAnd: 16rFFFFFF) to: ((soughtColor pixelValueForDepth: formB depth) bitAnd: 16rFFFFFF) test: (Form compareNotColorAMatchColorB bitOr: Form compareTallyFlag). - tally asString asDisplayText displayOn: Display at: left@(top +20). - top:= top + 60]! Item was removed: - ----- Method: MenuIcons class>>backIconContents (in category 'private - icons') ----- - backIconContents - "Private - Method generated with the content of the file /home/dgd/back.png" - ^ 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABHNCSVQICAgIfAhkiAAAABF0 - RVh0U29mdHdhcmUAU29kaXBvZGmU4xfQAAADRElEQVRIie3WW4hVVRgH8N/e+5y56aCizpnR - jJzUCNFqLhqEWGlQDz0mGEJBCSL1Ur1YZA9BSIZGZg9dVBoo0B5D6qGwOzVaairZiJiKZ0hs - 1NE5c2bm7N3DmXF2zQyO5lv+YbFZa/2/77+/y9prcxNpNFnoHi3/xUU4LtYiszX5WGC/ULsW - m69XMLgqo8UzEhtRlVpNJJb62Tc3TnCxnH7bBR65sra0nt8vkC9Ah9Ay7U5d2Z+jUrUaoRqx - Hr/qGp9gk0cFPsB0UFfFugUsybH1N7YfS7O7UTE4/u2vgDze02ijXUrRCLFmzwtswwRhwGO3 - Wb55tcWNzQ75g7+KfNmZtqhEZoyXz2IKlutSIe+LNCnQ7A08NxRVuKHVywvXWG+lDXZ5SRs9 - A7Qd53g3pSQlG1GboTY7PKojNh/hXBFK+s0oC85XocoOrASzJ6p9+wE7c69I8K7PfKrdgBK4 - XYNWc+VMFgwGlkgU9Svo06OooOiksw7u3MPrhwySVmVAlTasAAummPzWg16oXWGdD+13fESe - ulxSZ5I7zTJHg1tNVxIr6FNQ1KlLuw7fOkJ9dTqHDwWarBJoA7lqPlqiflJO58gGuz78cJZn - fxya/ZQRutdQKZY1MKlifGJJzEA/A32UUs+4NDhispVcjtMRdmeU7BBag8iJM5yOmDmPYIwj - 2pXn5MGy2LhQl3pJF0O/2CuwBXzfS0cnR7+j9/IoUSWcPnINYuhNcRN/DnXpRFUOoFFNwKYa - wgJ1s2mYS1TuLedOceLAsIMwIsoSZEhC4oCBgD70xpzB9ktcGExr4PHhvLVqFPsaM02NeC2L - XjKVTJtVdp7vKNfufB1bznO2RLE03lhj5P5ZqBZ3SHyFnFsyrM+SFEaabqrm6CjrY6Mf79tn - 7cjOaDVfbA+mmRzyajUVqXpGE3g6NQ88IXZYKFISCUVioUAfetDjolOOKZbpo6HV3WK70SCL - F2uZ0V3eOzCFd64cm8/t8/C1hDr29dSqXuwT3AfuyjIvy66etPVT9tp2YwShWRZvYu0ouydd - MG8oVePFyOspjbxY3m4znMD9hm/90xJPOuzYmLZj4Oq/GENYZKqS1QKxPlsdNMqX4Sb+D/gb - LOgMCUjhiw4AAAAASUVORK5CYII='! Item was changed: + ----- Method: MenuIcons class>>blankIconOfWidth: (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>blankIconOfWidth: (in category 'private - icons') ----- blankIconOfWidth: aNumber ^ Icons at: ('blankIcon-' , aNumber asString) asSymbol ifAbsentPut: [Form extent: aNumber @ 1 depth:8]! Item was changed: + ----- Method: MenuIcons class>>configurationIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>configurationIcon (in category 'private - icons') ----- configurationIcon "Private - Generated method" ^ Icons at: #'configuration' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self configurationIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>confirmIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>confirmIcon (in category 'private - icons') ----- confirmIcon "Private - Generated method" ^ Icons at: #'confirm' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self confirmIconContents readStream) ].! Item was removed: - ----- Method: MenuIcons class>>forwardIconContents (in category 'private - icons') ----- - forwardIconContents - "Private - Method generated with the content of the file /home/dgd/forward.png" - ^ 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABHNCSVQICAgIfAhkiAAAABF0 - RVh0U29mdHdhcmUAU29kaXBvZGmU4xfQAAADXUlEQVRIie3WX2iVZRwH8M97znv2f1o2Fy4r - hxMvhhCeTewmJcuEbiLLP0GECoJWEIlYUBoR3QTVhRRIXffvJupiBF4oRCZukq5Na4LhlKnT - 6XE7c/P8ebs4O8fNlh3nVdEPHnif5/d8f9/3+33e53le/usRvyv0UknzzDXgQrmQ2IzJkt4V - 6BT4xVJfWKa5HFgwI7J27fIOmerQmMBOnfbeGWGrChXmoVZeSlZKjzQisEyznA4s1lhFWwMd - Z4tZIh0SNjk8vc03CZO2Yzcap32R6WLLIrYt5sgl3jvOudFiZlBki6O+vxVSsKTNK9iLurLJ - 4PkFLKy38YE1Wp5b7uT1P+hJEakV2KDJiAGHpipMSmAIdeoT7GwlGzGaJT2pjeUK49l8Aflw - HZtaqI57xwv22OhD33qj+2OZXYe5OFaYF/nIUTtMmB5ot0LeAbB5kSXbn9LqIRXCUksIBZOE - Dxl2RJ8T+ktjKy2x1RpN5lh7aY/Lr+6n71qR9EvjXtLjRijnyVKt+TVOOqtNiyc84kENQnGJ - Cef7XXLKgGtG9Ruc4u4B3Q7o1mKelxue9ennCYOv76fzMoENqmXxYiDpK6wD7y9ldVPZS3i7 - mKPe0PAQ6w/etDfwTIjh0qx0mounuXEdAUFAECMekqgkrCCsJFFReA7+/twYMkx9guVz+W7C - +rwVIVKlWUGK/vPlSQgC5rfSuGD6fD7H6V76SvXGBPbFBJM2aCpTHhlEEQO/E+X/mhu+TO9B - jl3lxETNyG5dTsbdb1xgK+gaY3YdFdXkagiqCWuIVxFWEYbEYhMkUUFFWEntPYWimXHOdHO2 - l5Fa3koVyQ5aaJteUYCYpAtoKFtdTYwd9zF/sGBtY3OBfOgcuSz5Wbw2zHgEXVilq7B0cUSa - jKEdNWURZiL6MqyMCkrTVxhNFZTnZ7MrzWgeesSt0ulKETr1GFviXjUqkJAVE8rLysnIqZKT - 0SzmR1SCfXVEIzfxV+t5e4QbEZzCY7oMTKa48+sp6TNsAetn8fi1wvY4Vssnw8Vb41c8rcuZ - W+EzIVyNH0r99gT9Oc6XvtavZWx2XHo6+Mwu4DY/iTx6y2hO5E1HfXA76Ex/MTbh50n930RW - /xMZM1VYxLZZK2/MQh2+kbuLWv/Hvyj+BJaPHpqZ0oo8AAAAAElFTkSuQmCC'! Item was changed: + ----- Method: MenuIcons class>>fugueBroomIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>fugueBroomIcon (in category 'private - icons') ----- fugueBroomIcon ^ Icons at: #broom ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self fugueBroomIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>fugueDocumentClockIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>fugueDocumentClockIcon (in category 'private - icons') ----- fugueDocumentClockIcon ^ Icons at: #documentClock ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self fugueDocumentClockIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>fugueUserSilhouetteQuestionIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>fugueUserSilhouetteQuestionIcon (in category 'private - icons') ----- fugueUserSilhouetteQuestionIcon ^ Icons at: #userSilhouetteQuestion ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self fugueUserSilhouetteQuestionIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>fullScreenIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>fullScreenIcon (in category 'private - icons') ----- fullScreenIcon "Private - Generated method" ^ Icons at: #'fullScreen' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self fullScreenIconContents readStream) ].! Item was removed: - ----- Method: MenuIcons class>>helpIconContents (in category 'private - icons') ----- - helpIconContents - "Private - Method generated with the content of the file /home/dgd/help.png" - ^ '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 - W2tds0/6AAAAAElFTkSuQmCC'! Item was changed: + ----- Method: MenuIcons class>>homeIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>homeIcon (in category 'private - icons') ----- homeIcon "Private - Generated method" ^ Icons at: #'home' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self homeIconContents readStream) ].! Item was changed: ----- Method: MenuIcons class>>initializeIcons (in category 'class initialization') ----- initializeIcons "self initialize" + - | methods | Icons := IdentityDictionary new. - methods := self class selectors - select: [:each | '*Icon' match: each asString]. - methods - do: [:each | Icons - at: each - put: (MenuIcons perform: each)]. self initializeTranslations. ! Item was changed: + ----- Method: MenuIcons class>>jumpIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>jumpIcon (in category 'private - icons') ----- jumpIcon "Private - Generated method" ^ Icons at: #'jump' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self jumpIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>objectsIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>objectsIcon (in category 'private - icons') ----- objectsIcon "Private - Generated method" ^ Icons at: #'objects' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self objectsIconContents readStream) ].! Item was removed: - ----- Method: MenuIcons class>>openIconContents (in category 'private - icons') ----- - openIconContents - "Private - Method generated with the content of the file /home/dgd/open.png" - ^ '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 - 0/8ClPo3sCGCJrEAAAAASUVORK5CYII='! Item was changed: + ----- Method: MenuIcons class>>paintIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>paintIcon (in category 'private - icons') ----- paintIcon "Private - Generated method" ^ Icons at: #'paint' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self paintIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>projectIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>projectIcon (in category 'private - icons') ----- projectIcon "Private - Generated method" ^ Icons at: #'project' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self projectIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>publishIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>publishIcon (in category 'private - icons') ----- publishIcon "Private - Generated method" ^ Icons at: #'publish' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self publishIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallBackIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallBackIcon (in category 'private - icons') ----- smallBackIcon "Private - Generated method" ^ Icons at: #'smallBack' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallBackIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallDoItIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallDoItIcon (in category 'private - icons') ----- smallDoItIcon "Private - Generated method" ^ Icons at: #'smallDoIt' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallDoItIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallExpertIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallExpertIcon (in category 'private - icons') ----- smallExpertIcon "Private - Generated method" ^ Icons at: #'smallExpert' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallExpertIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallExportIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallExportIcon (in category 'private - icons') ----- smallExportIcon "Private - Generated method" ^ Icons at: #'smallExport' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallExportIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallForwardIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallForwardIcon (in category 'private - icons') ----- smallForwardIcon "Private - Generated method" ^ Icons at: #'smallForward' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallForwardIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallFullScreenIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallFullScreenIcon (in category 'private - icons') ----- smallFullScreenIcon "Private - Generated method" ^ Icons at: #'smallFullScreen' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallFullScreenIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallInspectItIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallInspectItIcon (in category 'private - icons') ----- smallInspectItIcon "Private - Generated method" ^ Icons at: #'smallInspectIt' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallInspectItIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallJumpIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallJumpIcon (in category 'private - icons') ----- smallJumpIcon "Private - Generated method" ^ Icons at: #'smallJump' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallJumpIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallLanguageIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallLanguageIcon (in category 'private - icons') ----- smallLanguageIcon "Private - Generated method" ^ Icons at: #'smallLanguage' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallLanguageIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallLoadProjectIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallLoadProjectIcon (in category 'private - icons') ----- smallLoadProjectIcon "Private - Generated method" ^ Icons at: #'smallLoadProject' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallLoadProjectIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallNewIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallNewIcon (in category 'private - icons') ----- smallNewIcon "Private - Generated method" ^ Icons at: #'smallNew' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallNewIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallObjectCatalogIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallObjectCatalogIcon (in category 'private - icons') ----- smallObjectCatalogIcon "Private - Generated method" ^ Icons at: #'smallObjectCatalog' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallObjectCatalogIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallObjectsIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallObjectsIcon (in category 'private - icons') ----- smallObjectsIcon "Private - Generated method" ^ Icons at: #'smallObjects' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallObjectsIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallPaintIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallPaintIcon (in category 'private - icons') ----- smallPaintIcon "Private - Generated method" ^ Icons at: #'smallPaint' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallPaintIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallPublishIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallPublishIcon (in category 'private - icons') ----- smallPublishIcon "Private - Generated method" ^ Icons at: #'smallPublish' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallPublishIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallSelectIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallSelectIcon (in category 'private - icons') ----- smallSelectIcon "Private - Generated method" ^ Icons at: #'smallSelect' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallSelectIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallSqueakIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallSqueakIcon (in category 'private - icons') ----- smallSqueakIcon "Private - Generated method" ^ Icons at: #'smallSqueak' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallSqueakIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallUpdateIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallUpdateIcon (in category 'private - icons') ----- smallUpdateIcon "Private - Generated method" ^ Icons at: #'smallUpdate' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallUpdateIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>smallVolumeIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>smallVolumeIcon (in category 'private - icons') ----- smallVolumeIcon "Private - Generated method" ^ Icons at: #'smallVolume' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self smallVolumeIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>squeakIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>squeakIcon (in category 'private - icons') ----- squeakIcon "Private - Generated method" ^ Icons at: #'squeak' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self squeakIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>volumeIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>volumeIcon (in category 'private - icons') ----- volumeIcon "Private - Generated method" ^ Icons at: #'volume' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self volumeIconContents readStream) ].! Item was changed: + ----- Method: MenuIcons class>>windowIcon (in category 'accessing - icons') ----- - ----- Method: MenuIcons class>>windowIcon (in category 'private - icons') ----- windowIcon "Private - Generated method" ^ Icons at: #'window' ifAbsentPut:[ Form fromBinaryStream: (Base64MimeConverter mimeDecodeToBytes: self windowIconContents readStream) ].! |
Free forum by Nabble | Edit this page |