[Vm-dev] VM Maker: VMMaker.oscog-eem.3269.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Nov 8 22:10:45 UTC 2022


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3269.mcz

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

Name: VMMaker.oscog-eem.3269
Author: eem
Time: 8 November 2022, 2:10:23.830859 pm
UUID: 7b045694-3272-4049-b49c-d04bb90e6363
Ancestors: VMMaker.oscog-eem.3268

Add a more convenient typer interrogator for the ClipboardExtendedPlugin

=============== Diff against VMMaker.oscog-eem.3268 ===============

Item was changed:
  ----- Method: ClipboardExtendedPlugin class>>preambleCCode (in category 'translation') -----
  preambleCCode
+ 	^'// declarations for the support API. eem, 10/10/2022\\void sqPasteboardClear(void *inPasteboard);\sqInt sqPasteboardGetItemCount(void *inPasteboard);\sqInt sqPasteboardCopyItemFlavorsitemNumber(void *inPasteboard, sqInt formatNumber);\void *sqCreateClipboard(void);\void sqPasteboardPutItemFlavordatalengthformatTypeformatLength(void *inPasteboard, char *inData, sqInt dataLength, char *format, sqInt formatLength);\void sqPasteboardPutItemFlavordatalengthformatType(void *inPasteboard, char *inData, sqInt dataLength, sqInt format);\sqInt sqPasteboardCopyItemFlavorDataformatformatLength(void *inPasteboard, char *format, sqInt formatLength);\sqInt sqPasteboardCopyItemFlavorDataformat(void *inPasteboard, sqInt format);\sqInt sqPasteboardhasDataInFormatformatLength(void *inPasteboard, char *format, sqInt formatLength);\sqInt sqPasteboardhasDataInFormat(void *inPasteboard, sqInt format);' withCRs
- 	^'// declarations for the support API. eem, 10/10/2022\\void sqPasteboardClear(void *inPasteboard);\sqInt sqPasteboardGetItemCount(void *inPasteboard);\sqInt sqPasteboardCopyItemFlavorsitemNumber(void *inPasteboard, sqInt formatNumber);\void *sqCreateClipboard(void);\void sqPasteboardPutItemFlavordatalengthformatTypeformatLength(void *inPasteboard, char *inData, sqInt dataLength, char *format, sqInt formatLength);\void sqPasteboardPutItemFlavordatalengthformatType(void *inPasteboard, char *inData, sqInt dataLength, sqInt format);\sqInt sqPasteboardCopyItemFlavorDataformatformatLength(void *inPasteboard, char *format, sqInt formatLength);\sqInt sqPasteboardCopyItemFlavorDataformat(void *inPasteboard, sqInt format);' withCRs
  
  	"quick test:"
  	"ExtendedClipboardInterface current addClipboardDataConvertFormToPNG: Display"!

Item was added:
+ ----- Method: ClipboardExtendedPlugin>>ioHasClipboardData:inFormat: (in category 'io') -----
+ ioHasClipboardData: clipboard inFormat: format
+ 	self primitive: 'ioHasClipboardDataInFormat' parameters: #(Unsigned Oop).
+ 	(interpreterProxy isIntegerObject: format) ifTrue:
+ 		[^interpreterProxy methodReturnBool:
+ 			(self
+ 				sqPasteboard: clipboard asVoidPointer
+ 				hasDataInFormat: (interpreterProxy integerValueOf: format))].
+ 	(interpreterProxy isBytes: format) ifTrue:
+ 		[^interpreterProxy methodReturnBool:
+ 			(self
+ 				sqPasteboard: clipboard asVoidPointer
+ 				hasDataInFormat: (interpreterProxy firstIndexableField: format)
+ 				formatLength: (interpreterProxy byteSizeOf: format))].
+ 	interpreterProxy primitiveFailFor: PrimErrBadArgument!



More information about the Vm-dev mailing list