[squeak-dev] The Trunk: MorphicExtras-eem.343.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Feb 13 20:30:30 UTC 2023


Eliot Miranda uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-eem.343.mcz

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

Name: MorphicExtras-eem.343
Author: eem
Time: 13 February 2023, 12:30:26.859976 pm
UUID: 572c9471-4900-43d9-8ad4-b4f97aca5c4e
Ancestors: MorphicExtras-mt.342

Add a couple of primitives to the CameraInterface.  One answers which of the two frame buffers that can be set via camera:setFrameBufferA:B: contains the freshest image. The other allows putting a camera in mirror mode; much more efficient than doing it in Smalltalk because the frame grabber inside the plugin typically runs in its own thread.

=============== Diff against MorphicExtras-mt.342 ===============

Item was changed:
  ----- Method: CameraInterface class>>camera:getParam: (in category 'camera ops') -----
  camera: cameraNum getParam: paramNum
+ 	"Answer the requested parameter value of the given camera.
- 	"Answer the given parameter for the given camera.
  		param 1 is the frame count, the number of frames grabbed since the last send of getFrameForCamera:into:
+ 		param 2 is the size of the bitmap in bytes required for an image
+ 		param 3 is whether the image is being mirrored or not"
- 		param 2 is the size of the bitmap in bytes required for an image"
  
  	<primitive: 'primGetParam' module: 'CameraPlugin' error: ec>
+ 	self primitiveFailed!
- 	^nil
- !

Item was added:
+ ----- Method: CameraInterface class>>camera:setParam:to: (in category 'camera ops') -----
+ camera: cameraNum setParam: paramNum to: anIntegerOrBoolean
+ 	"Set the requested parameter value of the given camera, and answer its previous value.
+ 		param 1 cannot be set; it is the frame count, the number of frames grabbed since the last send of getFrameForCamera:into:
+ 		param 2 cannot be set; it is the size of the bitmap in bytes required for an image
+ 		param 3 is whether the image is being mirrored or not"
+ 
+ 	<primitive: 'primSetParam' module: 'CameraPlugin' error: ec>
+ 	self primitiveFailed!

Item was added:
+ ----- Method: CameraInterface class>>cameraGetLatestBufferIndex: (in category 'camera ops') -----
+ cameraGetLatestBufferIndex: cameraIndex
+ 	"If double-buffering is in effect (set via primSetCameraBuffers) answer
+ 	 which buffer contains the freshest data, either A (1) or B (2). If no buffer
+ 	 has been filled yet, answer nil.  Otherwise fail with an appropriate error code."
+ 	<primitive: 'primGetLatestBufferIndex' module: 'CameraPlugin' error: ec>
+ 	^self primitiveFailed
+ 
+ 	"CameraInterface cameraGetLatestBufferIndex: 1"!



More information about the Squeak-dev mailing list