[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