Squeak Class Documentation category index | class index  
 
FlashMorphReader
  category: Balloon-MMFlash Import
  superclass: FlashFileReader
  subclasses:

No comment. Sorry.

instance methods
  composing morphs
  recordMorphBoundary:
recordMorphFill:color1:color2:
recordMorphFill:matrix1:matrix2:id:clipped:
recordMorphFill:matrix1:ramp1:matrix2:ramp2:linear:
recordMorphLineStyle:width1:width2:color1:color2:
recordMorphShapeEnd:
recordMorphShapeStart:srcBounds:dstBounds:

  composing shapes
  recordCurveSegmentTo:with:
recordEndSubshape
recordFillStyle0:
recordFillStyle1:
recordLineSegmentBy:
recordLineStyle:
recordMoveTo:
recordShapeEnd:
recordShapeProperty:length:
recordShapeStart:bounds:

  computing shapes
  addLineFrom:to:via:
beginShape
computeFillLists
computeLineStyleLists
endShape

  defining buttons
  recordButton:actions:condition:
recordButton:character:state:layer:matrix:colorTransform:
recordButton:sound:info:state:
recordButton:trackAsMenu:
recordDefineButton:
recordEndButton:

  defining sounds
  flushStreamingSound
recordSound:data:
recordSoundStreamBlock:
recordSoundStreamHead:stereo:bitsPerSample:sampleCount:compressed:
recordStartSound:info:

  defining styles
  recordBitmapFill:matrix:id:clipped:
recordGradientFill:matrix:ramp:linear:
recordLineStyle:width:color:
recordSolidFill:color:

  defining text
  recordFontShapeEnd:with:
recordFontShapeStart:with:
recordNextChar:advanceWidth:
recordTextChange:color:xOffset:yOffset:height:
recordTextEnd:
recordTextStart:bounds:matrix:

  initialize
  doLog
logShapes
on:

  misc
  recordBackgroundColor:
recordBeginSprite:frames:
recordBitmap:data:
recordEndSprite:
recordFrameActions:
recordFrameCount:
recordFrameLabel:
recordFrameRate:
recordGlobalBounds:
recordMorph:depth:ratio:
recordMoveObject:name:depth:matrix:colorMatrix:ratio:
recordPlaceObject:name:depth:matrix:colorMatrix:ratio:
recordRemoveObject:depth:
recordShowFrame

  private
  createSound:info:
myActiveMorphs
myFlush
newMorphFromShape:
oldMorphFromShape:
placeGlyph:at:
removeActiveMorph:
resizeGlyph:to:

  reading
  processFile
processFileAsync
processFileAsync:
processFileContents

  testing
  isStreaming

class methods
  no messages
 

instance methods
  composing morphs top  
 

recordMorphBoundary:


 

recordMorphFill:color1:color2:


 

recordMorphFill:matrix1:matrix2:id:clipped:


 

recordMorphFill:matrix1:ramp1:matrix2:ramp2:linear:


 

recordMorphLineStyle:width1:width2:color1:color2:


 

recordMorphShapeEnd:


 

recordMorphShapeStart:srcBounds:dstBounds:


  composing shapes top  
 

recordCurveSegmentTo:with:


 

recordEndSubshape

A new subshape begins with a full set of line and fill styles


 

recordFillStyle0:


 

recordFillStyle1:


 

recordLineSegmentBy:


 

recordLineStyle:


 

recordMoveTo:


 

recordShapeEnd:


 

recordShapeProperty:length:


 

recordShapeStart:bounds:


  computing shapes top  
 

addLineFrom:to:via:


 

beginShape


 

computeFillLists

Compute the fill index lists


 

computeLineStyleLists

Compute the line style index lists.
Each line style will be splitted into two parts, the width and the fill.
Then, the fills will be added to the fillStyles and the indexes will be adjusted.
Finally, we compute two arrays containing the width of each line and the
fill style of each line


 

endShape


  defining buttons top  
 

recordButton:actions:condition:

Associate an action list with the given button:
buttonId: global ID of the button
actions: Collection of MessageSends (e.g., actions)
condition: bit mask describing when the actions should be applied
General conditions:
1 - IdleToOverUp (Mouse enter up)
2 - OverUpToIdle (Mouse exit up)
4 - OverUpToOverDown (Mouse down)
8 - OverDownToOverUp (Mouse up in)
Push button conditions:
16 - OverDownToOutDown (Mouse exit down)
32 - OutDownToOverDown (Mouse enter down)
64 - OutDownToIdle (Mouse up out)
Menu button conditions:
128 - IdleToOverDown (Mouse enter down)
256 - OverDownToIdle (Mouse exit down)


 

recordButton:character:state:layer:matrix:colorTransform:

Define the character to use for a button.
buttonId: global ID used for the button
characterId: ID of the character defining the shape for the button
state: bit mask for when to use the character
1 - default (e.g. no other state applies)
2 - display when the mouse is over the button but not pressed
4 - display when the button is pressed
8 - the area in which the mouse is supposed to be 'over' the button
layer: UNKNOWN.
matrix: Transformation to apply to the character. (Guess!)


 

recordButton:sound:info:state:

Give the button a sound


 

recordButton:trackAsMenu:

Track the button with the given ID as a menu (in contrast to a push) button. Push buttons capture the mouse until the button is released. Menu buttons don't.
Note: If defined for a button, this method will be called prior to any other #recordButton: methods.


 

recordDefineButton:

Record the definition of a new button with the given id


 

recordEndButton:

Record the end of a button definition with the given id


  defining sounds top  
 

flushStreamingSound


 

recordSound:data:


 

recordSoundStreamBlock:


 

recordSoundStreamHead:stereo:bitsPerSample:sampleCount:compressed:


 

recordStartSound:info:


  defining styles top  
 

recordBitmapFill:matrix:id:clipped:


 

recordGradientFill:matrix:ramp:linear:


 

recordLineStyle:width:color:


 

recordSolidFill:color:


  defining text top  
 

recordFontShapeEnd:with:


 

recordFontShapeStart:with:


 

recordNextChar:advanceWidth:


 

recordTextChange:color:xOffset:yOffset:height:


 

recordTextEnd:


 

recordTextStart:bounds:matrix:


  initialize top  
 

doLog


 

logShapes


 

on:


  misc top  
 

recordBackgroundColor:


 

recordBeginSprite:frames:


 

recordBitmap:data:


 

recordEndSprite:


 

recordFrameActions:

Record the list of actions executed at the next showFrame


 

recordFrameCount:


 

recordFrameLabel:

Name the current frame with the given label


 

recordFrameRate:


 

recordGlobalBounds:


 

recordMorph:depth:ratio:


 

recordMoveObject:name:depth:matrix:colorMatrix:ratio:


 

recordPlaceObject:name:depth:matrix:colorMatrix:ratio:


 

recordRemoveObject:depth:


 

recordShowFrame


  private top  
 

createSound:info:


 

myActiveMorphs


 

myFlush


 

newMorphFromShape:

Return a new character morph from the given object index.
If the character morph at objectIndex is already used, then create and return a full copy of it


 

oldMorphFromShape:

Return an existing character morph from the given object index.


 

placeGlyph:at:


 

removeActiveMorph:


 

resizeGlyph:to:


  reading top  
 

processFile

Read and process the entire file


 

processFileAsync

Read and process the entire file


 

processFileAsync:

Read and process the entire file


 

processFileContents

Process the contents of the flash file.
Assume that the header has been read before.


  testing top  
 

isStreaming

Subclasses may override this


class methods
  no messages top