You are previewing Developing Extensions for Macromedia® Flash® 8.
O'Reilly logo
Developing Extensions for Macromedia® Flash® 8

Book Description

Developing Extensions for Macromedia Flash 8 describes how to build Flash JavaScript extensions to enhance the developer’s experience while working in the Flash authoring environment. This book explains how each type of extension works and describes the JavaScript application programming interface (API) functions that Flash calls to implement the extension.

In Developing Extensions for Macromedia Flash 8, learn how to:
•    Automate repetitive tasks
•    Add custom tools to the Tools panel
•    Add Timeline effects
•    Add, remove, and modify filters that are applied to objects on the Stage
•    Manage Flash project files
•    Access, modify, and delete files and folders on the local file system

Powerful development and design tools require thorough and authoritative technical advice and documentation. When it comes to Macromedia Flash, no one is more authoritative than Macromedia Development and writing teams. Now their official documentation is available to you in printed book form. As you work, keep this guide by your side for ready access to valuable information on using Flash. We’ve designed it so that it’s easy to annotate as you progress.

Table of Contents

  1. Copyright
    1. Dedication
  2. Introduction
    1. Overview of the Macromedia Flash JavaScript API
      1. Creating JSFL files
      2. Saving JSFL files
      3. Running JSFL files
    2. What’s new in the JavaScript API
      1. New top-level methods
      2. New objects
      3. New methods and properties
      4. Other changes
      5. Deprecated properties
    3. The Flash Document Object Model
      1. The Document object
      2. Specifying the target of an action
      3. Summary of the DOM structure
    4. Sample implementations
      1. Sample Shape command
      2. Sample get and set filters command
      3. Sample PolyStar tool
      4. Sample Trace Bitmap panel
      5. Sample DLL
  3. 1. Top-Level Functions and Methods
    1. activate()
    2. alert()
    3. configureEffect()
    4. configureTool()
    5. confirm()
    6. deactivate()
    7. executeEffect()
    8. keyDown()
    9. keyUp()
    10. mouseDoubleClick()
    11. mouseDown()
    12. mouseMove()
    13. mouseUp()
    14. notifySettingsChanged()
    15. prompt()
    16. removeEffect()
    17. setCursor()
  4. 2. Objects
    1. BitmapInstance object
      1. Method summary for the BitmapInstance object
      2. Property summary for the BitmapInstance object
      3. bitmapInstance.getBits()
      4. bitmapInstance.hPixels
      5. bitmapInstance.setBits()
      6. bitmapInstance.vPixels
    2. BitmapItem object
      1. Property summary for the BitmapItem object
      2. bitmapItem.allowSmoothing
      3. bitmapItem.compressionType
      4. bitmapItem.quality
      5. bitmapItem.useImportedJPEGQuality
    3. CompiledClipInstance object
      1. Property summary for the CompiledClipInstance object
      2. compiledClipInstance.accName
      3. compiledClipInstance.actionScript
      4. compiledClipInstance.description
      5. compiledClipInstance.forceSimple
      6. compiledClipInstance.shortcut
      7. compiledClipInstance.silent
      8. compiledClipInstance.tabIndex
    4. ComponentInstance object
      1. Property summary for the ComponentInstance object
      2. componentInstance.parameters
    5. componentsPanel object
      1. Method summary for the componentsPanel object
      2. componentsPanel.addItemToDocument()
      3. componentsPanel.reload()
    6. Contour object
      1. Method summary for the Contour object
      2. Property summary for the Contour object
      3. contour.getHalfEdge()
      4. contour.interior
      5. contour.orientation
    7. Document object
      1. Method summary for the Document object
      2. Property summary for the Document object
      3. document.accName
      4. document.addDataToDocument()
      5. document.addDataToSelection()
      6. document.addFilter()
      7. document.addItem()
      8. document.addNewLine()
      9. document.addNewOval()
      10. document.addNewPublishProfile()
      11. document.addNewRectangle()
      12. document.addNewScene()
      13. document.addNewText()
      14. document.align()
      15. document.allowScreens()
      16. document.arrange()
      17. document.autoLabel
      18. document.backgroundColor
      19. document.breakApart()
      20. document.canEditSymbol()
      21. document.canRevert()
      22. document.canTestMovie()
      23. document.canTestScene()
      24. document.changeFilterOrder()
      25. document.clipCopy()
      26. document.clipCut()
      27. document.clipPaste()
      28. document.close()
      29. document.convertLinesToFills()
      30. document.convertToSymbol()
      31. document.crop()
      32. document.currentPublishProfile
      33. document.currentTimeline
      34. document.deleteEnvelope()
      35. document.deletePublishProfile()
      36. document.deleteScene()
      37. document.deleteSelection()
      38. document.description
      39. document.disableAllFilters()
      40. document.disableFilter()
      41. document.disableOtherFilters()
      42. document.distribute()
      43. document.distributeToLayers()
      44. document.documentHasData()
      45. document.duplicatePublishProfile()
      46. document.duplicateScene()
      47. document.duplicateSelection()
      48. document.editScene()
      49. document.enableAllFilters()
      50. document.enableFilter()
      51. document.enterEditMode()
      52. document.exitEditMode()
      53. document.exportPNG()
      54. document.exportPublishProfile()
      55. document.exportSWF()
      56. document.forceSimple
      57. document.frameRate
      58. document.getAlignToDocument()
      59. document.getBlendMode()
      60. document.getCustomFill()
      61. document.getCustomStroke()
      62. document.getDataFromDocument()
      63. document.getElementProperty()
      64. document.getElementTextAttr()
      65. document.getFilters()
      66. document.getMetadata()
      67. document.getSelectionRect()
      68. document.getTextString()
      69. document.getTimeline()
      70. document.getTransformationPoint()
      71. document.group()
      72. document.height
      73. document.importFile()
      74. document.importPublishProfile()
      75. document.importSWF()
      76. document.intersect()
      77. document.library
      78. document.livePreview
      79. document.match()
      80. document.mouseClick()
      81. document.mouseDblClk()
      82. document.moveSelectedBezierPointsBy()
      83. document.moveSelectionBy()
      84. document.name
      85. document.optimizeCurves()
      86. document.path
      87. document.publish()
      88. document.publishProfiles
      89. document.punch()
      90. document.removeDataFromDocument()
      91. document.removeDataFromSelection()
      92. document.removeAllFilters()
      93. document.removeFilter()
      94. document.renamePublishProfile()
      95. document.renameScene()
      96. document.reorderScene()
      97. document.resetTransformation()
      98. document.revert()
      99. document.rotateSelection()
      100. document.save()
      101. document.saveAndCompact()
      102. document.scaleSelection()
      103. document.screenOutline
      104. document.selectAll()
      105. document.selection
      106. document.selectNone()
      107. document.setAlignToDocument()
      108. document.setBlendMode()
      109. document.setCustomFill()
      110. document.setCustomStroke()
      111. document.setElementProperty()
      112. document.setElementTextAttr()
      113. document.setFillColor()
      114. document.setFilterProperty()
      115. document.setFilters()
      116. document.setInstanceAlpha()
      117. document.setInstanceBrightness()
      118. document.setInstanceTint()
      119. document.setMetadata()
      120. document.setSelectionBounds()
      121. document.setSelectionRect()
      122. document.setStroke()
      123. document.setStrokeColor()
      124. document.setStrokeSize()
      125. document.setStrokeStyle()
      126. document.setTextRectangle()
      127. document.setTextSelection()
      128. document.setTextString()
      129. document.setTransformationPoint()
      130. document.silent
      131. document.skewSelection()
      132. document.smoothSelection()
      133. document.space()
      134. document.straightenSelection()
      135. document.swapElement()
      136. document.swapStrokeAndFill()
      137. document.testMovie()
      138. document.testScene()
      139. document.timelines
      140. document.traceBitmap()
      141. document.transformSelection()
      142. document.unGroup()
      143. document.union()
      144. document.unlockAllElements()
      145. document.viewMatrix
      146. document.width
      147. document.xmlPanel()
      148. document.zoomFactor
    8. drawingLayer object
      1. Method summary for the drawingLayer object
      2. drawingLayer.beginDraw()
      3. drawingLayer.beginFrame()
      4. drawingLayer.cubicCurveTo()
      5. drawingLayer.curveTo()
      6. drawingLayer.drawPath()
      7. drawingLayer.endDraw()
      8. drawingLayer.endFrame()
      9. drawingLayer.lineTo()
      10. drawingLayer.moveTo()
      11. drawingLayer.newPath()
      12. drawingLayer.setColor()
    9. Edge object
      1. Method summary for the Edge object
      2. Property summary for the Edge object
      3. edge.getControl()
      4. edge.getHalfEdge()
      5. edge.id
      6. edge.isLine
      7. edge.setControl()
      8. edge.splitEdge()
    10. Effect object
      1. Property summary for the Effect object
      2. effect.effectName
      3. effect.groupName
      4. effect.sourceFile
      5. effect.symbolType
      6. effect.useXMLToUI
    11. Element object
      1. Method summary for the Element object
      2. Property summary for the Element object
      3. element.depth
      4. element.elementType
      5. element.getPersistentData()
      6. element.hasPersistentData()
      7. element.height
      8. element.layer
      9. element.left
      10. element.locked
      11. element.matrix
      12. element.name
      13. element.removePersistentData()
      14. element.selected
      15. element.setPersistentData()
      16. element.top
      17. element.width
    12. Fill object
      1. Property summary for the Fill object
      2. fill.color
      3. fill.colorArray
      4. fill.focalPoint
      5. fill.linearRGB
      6. fill.matrix
      7. fill.overflow
      8. fill.posArray
      9. fill.style
    13. Filter object
      1. Property summary for the Filter object
      2. filter.angle
      3. filter.blurX
      4. filter.blurY
      5. filter.brightness
      6. filter.color
      7. filter.contrast
      8. filter.distance
      9. filter.hideObject
      10. filter.highlightColor
      11. filter.hue
      12. filter.inner
      13. filter.knockout
      14. filter.name
      15. filter.quality
      16. filter.saturation
      17. filter.shadowColor
      18. filter.strength
      19. filter.type
    14. flash object (fl)
      1. Method summary for the flash object
      2. Property summary for the flash object
      3. fl.activeEffect
      4. fl.browseForFileURL()
      5. fl.browseForFolderURL()
      6. fl.closeAll()
      7. fl.closeDocument()
      8. fl.closeProject()
      9. fl.componentsPanel
      10. fl.configDirectory
      11. fl.configURI
      12. fl.contactSensitiveSelection
      13. fl.createDocument()
      14. fl.createNewDocList
      15. fl.createNewDocListType
      16. fl.createNewTemplateList
      17. fl.createProject()
      18. fl.documents
      19. fl.drawingLayer
      20. fl.effects
      21. fl.enableImmediateUpdates()
      22. fl.fileExists()
      23. fl.findDocumentIndex()
      24. fl.getAppMemoryInfo()
      25. fl.getDocumentDOM()
      26. fl.getProject()
      27. fl.mapPlayerURL()
      28. fl.Math
      29. fl.mruRecentFileList
      30. fl.mruRecentFileListType
      31. fl.objectDrawingMode
      32. fl.openDocument()
      33. fl.openProject()
      34. fl.openScript()
      35. fl.outputPanel
      36. fl.quit()
      37. fl.reloadEffects()
      38. fl.reloadTools()
      39. fl.revertDocument()
      40. fl.runScript()
      41. fl.saveAll()
      42. fl.saveDocument()
      43. fl.saveDocumentAs()
      44. fl.setActiveWindow()
      45. fl.showIdleMessage()
      46. fl.tools
      47. fl.trace()
      48. fl.version
      49. fl.xmlui
    15. FLfile object
      1. Method summary for the FLfile object
      2. FLfile.copy()
      3. FLfile.createFolder()
      4. FLfile.exists()
      5. FLfile.getAttributes()
      6. FLfile.getCreationDate()
      7. FLfile.getCreationDateObj()
      8. FLfile.getModificationDate()
      9. FLfile.getModificationDateObj()
      10. FLfile.getSize()
      11. FLfile.listFolder()
      12. FLfile.read()
      13. FLfile.remove()
      14. FLfile.setAttributes()
      15. FLfile.write()
    16. folderItem object
    17. fontItem object
    18. Frame object
      1. Method summary for the Frame object
      2. Property summary for the Frame object
      3. frame.actionScript
      4. frame.duration
      5. frame.elements
      6. frame.getCustomEase()
      7. frame.hasCustomEase
      8. frame.labelType
      9. frame.motionTweenOrientToPath
      10. frame.motionTweenRotate
      11. frame.motionTweenRotateTimes
      12. frame.motionTweenScale
      13. frame.motionTweenSnap
      14. frame.motionTweenSync
      15. frame.name
      16. frame.setCustomEase()
      17. frame.shapeTweenBlend
      18. frame.soundEffect
      19. frame.soundLibraryItem
      20. frame.soundLoop
      21. frame.soundLoopMode
      22. frame.soundName
      23. frame.soundSync
      24. frame.startFrame
      25. frame.tweenEasing
      26. frame.tweenType
      27. frame.useSingleEaseCurve
    19. HalfEdge object
      1. Method summary for the HalfEdge object
      2. Property summary for the HalfEdge object
      3. halfEdge.getEdge()
      4. halfEdge.getNext()
      5. halfEdge.getOppositeHalfEdge()
      6. halfEdge.getPrev()
      7. halfEdge.getVertex()
      8. halfEdge.id
      9. halfEdge.index
    20. Instance object
      1. Property summary for the Instance object
      2. instance.instanceType
      3. instance.libraryItem
    21. Item object
      1. Method summary for the Item object
      2. Property summary for the Item object
      3. item.addData()
      4. item.getData()
      5. item.hasData()
      6. item.itemType
      7. item.linkageClassName
      8. item.linkageExportForAS
      9. item.linkageExportForRS
      10. item.linkageExportInFirstFrame
      11. item.linkageIdentifier
      12. item.linkageImportForRS
      13. item.linkageURL
      14. item.name
      15. item.removeData()
    22. Layer object
      1. Property summary for the Layer object
      2. layer.color
      3. layer.frameCount
      4. layer.frames
      5. layer.height
      6. layer.layerType
      7. layer.locked
      8. layer.name
      9. layer.outline
      10. layer.parentLayer
      11. layer.visible
    23. library object
      1. Method summary for the library object
      2. Property summary for the library object
      3. library.addItemToDocument()
      4. library.addNewItem()
      5. library.deleteItem()
      6. library.duplicateItem()
      7. library.editItem()
      8. library.expandFolder()
      9. library.findItemIndex()
      10. library.getItemProperty()
      11. library.getItemType()
      12. library.getSelectedItems()
      13. library.importEmbeddedSWF()
      14. library.itemExists()
      15. library.items
      16. library.moveToFolder()
      17. library.newFolder()
      18. library.renameItem()
      19. library.selectAll()
      20. library.selectItem()
      21. library.selectNone()
      22. library.setItemProperty()
      23. library.updateItem()
    24. Math object
      1. Method summary for the Math object
      2. Math.concatMatrix()
      3. Math.invertMatrix()
      4. Math.pointDistance()
    25. Matrix object
      1. Property summary for the Matrix object
      2. matrix.a
      3. matrix.b
      4. matrix.c
      5. matrix.d
      6. matrix.tx
      7. matrix.ty
    26. outputPanel object
      1. Method summary for the outputPanel object
      2. outputPanel.clear()
      3. outputPanel.save()
      4. outputPanel.trace()
    27. Parameter object
      1. Method summary for the Parameter object
      2. Property summary for the Parameter object
      3. parameter.category
      4. parameter.insertItem()
      5. parameter.listIndex
      6. parameter.name
      7. parameter.removeItem()
      8. parameter.value
      9. parameter.valueType
      10. parameter.verbose
    28. Path object
      1. Method summary for the Path object
      2. Property summary for the Path object
      3. path.addCubicCurve()
      4. path.addCurve()
      5. path.addPoint()
      6. path.clear()
      7. path.close()
      8. path.makeShape()
      9. path.newContour()
      10. path.nPts
    29. Project object
      1. Method summary for the Project object
      2. Property summary for the Project object
      3. project.addFile()
      4. project.canPublishProject()
      5. project.canTestProject()
      6. project.defaultItem
      7. project.findProjectItem()
      8. project.items
      9. project.name
      10. project.projectURI
      11. project.publishProject()
      12. project.testProject()
    30. ProjectItem object
      1. Method summary for the ProjectItem object
      2. Property summary for the ProjectItem object
      3. projectItem.canPublish()
      4. projectItem.canTest()
      5. projectItem.displayName
      6. projectItem.isMissing
      7. projectItem.itemURI
      8. projectItem.publish()
      9. projectItem.publishProfile
      10. projectItem.test()
    31. Screen object
      1. Property summary for the Screen object
      2. screen.accName
      3. screen.childScreens
      4. screen.description
      5. screen.forceSimple
      6. screen.hidden
      7. screen.instanceName
      8. screen.name
      9. screen.nextScreen
      10. screen.parameters
      11. screen.parentScreen
      12. screen.prevScreen
      13. screen.silent
      14. screen.tabIndex
      15. screen.timeline
    32. ScreenOutline object
      1. Method summary for the ScreenOutline object
      2. Property summary for the ScreenOutline object
      3. screenOutline.copyScreenFromFile()
      4. screenOutline.currentScreen
      5. screenOutline.deleteScreen()
      6. screenOutline.duplicateScreen()
      7. screenOutline.getSelectedScreens()
      8. screenOutline.insertNestedScreen()
      9. screenOutline.insertScreen()
      10. screenOutline.moveScreen()
      11. screenOutline.renameScreen()
      12. screenOutline.rootScreen
      13. screenOutline.screens
      14. screenOutline.setCurrentScreen()
      15. screenOutline.setScreenProperty()
      16. screenOutline.setSelectedScreens()
    33. Shape object
      1. Method summary for the Shape object
      2. Property summary for the Shape object
      3. shape.beginEdit()
      4. shape.contours
      5. shape.deleteEdge()
      6. shape.edges
      7. shape.endEdit()
      8. shape.isDrawingObject
      9. shape.isGroup
      10. shape.vertices
    34. SoundItem object
      1. Property summary for the SoundItem object
      2. soundItem.bitRate
      3. soundItem.bits
      4. soundItem.compressionType
      5. soundItem.convertStereoToMono
      6. soundItem.quality
      7. soundItem.sampleRate
      8. soundItem.useImportedMP3Quality
    35. Stroke object
      1. Property summary for the Stroke object
      2. stroke.breakAtCorners
      3. stroke.capType
      4. stroke.color
      5. stroke.curve
      6. stroke.dash1
      7. stroke.dash2
      8. stroke.density
      9. stroke.dotSize
      10. stroke.dotSpace
      11. stroke.hatchThickness
      12. stroke.jiggle
      13. stroke.joinType
      14. stroke.length
      15. stroke.miterLimit
      16. stroke.pattern
      17. stroke.rotate
      18. stroke.scaleType
      19. stroke.shapeFill
      20. stroke.space
      21. stroke.strokeHinting
      22. stroke.style
      23. stroke.thickness
      24. stroke.variation
      25. stroke.waveHeight
      26. stroke.waveLength
    36. SymbolInstance object
      1. Property summary for the SymbolInstance object
      2. symbolInstance.accName
      3. symbolInstance.actionScript
      4. symbolInstance.blendMode
      5. symbolInstance.buttonTracking
      6. symbolInstance.cacheAsBitmap
      7. symbolInstance.colorAlphaAmount
      8. symbolInstance.colorAlphaPercent
      9. symbolInstance.colorBlueAmount
      10. symbolInstance.colorBluePercent
      11. symbolInstance.colorGreenAmount
      12. symbolInstance.colorGreenPercent
      13. symbolInstance.colorMode
      14. symbolInstance.colorRedAmount
      15. symbolInstance.colorRedPercent
      16. symbolInstance.description
      17. symbolInstance.filters
      18. symbolInstance.firstFrame
      19. symbolInstance.forceSimple
      20. symbolInstance.loop
      21. symbolInstance.shortcut
      22. symbolInstance.silent
      23. symbolInstance.symbolType
      24. symbolInstance.tabIndex
    37. SymbolItem object
      1. Method summary for the SymbolItem object
      2. Property summary for the SymbolItem object
      3. symbolItem.convertToCompiledClip()
      4. symbolItem.exportSWC()
      5. symbolItem.exportSWF()
      6. symbolItem.scalingGrid
      7. symbolItem.scalingGridRect
      8. symbolItem.sourceAutoUpdate
      9. symbolItem.sourceFilePath
      10. symbolItem.sourceLibraryName
      11. symbolItem.symbolType
      12. symbolItem.timeline
    38. Text object
      1. Method summary for the Text object
      2. Property summary for the Text object
      3. text.antiAliasSharpness
      4. text.antiAliasThickness
      5. text.accName
      6. text.autoExpand
      7. text.border
      8. text.description
      9. text.embeddedCharacters
      10. text.embedRanges
      11. text.fontRenderingMode
      12. text.getTextAttr()
      13. text.getTextString()
      14. text.length
      15. text.lineType
      16. text.maxCharacters
      17. text.orientation
      18. text.renderAsHTML
      19. text.scrollable
      20. text.selectable
      21. text.selectionEnd
      22. text.selectionStart
      23. text.setTextAttr()
      24. text.setTextString()
      25. text.shortcut
      26. text.silent
      27. text.tabIndex
      28. text.textRuns
      29. text.textType
      30. text.useDeviceFonts
      31. text.variableName
    39. TextAttrs object
      1. Property summary for the TextAttrs object
      2. textAttrs.aliasText
      3. textAttrs.alignment
      4. textAttrs.autoKern
      5. textAttrs.bold
      6. textAttrs.characterPosition
      7. textAttrs.characterSpacing
      8. textAttrs.face
      9. textAttrs.fillColor
      10. textAttrs.indent
      11. textAttrs.italic
      12. textAttrs.leftMargin
      13. textAttrs.letterSpacing
      14. textAttrs.lineSpacing
      15. textAttrs.rightMargin
      16. textAttrs.rotation
      17. textAttrs.size
      18. textAttrs.target
      19. textAttrs.url
    40. TextRun object
      1. Property summary for the TextRun object
      2. textRun.characters
      3. textRun.textAttrs
    41. Timeline object
      1. Method summary for the Timeline object
      2. Property summary for the Timeline object
      3. timeline.addMotionGuide()
      4. timeline.addNewLayer()
      5. timeline.clearFrames()
      6. timeline.clearKeyframes()
      7. timeline.convertToBlankKeyframes()
      8. timeline.convertToKeyframes()
      9. timeline.copyFrames()
      10. timeline.createMotionTween()
      11. timeline.currentFrame
      12. timeline.currentLayer
      13. timeline.cutFrames()
      14. timeline.deleteLayer()
      15. timeline.expandFolder()
      16. timeline.findLayerIndex()
      17. timeline.frameCount
      18. timeline.getFrameProperty()
      19. timeline.getLayerProperty()
      20. timeline.getSelectedFrames()
      21. timeline.getSelectedLayers()
      22. timeline.insertBlankKeyframe()
      23. timeline.insertFrames()
      24. timeline.insertKeyframe()
      25. timeline.layerCount
      26. timeline.layers
      27. timeline.name
      28. timeline.pasteFrames()
      29. timeline.removeFrames()
      30. timeline.reorderLayer()
      31. timeline.reverseFrames()
      32. timeline.selectAllFrames()
      33. timeline.setFrameProperty()
      34. timeline.setLayerProperty()
      35. timeline.setSelectedFrames()
      36. timeline.setSelectedLayers()
      37. timeline.showLayerMasking()
    42. ToolObj object
      1. Method summary for the ToolObj object
      2. Property summary for the ToolObj object
      3. toolObj.depth
      4. toolObj.enablePIControl()
      5. toolObj.iconID
      6. toolObj.position
      7. toolObj.setIcon()
      8. toolObj.setMenuString()
      9. toolObj.setOptionsFile()
      10. toolObj.setPI()
      11. toolObj.setToolName()
      12. toolObj.setToolTip()
      13. toolObj.showPIControl()
      14. toolObj.showTransformHandles()
    43. Tools object
      1. Method summary for the Tools object
      2. Property summary for the Tools object
      3. tools.activeTool
      4. tools.altIsDown
      5. tools.constrainPoint()
      6. tools.ctlIsDown
      7. tools.getKeyDown()
      8. tools.mouseIsDown
      9. tools.penDownLoc
      10. tools.penLoc
      11. tools.setCursor()
      12. tools.shiftIsDown
      13. tools.snapPoint()
      14. tools.toolObjs
    44. Vertex object
      1. Method summary for the Vertex object
      2. Property summary for the Vertex object
      3. vertex.getHalfEdge()
      4. vertex.setLocation()
      5. vertex.x
      6. vertex.y
    45. XMLUI object
      1. Method summary for the XMLUI object
      2. xmlui.accept()
      3. xmlui.cancel()
      4. xmlui.get()
      5. xmlui.getControlItemElement()
      6. xmlui.getEnabled()
      7. xmlui.getVisible()
      8. xmlui.set()
      9. xmlui.setControlItemElement()
      10. xmlui.setControlItemElements()
      11. xmlui.setEnabled()
      12. xmlui.setVisible()
    46. VideoItem object
      1. Property summary for the VideoItem object
      2. videoItem.sourceFilePath
      3. videoItem.videoType
  5. 3. C-Level Extensibility
    1. Integrating C functions
      1. C-level extensibility and the JavaScript interpreter
      2. Sample DLL implementation
    2. Data types
      1. typedef struct JSContext JSContext
      2. typedef struct JSObject JSObject
      3. typedef struct jsval jsval
      4. typedef enum { JS_FALSE = 0, JS_TRUE = 1 } JSBool
    3. The C-level API
      1. typedef JSBool (*JSNative)(JSContext *cx, JSObject *obj, unsigned int argc, jsval *argv, jsval *rval)
      2. JSBool JS_DefineFunction()
      3. unsigned short *JS_ValueToString()
      4. JSBool JS_ValueToInteger()
      5. JSBool JS_ValueToDouble()
      6. JSBool JS_ValueToBoolean()
      7. JSBool JS_ValueToObject()
      8. JSBool JS_StringToValue()
      9. JSBool JS_DoubleToValue()
      10. JSVal JS_BooleanToValue()
      11. JSVal JS_BytesToValue()
      12. JSVal JS_IntegerToValue()
      13. JSVal JS_ObjectToValue()
      14. unsigned short *JS_ObjectType()
      15. JSObject *JS_NewArrayObject()
      16. long JS_GetArrayLength()
      17. JSBool JS_GetElement()
      18. JSBool JS_SetElement()
      19. JSBool JS_ExecuteScript()
  6. Official Product Documentation from Macromedia
  7. Training from the Source