macemu/BasiliskII/src/AmigaOS
CharlesJS ed28705ee3 Patch for copying and pasting styled text in Basilisk II / SheepShaver
Added code to parse the Classic Mac OS 'styl' resources, allowing formatted text to be copied and pasted out of SheepShaver, not just plain text. In order to do this, I made some changes to the emul_op mechanism, patching ZeroScrap() in addition to the scrap methods that were already being patched. The reason for this is that since we need to read data from multiple items that are on the clipboard at once, we cannot simply assume a zero at the beginning of each PutScrap() operation.

This patch uses RTF to store styled text on the host side; unfortunately, since the APIs to convert to and from RTF data are in Cocoa but not in CoreFoundation, I had to write the new portions in Objective-C rather than C, and changed the extension from .cpp to .mm accordingly. In the future, if we are confident that this file will only be used on Mac OS X 10.6 and up, we can rewrite the Pasteboard Manager code to use NSPasteboardReading/Writing instead. This would allow us to read and write NSAttributedString objects directly to and from the pasteboard, which would make sure we were always using the OS's preferred rich text format internally instead of hard-coding it specifically to RTF as in the current implementation.

I believe that this patch should also fix the problem Ronald reported with copying accented characters.

Since I am new to 68k assembly and the emul_op mechanism, I would appreciate if someone could double-check all my changes to make sure that I have done everything correctly.

Thanks,
Charles
2012-06-30 22:20:55 -04:00
..
BasiliskII.info Imported sources 1999-10-03 14:16:26 +00:00
Makefile - documentation updates 2002-01-15 14:58:43 +00:00
asm_support.asm - implemented direct SCSI transfers (bypassing the buffer) 2002-09-01 12:01:46 +00:00
audio_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
clip_amiga.cpp Patch for copying and pasting styled text in Basilisk II / SheepShaver 2012-06-30 22:20:55 -04:00
ether_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
extfs_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
main_amiga.cpp fix PrefsInit on amiga 2009-10-18 16:21:19 +00:00
prefs_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
prefs_editor_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
scsi_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
serial_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
sys_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
sysdeps.h Happy New Year! 2008-01-01 09:40:36 +00:00
timer_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
user_strings_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
user_strings_amiga.h Happy New Year! 2008-01-01 09:40:36 +00:00
video_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00
xpram_amiga.cpp Happy New Year! 2008-01-01 09:40:36 +00:00