ruffle icon indicating copy to clipboard operation
ruffle copied to clipboard

Actionscript Tracking: flash.display.BitmapData

Open Dinnerbone opened this issue 5 years ago • 3 comments

This is the tracking issue for flash.display.BitmapData in AVM1. We will check off each item of progress as appropriate, and fill in any relevant or missing information as we continue development of Ruffle.

Legend

Each checkbox is independent of another. It's entirely possible for something to be tested but not exist yet, or for us to believe that it's completely functional but we haven't made enough tests to prove it.

"Property Exists"

This means the item exists, but may not necessarily be fully implemented.

"Has Test Coverage"

This means that we believe that we have a good test coverage of this item, regardless of if those tests pass. It's okay to have tests available but not implement the item yet.

"Completely Functional"

This means we believe that the item is completely implemented, and no more work needs to be done towards making it functional.

flash.display.BitmapData

Static Methods

loadBitmap(id)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

Properties

width : Number

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

height : Number

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

transparent : Boolean

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

rectangle : Rectangle

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

Methods

BitmapData(width, height, transparent, fillColor)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

clone()

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

getPixel(x, y)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

getPixel32(x, y)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

setPixel(x, y, color)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

setPixel32(x, y, color)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

applyFilter(sourceBitmap, sourceRect, destPoint, filter)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

colorTransform(rect, colorTransform)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

copyChannel(sourceBitmap, sourceRect, destPoint, sourceChannel, destChannel)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

copyPixels(sourceBitmap, sourceRect, destPoint, alphaBitmap, alphaPoint, mergeAlpha)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

dispose()

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

draw(source, matrix, colorTransform, blendMode, clipRect, smooth)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

fillRect(rect, color)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

floodFill(x, y, color)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

generateFilterRect(sourceRect, filter)

  • [x] Property Exists
  • [ ] Has Test Coverage
  • [ ] Completely Functional

getColorBoundsRect(mask, color, findColor)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

hitTest(firstPoint, firstAlphaThreshold, secondObject, secondBitmapPoint, secondAlphaThreshold)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

merge(sourceBitmap, sourceRect, destPoint, redMult, greenMult, blueMult, alphaMult)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

noise(randomSeed, low, high, channelOptions, grayScale)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

paletteMap(sourceBitmap, sourceRect, destPoint, redArray, greenArray, blueArray, alphaArray)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

perlinNoise(baseX, baseY, numOctaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offsets)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

pixelDissolve(sourceBitmap, sourceRect, destPoint, randomSeed, numberOfPixels, fillColor)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

scroll(x, y)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

threshold(sourceBitmap, sourceRect, destPoint, operation, threshold, color, mask, copySource)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

compare(otherBitmapData)

  • [x] Property Exists
  • [x] Has Test Coverage
  • [x] Completely Functional

Dinnerbone avatar Jan 11 '20 22:01 Dinnerbone

I made a strip down example of what I'm doing to load png from an external swf library. Can't wait to see that working as I'm using this method in several of my games: https://www.txori.com/stuff/ruffle/

Txori avatar Oct 10 '20 14:10 Txori

draw has been implemented.

Lord-McSweeney avatar Jan 26 '23 20:01 Lord-McSweeney

AVM1 pixelDissolve() should be completely functional and have good test coverage.

iwannabethedev avatar May 20 '23 23:05 iwannabethedev